Hierarchical Surface Modeling Using Spherical Manifolds by Cindy Grimm
200 likes | 342 Vues
This research presents an innovative approach towards creating organic, free-form surface models through hierarchical surface modeling on spherical manifolds. It explores how to build an atlas for spherical manifolds, employ adaptive editing with gnomonic projections, and define and embed functions for smooth transitions across surfaces. The methodology emphasizes user interaction for real-time editing, enabling the addition of features like arms and legs directly onto the surface mesh, while ensuring smooth blending and continuity. The techniques discussed can be applied broadly to closed topologies and flexible modeling paradigms.
Hierarchical Surface Modeling Using Spherical Manifolds by Cindy Grimm
E N D
Presentation Transcript
Spherical manifolds for hierarchical surface modeling Cindy Grimm
Goal • Organic, free-form • Adaptive • Can add arms anywhere • Hierarchical • Move arm, hand moves • Ck analytic surface • Build in pieces Graphite 2005, 12/1/2005
Overview • Building an atlas for a spherical manifold • Embedding the atlas • Surface modeling • Sketch mesh • Adaptive editing Graphite 2005, 12/1/2005
M Traditional atlas definition • Given: Sphere (manifold) M • Construct: Atlas A • Chart • Region Uc in M (open disk) • Region c in R2 (open disk) • Function ac taking Uc to c • Inverse • Atlas is collection of charts • Every point in M in at least one chart • Overlap regions Graphite 2005, 12/1/2005
Operations on the 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… (1-t)p + tq q p Graphite 2005, 12/1/2005
-1 c Chart on a sphere • Chart specification: • Center and radius on sphere Uc • Range c = unit disk • Simplest form for ac • Project from sphere to plane • (stereographic) • Adjust with projective map • Affine Uc 1 Graphite 2005, 12/1/2005
Defining an atlas • Define overlaps computationally • Point in chart: evaluate ac • Coverage on sphere (Uc domain of chart) • Define in reverse as ac-1=MD-1(MW-1(D)) • D becomes ellipse after warp, ellipsoidal on sphere • Can bound with cone normal Graphite 2005, 12/1/2005
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 Graphite 2005, 12/1/2005
Final embedding function • Embedding is weighted sum of chart embeddings • Generalization of splines • Given point p on sphere • Map p into each chart • Blend function is zero if chart does not cover p • Continuity is minimum continuity of constituent parts Map each chart Embed Blend Graphite 2005, 12/1/2005
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) Graphite 2005, 12/1/2005
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 Graphite 2005, 12/1/2005
Edge and vertex • Edge: cover edge, extend to mid-point of adjacent faces • Vertex: Cover adjacent edge mid points, face centers Vertex charts Edge Edge charts Vertex Graphite 2005, 12/1/2005
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 Graphite 2005, 12/1/2005
Summary • CK analytic surface approximating subdivision surface • Real time editing • Works for other closed topologies • Parameterization using manifolds, Cindy Grimm, International Journal of Shape modeling 2004 Graphite 2005, 12/1/2005
Hierarchical editing • Override surface in an area • Add arms, legs • User draws on surface • Smooth blend • No geometry constraints Graphite 2005, 12/1/2005
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 Graphite 2005, 12/1/2005
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 h on sphere, • Set to one in blend region, zero outside 1 1 0 0 Graphite 2005, 12/1/2005
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 Graphite 2005, 12/1/2005
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 Graphite 2005, 12/1/2005
Summary • Flexible modeling paradigm • No knot lines, geometry constraints • Not limited to subdivision surfaces • Alternative editing techniques? Graphite 2005, 12/1/2005