Exploring Analyic Geometry with Mathematica®

Home Contents Commands Packages Explorations Reference
Tour Lines Circles Conics Analysis Tangents

Arc Length

Lines and Line Segments
Perimeter of a Triangle
Polygons Approximating Curves
Circles and Arcs
Ellipses and Hyperbolas
Chord Parameters
Summary of Arc Length Functions

Intuitively, arc length is a measure of distance along a curve. For a straight line the distance is called the length and is easily computed using the distance formula. For some curves the arc length has other special names such as the perimeter of a triangle or the circumference of a circle. This chapter discusses methods for computing the arc lengths of simple geometric curves, such as those provided in Descarta2D.


To initialize Descarta2D, select the input cell bracket and press SHIFT-Enter.

This initialization assumes that the Descarta2D software has been copied into one of the standard directories for AddOns which are on the Mathematica search path, $Path.


Lines and Line Segments [Top]

Length of a Line

By definition, a line is a curve of infinite length. We can, however, specify two parameter values on the line and determine the distance between the points associated with these parameter values. Since lines in Descarta2D are parameterized by distance, the distance, s, between the points represented by any two parameter values, "arclen_1.gif" and "arclen_2.gif", is simply the absolute value of the difference of the parameter values, "arclen_3.gif".

Example: Find the distance between the parameter values -2 and 1 on any line (assuming the parameterizations defined in the Descarta2D packages).

Solution: The function ArcLength2D[line,{"arclen_4.gif","arclen_5.gif"}] returns the arc length between two parameter values on a line.



Length of a Line Segment

The length of a line segment is the distance between its start and end points. In Descarta2D the start and end points have parameter values of 0 and 1, respectively. The distance, s, between any two parameter values, "arclen_7.gif" and "arclen_8.gif", is given by "arclen_9.gif", where l is the length of the line segment.

Example: Find the length of the line segment connecting the points (1,3) and (2,4). Find the arc length on the line segment between the parameter values 1/4 and 1/2.

Solution: The function Length2D[lnseg] returns the length of a line segment (the distance between the start and end points). ArcLength2D[lnseg,{"arclen_10.gif","arclen_11.gif"}] returns the distance between two parameter values on a line segment.



Perimeter of a Triangle [Top]

The sum of the lengths of the sides of a triangle is called the perimeter, s, and is given by "arclen_13.gif", where "arclen_14.gif" is the length of side n of the triangle.

Example: Find the perimeter of a triangle whose vertices are (1,2), (3,4) and (5,6).

Solution: The Descarta2D function Perimeter2D[triangle] returns the perimeter of a triangle.



Polygons Approximating Curves [Top]

If we inscribe a polygon in any closed curve, it is evident that as the number of sides of the polygon is increased, the area of the polygon approaches the area bounded by the curve. Likewise, the perimeter of the polygon approaches the perimeter, or arc length, of the curve. If the number of sides of the polygon is increased ad infinitum, the polygon will coincide with the curve. In like manner, we can see that as the number of sides of a circumscribing polygon is increased, the more nearly its area and perimeter will approach the area and perimeter of the curve. Therefore, when investigating the area or arc length of a curve, we may substitute for the curve an inscribed or circumscribed polygon with an indefinitely increasing number of sides. These notions are formalized in the study of calculus, but they can be applied intuitively in the study of areas and perimeters of simple curves as will be shown in the following sections.

Circles and Arcs [Top]

Circumference of a Circle


Circle approximated by an inscribed polygon.

Consider the circle shown in Figure [arclen:fig01]. The length, d, of the perpendicular segment from the center of the circle to one of the sides of a regular, inscribed polygon is given by "arclen_17.gif" where r is the radius of the circle and θ is angle between adjacent radii connecting the sides of the polygon. The length of the sides of the polygon, s, is given by "arclen_18.gif". Clearly, the perimeter of the inscribed polygon, S, is given by S=ns, where n represents the number of sides of the polygon. Now consider the ratio of the perimeter of polygons for two circles, "arclen_19.gif" and "arclen_20.gif", which is given by


As n increases "arclen_22.gif" and "arclen_23.gif" approach the circumferences of "arclen_24.gif" and "arclen_25.gif"; therefore, the ratio of the circumferences of two circles equals the ratio of their radii. Since the radii of the circles are proportional to their diameters, the ratio of the circumferences to the diameters is also a constant which has been given the symbol π. Therefore,


relating the circumference of a circle to its diameter is a constant for all circles; or writing in a different form, the circumference S of a circle is given by


Example: Find the circumference of a circle centered at (0,0) with a radius of 2. Also, find the arc length of 1/4 of the circle's circumference.

Solution: The function Circumference2D[circle] returns the circumference of a circle. The function ArcLength2D[circle,{"arclen_27.gif","arclen_28.gif"}] returns the arc length of a circle between two parameter values.



Arc Length of an Arc

The arc length, s, (or span) of an arc is the ratio of the angular span of the arc to the angular span of a full circle () times the circumference of a circle and is given by


Example: Find the arc length of the sector defined by the arc centered at (0,0) with radius 2 and start and end angles of π/4 and 3π/4.

Solution: The function Span2D[arc] returns the arc length of an arc.

Span2D[a1=Arc2D[Point2D[{0,0}],2,{Pi/4,3Pi/4}]] //Simplify


Example: For the arc defined in the previous example, find the arc length between the parameter values 0.25 and 0.75.

Solution: The function ArcLength2D[arc,{"arclen_32.gif","arclen_33.gif"}] returns the arc length of an arc between two parameter values.

ArcLength2D[a1,{0.25,0.75}] //N


Ellipses and Hyperbolas [Top]

