13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY Lecture 2 Kwanghee Ko T. Maekawa N. M. Patrikalakis Massachusetts Institute of Technology Cambridge, MA 02139-4307, USA Copyrightc 2003MassachusettsInstituteofTechnology Contents 2 Di erential geometry of curves 2 2.1 De nition of curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.1 Plane curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.2 Space curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Arc length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Tangent vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 Normal vector and curvature . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5 Binormal vector and torsion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6 Serret-Frenet Formulae . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Bibliography 16 Reading in the Textbook Chapter 1, pp.1 - pp.3 Chapter 2, pp.36 - pp.48 1 Lecture 2 Di erential geometry of curves 2.1 De nition of curves 2.1.1 Plane curves Implicit curves f(x;y) = 0 Example: x2 + y2 = a2 { It is di cult to trace implicit curves. { It is easy to check if a point lies on the curve. { Multi-valued and closed curves can be represented. { It is easy to evaluate tangent line to the curve when the curve has a vertical or near vertical tangent. { Axis dependent. (Di cult to transform to another coordinate system). Example: x3 + y3 = 3xy : Folium of Descartes (see Figure 2.1a) Let f(x;y) = x3 + y3 3xy = 0; f(0;0) = 0 ) (x;y) = (0;0) lies on the curve Example: If we translate by (1,2) and rotate the axes by = atan( 34), the hyperbola x2 4 y2 2 = 1, shown in Figure 2.1(b), will become 2x 2 72xy+23y2 +140x 20y+50 = 0. Explicit curves y = f(x) One of the variables is expressed in terms of the other. Example: y = x2 { It is easy to trace explicit curves. { It is easy to check if a point lies on the curve. { Multi-valued and closed curves can not be easily represented. { It is di cult to evaluate tangent line to the curve when the curve has a vertical or near vertical tangent. 2 -3 -2 -1 0 1 2 -3 -2 -1 0 1 2 X Y asymptote line x+y+1=0 multi-valued -3 -2 -1 0 1 2 3 -2 -1 0 1 2 3 4 X Y Figure 2.1: (a) Descartes; (b) Hyperbola. { Axis dependent. (Di cult to transform to another coordinate system). Example: If the circle is represented by an explicit equation, it must be divided into two segments, with y = +pr2 x2 for the upper half and y = pr2 x2 for the lower half, see Figure 2.2. This kind of segmentation creates cases which are inconvenient in computer programming and graphics. y = + r ? x2 2 y = ? r ? x2 2 x y o Figure 2.2: Description of a circle with an explicit equation. Note: The derivative of y = px at the origin x = 0 is in nite, see Figure 2.3. Parametric curves x = x(t); y = y(t); t1 t t2 2D coordinates (x;y) can be expressed as functions of a parameter t. Example: x = acos(t); y = asin(t); 0 t < 2 3 y x y = px; y0 = 1=2px; as x ! 0, y0 !1 Figure 2.3: Vertical slopes for explicit curves involve non-polynomial functions. { It is easy to trace parametric curves. { It is relatively di cult to check if a point lies on the curve. { Closed and multi-valued curves are easy to represent. { It is easy to evaluate tangent line to the curve when the curve has a vertical or near vertical tangent. { Axis independent. (Easy to transform to another coordinate system) Example: Folium of Descartes, see Figure 2.1, can be expressed as: r(t) = 3t 1+t3 ; 3t2 1+t3 1 < t < 1 ) easy to trace x(t) = x0 ) solve for t ) plug t into y(t) = y0 ) need to solve a nonlinear equation to check if a point lies on the curve. Explicit curve y = px can be expressed as x = t2, y = t (t 0). r = (t2;t); _r = (2t;1) unit tangent vector t = (2t;1)p4t2 + 1 at t = 0;t = (0;1) Therefore there is no problem representing a vertical tangent computationally. 2.1.2 Space curves Implicit curves In 3D, a single equation generally represents a surface. For example x2 + y2 + z2 = a2 is a sphere. 4 Thus, the curve appears as the intersection of two surfaces. F(x;y;z) = 0 \ G(x;y;z) = 0 Example: Intersection of the two quadric surfaces z = xy and y2 = zx gives cubic parabola. (These two surfaces intersect not only along the cubic parabola but also along the x-axis.) Explicit curves If the implicit equations can be solved for two of the variables in terms of the third, say for y and z in terms of x, we get y = y(x); z = z(x) Each of the equations separately represents a cylinder projecting the curve onto one of the coordinate planes. Therefore intersection of the two cylinders represents the curve. Example: Intersection of the two cylinders y = x2; z = x3 gives a cubic parabola. Parametric curves x = x(t); y = y(t); z = z(t), t1 t t2 The 3D coordinates (x;y;z) of the point can be expressed on functions of parameter t. Here functions x(t), y(t), z(t) have continuous derivatives of the rth order, and the parameter t is restricted to some interval called the parameter space (i.e., t1 t t2). In this case the curve is said to be of class r, denoted as Cr. In vector notation: r = r(t) where r = (x;y;z); r(t) = (x(t);y(t);z(t)) Example: Cubic parabola x = t; y = t2; z = t3 Example: Circular helix, see Fig. 2.4. x = acos(t); y = asin(t); z = bt; 0 t Using v = tan t2 v = tan t2 = s 1 cos t 1 + cos t ) v 2 = 1 cos t 1 + cos t ) cos t = 1 v 2 1 + v2 ) sint = 2v 1 + v2 Therefore the following parametrization will give the same circular helix. r = a1 v 2 1 + v2 ; 2av 1 + v2 ; 2btan 1v ! ; 0 v < 1 5 >> ylabel(’Y’); >> zlabel(’Z’); >> print(’circHelix.ps’) >> plot3(a * cos(u), a * sin(u), b * u) >> xlabel(’X’); >> >> a= 2; >> b = 3; >> u = [0 : 6 * pi / 100 : 6 * pi]; ?2 ?1 0 1 2 ?2 ?1 0 1 2 0 10 20 30 40 50 60 XY Z Figure 2.4: Circular helix plotted using MATLAB. 6 y z r(t) p q r(t + t) r x Figure 2.5: A segment r connecting two point p and q on a parametric curve r(t). 2.2 Arc length From Figure 2.5, we will derive an expression for the di erential arc length ds of a parametric curve. First, let us express the vector r connecting two points p and q on an arc at parametric locations t and t + t, respectively, as r = p q = r(t + t) r(t): As p and q become in nitesimally close, the length of the segment connecting the two points approaches the arc length between the two points along the curve, r(t) and r(t+ t). Or using Taylor’s expansion on the norm (length) of the segment r and letting t ! 0, we can express the di erential arc length as s ’j rj = jr(t + t) r(t)j = jdrdt t + O( t2)j’jdrdtj t: Thus as t ! 0 ds = jdrdtjdt = j_rjdt: De nitions d dt _ d ds 0 Hence the rate of change dsdt of the arc length s with respect to the parameter t is ds dt = q _x2(t) + _y2(t) + _z2(t) (2.1) 7 ds dt is called the parametric speed. It is, by de nition, non-negative (s being measured always in the sense of increasing t). If the parametric speed does not vary signi cantly, parameter values t0;t1; ;tN corre- sponding to a uniform increment t = tk tk 1, will be evenly distributed along the curve, as illustrated in Figure 2.6. Parameter Space t0 t3 t4 t5t1 t2 t0 t1 t2 t3 t4 t5 x y t ds dt Figure 2.6: When parametric speed does not vary, parameter values are uniformly spaced along a parametric curve. The arc length of a segment of the curve between points r(to) and r(t) can be obtained as follows: s(t) = Z t to q _x2(t) + _y2(t) + _z2(t)dt = Z t to p_ r _rdt (2.2) Derivatives of arc length s w.r.t. parameter t and vice versa : _s = dsdt = j_rj = p_r _r (2.3) s = d_sdt = _r rp_r _r (2.4) s = d s dt = (_r _r)(_r r + r r) (_r r)2 (_r _r)32 (2.5) t0 = dtds = 1j_rj = 1p_r _r (2.6) t00 = dt 0 ds = _r r (_r _r)2 (2.7) t000 = dt 00 ds = ( r r + _r r)(_r _r) 4(_r r)2 (_r _r)72 (2.8) 2.3 Tangent vector The vector r(t+ t) r(t) indicates the direction from r(t) to r(t+ t). If we divide the vector by t and take the limit as t ! 0, then the vector will converge to the nite magnitude vector _r(t). _r(t) is called the tangent vector. Magnitude of the tangent vector j_rj = dsdt (2.9) 8 Unit tangent vector t = _rj_rj = dr dt ds dt = drds r0 (2.10) De nition : A parametric curve is said to be regular if j_r(t)j6= 0 for all t 2 I. The points where j_r(t)j = 0 are called irregular (singular) points. Note that at irregular points the parametric speed is zero. Example: semi-cubical parabola r(t) = (t2;t3), see Figure 2.7 _r(t) = (2t;3t2) j_r(t)j = p 4t2 + 9t4 = q t2(4 + 9t2) when t = 0;j_r(t)j = 0 t>0 t<0 x y 0 Figure 2.7: A singular point occurs on a semi-cubical parabola in the form of a cusp. Here are some useful formulae for computing the unit tangent vector: 3D Parametric curve r(t) t = r0 = drds = drdt dtds = _rj_rj = ( _x; _y; _z)p_x2 + _y2 + _z2 2D Implicit curve f(x;y) = 0 t = (fy; fx)q f2x + f2y 9 2D Explicit curve y = f(x) t = (1; _f) q 1 + _f2 Example: For a circular helix r(t) = (acos t;asint;bt) Parametric speed ds dt = j_r(t)j = q _x2(t) + _y2(t) + _z2(t) _r(t) = ( asint;acos t;b) j_r(t)j = p a2 + b2 = c = const ) ( The curve is regular and has good parametrization Unit tangent vector t = _rj_rj = ( ac sint; ac cos t; bc) (2.11) Arc length s(t) = Z t 0 j_rjdt = Z t 0 p a2 + b2dt = ct (2.12) Arc length parametrization t = sc (2.13) r(s) = (acos sc;asin sc; bsc ) (2.14) check (2.15) dr ds = ( a c sin s c; a c cos s c; b c) = t (2.16) 2.4 Normal vector and curvature Let us consider the second derivative r00(s), see Figure 2.8. r00(s) = lim s!0 r 0(s + s) r0(s) s (2.17) As s ! 0 r0(s + s) r0(s) becomes perpendicular to the tangent vector i.e. normal direction. Also jr0(s + s) r0(s)j = 1 = as s ! 0. Thus jr00(s)j = lim s!0 s = lim s!0 = 1 (2.18) 10 1 1 r’(s) r’(s+?s) ?s ρ ?θ ?θ r’(s) r’(s+?s) n r’(s+?s)?r’(s)=?θ center of curvature Figure 2.8: Derivation of the normal vector of a curve. is called the curvature. It follows that 2 = r00 r00: (2.19) Consequently r00(s) = t0 = n (2.20) Thus using equations (2.6) and (2.7), we obtain n = d 2r ds2 = dt ds = d ds(_rt 0) = r(t0)2 + _rt00 = (_r _r) r (_r r)_r (_r _r)2 (2.21) 2 = ( n) ( n) = (_r _r) r (_r r)_r (_r _r)2 (_r _r) r (_r r)_r (_r _r)2 = (_r r) (_r r)(_r _r)3 (2.22) where the identity (a b) (a b) = (a a)(b b) (a b)2 is used. Here are some useful formulae for computing the normal vector and curvature: 2D parametric curve r(t), see Figure 2.9 n = ez t = ( _y; _x)p_x2 + _y2 ; ez = (0;0;1) (2.23) = _x y _y x ( _x2 + _y2)32 (2.24) 2D implicit curve f(x;y) = 0 n = ez t = (fx;fy)q f2x + f2y = rfjrfj (2.25) = fxxf 2y 2fxyfxfy + f2xfyy (f2x + f2y )32 (2.26) 11 x y z ez t n n t n t κ<0 κ>0 κ=0 inflection point Figure 2.9: Normal and tangent vectors along a 2D curve. 2D Explicit curve y = f(x) n = ez t = ( _y;1)p1 + _y2 (2.27) = y (1 + _y2)32 (2.28) 2.5 Binormal vector and torsion x y z b n t r(t) n t : osculating plane b n : normal plane b t : rectifying plane Figure 2.10: The tangent, normal, and binormal vectors de ne an orthogonal coordinate system along a space curve. Let us de ne a unit binormal vector, see Figure 2.10 b = t n (2.29) We have t n = 0 n b = 0 b t = 0 b = t n t = n b n = b t 12 The osculating plane can be de ned as the plane passing through three consecutive points on the curve. The rate of change of the osculating plane is expressed by the vector b0 = dds(t n) = dtds n + t dnds = t n0 (2.30) where we used the fact that dtds = r00 = n. From n n = 1 ! di erentiate w.r.t. s ! 2n0 n = 0 ! n0 ? n Thus n0 is parallel to the rectifying plane (b;t), and n0 can be expressed as a linear com- bination of b and t. n0 = t + b (2.31) Substitute (2.31) into (2.30) b0 = t ( t + b) = t b = b t = n (2.32) is called the torsion. Consequently = n b0 = n (t n)0 = (r 0r00r000) r00 r00 = (_r r r) (_r r) (_r r) (2.33) Triple scalar product (abc) = a (b c) = (a b) c (2.34) also (abc) = (bca) = (cab) cyclic permutation (2.35) Geometrically, (abc) equals to the volume of a parallelepiped having the edge vectors a; b; c, as in Figure 2.11. ax ay az a (bxc)= bx by bz cx cy cz ab c Figure 2.11: The computation of the volume of a parallelepiped 2.6 Serret-Frenet Formulae From equations (2.20) and (2.32), we found that t0 = n (2.36) b0 = n (2.37) 13 How about n0? n0 = (b t)0 = b0 t + b t0 = n t + b ( n) = t + b (2.38) In matrix form we can express the di erential equations as 2 64 t 0 n0 b0 3 75 = 2 64 0 (s) 0 (s) 0 (s) 0 (s) 0 3 75 2 64 tn b 3 75 (2.39) Thus, the curve is completely determined by its curvature and torsion as a function of parameter s. The equations = (s), = (s) are called intrinsic equations. The for- mulae 2.39 are known as the Serret-Frenet Formulae and describe the motion of moving a trihedron (t; n; b) along the curve. Example: Determining the shape of a curve from curvature information and boundary conditions only. Given: = 1R = const We nd dt ds = n R (2.40) dn ds = t R (2.41) If we di rentiate Equation 2.40 with respect to s, d2t ds2 = 1 R dn ds : (2.42) Now, substitute Equation 2.42 into Equation 2.41 d2t ds2 + t R2 = 0: (2.43) Recognizing that t = drds, we can change variables from t to r, transforming Equation 2.43 into d3r ds3 + 1 R2 dr ds = 0 or d3 ds3 x(s) y(s) ! + 1R2 dds x(s) y(s) ! = 0 0 ! (2.44) The solution to Equation 2.44 is x(s) = C1 + C2 cos s R ! + C3 sin s R ! (2.45) y(s) = C01 + C02 cos s R ! + C03 sin s R ! (2.46) 14 Assume we are given suitable initial conditions or boundary conditions. For this example, we will use: x(0) = R x0(0) = 0 x00(0) = 1R (2.47) y(0) = 0 y0(0) = 1 y00(0) = 0 (2.48) Solving for the constants in the general solution gives C1 = C3 = 0 C2 = R (2.49) C01 = C02 = 0 C03 = R (2.50) Thus, we nd our solution is given by x(s) = R cos s R (2.51) y(s) = R sin s R (2.52) which is precisely a circle of radius R satisfying the conditions (2.47) and (2.48). Example: A circular helix r = (acos sc;asin sc; bsc ) r0(s) = ( ac sin sc; ac cos sc; bc) r00(s) = ( ac2 cos sc; ac2 sin sc;0) r000(s) = ( ac3 sin sc; ac3 cos sc;0) 2 = r00 r00 = a 2 c4 (cos 2 s c + sin 2 s c) = a2 c4 = constant = (r 0r00r000) r00 r00 = (r0r00r000) 2 = c 4 a2 ac sin sc ac cos sc bc ac2 cos sc ac2 sin sc 0 a c3 sin s c a c3 cos s c 0 = c 4 a2 b c( a2 c5 (cos 2 s c + sin 2 s c)) = bc2 = constant Note: when b > 0, it is a right-handed helix; when b < 0, it is a left-handed helix. 15 Bibliography [1] P. M. do Carmo. Di erential Geometry of Curves and Surfaces. Prentice-Hall, Inc., Engle- wood Cli s, NJ, 1976. [2] E. Kreyszig. Di erential Geometry. University of Toronto Press, Toronto, 1959. [3] M. M. Lipschutz. Theory and Problems of Di erential Geometry. Schaum’s Outline Series: McGraw-Hill, 1969. [4] D. J. Struik. Lectures on Classical Di erential Geometry. Addison-Wesley, Cambridge, MA, 1950. [5] T. J. Willmore. An Introduction to Di erential Geometry. Clarendon Press, Oxford, 1959. 16