liveBook · Manning

Arc

As explained in Geometry for Programmers

An arc is a connected portion of a curve, especially a portion of a circle bounded by endpoint angles.

An arc is a connected portion of a circle bounded by endpoint angles. In geometric motion, arcs provide curved building blocks that can be joined with straight lines to form smooth trajectories. section 5.3

An arc becomes useful when a trajectory must combine curvature with predictable movement:

  • Parameterize circular motion by equal portions of the circle so movement advances at a constant speed. section 5.3
  • Find the arc center by rotating and scaling a tangent vector from an endpoint. section 5.3.2
  • Join the arc to a line segment by making the radius at their intersection orthogonal to the segment, producing a gentle transition. section 5.3.2

A constant-speed bug trajectory

Instead of moving a game character along a polynomial spline with a changing parameter pace, split its path into lines and arcs. Increase the line parameter uniformly, or advance the circular parameter in equal portions, so each time step covers a proportional distance. section 5.3

Figure 5.21 An arc can be joined smoothly with a line segment so that we have both straight and curvy pieces in one building block.
05-21

Use the figure to see how an arc and a straight segment meet as one smooth building block. section 5.3.2

How Geometry for Programmers covers it

How deep it goes
Derives arc centers, intersections, and orthogonality equations, but defers vector-product theory and actual arc-computation code.
Examples
Uses a crawling bug, line-and-arc trajectories, tangent vectors, and SymPy-generated arc-line equations.
What it assumes
Assumes points and tangent vectors, while teaching arc centers and smooth joins through elementary geometric reasoning.
What you can do after
Apply arcs via geometric formulas and SymPy-generated code to construct smooth, constant-speed line-and-curve trajectories.
How it connects
Connects arcs with circles, parametric curves, polynomial splines, tangent vectors, line segments, and dot products.

Also explained in

Compare how 2 books explain arc →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Geometry for Programmers. The section links point to the parts of the book it draws on.