If "arclen_35.gif" and "arclen_36.gif" are the parametric equations of a curve, then the arc length, s, of the curve between parameter values "arclen_37.gif" and "arclen_38.gif" is given by the integral


where x' and y' are the derivatives of the parametric equations of the curve with respect to t. For many curves this integral is difficult to evaluate in symbolic form, but by using the numerical integration capabilities of Mathematica we can find an approximate arc length.

Even for the conic curves (except the parabola, which we will discuss subsequently) the integral for arc length leads to elliptic integrals, a class of integrals that cannot be expressed in closed form in terms of elementary functions. This does not mean that these integrals do not exist, but require the definition of non-elementary functions. Fortunately, the elliptic integral needed to evaluate the arc lengths of ellipses and hyperbolas is built-in to Mathematica as the EllipticE[phi,m] function, which is written E(φ|m) in traditional mathematical notation. The arc length, s, in the parameter range 0≤t≤2π, of an ellipse in terms of this elliptic integral is given by


where a and b are the lengths of the semi-major and semi-minor axes, respectively, of the ellipse. Since all elliptic arcs can be expressed as sums or differences of such arcs, the formula serves to provide a means for expressing the arc length between any pair of parameters.

Similarly, the arc length, s, of a hyperbola, using the parametric equations for a hyperbola defined in Descarta2D, can be expressed in terms of this elliptic integral and is given by


where a and b are the lengths of the semi-transverse and semi-conjugate axes, respectively, of the hyperbola and "arclen_42.gif". Even though complex numbers are present in this formula, the resulting arc length is a real number.

Example: Find the approximate arc length of the ellipse "arclen_43.gif" between parameter values 0 and π/2.

Solution: The Descarta2D function ArcLength2D[curve,{"arclen_44.gif","arclen_45.gif"}] returns the arc length of a curve between two parameter values.

ArcLength2D[e1,{0,Pi/2}] //N


Parabolas [Top]

Consider a parabola represented by the parametric equations


The arc length, s, of such a parabola between two parameters, "arclen_48.gif", can be derived in terms of elementary functions. The derivation is provided in the exploration pbarclen.html where the arc length is shown to be "arclen_49.gif" where


Example: Find the arc length of the parabola "arclen_51.gif" between parameter values -2 and 3. Find the arc length cut off by the focal chord of the parabola.

Solution: The Descarta2D function ArcLength2D[parabola,{"arclen_52.gif","arclen_53.gif"}] returns the arc length of the parabola between the two parameter values. The focal chord of a parabola has end points at parameter values ±1.

{ArcLength2D[p1,{-2,3}],ArcLength2D[p1,{-1,1}]} //N


Chord Parameters [Top]

For some curves, such as circles and ellipses, it is fairly easy to determine the parameter value that corresponds to a particular point on the curve; however, for hyperbolas and parabolas, whose parametric representation is more complex, it may be difficult to determine the parameter values needed to compute the arc length of some specific portion of the curve. The function Parameters2D provides a more geometric definition of the chord that can be used with the arc length functions. Essentially, the Parameters2D function computes the parameter values of the points of intersection between a line and a second-degree curve (circle, ellipse, hyperbola or parabola). This function will also be useful in the area functions introduced in the next chapter.

Example: Find the arc length of the parabola with vertex at (0,0), focal length of 1 (opening upward) cut off by the line 2x+4y-5=0.

Solution: The Descarta2D function Parameters2D[line,curve] returns a list of the two parameters which are the points of intersection between the line and the curve. The curve may be a circle, an ellipse, a hyperbola or a parabola.



ArcLength2D[p1,t12] //FullSimplify


Descarta2D Hint: Only the primary branch of a hyperbola in standard position is parameterized (the primary branch is the branch opening to the right when the hyperbola's rotation angle is zero); positions on the other branch are generated by reflecting coordinates on the primary branch. As a result of this parameterization, the Parameters2D function will only return parameter values if the line intersects the primary branch of the hyperbola.

Summary of Arc Length Functions [Top]

Descarta2D provides a general function, ArcLength2D for computing the arc length of parametric curves and several special functions for computing arc lengths of specific curves. The Descarta2D function ArcLength2D[curve,{"arclen_57.gif","arclen_58.gif"}] can be used to compute the arc length of any parametric curve in Descarta2D (arcs, lines, line segments, circles, parabolas, ellipses, hyperbolas and conic arcs). The function Length2D[lnseg] computes the length of a complete line segment. The function Circumference2D[curve] computes the arc length of a complete circle or ellipse. The function Span2D[curve] computes the arc length of a complete arc or conic arc. The function Perimeter2D[triangle] computes the perimeter of a triangle.

Explorations [Top]

Arc Length of a Parabola. [pbarclen.html]

Show that the arc length, s, of a parabola whose parametric equations are


is given by "arclen_60.gif" where


Approximate Arc Length of a Curve. [narclen.html]

The arc length of a smooth, parametrically defined curve can be approximated by a polygon connecting a sequence of points on the curve. Write a Mathematica function of the form NArcLength2D[crv,{"arclen_62.gif","arclen_63.gif"},n] that approximates the arc length of a curve between two parameter values using a specified number of coordinates at equal parameter intervals between the two given parameters. Produce a graph illustrating the convergence of the approximation to the Descarta2D function ArcLength2D[crv,{"arclen_64.gif","arclen_65.gif"}] //N.

Arc Length of a Parabolic Conic Arc. [caarclen.html]

Using exact integration in Mathematica show that the arc length of a parabolic conic arc with control points "arclen_66.gif", "arclen_67.gif", and "arclen_68.gif" can be expressed exactly in symbolic form in terms elementary functions of a and b.

Copyright © 1999-2007 Donald L. Vossler, Descarta2D Publishing