1 SIGGRAPH 2004, Los Angeles Carlo H. Séquin and Ling Xiao EECS Computer Science Division University of California, Berkeley Fair LVC Curves on Subdivision Surfaces
2 Smooth Curves on Smooth Surfaces u Preceding talk by Pushkar Joshi: How to make smooth, optimized surfaces. u In this sketch: How to draw smooth, optimized curves onto such surfaces. K12K12 A motivating application …
3 Mapping Graph K 12 onto a Surface (an orientable 2-manifold) u Complete graph has 12 nodes (vertices) u Graph has 66 edges (=border between 2 facets) u Orientable 2-manifold has 44 triangular facets u # Edges – # Vertices – # Faces + 2 = 2*Genus 66 – 12 – = 12 Genus = 6 Now make a (nice) model of that ! K 12
4 The Connectivity of Bokowski’s Map 59 topologically different models! [Altshuler et al. 96] All the same node #1
5 Prof. Bokowski’s Goose-Neck Model EDGE NODE K 12
6 Bokowski’s ( Partial ) Virtual Model on a Genus 6 Surface Computer Graphics should be able to do better !
7 What Do We Need ? … u We have smooth surfaces … (see previous talk) T S u How do we put nice curves on it ? (with some constraints)… u What is the right kind of curve ?
8 Smooth, Optimized Curves u In the plane: straight line. u On a smooth surface: geodesic curve: l bends with the surface, l no “lateral” curvature. l (bicycle in normal plane to the surface).
9 Drawing Geodesic Rays u Open-ended geodesic path: incremental construction: l Continue in the normal plane thru current tangent direction. u On a tessellated surfaces: l Straight line segments across facets; l Cross edges with equal exit- and entry-angles.
10 A Very Long Geodesic Ray … u Chaotic Path produced by a geodesic ray on a surface with saddles as well as convex regions. START
11 Short Geodesic Line Between 2 Points u Connecting two given points (S,T) with the shortest geodesic line on a high-genus surface is an NP-hard problem. l Many possible pathways … l Path divergence near bumps, saddles … T S
12 Constraints Degrees of Freedom u A geodesic curve between two points = “tight rubber band”. u Some DOF’s needed to match constraints: l tangents at the two end-points, or l intermediate interpolation points. u What is the optimal curve then ? …
13 MVC in the Plane Moreton and Séquin, Siggraph 1992, “Minimum Variation Curves” (MVC): Minimize the change of curvature: (d ds 2 ds u Yields circles whenever possible. u Can we do this on any smooth manifold ?
14 LVC Curves u Simpler than MVC – still nice behavior ! u A maximum of one inflection point. u = a piece of a Clothoid, or Cornu Spiral LVC = Linearly Varying Curvature (with arc-length)
15 LVC Curve Parameters u Curves with linearly varying curvature (LVC) have two degrees of freedom: k A, k B. u This allows two additional constraints, i.e., the start / ending tangent directions. A B GEODESIC CURVATURE kAkA kBkB ARC-LENGTH 0
16 Applied to Graph-Embedding Task: u Control spacing of curves at each vertex: avoid “congestion”, very acute angles. u Specify: starting and ending tangent directions. K 4,4,4
17 Example #2 : K 4,4,4 (Dyck’s Map) u Tripartite graph: 3 node colors. u 12 nodes; every node not connected to three other nodes. u 48 edges; 32 triangles u E – V – F + 2 = 2*Genus u 48 – 12 – = 6 Genus = 3
18 Embedding K 4,4,4 u Find highest-symmetry genus-3 surface: Klein Surface (tetrahedral frame).
19 Find Good Locations for Nodes Every node not connected to three other nodes! u Missing edges must not break the symmetry: Put nodes on C 2 -axis, inside and outside on each tetra-arm. u Do not connect nodes that lie on same C 2 - axis (same color) (or this one).
20 Hand-Painted Physical Model u Now we want to make a CG model of this. u Edges should be nice, smooth LVC-curves!
21 Path-Optimization Towards LVC u Start with an approximate path from S to T. u Locally move edge crossing points ( C ) so as to even out variations of curvature: T C S C REPEAT: Subdivide the surfaces; Refine and re-optimize the LVC path. LVC LOOP SUBDIVISION SURFACE
22 Subdivision and Path Refinement T S Generation i New path points Generation i+1
23 Path Optimization u Path is defined by intersections with facet edges. u Gradient descent towards desired functional. u Heuristic vertex movement, interpolating curvature. GEODESIC CURVATURE kAkA kBkB ARC-LENGTH k i-1 k i-1 +k i+1 k i+1 k j-1 kjkj k j+1 2
24 Path Optimization (cont.) T V T S Optimization Step u In each optimization step, each vertex is moved a fraction towards its ideal position. u Moving path across a vertex can be tricky !
25 K 4,4,4 on a Genus-3 Surface LVC on subdivision surface – Graph edges enhanced
26 K 12 on a Genus-6 Surface
27 3D Color Printer (Z Corporation)
28 Genus-6 Regular Map
29 Genus-6 Regular Map
30 Tiffany Lamps (L.C. Tiffany 1848 – 1933)
31 Tiffany Lamps with Other Shapes ? Globe ? -- or Torus ? Certainly nothing of higher genus !
32 Back to the Virtual Genus-3 Map Define color panels to be transparent !
33 A Virtual Genus-3 Tiffany Lamp
34 Light Cast by Genus-3 “Tiffany Lamp” Rendered with “Radiance” Ray-Tracer (12 hours)
35 Virtual Genus-6 Map
36 Light Field of Genus-6 Tiffany Lamp
37 Conceptual Issues u Does an LVC-curve always exist ? l – in the plane ? l – on a high-genus surface ? u Are LVC-curves good for every task ? u Is it desirable to tightly couple surface resolution and curve resolution ? u Is our approach unconditionally stable ?
38 Summary Key idea: u Combine hierarchical curve optimization with subdivision surface refinement. u In each generation, move discrete curve points to approximate desired functional. u Coarse movements in the beginning; – fine movements towards the end. u Generalizations possible: LVC MVC …
39 QUESTIONS ?