Abstract: Using homogeneous coordinates, a rational curve can be represented in a nonrational form. Based on such a nonrational representation of a curve, a simple method to identify inflection points and cusps on 2D and 3D rational curves is proposed.
Key words: rational parametric curves, inflection points, cusps.
From the theory of algebraic curves, a point of multiplicity r is a point at which every line intersects the curve r times. In particular, a point of multiplicity one is a simple point, and a point of multiplicity two is a double point. A loop of a curve is a double point where the curve crosses itself and has two distinct tangents. A cusp is a double point at which two (cuspidal) tangents are coincident. An inflection point of a curve is a simple point at which the tangent intersects the curve three or more times. Accordingly, we say such an inflection point is of multiplicity three or more. From this geometric point of view, we shall derive the inflection point and cusp conditions in the form of determinants. Consequently, inflection points and cusps can be identified by solving a univariate polynomial. There are some advantages with respect to our approach. Firstly, we can easily identify the multiplicity of an inflection point, which has a practical importance in manufacturing since the normal of a curve changes directions only at an inflection point with odd multiplicity. Secondly, the occurrence of cusps and inflection points on a 3D curve corresponds to zeros of one univariate polynomial rather than zeros of three polynomials. Therefore, efficiency and stability in computing such zeros can be assured.
In the subsequent sections, we shall assume that our rational parametric curves are properly parametrised; i.e., these curves cannot be identically described by a rational polynomial parametrisation of lower degree. From the theory of algebraic geometry it is known that such proper parametrisation always exists for rational curves. Detailed discussion on proper parametrisation can be found in [Sederberg'84, 86'].

A comprehensive treatment of planar rational curves can be found in [Walker'50] and a very readable treatment in [Primrose'55]. To be consistent, we briefly review some relevant properties of planar rational curves and then derive the inflection point and cusp conditions for R(t). In a homogeneous coordinate system, the point (X,Y,W) is a loop if two distinct parameters t_{1}, t_{2} give the same ratio for (X,Y,W), i.e.,

 (1) 
We now consider an inflection point. A straight line in homogeneous coordinates is given by AX+BY+CW=0, with A,B,C Î Â. If this line is an inflectional tangent line to the curve, it must meet the curve at least three times at an inflection point with parameter t. Thus, we have





From the above discussion, we may conclude that distinct real roots of I(t)=0 correspond to real inflection points of multiplicity three (the case most CAD users are interested in), and multiple roots to either cusps or inflection points of multiplicity more than three. A multiple root (with multiplicity m, for example) of I(t)=0 is the parameter value of a cusp if (1) is satisfied. Otherwise, it is an inflection point of multiplicity m+2. It is noted that we have differentiated the tangent line twice to obtain I(t)=0. Therefore, a root of multiplicity m of I(t)=0 indicates that the tangent meets a curve m+2 times.
Example 1. Find all cusps and inflection points on a planar rational curve X(t)=t^{2}, Y(t)=1+t, W(t)=t^{3}+t^{4}. Since I(t)=t^{2}(t^{2}+3t+1)=0, we have two inflection points at t=[(3±Ö5)/2] and a cusp at t=0. To investigate points at infinity, we reparametrise the curve by t=^{1}/_{u} and obtain I(u)=u^{2}(u^{2}+3u+1), giving the same inflection points and an additional cusp u=0 which is at infinity with respect to t.


In a homogeneous coordinate system, a 3D rational curve is given in nonrational form as R(t)=(X(t),Y(t),Z(t),W(t)), and a plane is given by AX+BY+CZ+DW=0, with A,B,C,D Î Â. Let P and Q be any two points on a curve. Then, the plane containing the tangent at P and the point Q is called the osculating plane as Q merges to P. From this definition it is seen that the osculating plane meets a curve three times at P. Assume that AX+BY+CZ+DW=0 is an osculating plane to the curve whose coordinates are X(t),Y(t),Z(t),W(t). From the fact that the osculating plane meets a curve three times, we have





 (2) 
If an osculating plane meets a curve more than three times, we call it a stationary osculating plane. From the fact that a stationary osculating plane meets a curve at least four times, we deduce that the stationary osculating plane AX+BY+CZ+DW=0 should satisfy the following relations at an inflection point with parameter t:





In a 4D homogeneous coordinate system, the cusp condition for a 3D curve is
 (3) 
It should be noted that not every solution of Y(t)=0 indicates the occurrence of an inflection point or a cusp. This can be checked by examining a planar rational curve whose osculating plane is the plane of the curve and is thus stationary everywhere. In fact, distinct roots of Y(t)=0 correspond to either inflection points of multiplicity three (note the osculating plane intersects the curve four times at the inflection point of multiplicity three) or points where the torsion vanishes (Torsion measures the rate at which the osculating plane turns about the tangent to the curve), and multiple roots to either cusps or inflection points of multiplicity more than three. A root of Y(t)=0 corresponds to an inflection point if (2) is also satisfied, and to a cusp if relation (3) is met. As a particular example, we examine a cubic curve for which either Y(t)= constant or Y(t) º 0. The former indicates that a true 3D curve has no inflection points, and the latter indicates that the curve is actually a 2D curve. We give more examples below.
Example 2. Given a 3D nonrational Bézier curve of degree 4 whose control vertices are

Example 3. Given a 3D rational curve of degree 4,

Sometimes, we may want to know the conditions under which we can manipulate certain control vertices and/or weights such that the resulting curve will or will not have inflection points and cusps. Such a problem is referred to as the characterisation of a curve in CAGD [Liu'85, DeRose & Stone'89, Meek & Walton'90, Li & Cripps'93a,b]. With our approach, one may express the inflection point and cusp conditions in terms of such control vertices/weights and thus obtain the required characterisations.
We wish to express our thanks to the referees of this paper for their valuable comments and suggestions.
References
DeRose, T.D. and Stone, M. (1989), A geometric characterisation of parametric cubic curves, ACM Trans. Graphics 8(3), 147163.
Li, Y.M. and Cripps, R.J. (1993), Characterisation of planar rational cubic curves, 3rd SIAM Conference on Geometric Design, Tempe, Arizona, 1993.
Li, Y.M. and Cripps, R.J. (1993), Detecting and controlling inflection points on planar rational Bézier curves, proceedings of 3rd International Conference on Computational Graphics and Visualisation Techniques, Algarve, Portugal, 390394.
Liu, D. (1985), Rational Bézier curves, Acta Mathematicae Applicatae Sinica 8(1), 7083.
Machona, D. and Canny, J.F. (1992), Detecting cusps and inflection points in curves, Computer Aided Geometric Design 9, 124.
Meek, D.S. and Walton, D.J. (1990), Shape determination of planar uniform Bspline segments, Computer Aided Design 22(7), 434441.
Patterson, R.R. (1988), Parametric cubics as algebraic curves, Computer Aided Geometric Design 5, 139159.
Primrose, E.J. (1955), Planar Algebraic Curves, Macmillan & Co Ltd., New York.
Sederberg, T.W. (1984), Degenerate parametric curves, Computer Aided Geometric Design 1, 301307.
Sederberg, T.W. (1986), Improperly parametrised rational curves, Computer Aided Geometric Design 3, 6775.
Walker, R.J. (1950), Algebraic Curves, Princeton University Press, Princeton, NJ.