1 Surface Applications Fitting Manifold Surfaces To 3D Point Clouds, Cindy Grimm, David Laidlaw and Joseph Crisco. Journal of Biomechanical Engineering, 2002 Parameterization using Manifolds, Cindy Grimm. International Journal of Shape Modeling, 10(1): , 2004 Spherical Manifolds for Adaptive Resolution Surface Modeling, Cindy Grimm. In "Graphite", pages , 2005 WUCSE : Smooth Surface Reconstruction using Charts for Medical Data, Cindy Grimm and Tao Ju. Technical Report , Washington University in St. Louis, 2006 Feature Detection Using Curvature Maps and the Min-Cut/Max-Flow Algorithm, Timothy Gatzke and Cindy Grimm. In "Geometric Modeling and processing", 2006
2 Siggraph 2006, 7/31/ Surface operations supported by manifolds Hierarchical modeling Add charts anywhere Surface reconstruction Continuity guaranteed Known topology Capturing shape variation Consistent parameterization Different embedding, same manifold Multiple parameterizations Color, geometry, electrical…
3 Siggraph 2006, 7/31/ Manifold representation goals Add charts anywhere, at any scale/orientation Not restricted to an initial set of charts Adjust parameterization “Slide” charts around, change scale/orientation Re-use parameterization when fitting new geometry Embedding free to change Change data samples Create new parameterization over existing one In correspondence with original
4 Siggraph 2006, 7/31/ Surface types, R 2 in R n Plane Sphere Torus N-holed torus Other surfaces with boundary Cut holes
5 Siggraph 2006, 7/31/ Canonical manifolds Small number of possible types (3 closed) Define a “canonical” manifold for each Support equivalent of affine transformations Points, lines, triangles, barycentric coordinates Define a procedure for making charts C ∞ Position plus shape control
6 Siggraph 2006, 7/31/ Sphere example Manifold: Unit sphere, x 2 + y 2 + z 2 = 1 Representing geometry on the sphere Mesh on the sphere Making charts Embedding the sphere Blend and embed functions on each chart Hierarchical modeling Over-riding existing charts Surface fitting Assigning charts Multiple parameterizations
7 Siggraph 2006, 7/31/ Operations on the unit sphere How to represent points, lines and triangles on a sphere? Point is (x,y,z) Given two points p, q, what is (1-t) p + t q? Solution: Gnomonic projection Project back onto sphere Valid in ½ hemisphere Line segments (arcs) Barycentric coordinates in spherical triangles Interpolate in triangle, project All points such that… p q (1-t)p + tq
8 Siggraph 2006, 7/31/ Mesh on sphere Place vertices on sphere Project edges, faces, onto sphere by taking ray through point Use mid-point barycentric coords for > 3 sides Valid for faces < ½ hemisphere
9 Siggraph 2006, 7/31/ Chart on a sphere Chart specification: Center and radius on sphere U c Range c = unit disk Simplest form for c Project from sphere to plane (stereographic) Adjust with projective map Affine 1 c -1 Uc
10 Siggraph 2006, 7/31/ Defining an atlas Define overlaps computationally Point in chart: evaluate c Coverage on sphere (U c domain of chart) Define in reverse as c -1 =M D -1 (M W -1 (D)) D becomes ellipse after warp, ellipsoidal on sphere Can bound with cone normal
11 Siggraph 2006, 7/31/ Embedding the manifold Write embed function per chart (polynomial) Write blend function per chart (B-spline basis function) k derivatives must go to zero by boundary of chart Guaranteeing continuity Normalize to get partition of unity Normalized blend function Proto blend function
12 Siggraph 2006, 7/31/ Surface editing User sketches shape (sketch mesh) Create charts Embed mesh on sphere One chart for each vertex, edge, and face Determine geometry for each chart (locally)
13 Siggraph 2006, 7/31/ Charts Optimization Cover corresponding element on sphere Don’t extend over non-neighboring elements Projection center: center of element Map neighboring elements via projection Solve for affine map Face: big as possible, inside polygon Use square domain, projective transform for 4-sided Face Face charts
14 Siggraph 2006, 7/31/ Edge and vertex Edge: cover edge, extend to mid-point of adjacent faces Vertex: Cover adjacent edge mid points, face centers Edge Vertex Edge charts Vertex charts
15 Siggraph 2006, 7/31/ Defining geometry Fit to original mesh (?) 1-1 correspondence between surface and sphere Run subdivision on sketch mesh embedded on sphere (no geometry smoothing) Fit each chart embedding to subdivision surface Least-squares Ax = b
16 Siggraph 2006, 7/31/ Result C K analytic surface approximating subdivision surface Real time editing Other closed topologies Define manifold and domain to R 2 map
17 Siggraph 2006, 7/31/ Torus, associated edges Cut torus open to make a square Two loops (yellow one around, grey one through) Each loop is 2 edges on square Glue edges together Loops meet at a point Chart map: affine transform
18 Siggraph 2006, 7/31/ N-Holed tori Similar to torus – cut open to make a 4N-sided polygon Two loops per hole (one around, one through) Glue two polygon edges to make loop Loops meet at a point Polygon vertices glue to same point Front Back a a b b c c d d
19 Siggraph 2006, 7/31/ Hyperbolic geometry Why is my polygon that funny shape? Need corners of polygon to each have 2 / 4N degrees (so they fill circle when glued together) Tile hyperbolic disk with 4N-sided polygons Chart map: Linear Fractional Transform
20 Siggraph 2006, 7/31/ Hierarchical editing Override surface in an area Add arms, legs User draws on surface Smooth blend No geometry constraints
21 Siggraph 2006, 7/31/ Adding more charts User draws new subdivision mesh on surface Only in edit area Simultaneously specifies region on sphere Add charts as before Problem: need to mask out old surface
22 Siggraph 2006, 7/31/ Masking function Alter blend functions of current surface Zero inside of patch region Alter blend functions of new chart functions Zero outside of blend area Define mask function on sphere, Set to one in blend region, zero outside
23 Siggraph 2006, 7/31/ Defining mask function Map region of interest to plane Same as chart mapping Define polygon P from user sketch in chart Define falloff function f(d) -> [0,1] d is min distance to polygon Implicit surface Note: Can do disjoint regions Mask blend functions 0 1 d
24 Siggraph 2006, 7/31/ Patches all the way down Can define mask functions at multiple levels Charts at level i are masked by all j>i mask functions Charts at level i zeroed outside of mask region
25 Siggraph 2006, 7/31/ Results
26 Siggraph 2006, 7/31/ Surface fitting Embed data set on sphere Any spherical parameterization Group data points (overlapping) One chart per group Chart centered on group, covers Fit chart embeddings to data points
27 Siggraph 2006, 7/31/ Consistent parameterization Identify features in data Align features on sphere Build one set of charts Embed Fit each data set
28 Siggraph 2006, 7/31/ Consistent parameterization Build manifold once Fit to multiple bone point data sets Parameterized similarly
29 Siggraph 2006, 7/31/ Multiple parameterizations Build atlas for each case Atlas does not need to cover sphere Can be C 0 Geometry Texture mapping Simulation
30 Siggraph 2006, 7/31/ Benefits of canonical approach Global manifold Link different embeddings, atlases Easy to adjust charts Charts independent from source data Layered charts (different atlases) Masking, boundaries, creases No special cases Not polynomial Computationally more expensive Topology-dependent algorithms