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.
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 *.
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.
Following are the simplest conic sections and the corresponding parametric
equations:
Standard parameterizations for conic sections.
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.
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:
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):
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):
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:
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
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.)
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:
* 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.
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]
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.
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.
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
xmaple script (requires supports)
text version
homogenize.mpl (support routine)
replacex.mpl (support routine)
read `replacex.mpl`;
read `homogenize.mpl`;
Then each block of the script may be executed manually.
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
Discussion and Future Work:
or 'More Questions'...
| 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:
Jonathan Steidel
( jsteidel at science dot gmu dot edu )