Dierential Geometry Curves and surfaces Local properties Geometric foundations (critical for visual modeling and computing) Quantitative analysis Algorithm development Shape control and interrogation
Curves Implicit forms (planar or spatial) f(x y) = 0 ( f1 (x y z) = 0 f 2 (x y z) = 0 Parametric representation c(u) = 2 6 4 x(u) y(u) z(u) where u 2 [a b] x y z are dierentiable functions 3 7 5 Regular parameterization c u (u) 6= 0 Its geometric meaning Reparameterization v = v(u)
where v is a dierentiable function, and regular Inverse: u = u(v) v u (u) 6= 0 In particular, let l(u) = Z u a jc u (u)jdu Reparameterization c u (u)du = dc dv dc du = dv du dv dv = c v(u(v))dv Arc length parameterization: l(u) { independent of any regular reparameterization { an invariant parameter Arc length of the curve l(b) = Z b a jc u (u)jdu Arc element of the curve dl = jc u (u)jdu
Arc Length More intuitive way (chord length) where u > 0 u i = a + iu l = X i jc(u i+1) ; c(u i )j = X i j c i u ju In the limit, chord length converges to arc length Arc length is a theory-oriented concept! Approximation using chord length is necessary
Frenet Frame Local coordinate system Local curve properties Assumption: all derivatives DO exist Taylor expansion of c(u + t) at c(u) c(u + u) = c(u) + c u (u)u +c uu (u) 1 2 (u)2 + c uuu (u) 1 6 (u)3 + :::+ ::: Local coordinate system (c u c uu c uuu ) Coordinates 2 6 4 u + ::: 1 2 (u)2 + ::: 1 6 (u)3 + ::: 3 7 5
The above system is NOT orthogonal system Frenet frame from orthonormalization Frenet frame (t m b) { tangent vector: t { main normal vector: m { binormal vector: b Spatially varying orientation Osculating plane o Osculating plane equation t = c u jc u j m = b t b = c u c uu jc u c uu j (c(u) t m) (p ; c(u)) (c u (u) c uu (u)) = 0
Other properties let det(p ; c(u) c u c uu ) = 0 o(u v) = c(u) + uc u (u) + vc uu (u) so d = (c u c u )c uu ; (c u c uu )c u m = d jdj b is the normal vector of the plane
Arc Length c (u) c(u) c(a) c(b)
Frenet Frame b m c c t c
Moving the Frame The frame variation characterizes the curve's behavior Assume 0 : arc-length parameterization Basic properties c 0 c 0 = 1 c 0 c 00 = 0 Unit speed traversal Tangent vector is perpendicular to the second-order derivative vector Frenet-Serret formulas where t0 = +m m0 = ;t + b b0 = ; m
is curvature is torsion Curvature computation Torsion computation = (l) = jc 00 j = (u) = jc u c uu j jc u j 3 = (l) = 1 2 det(c0 c 00 c 000 ) = (u) = det(c u c uu c uuu ) jc u c uu j 2 Geometric meaning of Frenet-Serret Formulas
Curvature, Torsion Let be the angle (in radians) between t(l) and t(l + l) = lim l!0 is the angular velocity of t l = d dl Let be the angle (in radians) between b(l) and b(l + l) = ; lim l!0 l = d dl ; measure the angular velocity of b Properties { parameterization-independent { Euclidean invariant { independent of rigid-body motion Osculating circle p = c + m
where = 1 Radius of curvature This circle lies in the osculating plane (o t m) For rational Bezier curve of degree n, the curvature and torsion at the end point p 0 can be computed = n ; 1 n w 0 w 2 w 2 1 b a 2 = n ; 2 w 0 w 3 c n w 1 w 2 ab (refer to the gure for a b c) Compute the curvature and torsion at any point of Bezier curve An equivalent way = 2 n ; 1 n w 0 w 2 w 1 area(p 0 p 1 p 2 ) dist 3 (p 0 p 1 )
= 3 n ; 2w 0 w 3 volume(p 0 p 1 p 2 p 3 ) 2 n w 1 w 2 area 2 (p 0 p 1 p 2 ) Generalize to higher-order curvature of d-dimensional curves
Other Topics Continuity for Composite curves Necessary and Sucient conditions Tangent continuous Osculating plane continuous Torsion continuous Higher-order geometric continuity Generalization to Higher-dimension curve { d ; 1 geometric invariants for d-dimensional curves
From Theory to Practice Nice theoretical results!!! But, how about polygonal models Optimal and fast estimation for dierential quantities for polygonal models Ecient algorithm Curvature and torsion computation Recursive subdivision models Error bound analysis
Parametric Surfaces Surface mathematics f(x y z) = 0 s(u v) = where (u v) 2 [a 1 a 2 ] [b 1 b 2 ] 2 6 4 x(u v) y(u v) z(u v) 3 7 5 Regular parameterization (normal vectors are dened everywhere) s u s v 6= 0 Reparameterization will not change the surface shape A curve on the surface s(u(t) v(t)) where (u(t) v(t)) 2 [a 1 a 2 ] [b 1 b 2 ]
Basic features (rst-order) { curve arc { surface area
Curve Arc Curve derivative Arc element where ds dt = s t(u(t) v(t)) = s u u t + s v v t dl 2 = (dl) 2 = js t j 2 dt 2 = (s 2 uu 2 t + 2s u s v u t v t + s 2 vv 2 t )dt 2 dl 2 = Edu 2 + 2Fdudv+ Gdv 2 E = E(u v) = s u s u F = F (u v) = s u s v G = G(u v) = s v s v The squared arc element: rst fundamental form Invariant for curve parameterization
Arc length of the (surface) curve Z t t0 js t (u(t) v(t))jdt = Z t t0 q Eu 2 t + 2Fu t v t + Gv 2 t dt
Surface Area Area element da = js u du s v dvj = js u s v jdudv Vector-computation review ja bj 2 = a 2 b 2 ; (a b) 2 q js u s v j = EG ; F 2 Surface area A = Z Z q EG ; F 2 dudv u-isoparametric and v-isoparametric lines are orthogonal, when F = 0
Coordinate System Local frame for every point on the surface s u and s v dene the tangent plane Tangent plane equation (implicit) (p ; s(u v)) (s u s v ) = 0 det(p ; s s u s v ) = 0 Parametric equation Surface normal p(u v) = s + us u + vs v n = s u s v D Local coordinate system (every point) (s u s v n)
Second-Order Properties Curvature of a surface curve Surface curvature
Curve Curvature The surface curve (arc-length parameterization) s(u(l) v(l)) Assume 0 : arc-length derivative Curve curvature Radius of curvature t = s 0 = ds dl u 0 = du dl v 0 = dv dl t 0 = m = 1
Formulate the (curve) curvature in surface terms t 0 = s 00 = s uu (u 0 ) 2 + 2s uv u 0 v 0 + s vv (v 0 ) 2 + s u u 00 + s v v 00 Let be the angle between m and n note furthermore, New abbreviations t 0 n = cos cos = ns uu (u 0 ) 2 + 2ns uv u 0 v 0 + ns vv (v 0 ) 2 ns u = ns v = 0 n u s u + ns uu = 0 L = L(u v) = ;s u n u = ns uu M = M(u v) = ; 1 2 (s un v + s v n u ) = ns uv Second fundamental form N = N(u v) = ;s v n v = ns vv cos dl 2 = Ldu 2 + 2Mdudv + Ndv 2
Curvature computation { curve tangent (from du=dv) { curve normal (from ) { rst fundamental form { second fundamental form Curve curvature depends on and t only
Normal Curvature If = 0 m = n (Curve) osculating plane perpendicular to (surface) tangent plane Normal curvature of the surface in the direction of t note t is dened by du=dv Formulation 0 0 = 0 (s t) = 1 = 2ndfundamentalform 1stf undamentalf orm Radius of curvature = 0 cos Geometric meaning (interpretation)
All osculating circles at s for surface curves with the same tangent t form a sphere This sphere and the surface have a common tangent plane The radius of the sphere is 0 It is sucient to only investigate curves with m = n Normal sections (intersection of the surface with a plane containing n) Normal sections are planar
Lines of Curvature Normal curvature (Surface normal is on the osculating plane) m = n where = L + 2M+ N2 E + 2F+ G 2 = dv du = tan() One special case { is independent of { umbilical points L : M : N = E : F : G General case: is a function of Two extreme values can be found 1 2
The quantities 1 and 2 dene two directions in the (u,v) plane The corresponding directions in the tangent plane are called principal directions Lines with these directions are called lines of curvature Useful for surface parameterization F = 0 M = 0 Example: lines of curvature on a torus!
Principal Curvature Principal curvatures (two extreme values) Gaussian curvature Mean curvature 1 2 K = 1 2 1 2 = LN ; M 2 EG ; F 2 H = 1 2 ( 1 + 2 ) 1 + 2 = NE ; 2MF + LG EG ; F 2 Shape (point, region) classication { elliptic points (regions), when K > 0 (e.g. ellipsoid) { hyperbolic points (regions), when K < 0
(e.g. hyperboloid) { parabolic points (regions), when either 1 = 0 or 2 (e.g. cylinder) { at points (regions), when K = 0 and H = 0 (e.g. plane) Another important result (due to Gauss) { K is determined by E,F, and G and their derivatives! { K does not change if surface deformation does NO change any length measurement! Developable surface: K = 0 Sphere points are umbilical, both Gaussian and mean curvatures are constant
Euler's Theorem Normal curvatures are NOT independent of each other For simplicity, assume isoparametric curves are lines of curvature F = 0 M = 0 1 = L E 2 = N G () = L + N2 E + G 2 = E 1 E + G 2 + G 2 2 E + G 2 Geometric meaning: is the angle between s u s t = s u u t + s v v t cos = s ts u and js t jjs u j
where = (dv=dt)=(du=dt) sin = s ts v js t jjs v j = 1 cos 2 + 2 sin 2
Other Concepts Dupin's indicatrix Asymptotic lines Conjugate direction Dierential analysis for { ruled surfaces { developable surfaces Continuity for composite surfaces Curvature continuous Tangent plane continuous
Applications Basic components { tangent, curvature, torsion { arc-length, normal curvature { continuity { much more!!! Scientic and engineering tools { analysis { synthesis Shape classication Shape quality Shape interrogation (inspection) Shape manipulation and control Example: curvature plot!
Polyhedron-based objects Subdivision-based objects Constructive (procedural) objects Volumetric objects Algorithm { precision { eciency { robustness { error tolerance { generality