Hodograph approach to geometric characterization of parametric cubic curves Deok-Soo Kim
It is known that a planar parametric cubic curve may have zero, one or two inflection points, a loop or a cusp. These characteristics of a planar parametric cubic curve can be analysed with a hodograph, which is an instance of the first derivative of a given parametric curve. It is shown that a cubic curve can be characterized by the examination of the relative location of the origin of the coordinate system in a characteristic diagram. The analysis reduces the curve-characterization problem into a point-location problem among the regions in the characteristic diagram, where regions are defined by straight lines and/or a conic section. Keywords: cubic curves, inflection points, loops, cusps, curve characteristics, hodographs, l~zier curves
It is k n o w n that a planar parametric cubic curve m a y have zero, one or two inflection points, a loop or a cusp 1-6. A curve with an inflection point has a point where the curvature vanishes, one with a loop is self- intersecting, and one with a cusp has a point where the unit tangent vector is discontinuous. This paper describes a new yet simple geometric m e t h o d of determining whether a parametric cubic curve has any inflection point(s), a loop, a cusp, or none of these, and computing the parameter value when such a case exists. This is called the characterization of a curve, and these properties are called the characteristics of a curve, as described in Reference 5. In this paper, the term 'cubic curve' means a planar parametric cubic curve, unless otherwise stated.
Computational Engineering Laboratory, Samsung Advanced Institute of Technology, PO Box 111, Suwon, Kyungki-Do, Korea
Paper received"22 May 1992. Revised."10 Januao, 1993
644
Figure 1 shows various cubic curves with different characteristics. Figure la (case a) shows a cubic curve which resembles an arch where it is monotonically convex towards the control chain. There is no inflection point, loop, or cusp on the curve. Figure lb (case b) shows a cubic curve with an inflection point, and Figure lc (case c) shows one with two inflection points. It is shown further below that a cubic curve can have at most two inflection points. T w o types of curve are shown in Figure ld. Figure ldl (case d l ) is similar to Figure la in the sense that the curve is monotonically convex toward the control chain, and there is no inflection point, loop, or cusp. Figure ldl is, however, different from Figure la, as shown in Figure 2a, in the sense that Figure ldl has a point on the curve (at the parameter value to) such that the unit tangent vector on the point is parallel to but reversed with respect to the unit tangent vector at the starting point of the curve at parameter value t = 0 (and similarly at the points of parameter values t = 1 and t = tl). It should be noted that other researchers do not consider this property to be a characteristic of cubic curves z 5, whereas this paper treats it as a new characteristic of a cubic curve, and names it the conjugate tangent-vector characteristic. Figure ld2 (case d2) shows a self-intersecting case that forms a loop, and this is considered to be a distinct category of the characteristics of a curve in other research z-5. However, this paper treats the case in Figure ld2 as being in the same category as the case in Figure ldl in the sense that there exists a conjugate tangent vector, as shown in Figure 2. The a p p r o a c h to discriminating between cases dl and d2 in this paper identifies whether a given curve belongs to case d, shown in Figure ld, and, if it does, the case shown in Figure ld is further refined into cases dl and d2 by the use of another geometric test. As it is c o m m o n practice for a tool path to be approximated by a piecewiseparametric cubic curve 7, identifying whether a tool path
0010-4485/93/100644-11 © 1993 Butterworth-Heinemann Ltd Computer-Aided Design Volume 25 Number 10 October 1993
Hodograph approach to geometric characterization of parametric cubic curves: D-S Kim
dl
b
d2
C
e
Figure 1 Cubic Brzier curves showing inflection point(s), loop or cusp
/ ///j
/
k
a
/
b
Figure 2 Conjugate tangent vector
contains a curve segment belonging to case d l or case d2 is important in practice. Figure le (case e) shows a cubic curve with a cusp. It can be also viewed as two inflection points in Figure lc having been merged into one point. The significance of the ordering of the cases is clearer in the sections below.
P R E V I O U S RESEARCH Since a cubic curve is one of the most widely used curves, the characterization of cubic curves has wide-ranging applications. Hence, there have been several pieces of research on the characterization of cubic curves TM. Of
Computer-Aided Design Volume 25 Number 10 October 1993
645
Hodograph approach to geometric characterization of parametric cubic curves: D-S Kim this work, References 1 and 3 5 are the most relevant to this paper. The author has recently reported the computation of an exact tangent cone of a cubic B6zier curve using the characterization of a B6zier curve 8, where the tangent cones of two parametric curves provide the sufficient condition for more than one intersection between the curves 9. The initial research for the characterization of a cubic curve was carried out as early as 1972 by B6zier 1. He noticed the possibility of using a hodograph to characterize behaviours of a B6zier curve such as inflection points and a cusp. Other researchers have analysed the conditions for inflection point(s), a loop and a cusp to understand the geometric implications, and reduced the characterization of curves to geometric algorithms 3-5. Let B(t)=(X(t), Y(t)) be a planar parametric curve. Note that curvature ~c is defined as K=
I/3(t) x B(t)l I/3(t)l 3
was in each region. They also showed that the regions of the plane that defined inflection point(s), a loop, and a cusp were all bounded by straight lines and/or conic curves. The approach also suffered degeneracies when the control points were collinear or coincident. In this paper, an approach that is different from those of References 3 5, both in concept and computation, is discussed via the introduction of a hodograph which is an instance of a first-derivative curve of a given curve (as in the approach taken by B6zier~), and the examination of the relative location between the origin of the coordinate system and the hodograph. This approach is not as sensitive to the degenerate cases as the previous approaches. However, the approach has the same philosophy as that in Reference 5 in the sense that a plane is partitioned into regions, each of which defines inflection point(s), a loop, cusp etc. to characterize a cubic curve.
(1)
HODOGRAPH and ~¢=0 if and only if/3(t) × / J ( t ) = 0 . Therefore, they made the observation that, if
F(t) = det (/3(t), B(t))= )((t)~'(t)- -~(t)'Y(t)
(2)
A B6zier curve b"(t) of degree n is defined as follows: b"(t)= ~ biB~(t)
t e l 0 , 1]
(3)
i=0
(which is a function that is proportional to the signed curvature of a curve at a point B(t)) vanishes, then the existence of solutions of F ( t ) = 0 indicates the presence of inflection points. Therefore, they investigated the different conditions for F ( t ) = 0 , and then found the geometric interpretation of the result. Reference 3 observed the algebraic conditions of the coefficients of the parametric polynomial for the curve characteristics, and References 4 and 5 gave geometric algorithms for determining the characteristics of the curve. The approach taken by Reference 4 was that of identifying the characteristics of the curve by looking at the location of the characteristic point, which is defined by the length of the tangent vectors at the ends of the curve in the coordinate system. This approach suffers some drawbacks, however, such as inconvenience due to several disjoint regions and severe degeneracies. On the basis of the same observation, Reference 5 made Reference 4's approach more intuitive, and generalized the theory for parametric cubic curves. It mapped a curve onto a canonical form using the affine invariance property of a B6zier curve so that the coordinates of three of the control points were fixed. As the fourth control point moved about the plane, the curve took on 0 - 2 inflection points, a loop, or a cusp, depending only on the position of the moving control points. Then, the characteristics of a curve in the canonical form corresponded to the same characteristics of an original curve, because the characteristics of the curve were not changed by affine transformations. Therefore, they partitioned the plane into regions according to the characteristics of the curve segment when the fourth point
646
where
B T ( t ) = ( 7 ) t z ( 1 - t ) "-i
i!(n-i)! i=0, l,...,n and bi are the control points. Since the derivative of a Bernstein polynomial B~(t) is given by d dt BT(t) = n{Bi-n - I 1 ( t ) - B "-1 i {t)~t
(4)
the derivative of the BOzier curve b"(t) is obtained by the substitution of Equation 4 into Equation 3: -d
dt
b"(t) = n ~,
b , { B ,.-_ , 1( t ) - B ~ -
i=o
'(t)}
n--1
=n ~ ( b , + , - b , ) B T - ~ ( t )
(5)
i=0
The derivative ofa B6zier curve of degree n is thus another B6zier curve of degree n - 1 . When the first derivative curve is realized with respect to the origin of the coordinate system, it is called a hodograph H(t). Reference 10 provides the details of the derivation and
Computer-Aided Design Volume 25 Number 10 October 1993
Hodograph approach to geometric characterization of parametric cubic curves: D-S Kim
the explanation of the hodograph. A hodograph H(t) is equivalent to the trajectory of the tip of all tangent vectors on b"(t) translated to the origin O. A position vector of a point on a hodograph thus gives a tangent vector at the corresponding parameter value on an original curve. Let the control points of H(t) be denoted as hl, where
hi=n(bi+a-bl)
i=0 ..... n-1
and thus lim Q(to) x H(to)=0 At~O
Since H(to) and
(6) lim Q(to) At~O
By joining the successive control points hi and hi+ ~, the control polygon of the hodograph is obtained. Figure 3 shows an example of a cubic B6zier curve and the corresponding quadratic hodograph. A tangent vector of the original curve at t o is computed by the position vector of H(to). (It should be noted that the scales of the two figures in Figure 3 are not the same.) Hodographs have been used to compute tangent, normal, and visibility cones6,8,9,11. Among many useful properties, the following two properties of a hodograph for an inflection point as well as a cusp provide the basis of the approach taken in this paper.
are, respectively, the first and second derivatives of b"(t) at to, the curvature defined in Equation 1 vanishes at this point. Therefore, b"(to) is an inflection point on the original curve b"(t) as shown in Figure 4a. Proof(second part): When b"(to) is a cusp, the tangent vector vanishes, and the unit tangent vectors are discontinuous at the point, as shown in Figure 4c. When the origin lies on the hodograph at H(to), the conditions for a cusp are satisfied, as shown in Fioure 4d. [] It is shown below that Theorem 1 provides the basis of geometric characterizations of inflection point(s) as well as a cusp, whereas the previous research based on Equation 2 provides the basis of algebraic characterizations of the same problem. On the basis of Theorem 1, it can easily be proved that there exist at most two inflection points for a cubic curve. Since a hodograph of a cubic curve is a quadratic curve, and a quadratic curve is a parabola 1, the maximum number of tangent lines of the hodograph passing through the origin is two. It is also obvious that there exists at most one cusp, since a parabola can pass through a point only once. Further, it is obvious that the inflection point and the cusp are mutually exclusive. Therefore, the decision as to whether a cubic curve has inflection point(s) or a cusp can be directly made by simply testing whether a tangent line of its hodograph passes through the origin of the coordinate system or whether the hodograph itself passes through the origin. The parameter values of such points on a cubic curve are the parameter values where these characteristics occur on a hodograph. However, the decisions based only on previous observations require relatively expensive
Theorem 1: Let H(t) be a hodograph of an arbitrarydegree B6zier curve b"(t). Then, • •
b"(to)is an inflection point if and only if a tangent line of H(t) at to passes through the origin O, b"(to)is a cusp if and only if H(t) passes through O at to.
Proof (first part): Let a line L defined by two points 0 and H(to) be tangent to the hodograph H(t) at the parameter to, and Q(to)= H(to + A t ) - H(to), as shown in Fioure 4b. Then, lim Q(to) At~O
defines a tangent direction to H(t) at t o. Therefore, lim
Q(to)//H(to)
At~O
ho
bl
bo
/~t0
b2
.......
b3 h2
Figure 3 Cubic B+ziercurve and quadratic hodograph
Computer-Aided Design Volume 25 Number 10 October 1993
647
Hodograph approach to geometric characterization of parametric cubic curves: D-S Kim
/ H (t)
t
~/~
/
H(t0+At )
...........
~
(
t
o
......
)
ol b
Figure4 Inflectionpoint and cusp
computation, since the testing procedure requires some numerical iterations. The following discussions describe other observations which, with the observations of Theorem 1, transform our problem into a well known point-location problem12: a problem of testing whether a point lies in a certain region on a plane. It is shown below that the regions in this particular problem are bounded by straight lines and/or a conic section.
h~ in the sense that the slope of the tangent vector of the quadratic curve is monotonically increasing or decreasing. Some definitions are also provided to transform a curve-characterization problem into a point-location problem. First, it is necessary to partition a plane (of the coordinate system where a cubic curve and its hodograph are defined) into a number of regions with a hodograph and its control polygon. To formalize the discussions, the following definition is borrowed from Reference 12.
REGIONS OF H O D O G R A P H
Definition 1: Give a subset F in ~22, an affine hull AH(F) is the smallest affine set containing F. The AH(F) + in Ez of an edge F of a polygon P is the open half space defined by the line AH(F) and containing P. The AH(F)in ~2 of an edge F of a polygon P is the open half space defined by the line AH(F) and not containing P.
To use a hodograph to characterize a cubic curve, it is necessary to study the properties of the hodograph. A hodograph of a cubic curve is always a quadratic curve, and it consists of three control points computed using Equation 6, where each control point is calculated from an edge of the control polygon of the original curve. A quadratic curve is known as a segment of parabola, and the edges of hohl and hlh 2 define the tangent-vector directions of a quadratic curve at the parameter values t = 0 and t - 1, respectively, as shown in Figure 5. Note that the curve is always monotonically convex toward
648
The affine hull of a line segment is the line containing the line segment in Ez. Figure 6 illustrates Definition 1. Let a triangle Tri(ho, hi, h2) be defined by three control points of a hodograph. Then, AH(hohl)- is a half space defined by extending the edge hohl of Tri(h0, hi, h2) and not containing the Tri(h 0, h 1, h 2 ) , a s shown in Figure 7a.
Computer-Aided Design Volume 25 Number 10 October 1993
Hodograph approach to geometric characterization of parametric cubic curves: D-S Kim
To take the hodograph itself into consideration, the following definition is also provided.
curve by extending the B6zier curve H(t) in the parameter domain [ - ~ , ~ ] , and containing the edge hoh 2 of Tri(ho, hi, h2). H ( t ) - is the other half space.
Definition 2: Give a subset H(t) in E 2, where H(t) is a
quadratic B6zier curve defined by three control points h o, h~ and h 2, H(t) + is a half space defined by a parabolic ho
///C h tI-
An example of H(t) + is also illustrated in Figure 7b. With the previous definitions, a plane can be partitioned into several regions as in the following. Definition 3." A 'characteristic diagram' is a partition of
E2 into four regions ~, fl, 7 and 5, and the hodograph n(t), where (see Figure 8)
1
c~= {AH(hoh2)- c~ AH(hoh,) + c~ AH(hxh2) +} u {AH(hoh~)- c~ AH(h,h2)- } fl={AH(hoh,) + c~ AH(h~h2)- }
w {AH(hoh~) - c~ AH(hlh2) +} 7= {AH(hoh~) + c~ AH(hlh2) + c~ H(t)-} 6={H(t) + c~ AH(hoh2) +} Then, each ct, fl, ? and 6 region and the hodograph H(t) itself corresponds to a case of the curve characteristics by Theorem 2. Figure 5 Quadratic hodograph Theorem 2: A cubic B6zier curve is classified as follows by the location of the origin O of IF2 in the regions of the characteristic diagram.
/
"~,~
An(F)-
•
• •
AH(F) +
AH(F)
Case a: A curve has no inflection point(s), or conjugate tangent vector if and only region a. Case b." A curve has one inflection point if O lies in region ft. Case c: A curve has two inflection points if O lies in region ~.
loop, cusp, if O lies in if and only if and only
Figure 6 AH(F), AH(F) ÷ and AH(F)- in IF2 ...-.....-.-.
iiiii, " iiiijiiiiiii!,,,,, i
\'-, hI
~!iiiiiiiiiiiis~i ..... "<~ii~iiiii;!!~...... t=l i
a
~
j'/'/
b
Figure 7 Examples of Tri(ho, hi, h2), AH(hohl)- and H(t) ÷
Computer-Aided Design Volume 25 Number 10 October 1993
649
Hodograph approach to geometric characterization of ~arametric cubic curves: D-S Kim
there always exists an intersection (in addition to the intersection at h0) between the line and H(t) in the parameter domain [0, 1], as shown in Figure 9a, when O lies in region 6. Let t o be the parameter value of the intersection point between the line and H(t). Then, the position vectors of points H(0) and H(to) are parallel, and they have reversed signs, since O lies in the line segment of H(O)H(to), and so the tangent vectors of the cubic curve at parameter values of t = 0 and t = to are parallel and reversed, as shown in Figure 9b. (Note that the scales of f;igure 9a and 9b are not necessarily the same.) Similarly, there exist another pair of conjugate tangent vectors for t = 1 and t = t 1. Case e." This is proved by Theorem 1. []
Figure 8 Characteristic diagram
• •
Case d: A curve has a conjugate tangent vector if and only if O lies in region 5. Case e: A curve has a cusp if and only ifO lies on H(t).
Proo/) •
•
•
•
650
Case a: It is not possible to have an inflection point on a cubic curve. Since the edges of hob 1 and hlh 2 define the extreme tangent vectors at the extremes of the hodograph, a tangent line to the hodograph in the parameter domain [0, 1] passing through a point in region ~ is not possible. It is also not possible for a cubic curve to possess a cusp, since O is exterior to Tri(ho, hi, h2) (owing to the convex-hull property of B6zier curves, and the fact that a hodograph is also a B6zier curve). It is also not possible for it to be a case of a conjugate tangent vector (and not, therefore, a loop either), since it cannot satisfy the conditions of case d. Case b: A quadratic hodograph is a parabola completely contained inside Tri(h o, hi, h2) owing to the convex-hull property, and the vectors defined by hoh~ and h~h z define the tangent directions of H(t) at t = 0 and t = 1. Therefore, for any point p in region /3, there exists one and only one tangent line of H(t) in the parameter domain [0, 1] through p. If the point p is the origin O, there exists only one inflection point on the cubic curve, by Theorem 1. Case e: Since two edges of the control polygon, hoh 1 and hlh 2, define the tangent directions at two extreme points H(t) as discussed, any point p in region 7 defines two tangent lines on H(t) in the parameter domain [0, 1]. Therefore, when O lies in region 7, there exist two inflection points on the cubic curve, by Theorem I. Case d." Let a line pass through H(0) and O. Then,
It is now clear that the curve-characterization problem has been reduced to a point-location problem owing to Theorem 2; the decision as to whether a curve belongs to case a, case b, case c or case d is the decision as to whether the origin lies in region ~, region/3, region 7 or region 6. The decision relating to case e requires an explicit computation of whether the origin lies on the hodograph. Theorem 2 is elaborated in Figure 10, with all the possible cases of cubic curves as shown in Figure 1 and their hodograph counterparts. The figures on the left-hand side are the cubic curves, and the figures on the right-hand side are the corresponding quadratic hodographs, which are slightly exaggerated. Figure lOa shows a cubic curve belonging to case a in Theorem 2, since the origin of the coordinate system lies in region ~ of the characteristic diagram. As discussed above, the cubic curve has no inflection point, loop, or conjugate tangent vector, but the curve is monotonically convex towards the control polygon. In this case, the control points of H(t) are monotonically ordered around the origin with respect to the polar angle of the control points. In other words, the polar angles of h o, h I and h 2 are increasing (or decreasing) in that order. This holds true in the case in which the origin lies on the other part of region ~. Figure 10b shows a cubic curve belonging to case b in Theorem 2. Since it is possible to draw only one tangent line of the hodograph passing through the origin, the cubic curve in Figure lob has only one inflection point. Figure lOe shows a curve with two inflection points, and so it is a case c curve. It has been pointed out that a quadratic hodograph is a parabola, and the edges hob 1 and hlh 2 of Tri(h 0, h l, h2) define the tangent directions at the extreme points of the quadratic hodograph. Therefore, if the origin lies between the edges and the hodograph H(t) itself (i.e. the region 7), there are two tangent lines to H(t). Hence, there exist two inflection points on the cubic curve. Figures lOdl and lOd2 show cubic curves belonging to case d; these are cases with conjugate tangent vectors, which are detailed further below. Figure lOe shows a case e curve: a curve with a cusp. As stated in Theorem 1, H(t) should pass through the origin O.
Computer-Aided Design Volume 25 Number 10 October 1993
Hodograph approach to geometric characterization of parametric cubic curves: D-S Kim
_ ho
X
t = ( ) ~ , ,
\
Xbl
"<---.. "--~
\ /
x
/
/
~.J"
h
b2
............................................................. ? :,
...----
t-t
7\
\
, ~ t=O
o
x
.j.F"
a
b
Figure 9 Detection of conjugate tangent vectors DISCRIMINATION BETWEEN TANGENT VECTORS
CONJUGATE
By Theorem 1 and Theorem 2, a cubic-curve characterization problem has been reduced to a well known point-location problem with a number of regions, where the regions are bounded by straight lines and/or a conic section. Obviously, a point-location problem with a polygon is relatively simple. Therefore, it is easy to determine whether a cubic curve belongs to case a or case b, or case c, case d or case e, by testing whether the origin is exterior to Tri(ho, hi, h2). When the origin is exterior to Tri(ho, h 1, h2), a cubic curve belongs to either case a or case b. Since the polar angles of ho, hi and h2 are monotonically increasing (or decreasing) for case a curves, the discrimination between two cases is straightforward when the origin is exterior to Tri(ho, h 1, h2). When the origin is interior to Tri(ho, hi, h2), however, discrimination between cases c, d and e is not relatively easy to carry out by a direct application of geometric algorithms. From the combination of cases c, d and e, the decision relating to case e can be made by explicitly testing whether the origin lies on H(t) within a numerical tolerance. When the origin is interior to Tri(ho, ht, h2), but the curve is not a case e curve, it is necessary to discriminate between case c and d. Since cases c and d are mutually exclusive, this paper describes how to test whether a curve belongs to case d. When two tangent vectors of the curve at parameter values 0 and to (or 1 and tl) are parallel but reversed, as shown in Figure 2, they are called conjugate tangent vectors. When conjugate tangent vectors are translated to the origin, as shown in Figure 9b, the endpoints of
two vectors define a line through the origin, and the origin should lie between two endpoints, as shown in Figure 9a. What this observation means is that the line defined by the endpoints of these tangent vectors should intersect the hodograph twice at the parameter values of 0 and to (or 1 and tl), and two intersections should lie on the opposite side of the origin. Therefore, the discrimination between case d curves and case c curves can be carried out by simply testing whether there exists an intersection (other than an intersection at H(O)) between H(t) and a line defined by H(O) and the origin 0 (or t = l instead). When the parameter value of the intersection point is t o e (0, 1], and 0 is between H(O) and H(to), then 0 lies in region 6. In other words, a cubic curve belongs to case d when the following condition holds:
0 = wH(O) + (1 - w)H(to)
(7)
where 0 < w, t o < 1, and H(to) is an intersection between H(t) and a line defined by 0 and H(O). Since the problem is a problem of an intersection between a quadratic curve and a line, the decision can be made without the use of a numerical method.
DISCRIMINATION
OF SELF INTERSECTION
By testing whether 0 lies in region 6 in the characteristic diagram, it is possible to tell whether a curve belongs to case d. However, it is still necessary to distinguish whether a curve belongs to case d 1 or case d2 by looking at the location of 0 within region 6. Even though the author has noticed that O is located closer to the
Computer-Aided Design Volume 25 Number 10 October 1993
651
Hodograph approach to geometric characterization of parametric cubic curves: D-S Kim
{////"//'~ a
\....y
dl
d2
e
Figure 10 Cases of cubic curves and hodographs
652
Computer-Aided Design Volume 25 Number 10 October 1993
7
Hodograph approach to geometric characterization of parametric cubic curves: D-S Kim
hodograph and far from both ho and h 2 when a cubic curve has a loop (look carefully at Figures lOdl and 10d2), he has not successfully isolated a clear boundary between case dl and case d2 in region 6. However, the condition for a cubic curve to have a loop is known. Faux and Pratt summarize the conditions as follows 13. A cubic curve may have a loop only when the control polygon of the curve self intersects. Let X be the intersection of lines defined by extending edges bobl and b2b 3 and bobl=~tboX and b2b3=flXb3, as shown in Figure 11. Then, the curve has a loop in the parameter of [0, 1] if
If the origin lies on either a line segment hohl or hlh2, or a line extended by the same line segment,
•
the curve belongs to case b, with an inflection point at the parameter value t = 0 or t = 1, because the line segment hoh ~ or hlh 2, respectively, is tangent to the hodograph. If the origin lies on ho or h2, the curve belongs to case e, and the cusp occurs at the parameter value t = 0 or t = 1, respectively, because the origin lies on the hodograph. However, the cusp appears only when the parameter range of the cubic curve is extended to the appropriate direction. If the origin is coincident with the second control point h I of the hodograph, the curve belongs to case c, with two inflection points at t = 0 and t = 1, because both the line segments hohl and hlh 2 are tangent to the hodograph at the above parameter values. This is the case in which two intermediate control points b~ and b2 of the original cubic curve are coincident. If the origin is on the line segment hoh2, the curve belongs to case dl, with the conjugate tangent vectors occurring at t = 0 and t = l , because the position vectors of h 0 and h 2 are parallel to the opposite direction.
•
•
(, wherea>l
,8, andfl>l.
CONSIDERATION
•
OF SPECIAL CASES
A procedure for the cubic-curve characterization algorithm of this paper is summarized below. Procedure DetermineCurveType(b o, b~, b2, b3, CurveType)
begin Compute hodograph control points h o, h~, h z if O is exterior to Tri(h o, h 1, h2) then if the polar angles ofh o, hi and h 2 are monotonically increasing or decreasing then CurveType = case a curve else CurveType = case b curve else if O is on H(t) then CurveType = case e curve elseif Equation 7 does not hold then CurveType = case c curve elseif Equation 8 does not hold then CurveType = case dl curve else CurveType = c a s e d2 curve end It is easy to verify that there is no need to use any numerical procedure since the hodograph is only a quadratic curve. Rather, it is sufficient to have a few additions, multiplications and comparisons to discriminate between one curve type and others. The code itself is also very simple to implement. It should be pointed out, however, that we have not mentioned the cases in which the origin lies on the boundary of the triangle Tri(h o, hi, h2) itself or on the line extended by the edges of the triangle. Extensions of the previous discussions to cover these special cases are straightforward, and are summarized as follows (the algorithm can be modified appropriately to accommodate these special cases):
Note that a curve in any of the above situations may be also considered as belonging to case a, since any other curve characteristics cannot occur interior to the curve segment. For example, a curve in the first situation above may be considered as belonging to either case b or case a, depending on the context of the problem. It is a case b curve in the sense that there exists an inflection point on the curve. It is a case a curve in the sense that the inflection point occurs only at a boundary parameter value, and no other inflection point, cusp, loop or conjugate tangent vectors can occur at interior parameter values. It should also be noted that the procedure can be easily extended to the computation of the parameter values where these curve characteristics occur, so that the curve
bl
b2
°
bo
Figure 11 Cubiccurve with loop
Computer-Aided Design Volume 25 Number 10 October 1993
653
Hodograph approach to geometric characterization of parametric cubic curves: D-S Kim
can be subdivided to transform it into a set of (at most three) case a curve segments. (We call this ~ subdivision. )
when the author was a student at the university. The author also thanks an anonymous referee of the paper lbr his/her careful review.
CONCLUSIONS This paper reports a new, yet powerful, approach to the characterization of the behaviour of a parametric cubic curve by introducing a hodograph. By analysing the location of the origin of the coordinate system relative to the hodograph and the control points of the hodograph, a characteristic diagram is defined. Then, the curve-characterization problem is reduced to a pointlocation problem in which the regions are bounded by straight lines and/or a conic section. The characteristic of a given curve is determined by simply looking at the location of the origin in the characteristic diagram. The significance of the orderings of the cases in Figure 1 is now clearer, in that a cubic curve belongs to case a, case b, case c or case d when the origin lies in region c~, region/3, regions 7 or region 6, respectively, in the characteristic diagram; if the origin lies on the hodograph itself, the cubic curve belongs to case e. It is also shown that the cases a e are mutually exclusive, as has been discussed in References 3-5. This paper has added a new characteristic of a cubic curve called a conjugate tangent vector. With this concept, it is possible to detect the combination of cases d l and d2. The characteristic diagram has a more intuitive and geometric interpretation than the other approaches based on Equation 2. In addition, this approach does not suffer the difficulties of separate regions on the plane experienced in Reference 4. The approach taken by this paper also suffers less seriously with degeneracies than the approaches of References 3--5. It should also be noted that the parameter values of the inflection point(s), conjugate tangent vectors, or a cusp on a curve can be computed from the hodograph, and it can be shown that an arbitrary cubic curve can be transformed into a number of (at most three) case a cubic curves when it is subdivided at these points using subdivision. However, the approach discussed in this paper does not currently provide a geometric algorithm to distinguish between case d! and case d2 on the basis of the hodograph. Therefore, the discrimination was carried out by using Equation 8.
ACKNOWLEDGEMENTS The author expresses his great gratitude to Professor Pangs Papalambros and Professor Tony Woo at the University of Michigan, USA, for their encouragement
654
REFERENCES 1 2
3
4
5 6 7 8 9 10 11
12 13
B6zier,P Numerical Control." Mathematics and Applications John Wiley (1972) Forrest, A R 'The twisted cubic curve: a computer-aided geometric design approach' Comput.-Aided Des. Vol 12 No 4 (1980) pp 165 172 Wang, C Y "Shape classification of the parametric cubic curve and parametric B-spline cubic curve' Comput.-Aided Des. Vol 13 No 4 (1981) pp 199 206 Su, B and Liu, D 'An affine invariant and its application in computational geometry' Sci. Sinica (Ser. A) Vol 24 No 3 (1983) pp 259 267 Stone, M C and DeRose, T D 'A geometric characterization of parametric cubic curves' A C M Trans. Graph. Vol 8 No 3 (1989) pp 147 163 Kim, D S 'Surface visibility and automated machining' Preliminao' Proposal University of Michigan, USA (1988) Eisenlohr, J M 'Approximation of general curves by splines' Proc. Schlumberger S~ftware Con[~ ---Vol 1 (1990) pp 211-217 Kim, D S 'Cones on B+zier curves and surfaces' PhD Dissertation University of Michigan, USA (1990) Sederberg, T W and Meyers, R J 'Loop detection in surface patch intersections' Comput. Aided Geom. Des. No 5 (1988) pp 161 - 171 Farin, G Curves and SurJaces for Computer Aided Geometric Design Academic Press, USA (1988) Kim, D S, Woo, T C and Papalambros, P Y "Tangent, normal and visibility cones for B6zier surfaces' Comput. Aided Geom. Des. (submitted for publication) Preparata, F P and Shamos, M I Computational Geometo, An Introduction Springer-Verlag (1985) Faux, I D and Pratt, M J Computational Geometry/br Desi,qn and Manu/acture Ellis Horwood (1980)
BIBLIOGRAPHY Forrest, A R "Curves and surfaces for computer-aided design' PhD Dissertation University of Cambridge, UK (1968) Sederberg, T W 'Rational hodographs' Comput. Aided Geom. Des. No 4 (1987) pp 333-335
Deok-Soo Kim receized a BS J?om Hanyang University, Korea, an M S from the New Jersey Institute o[" Technology, USA, and a PhD j~om the University o f Michigan, USA, in 1982, 1985 and 1990. In 1989-91, he developed Bravo NC as a senior so/iware engineer at Applicon, USA. He is currently a senior engineer, developing CAD~CAM systems and consulting on CAD/C'AMand CIM strategies, His interests are in computational geometry, solid and sur./'ace modelling, computer-aided process planning, and NC tool-path ,qeneration.
Computer-Aided Design Volume 25 Number 10 October 1993
--