Upload
mary
View
27
Download
0
Embed Size (px)
DESCRIPTION
Spherical manifolds for hierarchical surface modeling. Cindy Grimm. Goal. Organic, free-form Adaptive Can add arms anywhere Hierarchical Move arm, hand moves C k analytic surface Build in pieces. Overview. Building an atlas for a spherical manifold Embedding the atlas - PowerPoint PPT Presentation
Citation preview
1
Spherical manifolds for hierarchical surface modeling
Cindy Grimm
2Graphite 2005, 12/1/2005
Goal
•Organic, free-form•Adaptive
• Can add arms anywhere•Hierarchical
• Move arm, hand moves•Ck analytic surface•Build in pieces
3Graphite 2005, 12/1/2005
Overview
• Building an atlas for a spherical manifold• Embedding the atlas
• Surface modeling• Sketch mesh • Adaptive editing
4Graphite 2005, 12/1/2005
Traditional atlas definition
Given: Sphere (manifold) M
Construct: Atlas A•Chart
• Region Uc in M (open disk)
• Region c in R2 (open disk)
• Function c taking Uc to c
• Inverse
•Atlas is collection of charts• Every point in M in at least
one chart• Overlap regions
M
01
1
10
0
5Graphite 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
1222 zyx
All points such that…
pq
(1-t)p + tq
6Graphite 2005, 12/1/2005
Chart on a sphere
Chart specification:
•Center and radius on sphere Uc
•Range c = unit disk
•Simplest form for c
• Project from sphere to plane• (stereographic)• Adjust with projective map• Affine
1
c
-1
wM 1wM
DM 1DM
Uc
)),,(( zyxMM DWc
7Graphite 2005, 12/1/2005
Defining an atlas
•Define overlaps computationally
•Point in chart: evaluate c
•Coverage on sphere (Uc domain of chart)
• Define in reverse as c-1=MD
-1(MW-1(D))
• D becomes ellipse after warp, ellipsoidal on sphere
• Can bound with cone normal
8Graphite 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
Accc
ccc
pB
pBpB
''' ))((ˆ
))((ˆ)(
cB
Normalized blend function
cB̂
Proto blend function
9Graphite 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
Ac
cccc pEpBpE ))(())(()( Embed
Blend
))(( 00 pE
))(( 11 pE
))(( 00 pB
))(( 11 pB
)( pEMap each chart
10Graphite 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)
11Graphite 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
12Graphite 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
Edge
VertexEdge charts
Vertex charts
13Graphite 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
14Graphite 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
15Graphite 2005, 12/1/2005
Hierarchical editing
•Override surface in an area•Add arms, legs
• User draws on surface• Smooth blend• No geometry constraints
16Graphite 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
17Graphite 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 on sphere,• Set to one in blend region, zero outside
1
0
1
0
18Graphite 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
19Graphite 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
))(())(1()(ˆ pBppB ccjijc
))(()()(ˆ pBppB cciic
20Graphite 2005, 12/1/2005
Summary
•Flexible modeling paradigm• No knot lines, geometry constraints
•Not limited to subdivision surfaces• Alternative editing techniques?