Conic section parameterization


Jonathan B. Steidel
Institute for Computational Sciences and Informatics,
George Mason University, Fairfax, Virginia, USA.

This work documents a project for a course in Symbolic Computation taught by Professor P. Loustaunau of George Mason University in Spring 1996.


last edit: 1996 May 11

Abstract

The parametric equations for the variables of a conic section (represented by an implicit degree-2 polynomial) may be obtained by the following:

An algorithm for finding the parametric equations of a general conic (non-degenerate, two dimensions) is presented in Maple *.

Outline


Introduction:

Parametric equations are fundamental to science. In beginning physics classes, they are introduced as a way to describe projectile motion--the object may be located by the separate calculation of each of its coordinates as a function of an independent parameter t (which represents time in this case).

    x(t) = x0 + u t ,
    y(t) = y0 + v t - g t^2/2 ,
(The initial position in some frame of reference is (x0,y0), the initial velocity is (u,v) and the constant acceleration of gravity is (0,-g).

But often a relation is described in an implicit manner, an example of this is a the equation of a circle, say

       2    2    2
      x  + y  = 5
If I tell you that x = 3, what would you expect y to be? Could it be 4? Or, would it be -4? It could be either. The strength of an implicit function is testing whether or not a point satisfies the relation. Does (3,4) work? Yes. Does (0,0) work? No.

Now suppose we express the circle this way:

                5 ( 1 - t^2 )                  2 t
      x(t)  =   ------------- ,   y(t)  =  -----------.
                 ( 1 + t^2 )               ( 1 + t^2 )
Now if we let t = 1/2, solving x(t) and y(t) gives us the unique solution (3,4). Finding a solution point is the strength of the parametric form of an equation.
"Because of such complementary strengths, the problem of how to convert from one form to the other is of great practical interest." Hoffman [1]

Now, you may ask, how could we get those equations for x(t) and y(t)? Hoffman indicates that conversion from parametric to implicit form is alway possible, but conversion from implicit to parametric "depends on specific properties not shared by all algebraic curves and surfaces."

Let us see how the conversion works by finding the parametric equations for the general equation of a conic section curve, the intersection curve of a cone and a plane (which does not go through the cone's vertex). It has the necessary properties as we will see in the conversion to parametric form. The general equation (in two variables) is

        2                 2
     A x  +  B x y  +  C y   +  D x  +  E y  +  F  =  0 .

The conic curves are: ellipses, circles, parabolas, and hyperbolas. (Cutting the cone through its vertex results in a degenerate conic section: a point, a line or two intersecting lines.)

"A remarkable fact about conic sections is that although they were studied thousands of years ago, they are far from obsolete. Indeed, they are important tools for present-day investigations in outer space and for the study of the behavior of atomic particles. It is shown in physics that if a particle moves under the influence of what is called an inverse square force field, then its path may be described by means of a conic section. Examples of inverse square fields are gravitational and electromagnetic fields." Swokowski [2]

So by finding the proper parametric equations, we could determine the trajectory of one of these particles. Let us first consider the simplest cases.

Standard parameterizations for conic sections.

Following are the simplest conic sections and the corresponding parametric equations:

            Implicit form                      Parametric form

unit circle:
             2    2                        1 - t^2              2 t
            x  + y  - 1  =  0       x(t) = ------- ,   y(t) = -------
                                           1 + t^2            1 + t^2
unit hyperbola:

             2    2                        1 + t^2              2 t
            x  - y  - 1  =  0       x(t) = ------- ,   y(t) = -------
                                           1 - t^2            1 - t^2

             2    2                          2 t              1 + t^2
           -x  + y  - 1  =  0       x(t) = ------- ,   y(t) = -------
                                           1 - t^2            1 - t^2
simple parabola:

             2                                                  2
            x  -  y  =  0                  x(t) = t,    y(t) = t

                   2                               2
            x  -  y  =  0                  x(t) = t ,   y(t) = t
The unit circle, for example may be parameterized as Hoffman shows:
[1]

Choose the point p = (px,py) = (-1,0) on the curve and consider the family of lines of any slope that pass through that point. Each line may be uniquely identified by a parameter t that corresponds to that line's slope:

    l(t) :  (y - py) = t (x - px)

Solve l(t) for y and substitute into the equation for the curve (in this case the unit circle). Then solve for x using the quadratic formula:

    y =  t ( x + 1 )

     2     2   2
    x  + t   (x + 2 x + 1)  -  1  =  0

           2   2        2          2
    ( 1 + t ) x   +  2 t  x  +  ( t - 1 ) = 0

               2          4          2         2      /         2
    x  =    - t  + sqrt[ t  - ( 1 + t ) ( 1 - t ) ]  / 2 ( 1 + t )
                                                    /
               2                2
    x  = {  (-t  + 1 ) / ( 1 + t ),    -1  }

There are two solutions for x because of the square root. One is px, so the parameterization is the other. Substitution into the expression of the line yields:
                          2
    y  = {   2 t / ( 1 + t ),    0  },

and we have the parameterization for y. The parametric equations for the hyperbola are found by the same steps, using the equation for the hyperbola in place of the circle. For the parabola, we can just inspect the equation for the term of degree 2 and set it equal to t.

Bezout's Theorem (strong form)

"Let f and g be two algebraic curves of degree m and n, repectively. Then f and g intersect in exactly mn points or they have a common component."[1]
Since the conic is degree 2 and the line is degree 1, they intersect in at most two points. As described above, if one point is fixed, then a parametric line determines the coordinates of the other point. In this case, the property necessary for parameterization is to be of degree 2 so there is a second point of intersection.

The solution process

"A simple strategy for parameterizing a given conic is ... first to transform the coordinate system so that the conic is properly positioned, then to retrieve a standard parameterization and finally to apply the inverse transformation to the parametric representation." Hoffman [1]

To facilitate the mathematics, Hoffman introduces the bilinear form of a quadratic equation. For example, the familiar quadratic equation may be represented in bilinear form:

        2                                 |  a   b/2 |  | x |
     a x   +   b x   +   c    =   [ x 1 ] |          |  |   |  =  0,
                                          | b/2   c  |  | 1 |
and multiplication is performed as in linear algebra.

Of course, for the conic section the matrix would be 3 x 3. Hoffman also uses the concept of projective space, and homogenizes the equation in order to express the vectors as vectors of variables only (no constants):

        2                 2             |  a   b/2 |  | x |
     a x  +  b x w  +  c w  =   [ x w ] |          |  |   |  =  0,
                                        | b/2   c  |  | w |
Using matrix notation now, we can write the homogenized equation of the conic as follows:
                       |  A   B/2   D/2 | | x |
       f  =  [ x y w ] | B/2   C    E/2 | | y |  =  0,
                       | D/2  E/2    F  | | w |
or, more compactly, as
              t
       f  =  x  Q x  =  0.

Note that since f evaluates to a number, the transpose of the equation must evaluate to the same number. Since transposition reverses the order, and x and its transpose will appear again in the same positions, Q is necessarily symmetric.

So to show the simple strategy of transforming, finding the proper parametrization and transforming back, we would rewrite the equation as follows (note that the symmetry is maintained):

                t    -t  t           -1
       f  =    x  ( M   M )  Q  ( M M  )  x   =   0


                t  -t      t            -1
          =  ( x  M  )  ( M  Q  M )  ( M  x )  =  0


               t                  t   t
          =  x'   Q'  x'   =    x'   M  Q  M  x'    =    0.
                                           ----
From the last line, it is obvious that if we have as x' the vector of parametric expressions in the transormed frame, we need only to left-multiply by M to obtain the parametrization in the original reference frame. This transformation matrix M is found as a sequence of individual operations of rotation, translation and scaling.

Maple routine

Using the maple script will demonstrate the process nicely; and it may easily be converted into a procedure. The support routines must be read into Maple before the script will work:

     read `replacex.mpl`;
     read `homogenize.mpl`;
Then each block of the script may be executed manually.

The script follows the steps described above. At the parameterization stage, after the Q' has been found, the algorithm obtains the expression for the function in transformed frame by performing the multiplication

              t
     f'  =  x'   Q'  x'  =  0.

It determines which of the simple conic sections Q' represents and chooses the corresponding set of parameterizations. For the circle, the parameterization is always the same. For the hyperbola, the algorithm checks the sign and decides which set to use. For the parabola, it equates the degree-2 variable with the parameter t and uses the Maple solve routine for the degree-1 variable (the parabola has one axis of symmetry, but the intercept may be anywhere). Finally, the set of expressions is converted to a vector and left-multiplied by M to obtain the parametrizations in the original reference frame.

Limitations of the algorithm

The matrix corresponding to a degenerate case has determinant zero. That conic section is the intersection of a plane through the vertex of the cone, (0,0,0), and results in a point (degenerate ellipse), line (degenerate parabola), or a pair of intersecting lines (degenerate hyperbola). Such cases should be handled separately,

The routine follows the simple algorithm; Hoffman also describes a projective method and says to look for a point at infinity and transform it to (0,1,0). As a consequence of not doing this, the hyperbola shows a gap in the plot--this corresponds to the inability to vary t over the entire interval (-infinity, +infinity). (It was quite obvious when I varied t over a small interval.) The transformation likely moves the gap in the hyperbola off toward infinity; however, a similar gap which appears in the ellipse cannot be moved away.

Hoffman indicates that rotations affect other elements than those canceled: it would be necessary to perform rotations iteratively to diagonalize a matrix (or submatrix) larger than 2x2. Indicating that such a method is numerically stable with quadratic convergence, he implies that the solution of quadratics with more than two variables will require a different approach--a numerical one. (I imagine that there would be quite a few radical signs showing up in an iterative symbolic implementaion--perhaps performing the translation first would help.)

Discussion and Future Work:

or 'More Questions'...

I had been trying out Maple to plot 3-D surfaces, such as spheres, and I wanted to be able to plot the intersection alone. Maple does have a command to plot a spacecurve (the command is spacecurve), but it requires that the curve be expressed in parametric form. That is what led me to this problem, so it would be nice to extend the algorithm to three dimensions in order to plot the spacecurve.

I learned some of Maple's workings, like how to make a procedure, and some of the Maple's representation of symbols (strings) and how to manipulate them as in the pencil-and-paper method.

I had seen the biquadratic form before, but now I really know it. Now I wonder if there is a way to express a cubic polynomial as a matrix equation, and how it might be useful... maybe like this:

                 |   0   a/2  b/3  |  | x^2 |      3     2
    [ x^2  x  1] |  a/2  b/3  c/2  |  |  x  | = a x + b x  + c x + d = 0.
                 |  b/3  c/2   d   |  |  1  |

Appendices

References:

* Maple V, Release 3. Waterloo Maple Software and the University of Waterloo (1981-1994) Canada.

[1] Hoffman, Christoph M. Geometric and Solid Modeling: An Introduction Morgan Kaufmann (1989) San Mateo, Calif.

[2] Swokowski, Earl W. Calculus with Analytic Geometry, Alternate ed. Prindle, Weber & Schmidt (1983) Boston.

[3] Millington, T. Alaric. Millington, William. Dictionary of Mathematics Barnes & Noble (1971) New York.

notes
notes


Jonathan Steidel ( jsteidel at science dot gmu dot edu )