COMPUTER AIDED GEOMETRIC DESIGN
ELSEVIER
Computer Aided Geometric Design 12 (1995) 305-320
Tangent, normal, and visibility cones on B6zier surfaces Deok-Soo
K i m a,*, P a n o s Y . P a p a l a m b r o s
b, T o n y C. W o o h
a Department oflndustrial Engineering, Hanyang University, Haengdang-Dong, Sungdong-Ku, Seoul, South Korea b Department of Mechanical Engineering &Applied Mechanics, The University of Michigan, Ann Arbor, MI, USA Received July 1990; revised March 1994
Abstract Definitions and properties for three types of cones, i.e., tangent, normal and visibility cones for regular parametric surfaces, are provided. Algorithms to compute these cones for a regular B6zier surface are provided. It is shown that a tangent cone can be computed from a hodograph, and a normal cone can be computed from a normal surface of a B6zier surface. It is also shown that a simple transformation converts a normal cone to a visibility cone. Keywords: Tangent; Normal; Visibility; Gauss; Cone; Map; B6zier surface; Hodograph;
Convex hull
I. Introduction T h e r e exist two t a n g e n t c o n e s for a r e g u l a r p a r a m e t r i c surface: g , for a v a r i a b l e p a r a m e t e r u a n d a c o n s t a n t p a r a m e t e r v, a n d ~ , for a v a r i a b l e p a r a m e t e r v a n d a c o n s t a n t p a r a m e t e r u. J u of a p a r a m e t r i c surface is a set o f p o i n t s in E 3 such t h a t a p o s i t i o n v e c t o r o f a p o i n t in Yu c o r r e s p o n d s to a t a n g e n t v e c t o r o f t h e s u r f a c e with r e s p e c t to u, at s o m e u a n d v. 3-~. can b e d e f i n e d similarly. A n o r m a l cone, J , is a set o f p o i n t s in E 3 such t h a t a p o s i t i o n v e c t o r of a p o i n t in jr" c o r r e s p o n d s to a n o r m a l v e c t o r on t h e surface, at s o m e u a n d v. A visibility cone, • , is d e f i n e d as a set of p o i n t s in lz3 such t h a t any line p a r a l l e l to t h e p o s i t i o n v e c t o r of a p o i n t in ~ i n t e r s e c t s with t h e s u r f a c e at m o s t o n c e for all u a n d v. In this p a p e r , a surface is a s s u m e d to b e r e g u l a r so t h a t a n o r m a l v e c t o r u n i q u e l y
* Corresponding author.
0167-8396/95/$09.50 © 1995 Elsevier Science B.V. All rights reserved SSDI 0 1 6 7 - 8 3 9 6 ( 9 4 ) 0 0 0 1 6 - L
306
D.-S. Kim et al. / Computer Aided Geometric Design 12 (1995) 305-320 n
a
b
c
d
Fig. 1. Cones of a parametric surface. (a) A regular parametric surface. (b) Two tangent cones. (c) Normal cone. (d) Visibility cone.
exists at a point on the surface. Fig. 1 illustrates these cones for a regular parametric surface. Figs. la, lb, lc and ld are examples of a regular parametric surface, two tangent cones, a normal cone, and a visibility cone, respectively. T h e r e are numerous applications of these cones. Tangent cones have been used to detect whether an intersection curve of two parametric surfaces forms a loop (Sederberg and Meyers, 1988). An application of tangent cones to detect degenerate normal vectors on a parametric surface has been reported by Kim (1990), and will be discussed in a subsequent p a p e r (Kim and Papalambros, 1995). A normal cone can be used to speed up the computation of a silhouette curve on a surface (Kim, 1990). Since a visibility cone bounds all directions such that all points on a surface are visible from the directions, it has been used to evaluate whether a surface can be machined, and to compute a tool orientation to machine a surface assuming that the tool radius is sufficiently small (Kim, 1988, 1990). For the other applications of the cones, the readers are r e c o m m e n d e d to refer to (Kim, 1990). In this paper, the formal definitions of these cones are provided and the relationships among the cones are discussed. In Section 2, a few terminologies are defined to describe the theory. In Section 3, the tangent cones and maps are defined for BEzier surfaces. The concept of a map is introduced to present and discuss the properties of cones, whereas the cones are actual input and output of the algorithms. In Section 4, the normal cone and m a p are discussed. In Section 5, the visibility cone and map are defined, and the relationships between the normal and visibility cones are discussed.
D.-S. Ka'm et al. / Computer Aided Geometric Design 12 (1995) 305-320
307
2. Preliminaries A few definitions are provided to discuss the concepts presented in the paper. These well-known tools are borrowed from sources such as (Preparata and Shamos, 1985; Stolfi, 1989). Definition 1. Let a point set S = {Pili = 1. . . . . k, Pi E [~3}. Then, the set of points P l P = E o ~ i P i , OLi E R , EO{i = 1 i=1 i=1
is the affine set generated by S. When o/i ~ 0, the affine set becomes the convex set generated by S. Definition 2. Given a subset F in E s, an affine hull, A H ( F ) , is the smallest affine set containing F. Given a point set S, a convex hull, CH(S), is the smallest convex set containing S. An affine hull of a line segment is the line containing the line segment, and an affine hull of a planar polygon is the entire plane containing the polygon. Definition 3. ~r is a sphere with unit radius centered at the origin, O, of E s. Definition 4. A plane pC is a complementary plane of a point p, p 4: O, if the plane pC is perpendicular to the position vector p at O. pC+ is a half-space defined by pC and containing the point p. Definition 5. ~r N P ° is defined as a great circle, where pO is a plane passing through the origin O. ~r n P is defined as a small circle if ~r N P :g ~, where P is an arbitrary plane. Definition 6. H is a mapping such that H : A ~ B onto B, and denoted as HA(B).
is a (central) projection of A
Therefore, II~(S) and H e ( S ) are projections of a geometric entity S onto ~r and a plane P, respectively. It should be also noted that
=
p~S
.
(1)
Definition 7. A closed region, S c ~r, is hemispherical if there exists a plane pO placing S in a half-space. It should be noted that there always exists a plane P such that He(S) is a closed region on P, if S is hemispherical. Definition 8. A hemispherical region, S c ~r, is spherically convex if there exists a plane P -4=pO such that H e ( S ) is a bounded convex polygon.
308
D.-S. Kim et al. / Computer Aided Geometric Design 12 (1995) 305-320
Definition 9. A cone ~ is said to be generated by S if
~= {plp=Aq,
q ~ S , VA > 0 } .
When the boundary of ~ A o- is a small circle, the cone is called a circular cone. When A = 0 in particular, p is called an apex of the cone.
3. Tangent cone BEzier surfaces of degree m × n are defined by an equation m
n
bm'n(u, v) = ~., E b i j B ~ ( u ) B T ( v ),
U, v ~ [0, 1],
(2)
i=0 j=0
where B[n(u) and B~'(v) are Bernstein bases, and bij a r e control points. As mentioned earlier, B6zier surface given in Eq. (2) has two tangent cones: -Y-u is a tangent cone with respect to u, and ~.~. is a tangent cone with respect to v.
Definition 10. Tangent cones, J-u and ~ , 3-.=
are defined as
plp=A--bm'~(u,v),VA>O,u,v~[O,
1
8u
~=
plp=,~--bm,~(u,v),Va>_ O,u,v~[O, 1] , 8v
where p ~ ~3. It should be noted that a tangent cone is unbounded and p is not necessarily a unit vector. Intersecting a tangent cone with a unit sphere cr yields a bounded entity called a tangent map which has equivalent directional information to a tangent cone.
Definition 12. Tangent maps, Tu and Tv, are defined as T, = J u A o- and T~. = ~
C~
0".
For convenience of explanation, a tangent cone and the corresponding tangent map for a planar curve are illustrated in Fig. 2. The tangent vectors on the curve forms a tangent cone 9-, and the intersection between ~ and o- becomes a tangent map T. Before explaining the algorithm to compute tangent cones of B6zier surfaces, an example is given to compute a tangent cone of a planar B6zier curve. A tangent cone, J , for a B6zier curve can be computed using a hodograph which is an instance of the first derivative of a B6zier curve. A B6zier curve n
bn(t) = Y'.biB['(t), i=0
t ~ [0, 1],
(3)
D.-S. Kim et al. / Computer Aided Geometric Design 12 (1995) 305-320
a
309
b
Fig. 2. T a n g e n t c o n e and tangent m a p o f a planar curve. (a) A planar curve and s o m e tangent vectors. (b) A tangent c o n e f r o m e d by tangent vectors and a tangent map.
has a hodograph H t defined as d
n-1
H t = -~b"(t)
(4)
= n Y', (bi+ 1 - bi)B'i ' - 1 . i=0
A hodograph is a vector-valued surface which becomes a real-valued surface if referenced to an origin. Eq. (4) shows that H t is another B6zier curve of one degree lower than the original curve in Eq. (3), with the control points of H t given as
hi=n(ai+l-bi), i=0 ..... n-1. (5) A position vector of a point on H t at t o defines a tangent vector of b " ( t ) at t 0. For the details of a hodograph, please refer to (Farin, 1990). By projecting all points of H t onto o" (in the planar example, o- is a unit circle centered at the origin), a tangent map T can be obtained using Eq. (1). In other words, T-= {p I p = q / h q I, q ~ Ht}. Therefore, a tangent cone 3 - can be obtained by bounding the extreme angles of the points on a hodograph. Fig. 3 illustrates an example of a planar cubic Bdzier curve. Fig. 3a depicts a cubic curve, and Fig. 3b
b1
3
bo
h~ a
b
c
Fig. 3. B6zier curve, h o d o g r a p h , and tangent c o n e and map. (a) A planar cubic B6zier curve. (b) A h o d o g r a p h . (c) A tangent c o n e and a tangent map.
310
D.-S. Kim et al. / Computer Aided Geometric Design 12 (1995) 305-320
depicts a corresponding hodograph. The region denoted as 3" in Fig. 3c is the tangent cone of the given curve. The thick arc on the circle denoted as T is a tangent map which is a projection of H t. Therefore, a tangent cone 57, a tangent m a p T, and a hodograph H t, are all informationally equivalent with respect to the directionality. It should be noted that an exact tangent cone of the curve given in Fig. 3a can be obtained by choosing two extreme control points h 0 and h 2 in this example. However, it is not always the case for a planar B6zier curve. When a planar curve possesses some characteristic points such as inflection point(s) or cusp(s), the curve subdivision at these points as discussed in (Kim, 1993) should be performed to get an exact tangent cone using hodograph control points. Similarly to the planar curve, tangent cones for a B6zier surface can be also computed using hodographs. T h e r e exist two hodographs for each p a r a m e t e r u and v for a B6zier surface, defined as 0
m-1
Hu=--bm'n(u v ) = m E OU ~" ' i=0
(bi+,,j-bi,j)Bm-l(u)Bff(v),
(6a)
j=O
i~ mn-1 H v = -U-bm'n(u, u) = n Y ' . Y'~ (bi,j+ l - b i , j ) B m ( u ) B T - l ( v ) . ov i=0 j=0
(6b)
H , is an instance of the partial derivative surface with respect to p a r a m e t e r u, and H~ is an instance of the partial derivative surface with respect to p a r a m e t e r v. As a hodograph of a BEzier curve is another Bdzier curve, H~ and H L, are also BEzier surfaces of degree (m - 1) x n and m × (n - 1) degree, respectively. The control points o f / 4 , are denoted as hii, where
hij=m(bi+,.j-bi.i),
i=O,...,m-l,j=O
. . . . . n.
(7)
The control points of H~. can be found similarly. Hereafter, discussions of a tangent cone and a hodograph for a p a r a m e t e r u only will be considered unless otherwise needed. When H u is realized as a real-valued surface by referencing to the origin, Hu represents the set of all tangent vectors with respect to u for a B6zier surface. Based on a hodograph, Sederberg and Meyers (1988) developed an algorithm to compute a circular tangent cone which bounds all control points of H u. The circular cone then was considered as an estimation of the true tangent cone 5ru. In this paper, a different approach, based on convex hull operator, which provides a tighter bound is discussed. Let CH(hij) be a convex hull of control points of H , , CH(hij, O) be a convex hull of control points as well as the origin O. Then, the convex hull property of B6zier surfaces can be stated as bm'n(u, u) _ C H ( b i j ) .
(8)
Therefore, a hodograph is also completely contained inside of CH(hij) since a hodograph itself is a B6zier surface, and the following observations can be made.
D.-S. Kim et al. / ComputerAided Geometric Design 12 (1995) 305-320
311
L e m m a 1. H, cc_CH(hi/, O). Proof.
H , c_ C H ( h i / ) c CH(hi/, 0 ) .
[]
(9)
Facets of CH(hij, O) sharing 0 as a vertex bound and over-estimate J , , if O ~ CH(h~/).
T h e o r e m 2.
Proof. H u c_ CH(hi/, O) by L e m m a 1. Therefore,
lI~(Hu) c_H~(CH(hi/)),
if O ~ C H ( h i / ) .
(10)
Therefore, 3-, can be estimated by finding the boundary of H~(CH(hi/)). Let {Fk I k = 1. . . . } be a set of facets of CH(hi/, O) sharing O as one of its vertices. Since a point in the boundary of II~(CH(hij)) lies on one of F k, :7, can be estimated by finding such a facet set {Fk}. Due to the convex hull property, it is an over-estimation. [] Let CC(hi/, O) be a circular cone which bounds all hi/ using O as an apex. Then, the following l e m m a states that a tangent cone using the convex hull approach provides a tighter bound than one using a circular cone approach. I k m m a 3. H~(CH(hij, 0)) c I I r ( C C ( h i j , 0)). Proot: A convex hull of a point set is a minimal convex set.
[]
Another advantage of the convex hull approach over the circular cone approach is set operations of the cones. Since a tangent cone is represented as a set of facets in E 3, the set operation of tangent cones can be reduced to geometric operations between planar facets. The time complexity is o ( M log M ) with convex hull approach whereas o ( M ) with circular cone approach, where M is the number of control points of B~zier surface. However, it should be noted that the condition of T h e o r e m 2 may not be satisfied for an arbitrary surface in general. (Kim, 1990) discusses what to do when the condition is not met.
4. N o r m a l cone D e f i n i t i o n 12. A
normal cone, A/', is defined as
~={PlP=*n,
VA>-0, u , v ~ [ 0 ,
a]}
where p ~ E 3, and n is a normal vector on bm'"(u, t,). Note that a normal cone is also unbounded and p is not necessarily a unit vector. Similarly to a tangent map, a normal map is defined as follows.
312
D.-S. Kim et al. /Computer Aided Geometric Design 12 (1995) 305-320 w
a
b
Fig. 4. N o r m a l c o n e a n d n o r m a l m a p of a p l a n a r curve. (a) A p l a n a r curve and some n o r m a l vectors. (b) A n o r m a l cone a n d a n o r m a l map.
Definition 13. A normal map, N, is defined as N = j/r n ~r. A normal m a p for a surface bm'n(u, u) is denoted a s N(bm'n(u, v ) ) . A normal m a p is also known as the Gauss map (O'Neill, 1966). Fig. 4 illustrates an example of a normal cone and a corresponding normal m a p for a planar curve. A normal cone, J , of a B~zier surface can be computed using a normal surface, N(u, v), which is defined as
N(u,v)=H.
X H v=
i
Oux 0v x
J
O~y O~y
0~z
0~,z
= (Ouya~,z - OuZOL,y)i + (O, zO~.x - O,XOvZ)j + (OuxOvy - OuyO,,x)k.
(11) When N(u, v) is realized by referencing to the origin, N(u, v) represents the set of all normal vectors for a B~zier surface. Therefore, a position vector of a point on N(u, v) at u 0 and v 0 defines a normal vector of b ' ' ( u , v) at the same p a r a m e t e r values. Let nij be the control points of N(u, v). Since N(u, v) is also a B6zier surface, a similar inequality as a hodograph holds as
N(u, v) c_CH(nij).
(12)
Therefore, the following inequality also holds.
n,~( N ( u , v ) ) c_U,~(CH(ni])).
(13)
Therefore, a normal cone can be also estimated by finding the boundary of
Ho.(CH(nij)) similarly to a tangent cone, and A/" computed by the convex hull approach is also an overestimation of A p due to the convex hull property. There exist, however, different ways to compute a normal cone (Kim, 1990).
D.-S. Kim et aL/ ComputerAided Geometric Design 12 (1905) 305-320
313
5. Visibility cone
D e f i n i t i o n 14. A visibility cone, 7/, is o n e of two distinct c o n e s d e f i n e d as { p [ L = b .... ( u , c ) h a s at m o s t o n e solution, u, c E [0, 1], w h e r e L is a line p a r a l l e l to p } , w h e r e p E E 3. T h e choice can b e m a d e in t h e c o n t e x t o f t h e a p p l i c a t i o n . In o t h e r words, a visibility cone is a set o f p o i n t s in E 3 w h e r e t h e p o s i t i o n v e c t o r of a p o i n t in t h e c o n e can be u s e d as a d i r e c t i o n t h r o u g h which all p o i n t s of t h e surface can b e seen w i t h o u t an i n t e r f e r e n c e . A visibility m a p is d e f i n e d as follows. D e f i n i t i o n 15. A r,isibility map, V, is d e f i n e d as V = ~ - n tT. Since V can b e u n i q u e l y d e f i n e d e i t h e r directly f r o m a surface or indirectly from a n o r m a l m a p , t h e n o t a t i o n s such as V, V(bm'n(u, l:)), V ( N ) o r V(N(bm'n(u, l,')) a r e i n t e r c h a n g a b l y used. Fig. 5 illustrates a visibility c o n e a n d a c o r r e s p o n d i n g visibility m a p for a p l a n a r curve. It s h o u l d b e n o t e d t h a t W a n d V m a y not exist for a B6zier surface, w h e r e a s J u , ~'G, T,,, T,,, X , a n d N always exist. T h e following d e f i n i t i o n s a n d t h e o r e m s will l e a d to an a l g o r i t h m to c o m p u t e a visibility c o n e 7 ~ of a surface. D e f i n i t i o n 16. A spherical dual operator ~
is a m a p p i n g 5~ : p = S such t h a t
s =_~(p) =pC+no-,
(14)
_~( p u q ) = _ ~ ( p ) N ~ ( q ) ,
(15)
w h e r e p , q ~ or. S a n d p a r e called spherical dual to e a c h other. L e m m a 4. Spherical dual operator ~ has the following properties:
1. p ~ ( p ) . 2. p . q > O, where q ~ ( p ) .
/
Fig. 5. Visibility cone and visibility map of a planar curve. (a) A planar curve and some line parallel to visible directions (b) A visibility cone and a visibility map.
314
D.-S. Kim et al. / ComputerAided Geometric Design 12 (1995) 305-320
3. ~ ( p ) is a hemisphere. 4 . . ~ ( p to q) c . ~ ' ( p ) and ~ ( q ) . 5 . . ~ ( S 1 U S 2) = . ~ ( S 1) n.~(S2), where S a and S 2 are closed regions on o'. 6 . . ~ ( S 1) _c.~(S 2) iff S 1 _ $2, where $1 and S z are closed regions on o'. 7..~(.&(p)) =p.
Proof. 1. Obvious by Definition 16. 1 2. The internal angle defined by p and q is at most -~ar. 3, 4, 5, 6. Obvious by Definition 17. 7. Let q ~ ( p ) =pC+• tr. Then,
= C ' ~ ( q ) , by Eq. (15).
(16)
Due to the property (2) of this lemma, p • q >/0, i.e., p ~ . ~ ( q ) for any q. However, for any q there exists r ~ . ~ ( p ) , q ~ r, such that q ' r < 0, i.e., the internal angle between two vectors is greater than ~-/2. Therefore, p is the only one which satisfies Eq. (16). Therefore, . ~ ( . ~ ( p ) ) = p . [] Lemma 5. The following properties hold. 1. ~ ( p ) is spherically convex. 2. ~ ( P a UP2) is spherically convex, if ~ ( P l UP2) 4= ¢.
Proof. 1. Obvious since ~ ( p ) is a hemisphere. 2. p~+ and p~+ are convex spaces. Since -~(Pl Up2) = - ~ ( P l ) n - ~ ( P 2 ) = P c+n p~+N o', .~(p~ U p 2) is spherically convex. [] Lemma 6. Let p 3 be a convex combination o f p 1 and p 2 in E 3, i.e., P3 A)p2 , where A = [0, 1]. Then,
=
- ~ ( P 3 ) ~-~'(Pl UP2)"
APa + (1 (17)
Proof. Let a point x ~ ~r satisfy p~ "x > 0 and P2 -x > 0. Then, P3"x={APl+(1-A)P2}'x=APl'x+(a-A)P2"x>O.
[]
Note that the following theorem states the relationship between N (hence ~ ' ) and ~ (hence V). It should be pointed out that the theorem does not provide an algorithm yet but provides the basis for observations which will lead to an algorithm to compute a visibility cone from a normal cone. Theorem 7. ~ =
~ n c+, for Vn ~ N .
Proof. Suppose n is a unit normal vector of B6zier surface at a point q. Since the surface is regular, there exists a tangent plane P at q, and P defines two half-spaces. Consider a set S as shown in Fig. 6 such that
s = {sin. (s-q)
D.-S. Kim et aL/ ComputerAided GeometricDesign 12 (1995)305-320 n
315
s
n
s-q
a
b
Fig. 6. Visibilitycone of one point on surface. (a) A tangent plane at q. (b) A visibilitycone for q. Then S is one of two half-spaces which is defined by P. By translating S so that the translated plane P' passes through the origin, the visibility cone ~ for the point q is obtained. Note that this visibility cone for point q on the surface is n c ~. Since a point in T should define a visible direction for all points of the surface, 7/ is the intersection of all such half-spaces. [] Since a cone and a map are informationally equivalent, Theorem 7 can be restated as the following corollary without a proof. Corollary 7.1. V ( b m ' n ( t t , u)) = V ( N ) =_~(N) = . ~ ( U n ) = Let B 1 and
(-~(n), Vn ~ N.
represent two Bdzier surfaces, b~'"(u, u) and b•'"(u, v).
B2
Lemma 8. The following properties hold.
is) 19) 20)
1. T ( B , UB2) = T ( B , ) U T ( B 2 ) . 2. N ( B , UB2) = N ( B , ) U N ( B 2 ) . 3. V(B, UB2) = V(B1) ("1V(B2). Proof. l, 2. Obvious; for 3 observe that
V(B, UB2)
=
V ( N ( B , UB2) )
=~(g(
B 1 U 8 2) )
by Corollary 7.1
=~(g(Bi)
Ug(B2) )
by Eq. (19)
=~(g(Bl)
) A.@'(N(B2) )
by Lemma 4
= V(B1) 0 V(B2)
by Corollary 7.1.
[]
The following corollary is a direct consequence of Lemma 8, hence stated without a proof. Corollary 8.1. The following inequalities hold. 1. T(B 1 u B 2) _ T ( B 1) and T(B2). 2. N ( B 1 U B 2) D N ( B 1) and N(B2). 3. V(B 1 U B 2) c V(B1) and V(B2).
316
D.-S. Kim et al. / C o m p u t e r Aided Geometric Design 12 (1995) 305-320
nb
V
D(na)~
nb
n
a
b
nc
D ( n a ) ~
D(nc)
c d Fig. 7. Normal map vs. visibility map. (a) A normal map whose internal angle is less than w. (b) A visibility map corresponding to a. (c) A normal map whose internal angle is greater than ~r. (d) A visibility map corresponding to c.
T h e o r e m 9. V exists if, and only if, N is hemispherical. Proof. Suppose Fig. 7a is an intersection between a hemispherical N and an
arbitrary plane passing through the origin O, and let three points, na, rib, and n c be on the intersection. Then, ~ ( n a) n_,~(n b) n . ~ ( n c) is not null for any choice of the points as in Fig. 7b. Therefore, V exists if N is hemispherical. When N is non-hemispherical, however, there exists an intersection so that a set of three points results _~(n a) n . ~ ' ( n b) n . ~ ( n c) which is null as illustrated in Figs. 7c and 7d. Therefore, V exists if, and only if, N is hemispherical. [] Corollary 9.1. V is hemispherical, if it exists. Proof. By Corollary 7.1, V = . ~ ( U n ) =
always hemispherical.
¢ ' ~ ( n ) for Vn ~ N . By Lemma 5, ~ ( n )
is
[]
Corollary 9.2. V is always spherically convex, if it exists. Proof. By Corollary 9.1, and Lemma 5, r ~ ( n )
exists.
is always spherically convex, if it
[]
Corollary 9.3. The boundary of N sufficiently defines V, if N is hemispherical. Proof. Let B be a boundary of N, and a point q = H ~ ( q ' ) where
q' = Y'~aiPi, i
Y'~ai = l , o~i > O, pi ~ B. i
D.-S. Kim et al. / Computer Aided Geometric Design 12 (1995) 305-320
Then, .~(q)_D.~(Un) for n ~ N . sufficiently defines V. []
317
by Lemma 6. Therefore, the boundary of N
Let AF and ~ be the computed estimation of true cones S and YJ', and N and 9 are H~(JV) and H ~ ( ~ ) , respectively. Corollary 9.4. The following observations hold. 1. I f N D N, then V c V. 2. I f A[ c N, then ¢¢ D V. 3. I f lV= N, then V = V. Proof. 1. Suppose S = {s I s ~ (A? - N)}. Then, A? = N U S. Now, 1) =_~(A~)
by Corollary 7.1
=.~'( U U S) = _ ~ ( N ) N_q~(S) = vn
by Lemma 4
(s)
cV. 2. (Similar to 1.) Suppose S = (s I s ~ ( N - N). Then, N = ]V U S. Now, V = _ ~ ( U ) =_~(A? U S) = . & ( N ) n . ~ ( s ) = P n ~ ( s ) el). 3. Obvious.
[]
Definition 17. Let a closed region S c ~r be hemispherical, but not spherically convex. Then a spherical convex hull of S on or, CH~(S), is defined as CH~(S) = H~(CH(Hp(S))) where P ~ pO is an arbitrary plane such that l i p ( S ) is a closed region on P. Theorem 10. Let N be hemispherical, but non-convex. Then, V ( N ) = V ( C H , , ( N )).
Fig. 8. Computation of visibility m a p from non-convex normal map.
318
D.-S. Kim et al. / ComputerAided GeometricDesign 12 (1995) 305-320
Proof. Let points a, b, c and d be vertices of N, and N be hemispherical, but non-convex as shown in Fig. 8. For any point e on an arc (this arc is part of a great circle passing through a and b) ab on o', . ~ ( e ) D.&(a) n ~ ( b ) by L e m m a 6. Points c and e also define another spherical dual . & ( c ) N . ~ ( e ) . Then the spherical dual ~ ( f ) of any point f on an arc ce is also a superset of . ~ ( c ) n . ~ ( e ) . Therefore, for any f ~ N, . & ( f ) D ( . ~ ( c ) n ~ ( e ) ) D (_~(c) n . ~ ( a ) n ~ ( b ) ) . Since a similar argument holds for an arbitrary shaped non-convex N, the vertices of a spherical convex hull of a hemispherical but non-convex N sufficiently define V. [] T h e o r e m 10 can be used to determine a common visibility map of multiple surfaces. Hence, the following corollary is a direct consequence of T h e o r e m 10, and is provided without a proof. Corollary 10.1. Let N i be a normal map for the ith surface. Then V(UN,.)= V(CH~(Ni)). Hence, if CH~(N,) is non-hemispherical where N~ is a normal m a p of the ith surface, there does not exist a common visibility direction for all surfaces. The following l e m m a is derived from T h e o r e m 10 and stated without a proof. L e m m a 11. Let n i be a vertex o f N where N is spherically convex. Then V(N)
=~(Uni)
= (~(ni).
Theorem 12. Let N be spherically convex, and ~V be bounded by triangular facets {F/} emanating from O. Let m i be a normal vector of F i pointing to the interior o f W , and m i ~ ~_3 be a point corresponding to m i. Then, 7/" is bounded by the facets o f CH(mi, O) sharing 0 as a vertex. Proof. Since V is spherically convex, V is a spherically convex hull of the vertices of V. Let nj and v k be the vertices of N and V as shown in Fig. 9. Since nj's are distinct points on or, they have distinct orientations from O. Therefore, ~ ( n j ) ' s
Fig. 9. Computation of visibilitycone from normal cone.
D.-S. Kim et aL / Computer Aided Geometric Design 12 (1995) 305-320
319
also have distinct orientations. Since V ( N ) = c ' ~ ( n j ) , the b o u n d a r y curve of each ~ ( n s) contributes to a unique edge in V. Let B(nj) be a b o u n d a r y curve of .~(nj). Then, B(n s) is a great circle. A vertex v k of V is a c o m m o n intersection of two distinct b o u n d a r y curves, i.e.,
B(nj) N B(n~+l). Since a point q on the b o u n d a r y curve B(nj) satisfies q . n s = 0, B(nj) N B(nj+ 1) is a point q which satisfies q • nj = 0, q • n j+ 1 = 0 at the same time. Therefore, B(ns)c~B(ns+ l) is a point defined by a normal vector of a plane defined by three points, O, n~ and n j+ ~. F r o m two possible normal vectors of the plane, a vector pointing to the interior of A p is chosen. []
Corollary 12.1. If N is spherically convex, N and V have the same number of t,ertices and edges. Proof. In the p r o o f of T h e o r e m 12, it has defines a unique vertex in V. Therefore, the the n u m b e r of vertices in V. Since N and V edges and vertices for both N and V should
b e e n discussed that each edge of N n u m b e r of edges in N is the same as are spherically convex, the n u m b e r of be the same. []
Corollary 12.2. Two contiguous normal vectors m i and mi+ 1 of contiguous facets F i and F i + 1 of Mr and the origin 0 uniquely define a facet of •, when N is spherically conuex.
Proof. A n edge of N corresponds to a facet b o u n d i n g J r , and defines a vertex of V. Suppose the facets of J are sequentially o r d e r e d a r o u n d the Z-axis. T h e n the c o r r e s p o n d i n g normals of each facet are also o r d e r e d in the same way. Therefore, m i and mi+ 1 b e c o m e s contiguous vertices of V. [] D u e to Corollary 12.1 and 12.2, it is not necessary to explicitly c o m p u t e C H ( m i, O) since it is known that the normal vectors of the consecutive facets of ~4" define a facet of T . ~" can be c o m p u t e d by repeating this process sequentially for all facets of J .
6. Conclusion T a n g e n t , normal and visibility cones for surfaces, B6zier surfaces in particular, are defined in this paper. It is observed that t a n g e n t cones can be c o m p u t e d from the hodographs, H u and H v, and a normal cone from a normal surface N(u, t,). A visibility cone can be derived from a normal cone when a certain condition is met. T h e r e are n u m e r o u s applications of the cones. T a n g e n t cones have b e e n used to test w h e t h e r an intersection curve o f two B6zier surfaces forms a loop, w h e t h e r d e g e n e r a t e normal vectors exist on a BEzier surface. A normal cone has b e e n used to speed up the c o m p u t a t i o n of a silhouette curve. A visibility cone has b e e n used to automatically evaluate w h e t h e r a surface can be m a c h i n e d by N C machining,
320
D.-S. Kim et al. / Computer Aided Geometric Design 12 (1995) 305-320
and to generate the necessary tool orientations for machining the surfaces when the surface is machinable. (Kim, 1990) discusses other applications of the cones. The visibility cone in this p a p e r is for a single surface. When there are multiple surfaces, a visibility cone of a surface may not be a globally correct visibility cone due to the interference with other surfaces. The reduction process of a visibility cone should be studied.
Acknowledgement The authors thank an anonymous referee and Dr. H.Y. Shin who have reviewed the p a p e r very carefully and provided constructive comments. Their reviews have improved the quality of the p a p e r enormously.
References Farin, G. (1988), Curves and Surfaces for Computer Aided Geometric Design, Academic Press, San Diego, CA. Kim, D.S. (1988), Surface Visibility and Automated Machining, Dissertation Proposal, Department of Industrial and Operations Engineering, The University of Michigan, Ann Arbor, MI. Kim, D.S. (1990), Cones on B4zier Curves and Surfaces, Ph.D. Dissertation, Department of Industrial and Operations Engineering, The University of Michigan, Ann Arbor, MI. Kim, D.S. (1993), Hodograph Approach to Geometric Characterization of Parametric Cubic Curves, Computer Aided Design, October, 644-654. Kim, D.S. and Papalambros, P.Y. (1995), Detection of Degenerate Normal Vectors on Parametric Surfaces Using Tangent Cones, Computer Aided Geometric Design, 12, 321-327. O'Neill, B. (1966), Elementary Differential Geometry, Academic Press, New York. Preparata, F.P. and Shamos, M.I. (1985), Computational Geometry, Springer, Berlin. Sederberg, T.W. and Meyers, R.J. (1988), Loop detection in surface patch intersections, Computer Aided Geometric Design 5, 161-171. Stolfi, J. (1989), Primitivesfor Computational Geometry, Digital Equipment Corporation, Palo Alto, CA.