Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Wolfram Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • System Modeler
  • Wolfram Player
  • Finance Platform
  • Wolfram Engine
  • Enterprise Private Cloud
  • Application Server
  • Wolfram|Alpha Notebook Edition
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

WolframConsulting.com

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Wolfram Notebook Assistant + LLM Kit
    • System Modeler
    • Wolfram Player
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Wolfram Engine
    • Enterprise Private Cloud
    • Application Server
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
AnglePath
  • See Also
    • AnglePath3D
    • AngleVector
    • Sin
    • Cos
    • Degree
    • AbsArg
    • GeoPath
    • FoldList
    • Accumulate
    • Rotate
    • SubstitutionSystem
    • TuringMachine
    • GeometricTransformation
    • TranslationTransform
    • RotationTransform
    • PolygonAngle
  • Related Guides
    • Iterated Maps & Fractals
    • Computational Systems
    • Angles and Polar Coordinates
    • See Also
      • AnglePath3D
      • AngleVector
      • Sin
      • Cos
      • Degree
      • AbsArg
      • GeoPath
      • FoldList
      • Accumulate
      • Rotate
      • SubstitutionSystem
      • TuringMachine
      • GeometricTransformation
      • TranslationTransform
      • RotationTransform
      • PolygonAngle
    • Related Guides
      • Iterated Maps & Fractals
      • Computational Systems
      • Angles and Polar Coordinates

AnglePath[{θ1,θ2,θ3,…}]

gives the list of 2D coordinates corresponding to a path that starts at {0,0}, then takes a series of steps of unit length at successive relative angles θi.

AnglePath[{{r1,θ1},{r2,θ2},{r3,θ3},…}]

takes successive steps of lengths ri.

AnglePath[θ0,{step1,step2,…}]

starts at angle θ0 with respect to the axis.

AnglePath[{x,y},{step1,step2,…}]

starts at the point {x,y} with initial angle 0 with respect to the axis.

AnglePath[{{x,y},θ0},{step1,step2,…}]

starts at {x,y} with initial angle θ0 with respect to the axis.

AnglePath[{{x,y},{dx,dy}},{step1,step2,…}]

takes the first step to go from {x,y} to {x+dx,y+dy}.

AnglePath[init,steps,form]

returns at each step the data of the form specified by form.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Steps Specification  
Path Initialization  
Forms of Output  
Options  
WorkingPrecision  
Applications  
Properties & Relations  
Possible Issues  
Interactive Examples  
Neat Examples  
See Also
Related Guides
Related Links
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • AnglePath3D
    • AngleVector
    • Sin
    • Cos
    • Degree
    • AbsArg
    • GeoPath
    • FoldList
    • Accumulate
    • Rotate
    • SubstitutionSystem
    • TuringMachine
    • GeometricTransformation
    • TranslationTransform
    • RotationTransform
    • PolygonAngle
  • Related Guides
    • Iterated Maps & Fractals
    • Computational Systems
    • Angles and Polar Coordinates
    • See Also
      • AnglePath3D
      • AngleVector
      • Sin
      • Cos
      • Degree
      • AbsArg
      • GeoPath
      • FoldList
      • Accumulate
      • Rotate
      • SubstitutionSystem
      • TuringMachine
      • GeometricTransformation
      • TranslationTransform
      • RotationTransform
      • PolygonAngle
    • Related Guides
      • Iterated Maps & Fractals
      • Computational Systems
      • Angles and Polar Coordinates

AnglePath

AnglePath[{θ1,θ2,θ3,…}]

gives the list of 2D coordinates corresponding to a path that starts at {0,0}, then takes a series of steps of unit length at successive relative angles θi.

AnglePath[{{r1,θ1},{r2,θ2},{r3,θ3},…}]

takes successive steps of lengths ri.

AnglePath[θ0,{step1,step2,…}]

starts at angle θ0 with respect to the axis.

AnglePath[{x,y},{step1,step2,…}]

starts at the point {x,y} with initial angle 0 with respect to the axis.

AnglePath[{{x,y},θ0},{step1,step2,…}]

starts at {x,y} with initial angle θ0 with respect to the axis.

AnglePath[{{x,y},{dx,dy}},{step1,step2,…}]

takes the first step to go from {x,y} to {x+dx,y+dy}.

AnglePath[init,steps,form]

returns at each step the data of the form specified by form.

