13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY Lecture 20 Dr. K. H. Ko Prof. N. M. Patrikalakis c Copyright ≤2003 Massachusetts Institute of Technology Contents 20 Advanced topics in differential geometry 20.1 Geodesics . . . . . . . . . . . . . . . . . . . . . . . . . 20.1.1 Motivation . . . . . . . . . . . . . . . . . . . . 20.1.2 Definition . . . . . . . . . . . . . . . . . . . . . 20.1.3 Governing equations . . . . . . . . . . . . . . . 20.1.4 Two-point boundary value problem . . . . . . . 20.1.5 Example . . . . . . . . . . . . . . . . . . . . . . 20.2 Developable surface . . . . . . . . . . . . . . . . . . . . 20.2.1 Motivation . . . . . . . . . . . . . . . . . . . . 20.2.2 Definition . . . . . . . . . . . . . . . . . . . . . 20.2.3 Developable surface in terms of Bézier surface . 20.2.4 Development of developable surface (flattening) 20.3 Umbilics . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.1 Motivation . . . . . . . . . . . . . . . . . . . . 20.3.2 Definition . . . . . . . . . . . . . . . . . . . . . 20.3.3 Computation of umbilical points . . . . . . . . 20.3.4 Classification . . . . . . . . . . . . . . . . . . . 20.3.5 Characteristic lines . . . . . . . . . . . . . . . . 20.4 Parabolic, ridge and sub-parabolic points . . . . . . . 20.4.1 Motivation . . . . . . . . . . . . . . . . . . . . 20.4.2 Focal surfaces . . . . . . . . . . . . . . . . . . . 20.4.3 Parabolic points . . . . . . . . . . . . . . . . . 20.4.4 Ridge points . . . . . . . . . . . . . . . . . . . 20.4.5 Sub-parabolic points . . . . . . . . . . . . . . . Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 3 5 8 10 10 10 12 13 15 15 15 15 16 18 21 21 21 22 22 23 25 Reading in the Textbook • Geodesics : Chapter 10, pp.265 - 291 • Umbilics : Chapter 9, pp.231 - 264 1 Lecture 20 Advanced topics in differential geometry 20.1 Geodesics In this section we study the computation of shortest path between two points on free-form surfaces [14, 11]. 20.1.1 Motivation • ship design • robot motion planning • terrain navigation • installation of underwater cable 20.1.2 Definition • t: Unit tangent vector of C at P • n: Unit normal vector of C at P • N: Unit surface normal vector of S at P • u: Unit vector perpendicular to t in the tangent plane defined by N × t. 2 N P S u t kg n C kn k Figure 20.1: Definition of geodesic curvature. • We can decompose the curvature vector k of C into N component kn , which is called normal curvature vector, and u component kg , which is called geodesic curvature vector k = kn + kg = −ρn N + ρg u (20.1) Here ρn and ρg are the normal and geodesic curvatures, respectively and defined as follows: ρn = −k · N ρg = k · u (20.2) (20.3) • Consequently, ρg = dt · (N × t) ds (20.4) • Geodesic paths are sometimes defined as shortest path between points on a surface, however this is not always a satisfactory definition. Definition: Geodesics are curves of zero geodesic curvature [24]. 20.1.3 Governing equations • The unit tangent vector of the curve C on the surface r is given by t= dr(u(s), v(s)) du dv = ru + rv ds ds ds (20.5) • Hence using chain rules ⎤ dt du = ruu ds ds ⎦2 du dv + 2ruv + rvv ds ds 3 ⎤ dv ds ⎦2 + ru d2 v d2 u + r v 2 ds2 ds (20.6) • Consider that the surface normal N has the direction of normal of the geodesic line ±n n · ru = 0, • Since kn = dt , ds n · rv = 0. (20.7) equation (20.7) can be rewritten as dt · ru = 0, ds dt · rv = 0 ds (20.8) • By substituting equation (20.6) into equations (20.8) we obtain ⎤ ⎦2 du dv dv + (rvv · ru ) + 2(ruv · ru ) ds ds ds ⎤ ⎦2 dv du dv + (rvv · rv ) + 2(ruv · rv ) ds ds ds du (ruu · ru ) ds du (ruu · rv ) ds ⎤ ⎦2 +E d2 v d2 u + F =0 ds2 ds2 ⎤ ⎦2 +F d2 u d2 v + G = 0 (20.10) ds2 ds2 2 (20.9) 2 • By eliminating ddsv2 from equation (20.9) using equation (20.10), and eliminating ddsu2 from equation (20.10) using equation (20.9) and employing the Christoffel symbols, we obtain du d2 u 1 + �11 2 ds ds ⎦2 d2 v du 2 + �11 2 ds ds ⎦2 ⎤ ⎤ + du dv 2�112 + du dv 2�212 ds ds ds ds + �122 ⎤ dv ds ⎦2 = 0 (20.11) + 2 �22 ⎤ dv ds ⎦2 = 0 (20.12) • Where �ijk (i, j, k = 1, 2) are the Christoffel symbols defined as follows: GEu − 2F Fu + F Ev , 2(EG − F 2 ) GEv − F Gu = , 2(EG − F 2 ) 2GFv − GGu + F Gv = , 2(EG − F 2 ) �111 = �112 �122 2EFu − EEv + F Eu 2(EG − F 2 ) EGu − F Ev �212 = 2(EG − F 2 ) EGv − 2F Fv + F Gu �222 = 2(EG − F 2 ) �211 = (20.13) • These two second order differential equations can be rewritten as a system of four first order differential equations [6]. du ds dv ds dp ds dq ds = p (20.14) = q (20.15) 2 = −�111 p2 − 2�112 pq − �1 22 q (20.16) 2 = −�211 p2 − 2�212 pq − �2 22 q (20.17) 4 • Euler Lagrange Equations (Calculus of Variations) We can also find this result by means of the general rules of the calculus of variations. We want to minimize I= � b a ds = � a b f (u, v, v̇)du (20.18) where f (u, v, v̇) = � E + 2F v̇ + Gv̇ 2 , v̇ = dv du (20.19) This leads to the condition πf d πf = 0 − πv du πv̇ (20.20) from which we can derive the same differential equation for geodesics. 20.1.4 Two-point boundary value problem • We can solve a system of four first order ordinary differential equations (20.14) to (20.17) as – Initial-value problem (IVP), where all four boundary conditions are given at one point, or as – Boundary-value problem (BVP), where four boundary conditions are specified at two distinct points. • The first order differential equation for a boundary value problem can be written in vector form as: dy = g(s, y), y(A) = (uA , vA , pA , qA )T , y(B) = (uB , vB , pB , qB )T ds (20.21) where pA , pB , qA and qB are unknowns, y = (u, v, p, q)T g = (p, q, −�111 p2 − 2�112 pq − �122 q 2 , −�211 p2 − 2�212 pq − �222 q 2 )T (20.22) (20.23) • There are two commonly used approaches to the numerical solution of BVP. 1. Shooting method: easy to implement but unstable. 2. Relaxation method: more sophisticated but stable. • Shooting method – We assume values at s = A, which are not given as boundary conditions at s = A and compute the solution of the resulting IVP to s = B. 5 – The computed values of y(B) will not, in general, agree with the corresponding boundary condition at s = B. – Consequently, we need to adjust the initial values and try again. – The process is repeated until the computed values at the final point agree with the boundary conditions and referred as shooting method. – Formulation: Using the first fundamental form, given pA we can obtain qA from qA = −F pA ± � F 2 p2A − G(Ep2A − 1) . G Thus we assume pA and solve the differential equation as IVP using, say RungeKutta method. Here we also have to assume the entire arc length of the geodesic path s to stop the integration. Thus the unknowns can be considered as pA and s. If we denote the computed value of (uB , vB ) as (u�B , vB� ), the difference can be given � as (u�B − uB , vB − vB )T . We need to adjust pA and s to make the difference zero. This can be done by employing the Newton’s method ⎤ pA s ⎦ = n+1 ⎤ pA s ⎦ n ⎣ −� �u�B �pA � �vB �pA �u�B �s � �vB �s �−1 ⎤ � n (�) uB − u B (�) vB − v B ⎦ where πu�B u�B (pA + �pA ) − u�B (pA ) πu�B u�B (s + �s) − u�B (s) = , = πPA �pA πs �s πvB� v B� (pA + �pA ) − vB� (pA ) πvB� vB� (s + �s) − vB� (s) = , = πPA �pA πs �s • Relaxation method – The second method is based on a finite difference approximation to of points in the interval [A, B]. dy ds on a mesh – This method starts with an initial guess and improves the solution iteratively and referred as, direct method, relaxation method or finite difference method. – The shooting method is often very sensitive to the unknown initial angles at point A and unless a good initial guess is provided, the integrated path will never reach the other point B, while the relaxation method starts with two end points fixed and relaxes to the true solution and hence it is much more stable. – Let us consider a mesh of points satisfying A = s1 < s2 < . . . < sm = B. We approximate the n first order differential equations by the trapezoidal rule [8]. Yk − Yk−1 1 = [Gk + Gk−1 ], sk − sk−1 2 6 k = 2, 3, . . . , m (20.24) where the n-vectors Yk , Gk are meant to approximate y(sk ) and g(sk ) with bound­ ary conditions Y1 = β = (uA , vA , p1 , q1 )T , Ym = � = (uB , vB , pm , qm )T (20.25) – Y1 has n1 = 2 known components, while Ym has n2 = n − n1 = 4 − 2 = 2 known components. Boundary Conditions Unknowns ����� ����������� ����������� ����������� ����������� ����������� �������� � � � � � � �u����u ���u���u�����������������u���u����u�� �v����v ���v���v�����������������v���v����v�� ������������������������������������� �p����p ���p���p�����������������p���p����p�� ��q��� �����q ������q� �����q����. ��. � �. ��.��.��.����� ���������. ��. � �.��q������q��� �����q���� 1 2 3 4 M−2 M−1 M 1 2 3 4 M−2 M−1 M 1 2 3 4 M−2 M−1 M 1 2 3 4 M−2 M−1 M s2 s3 sM−2 sM−1 sM s1 s4 Figure 20.2: Mesh points. – This discrete approximation will be accurate to the order of h2 (h = maxk {sk − sk−1 }). Equation (20.24) forms a system of (m − 1)n nonlinear algebraic equations with (m − 1)n unknowns. – Let us refer to equation (20.24) as Fk = (F1,k , F2,k , . . . , Fn,k )T = Yk − Yk−1 1 − [Gk + Gk−1 ] = 0 sk − sk−1 2 (20.26) – and the boundary conditions (20.25) as F1 = (F1,1 , F2,1 , . . . , Fn1 ,1 )T = Y1 − β = 0, Fm+1 = (F1,m+1 , F2,m+1 , . . . , Fn2 ,m+1 )T = Ym − � = 0 (20.27) – then we have mn nonlinear algebraic equations F = (FT1 , FT2 , . . . , FTm+1 )T = 0 7 (20.28) Points m 101 Tolerance κN 1.0E-3 Iterations Geodesic Distance L M R L M R 10 1 10 1.661 1.865 1.661 Table 20.1: Numerical conditions and results for the computation of the geodesic path between corner points of the wave-like surface. – and can be computed by quadratically convergent Newton iteration, if a sufficiently T T ) is provided. The Newton iter­ accurate starting vector Y (0) = (Y1T , Y2T , . . . , Ym ation scheme is given by Y (i+1) = Y (i) + �Y (i) [J(i) ]�Y (i) = −F(i) (20.29) (20.30) where [J(i) ] is the mn by mn Jacobian matrix of F(i) with respect to Y (i) . y x z Figure 20.3: Geodesic paths on the wave-like bicubic B-spline surface between points of two corners. 20.1.5 Example Bilinear surface r(u, v) = (u, v, uv). E = 1 + v 2 , F = uv, G = 1 + u2 Eu = 0, Fu = v, Gu = 2u Ev = 2v, Fv = u, Gv = 0 8 y x z Figure 20.4: Convergence of the right geodesic path in Figure 20.3. −2(uv) · v + uv · (2v) =0 2[(1 + v 2 )(1 + u2 ) − u2 v 2 ] = �122 = �222 = 0 v = 2 u + v2 + 1 u = 2 u + v2 + 1 �111 = �211 1 �12 �212 Finally the differential equations are given by du ds dv ds dp ds dq ds = p = q −2u pq + v2 + 1 −2v = 2 pq. u + v2 + 1 = u2 9 20.2 Developable surface Developable surfaces are a special class of surfaces that can be developed or unfolded onto a plane without stretching or tearing [1, 9, 5, 16, 15]. 20.2.1 Motivation • In shipbuilding, doubly curved plates are manufactured by roller and line heating pro­ cesses, while the singly curved plates (developable surface) are manufactured by roller only. • The use of developable surfaces has several advantages such as lower labor costs in construction, smaller capital investment in equipment, ease of repair and simple tools for construction. • In automobile production, body panels, upholstery and window glass are developable surfaces. 20.2.2 Definition • A ruled surface is defined as a surface generated by the motion of a straight line referred as a generator or ruling [24]. • The mathematical representation of a ruled surface is given by r(u, v) = rA (u) + vβ(u) (20.31) where r(u) is a 3D curve called the directrix or base curve of the ruled surface and β(u) is a unit vector which gives the direction of the ruling at each point on the directrix see Figure 20.5. r(u,v)= rA(u)+ v α(u) ruling or generator rA(u) directrix α(u) Figure 20.5: Definition of ruled surface 10 • An alternate expression based on rulings joining corresponding points on two space curves rA (u) and rB (u) is given by r(u, v) = (1 − v)rA (u) + vrB (u) (20.32) • Bilinear surface is a ruled surface. rA (u) = (1 − u)b00 + ub10 rB (u) = (1 − u)b01 + ub11 r(u, v) = (1 − v)rA (u) + vrB (u) = (1 − u)(1 − v)b00 (u) + (1 − v)ub10 + v(1 − u)b01 + uvb11 • A ruled surface is a developable surface if and only if [7] r˙ A · (β × β) ˙ = 0 (20.33) where × and · are the cross and dot products or (rA − rB ) · (ṙA × ṙB ) = 0 (20.34) • The following statements are the equivalent necessary and sufficient conditions for a surface to be developable [19]. 1. Gaussian curvature is zero. 2. Geodesics on a developable surface can be mapped onto straight lines in the plane, and the straight lines in plane can map into geodesics on a developable surface. 3. The normal vectors on a developable surface along the ruling are parallel. 4. Developable surfaces possess the same tangent plane at all points of the same gen­ erator. • If the direction of the ruling β(u) is constant, the condition for developability is auto­ matically satisfied since β(u) = 0. This implies that the ruled surface is a cylinder. ˙ • If the direction of the ruling β(u) is given by rA (u) − a, then the condition (20.33) becomes ṙA (u) · ((rA − a) × ṙA (u)) → 0 and hence the surface is developable. In this case the surface is a cone with apex a. • Finally, if β(u) is a tangent vector to rA (u), then again the condition (20.33) is satisfied, and the resulting developable surface is called a tangential developable surface. In this case the base curve coincides with the so-called the edge of regression or cuspidal edge. 11 20.2.3 Developable surface in terms of Bézier surface • Let us define a developable Bézier surface in terms of two Bézier curves (directrices) and rulings between pairs of points from each curve [1], see Figures 20.6. • We restrict the two directrices (rA (t), rB (t)) to lie in parallel planes so that ṙB (t) = ζ(t)ṙA (t). Here ζ(t) denotes a linear function of t. • Then the condition for developability becomes (ζ(t) − 1)ṙA × (rB − rA ) · ṙA → 0 and hence it is automatically satisfied. • Given the control points of the design curve rA (t), we want to determine those of rB (t). Example: rA (t) quadratic and rB (t) cubic b3 b2 generator b1 directrix rB a b0 a a 2 directrix rA 1 0 Figure 20.6: A Bézier Developable Surface with Quadratic rA (t) and Cubic rB (t) • Two Bézier Curves rA (t) = s2 a0 + 2sta1 + t2 a2 rB (t) = s3 b0 + 3s2 tb1 + 3st2 b2 + t3 b3 where s = 1 − t • Tangent vectors ṙA (t) = 2[s(a1 − a0 ) + t(a2 − a1 )] ṙB (t) = 3[s2 (b1 − b0 ) + 2st(b2 − b1 ) + t2 (b3 − b2 )] • Scalar function ζ(t) = ζ0 (1 − t) + ζ1 t = ζ0 s + ζ1 t 12 • Substitute ṙA (t), ṙB (t) and ζ(t) into ṙB (t) = ζ(t)ṙA (t) and collect terms and equating the coefficients of the independent functions s2 , 2st and t2 to zero. • We get three equations 2ζ0 (a1 − a0 ) = 3(b1 − b0 ) ζ0 (a2 − a1 ) + ζ1 (a1 − a0 ) = 3(b2 − b1 ) 2ζ1 (a2 − a1 ) = 3(b3 − b2 ) • 6 scalar equations with 10 scalar unknowns (b0 , b1 , b2 , b3 , ζ0 , ζ1 ) • We can fix b0 and b3 . 20.2.4 Development of developable surface (flattening) • In the manufacture of developable surfaces, it is necessary to calculate the plane devel­ opment of these surfaces [7]. • The development is based on the isometric mapping [13]. – The length of any arc on the developable surface is the same as that of on the developed plane. – The coefficients of the first fundamental forms at the corresponding points are the same. – Isometric surfaces have the same Gaussian curvature at corresponding points. Cor­ responding curves on those surfaces have the same geodesic curvature at correspond­ ing points. – Every isometric mapping is conformal (the angle of intersection of every arbitrary pair of intersecting arcs are preserved). • Procedures – Map one of the directrix isometrically onto the plane by integrating a system of ordinary differential equation from A to C, see Figure 20.7. d2 x dy − ρg (s) = 0 2 ds ds d2 y dx + ρg (s) = 0 ds2 ds (20.35) (20.36) – Compute the angle of two isoparametric lines at A. cos β = ru (0, 0) rv (0, 0) · |ru (0, 0)| |rv (0, 0)| 13 (20.37) Generator C D Directrix B θ Directrix Generator A Figure 20.7: Developed surface. – Since we know the length and direction of the generator at A, we may obtain the point B. – Integrate a system of ordinary differential equation from B to D. – Connect C and D. 14 20.3 Umbilics 20.3.1 Motivation • Identification of singular points in the principal direction field • Fingerprints of shapes • Object matching • Object recognition 20.3.2 Definition An umbilic is a point on a surface where the normal curvatures in all directions are equal and the principal curvature directions are indeterminate. Locally, a surface around an umbilical point can be best approximated by a circle whose radius is equal to a radius of curvature at the umbilical point. 20.3.3 Computation of umbilical points For NURBS surfaces, umbilical points can be calculated by solving a non-linear system of equations derived from the definition using the Gaussian (K) and the mean (H) curvatures as follows [24]: � (20.38) ρ1,2 (u, v) = H(u, v) ± H 2 (u, v) − K(u, v). Let W (u, v) = H 2 − K. The principal curvatures, ρ1,2 , are real valued functions so that W √ 0 must hold. From the definition of the umbilical point we have W (u, v) = 0. With these two conditions combined, we can infer that at an umbilical point, W (u, v) has a global minimum [17, 18]. Here, we assume that W is at least C 2 smooth. Then, the condition that W has a global minimum at an umbilic implies that ≡W = 0. Therefore, at an umbilic the following equations hold [18]: πW (u, v) πW (u, v) W (u, v) = 0, = 0, = 0. (20.39) πu πv Given a polynomial parametric surface patch such as a rational Bézier surface patch, we can set W = PPND , where PN and PD are polynomials in u and v. With the condition W √ 0, PN √ 0 is assured since PD > 0 is always true under the regularity condition of the surface = [24]. The equation W = 0 is equivalent to PN = 0. The first derivative of W is �W �xi �PD �PN �PN �W 2 ( �xi PD − PN �xi )/PD (i = 1, 2), where x1 = u and x2 = v, which is reduced to �xi = ( �xi )/PD using PN = 0. Therefore, equations (20.39) are reduced to [18] PN (u, v) = 0, πPN = 0, πu πPN = 0. πv (20.40) To locate isolated umbilical points, a set of equations (20.40) can be solved by the rounded interval projected polyhedron algorithm [23, 21]. But when the IPP algorithm encounters re­ gions of umbilical points, it slows down dramatically. A different approach, called the adaptive 15 quadtree decomposition which uses the quadtree decomposition and the convex hull properties of Bernstein polynomials, can be adopted in such a case [12]. 20.3.4 Classification Umbilical points can be isolated or form lines or regions. They are classified into two types based on their stability with respect to small perturbations: • generic • non-generic Generic umbilical points are stable with respect to small perturbations. Isolated generic umbilical points are further categorized into three types as shown in Figure 20.8 [2]: • lemon • star • monstar Star type umbilical points are further classified into the hyperbolic star and the elliptical star type umbilical points. Several methods are available for the classification of isolated generic umbilical points. What follows is an introduction to techniques of umbilical point classification. Lemon Star Monstar Figure 20.8: Three generic umbilics Index The type of isolated generic umbilical points can be determined by the index. The index is the amount of rotation that a straight line segment tangent to the lines of curvature experiences 16 when rotating in the counterclockwise direction along a small closed path around an umbilic [18]. The equation for direct calculation of the index is given as follows [18]: n 1 ⎡ ��i Index = 2� i=0 (20.41) � � � � L+�E +�F where ��i = �(i+1) mod n −�i , − 12 � � ��i � 12 � and �i = tan−1 − M , or tan−1 − M . +�F N +�G Figure 20.9 shows the principal direction fields around two distinct types of umbilical points. The index can distinguish the star type umbilical point from the monstar or lemon type umbil- Figure 20.9: Umbilics with principal direction fields: ical point. If the index is − 12 , then the umbilical point is of the star type, whereas the umbilical point is of the monstar or lemon type if the index is 12 . Being topological, this distinction is very robust [10]. Complex θ plane method An umbilical diagram shown in Figure 20.10 [22] is a comprehensive and easy way to distinguish the type of an isolated generic umbilical point. In order to use this diagram, the local surface near an umbilical point has to be represented as a height function or the Monge form with respect to a local coordinate system as follows [18]: r = (x, y, h(x, y)). (20.42) The height function h(x, y) is Taylor expanded at the origin of the local coordinate system. Then we have ρ h(x, y) = − (x2 + y 2 ), (20.43) 2 1 + (ax3 + 3bx2 y + 3cxy 2 + dy 3 ) + O(4), 6 where ρ is the normal curvature at the umbilical point. Let us set C(x, y) = ax3 + 3bx2 y + 3cxy 2 + dy 3 , (20.44) and denote C(x, y) as cubic form. This expression implies that the local structure of a surface near an umbilical point is dominated by the coefficients of C(x, y), i.e. by (a, b, c, d), which 17 determine the type of the umbilical point [20, 22]. It is convenient to represent the cubic part C(x, y) in the complex plane for analysis purposes. If we set � = x + iy, then the cubic part C(x, y) becomes 2 3 ˆ C(�) = ω� 3 + 3�� 2 � + 3��� + ω� , (20.45) with 1 [(a − 3c) + i(d − 3b)], 8 1 � = [(a + c) + i(b + d)], 8 ω = (20.46) where ω ≥= 0. We can express (20.45) in a coordinate system rotated about the normal vector without losing any essential features to make the coefficient of � 3 be equal to 1 [22]. Using 1 ∂ = ω 3 �, the equation (20.45) becomes ˜ ) = ∂ 3 + 3θ∂ 2 ∂ + 3θ∂ ∂ 2 + ∂ 3 , C(∂ 1 (20.47) 2 where θ = �ω− 3 ω− 3 . This means that the cubic part C(x, y) is parametrized with respect to a single complex variable θ [4, 22]. Therefore, the variations of C(x, y) can be mapped onto the complex plane [4, 20, 22]. When ω = 0, the equation (20.45) is reduced to Ĉ(�) = 3��(�� + ��). (20.48) This equation corresponds to the infinity in the θ plane [22, 4, 20], which is not considered in this discussion. ˜ Depending on the structure of C(x, y) (in turn C(∂)), three characteristic lines are deter­ mined as follows [22, 20]: • �1 : β � 13 (2ei� + e−2i� ), • |θ | = 1, • �2 : β � (2ei� + e−2i� ), where �1 and �2 are maps from β to the complex θ-plane. They divide the complex plane into sub-regions as shown in Figure 20.10. Each sub-region corresponds to a specific type of an umbilical point. In Figure 20.10, ES means the elliptic star, HS the hyperbolic star, M S the monstar and L the lemon. If θ falls on a dividing curve, then the corresponding umbilical point is of non-generic type. The behavior of such an umbilical point can be analyzed with more higher order terms [18]. Using this diagram, the type of an umbilical point is easily determined, see [22, 4, 20]. 20.3.5 Characteristic lines �1 : � � 13 (2ei� + e−2i� ) The cubic form (20.47) is parabolic on the deltoid �1 [22]. This implies that there are three root lines of (20.47) but two of them coincide. Inside the deltoid, the cubic form (20.47) is 18 L MS |ω|=1 HS HS MS ES Γ1 L HS MS L Γ2 Figure 20.10: The umbilic diagram adapted from [22] elliptic [22]. It is hyperbolic outside the deltoid. This classification is directly related to the number of ridge lines passing through an umbilical point, and the existence of extrema of the principal curvatures near the umbilical point [4, 10, 18]. Here, a ridge point is defined as an extremum point of a line of curvature, and a ridge line is a set of such points [10, 20]. Inside the deltoid, the number of ridge curves is three, the extrema of principal curvatures exist, and an umbilical point is of the elliptical star type [4, 10]. On the other hand, outside the deltoid only one ridge curve passes through an umbilical point, no extremum of a principal curvature exists, and the umbilical point is of the hyperbolic star type [4, 10]. |�| = 1 On the circle |θ | = 1, the cubic form (20.47) is right-angled [22]. When the root directions of the Hessian (20.49) are mutually orthogonal, we call that the cubic form (20.44) is right-angled [22]. Here, the Hessian is defined as � � � 1 He (x, y) = det �� 6 � �2C �x2 �2C �x�y �2C �x�y �2C �y 2 � � � �. � � (20.49) This implies that the maximum and minimum lines of curvature are orthogonal at an umbilical point to form approximately a plain rectangular grid pattern [22]. This circle is related to the index [10]. Inside the circle, the index is − 21 , and an umbilical point is of the star type. 19 Outside the circle, the index is 21 , and the umbilical point is classified as the lemon or monstar type [10, 18]. On the circle, the index value is zero, and the umbilical point is of non-generic type. This circle also has a relation with the birth/death of generic umbilical points under the evolution of a surface [22]. �2 : � � (2ei� + e−2i� ) Another cubic form, called the Jacobian cubic form is defined to explain the deltoid �2 as follows: U (x, y) = bx3 − (2c − a)x2 y − (2b − d)xy 2 − cy 3 , (20.50) whose root lines are tangent to the lines of curvature near an umbilical point [10]. On the deltoid �2 , the cubic form (20.50) becomes parabolic [22]. The Jacobian cubic form (20.50) is related to the number of extrema of the cubic form (20.44) [22]. The cubic form (20.44) can be represented as C(r, β) in polar coordinates with x = r cos β and y = r sin β, and the expression of the direction in which the local extrema of the cubic form C(r, β) occur, i.e. dC(�) = 0 [18] d� is reduced to the Jacobian cubic form (20.50). Inside the deltoid �2 , there are three real root lines of the Jacobian cubic form (20.50) or three directions of the extrema of the cubic form (20.44), which implies that three lines of curvature converge to an umbilical point [10, 22]. This umbilical point is classified as the star or monstar type [10, 22]. Outside the deltoid �2 , there is one root line of the Jacobian cubic form (20.50), and no extremum of the cubic form (20.44) exists. An umbilical point of this case is of the lemon type [10, 22]. 20 20.4 Parabolic, ridge and sub-parabolic points 20.4.1 Motivation • Sophisticated classification of umbilics • Stronger matching conditions than the umbilic matching • Registration • Analysis of surface evolution 20.4.2 Focal surfaces For any point on a surface r, two points f1 and f2 are called focal points which are defined as follows: 1 1 f2 = r + N (20.51) f1 = r + N, ρ1 ρ2 where N is a normal vector at P and ρ1 and ρ2 are the maximum and minimum principal curvatures, respectively. The focal surface is a set of focal points which can be considered as the envelope of the normal to the surface. The focal surface will play an important role in studying ridges, crests and sub-parabolic lines. Figure 20.11: Focal Surfaces 21 20.4.3 Parabolic points Contact function Consider a surface r in Monge form as follows: z = h(x, y) = a0 x2 + a1 xy + a2 y 2 + H.O.T, (20.52) so that the tangent plane at the origin is the x,y-plane. The parabolic points can be identified by studying the intersection between r and the tangent plane. If a21 = 4a0 a2 then the surface has A2 contact with the tangent plane. Definition The parabolic points on a regular surface are points where the tangent plane has specially high ’contact’ with the surface, i.e. A2 contact [3]. Alternatively, they can be interpreted as the points which separate the elliptic and hyperbolic regions of the surface, namely, points or curves where the Gaussian curvature is zero. 20.4.4 Ridge points Contact functions The sphere of curvature is a sphere centered at one of the centers of principal curvature and having a radius equal to the corresponding radius of curvature. Consider a sphere centered at (0, 0, r) and passing through the origin such that it is tangent to the surface r there. Then the equation of the sphere is x2 + y 2 + (z − r)2 = r 2 (20.53) The contact function is defined with substitution of z = h(x, y). g(x, y) = x2 + y 2 + (h(x, y) − r)2 − r 2 = 0 (20.54) Expanding g(x, y) as a power series in x and y gives r g(x, y) = x2 (1 − rρ1 ) + y 2(1 − rρ2 ) − (b0 x3 + 3b1 x2 y + 3b2 xy 2 + b3 y 3 ) 3 r ρ1 ρ2 4 − (c0 x + · · ·) + ( x2 + y 2 )2 +· · · 12 2 2 (20.55) Definition • The ridge point of a smooth surface is a point where one of the sphere of curvature has more degenerate contact than the usual A2 contact and the curve of intersection becomes 1 ρ1 g(x, y) = y 2 (ρ1 − ρ2 ) − (3b1 x2 y + 3b2 xy 2 + b3 y 3 ) 3 ρ3 1 − (c0 x4 + · · ·) + 1 x4 + · · · 12 4 22 ⎦2 ⎤ b2 b3 b1 x2 − xy − y2 = (ρ1 − ρ2 ) y − 2(ρ1 − ρ2 ) 2(ρ1 − ρ2 ) 6(ρ1 − ρ2 ) 1 (3b2 + (ρ1 − ρ2 )(c0 − 3ρ31 ))x4 +· · · (20.56) − 12(ρ1 − ρ2 ) 1 – If r = �11 (or r = �12 ) and b0 = 0 (or b3 = 0), then the contact function (20.55) becomes A3 singularity. – The coefficient P1 = 3b21 + (ρ1 − ρ2 )(c0 − 3ρ31 ) should not be zero. • A point is a ridge point relative to a principal direction p if and only if the principal curvature ρ1 corresponding to p has an extremum along the line of curvature in the direction p. • Ridge points are the pre-image of cuspidal edges on a focal surface of a smooth surface. 20.4.5 Sub-parabolic points • The point on which one principal curvature has an extremum relative to motion along the other line of curvature is called the sub-parabolic point on the surface. • It is the pre-image of a parabolic point on the focal surface. 23 Bibliography [1] G. Aumann. Interpolation with developable Bézier patches. Computer Aided Geometric Design, 8(5):409–420, November 1991. [2] M. V. Berry and J. H. Hannay. Umbilic points on Gaussian random surfaces. Journal of Physics A., 10(11):1809–1821, 1977. [3] J. W. Bruce, P. J. Giblin, and F. Tari. Parabolic curves of evolving surfaces. International Journal of Computer Vision, 17(3):291–306, 1996. [4] J. W. Bruce, P. J. Giblin, and F. Tari. Ridges, crests and sub-parabolic lines of evolving surfaces. International Journal of Computer Vision, 18(3):195–210, 1996. [5] J. S. Chalfant and T. Maekawa. Design for manufacturing using B-spline developable surfaces. Journal of Ship Research, 42(3):207–215, 1998. [6] G. Dahlquist and ˚ A. Bj¨orck. Numerical Methods. Prentice-Hall, Inc., Englewood Cliffs, NJ, 1974. [7] I. D. Faux and M. J. Pratt. Computational Geometry for Design and Manufacture. Ellis Horwood, Chichester, England, 1981. [8] J. H. Ferziger. Numerical Methods for Engineering Applications. Wiley, 1981. [9] W. H. Frey and D. Bindschadler. Computer-aided design of a class of developable Bézier surfaces. R&D Publication 8057, General Motors, September 1993. [10] P. W. (editor) Hallinan. Two and Three Dimensional Patterns of the Face. A.K. Peters, Ltd., Wellesley, Massachusetts, 1999. [11] R. Kimmel, A. Amir, and A. M. Bruckstein. Finding shortest paths on surfaces using level sets propagation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 17(6):635–640, June 1995. [12] K. H. Ko, T. Maekawa, N. M. Patrikalakis, H. Masuda, and F.-E. Wolter. Shape intrinsic fingerprints for free-form object matching. In G. Elber and V. Shapiro, editors, 8th ACM Symposium on Solid Modeling and Applications, Seattle, WA, June 2003, In press. [13] E. Kreyszig. Differential Geometry. University of Toronto Press, Toronto, 1959. [14] T. Maekawa. Computation of shortest paths on free-form parametric surfaces. Journal of Mechanical Design, Transactions of the ASME, 118(4):499–508, December 1996. [15] T. Maekawa and J. S. Chalfant. Computation of inflection lines and geodesics on devel­ opable surfaces. Mathematical Engineering in Industry, 7(2):251–267, 1998. [16] T. Maekawa and J. S. Chalfant. Design and tessellation of B-spline developable surfaces. Journal of Mechanical Design, Transactions of the ASME, 120(3):453–461, September 1998. [17] T. Maekawa and N. M. Patrikalakis. Interrogation of differential geometry properties for design and manufacture. The Visual Computer, 10(4):216–237, March 1994. [18] T. Maekawa, F.-E. Wolter, and N. M. Patrikalakis. Umbilics and lines of curvature for shape interrogation. Computer Aided Geometric Design, 13(2):133–161, March 1996. [19] M. J. Mancewicz and W. H. Frey. Developable surfaces: Properties, representations and methods of design. R&D Publication 7637, General Motors, 1992. [20] R. Morris. The sub-parabolic lines of a surface. In G. Mullineux, editor, The Mathematics of Surfaces VI, Proceedings of the 6th IMA Conference on Mathematics of Surfaces VI, pages 79–102, Oxford, UK, 1996. Clarendon Press. [21] N. M. Patrikalakis and T. Maekawa. Shape Interrogation for Computer Aided Design and Manufacturing. Springer-Verlag, Heidelberg, February 2002. [22] I. R. Porteous. Geometric Differentiation for the intelligence of curves and surfaces. Cambridge University Press, Cambridge, 1994. [23] E. C. Sherbrooke and N. M. Patrikalakis. Computation of the solutions of nonlinear polynomial systems. Computer Aided Geometric Design, 10(5):379–405, October 1993. [24] D. J. Struik. Lectures on Classical Differential Geometry. Addison-Wesley, Cambridge, MA, 1950.