Visualizing High-Order Surface Geometry Pushkar Joshi, Carlo Séquin U.C. Berkeley Clarification • This talk is NOT about a new CAD tool; but it describes a “Meta-CAD tool.” • This talk is NOT about designing surfaces; it is about understanding smooth surfaces. This Presentation • Convey geometrical insights via a visualization tool for basic surface patches. • Give a thorough understanding of what effects higher-order terms can produce in smooth surfaces. Visualizing Shape at Surface Point Shape of small patch centered at surface point • Build intuition behind abstract geometric concepts • Applications: differential geometry, smoothness metrics, identifying feature curves on surfaces Minimizing Curvature Variation for Aesthetic Design Pushkar Joshi, Ph.D. thesis, Oct. 2008 Advisor: Prof. Carlo Séquin U.C. Berkeley http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-129.html Minimum Curvature Variation Curves, Networks, and Surfaces for Fair Free-Form Shape Design Henry P. Moreton, Ph.D. thesis, March 1993 Advisor: Prof. Carlo Séquin U.C. Berkeley http://www.eecs.berkeley.edu/Pubs/TechRpts/1993/5219.html Surface Optimization Functionals MES optimal shape MVS optimal shape Minimize: total curvature ( 2 1 2 )dA 2 MVScross optimal shape Minimize: variation of curvature 22 22 d11 dk d2 2 dk1 dk 2 dk dA dA de11 de de2 2 de 2 de1 de 2 new terms 2 Open Questions • What is the right way to measure “total curvature variation” ? – Should one average in-line normal curvature in all directions ? • How many independent 3rd degree terms are there ? – Does MVScross capture all of them, – with the best weighting ? – Gravesen et al. list 18 different 3rd-degree surface invariants ! • How do these functionals influence surface shapes ? – Which functional leads to the fairest, most pleasing shape ? • Which is best basis for capturing all desired effects ? – What is the geometrically simplest way to present that basis ? Draw inspiration from principal curvatures and directions, which succinctly describe second-degree behavior. Visualizing 2nd Degree Shape Flat Hyperbolic Parabolic Elliptic Principal curvatures (κ1, κ2) and principal directions (e1, e2) completely characterize second-order shape. Can we find similar parameters for higher-order shape? Understanding the 2nd Degree Terms • Analyze surface curvature in a cylindrical coordinate system centered around the normal vector at the point of interest. • Observe: offset sine-wave behavior of curvature around you, with 2 maxima and 2 minima in the principal directions. z=n Curvature as a function of rotation angle around z-axis: phase-shifted sine-wave: F2 plus a constant offset: F0 Polynomial Surface Patch z(u,v) = C0u3 + C1u2v + C2uv2 + C3v3 4 Parameters! + Q0u2 + Q1uv + Q2v2 + L0u + L1v + (const.) Ignore (for now) Fourier Analysis of Height Field zc(r,θ) = r3 [ C0cos3(θ)+ C1cos2(θ)sin(θ)+ C2cos(θ)sin2(θ)+ C3sin3(θ)] zc(r,θ) = r3 [ F1 cos( θ + α ) + F3 cos(3( θ + α + β )) ] 2 2 2 1 1 1 1 2 3 4 5 6 = 1 2 3 4 5 6 + 1 1 1 1 2 2 2 zc(θ) F1cos(θ+α) 2 3 4 5 F3cos(3(θ+α+β)) 6 3rd Degree Shape Basis Components F1 (amplitude) α (phase shift) F3 (amplitude) β (phase shift) Visualizing 3rd Degree Shape in Fourier Basis F1 component x2 A cubic surface (2 F1 + 2 F3 )/2 = + F3 component = x2 Directions Relevant to 3rd Degree Shape z Maximum F1 component Maximum F3 component ( 3 equally spaced directions) GUI of the Visualization Tool Polynomial Coefficients Surface near point of analysis Fourier Coefficients Surface is modified by changing polynomial coefficients or Fourier coefficients. Changing one set of coefficients automatically changes the other set. Polynomial & Fourier Coefficients z(r, θ) = r3 [ J cos3θ + I sin3θ + H cos2θ sinθ + G cosθ sin2θ ] + r2 [ F cos2θ + E sin2θ + D cosθ sinθ ] + r [ C cosθ + B sinθ ] + A (equivalent) z(r, θ) = r3 [ F3_1 cos(θ + α) + F3_3 cos3(θ + α + β) ] + r2 [ F2_0 + F2_2 cos2(θ + γ) ] + r [ F1_1 cos(θ + δ) ] + For the math see: F0_0 Joshi’s PhD thesis 3rd Degree Shape Edits (Sample Sequence) (a) (b) (c) (d) (e) (f) Visualizing the Properties of a Surface Patch Quadratic overlaid on cubic Visualizing the Properties of a Surface Patch Arrows indicate significant directions Visualizing the Properties of a Surface Patch Inline curvature derivative plot Visualizing the Properties of a Surface Patch Cross curvature derivative plot 3rd Degree Shape Parameters for General Surface Patch κ (θ) n κn(θ) In-line curvature derivative n '( ) (Mehlum-Tarrou 1998) F1 cos( ) F3 cos(3( )) Recap: 3rd Degree Shape Parameters 2nd Degree: κ1, κ2, φ F0 = (κ1+κ2)/2 F2 = (κ1–κ2)/2 3rd Degree: F1, α, F3, β The F1 and F3 components relate to curvature derivatives. Higher-Order Shape Bases 4th degree: F0 5th degree: F1 F2 F3 F4 F5 Application Summary Visualize 3rd degree basis shapes (using polynomial height field) Develop theory of high-order basis shapes (Fourier coefficients) Visualize higher-order (4th degree and 5th degree) basis shapes