Details and Options

  • At each point reached in the formation of a path, AnglePath in effect first rotates by the specified relative angle, then advances by the specified distance.
  • Unless explicitly given as Quantity objects, the angles θi are assumed to be in radians, increasing counterclockwise. (Multiply by Degree to convert from degrees.)
  • In AnglePath[{θ1,θ2,θ3,…}], the angle θ1 is assumed to be relative to the axis.
  • Possible choices for form in AnglePath[…,form] include:
  • "Position"Cartesian coordinates {xi,yi} (default)
    "FrameMatrix"rotation matrix of the current frame with respect to the initial frame
    "RelativeMatrix"rotation matrix of the current frame with respect to the previous frame
    "FrameAngle"rotation angle with respect to the initial step
    "RelativeAngle"rotation angle with respect to the previous step
    "Translation"translation transformation from the initial step
    "Rotation"rotation transformation from the initial step
    "RotationTranslation"rotation-translation transformation from the initial step
    {form1,form2,…}list of forms
  • The arguments of AnglePath can be symbolic. They can also be Quantity objects.
  • AnglePath has the option WorkingPrecision, which determines the precision of numbers generated.
  • With the default setting WorkingPrecisionAutomatic, exact numbers will be generated for exact input only for fairly short paths; for longer paths, machine precision will be used.

Examples

open all close all

Basic Examples  (5)

Starting at {0,0} along the axis, move several unit steps, rotating 90° before each step:

A polyline of three segments:

Advance 20 steps, always turning 110° toward the left:

Generate the transformation functions of a path:

Apply them to a turtle:

Use symbolic input:

Scope  (13)

Steps Specification  (3)

Advance in unit steps of specified successive angles, starting from the axis:

Specify the lengths of the steps:

Use Quantity objects in input:

Path Initialization  (4)

Specify the initial position:

Specify the initial orientation:

Specify both the initial position and orientation:

Use a Cartesian {dx,dy} specification for the initial orientation:

Forms of Output  (6)

By default, AnglePath returns the position reached at each step:

Compute the orientation of each local frame with respect to the previous local frame:

Compute the orientation of each local frame with respect to the global frame:

Compute the angle determining the orientation of each local frame in the global frame:

Generate rotation-translation transformations from the initial step:

Apply them to a triangle:

Produce different types of output with one AnglePath call:

The first elements of the triples are the rotation matrices with respect to the previous frame:

The second elements are the positions:

The third elements are the transformation functions from the initial frame:

Options  (1)

WorkingPrecision  (1)

By default, AnglePath with exact input gives exact numbers for short paths and machine numbers for long paths:

Specify infinite working precision to perform exact, but slower computations:

Use any specified precision for the computations:

Applications  (3)

Make a random walk where successive steps change direction by at most 20°:

Generate a dragon curve:

Generate a Koch snowflake curve:

Another pattern based on the Thue–Morse sequence:

Properties & Relations  (5)

Angles are accumulated in subsequent steps, starting with θ0:

These two results are identical:

Take 100 random angles between and :

Considered as absolute angles, they represent on average a collection of steps toward the right:

Considered as relative angles, the path may evolve in any possible direction. The total length is the same:

Global frame rotations can be obtained as multiplications of all previous relative rotations:

Compute the positions for a path with the following inputs:

Each new position can be computed as a displacement along a rotation of the initial x axis:

Possible Issues  (1)

When using the notation {{x,y},{dx,dy}} for the first argument, {dx,dy} determines the initial orientation, not the position of the next point:

Interactive Examples  (1)

Move the turtle by steps of given length and relative direction:

Neat Examples  (4)

Draw lines for which each segment forms a uniformly increasing angle with the previous segment:

Draw lines for which consecutive relative angles increase by 1 radian:

Draw a line for which consecutive relative angles increase and are modulated by a Sin function:

Add color to the individual segments of the angle path:

See Also

AnglePath3D  AngleVector  Sin  Cos  Degree  AbsArg  GeoPath  FoldList  Accumulate  Rotate  SubstitutionSystem  TuringMachine  GeometricTransformation  TranslationTransform  RotationTransform  PolygonAngle

Related Guides

    ▪
  • Iterated Maps & Fractals
  • ▪
  • Computational Systems
  • ▪
  • Angles and Polar Coordinates

Related Links

  • An Elementary Introduction to the Wolfram Language : Units

History

Introduced in 2015 (10.1) | Updated in 2016 (11.0) ▪ 2017 (11.1) ▪ 2019 (12.0)

Wolfram Research (2015), AnglePath, Wolfram Language function, https://reference.wolfram.com/language/ref/AnglePath.html (updated 2019).

Text

Wolfram Research (2015), AnglePath, Wolfram Language function, https://reference.wolfram.com/language/ref/AnglePath.html (updated 2019).

CMS

Wolfram Language. 2015. "AnglePath." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/AnglePath.html.

APA

Wolfram Language. (2015). AnglePath. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AnglePath.html

BibTeX

@misc{reference.wolfram_2025_anglepath, author="Wolfram Research", title="{AnglePath}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/AnglePath.html}", note=[Accessed: 01-December-2025]}

BibLaTeX

@online{reference.wolfram_2025_anglepath, organization={Wolfram Research}, title={AnglePath}, year={2019}, url={https://reference.wolfram.com/language/ref/AnglePath.html}, note=[Accessed: 01-December-2025]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Player
  • Wolfram Engine

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2025 Wolfram
© 2025 Wolfram | Legal & Privacy Policy |
English