Spherical manifolds for hierarchical surface modeling
description
Transcript of Spherical manifolds for hierarchical surface modeling
![Page 1: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/1.jpg)
1
Spherical manifolds for hierarchical surface modeling
Cindy Grimm
![Page 2: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/2.jpg)
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
![Page 3: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/3.jpg)
3Graphite 2005, 12/1/2005
Overview
• Building an atlas for a spherical manifold• Embedding the atlas
• Surface modeling• Sketch mesh • Adaptive editing
![Page 4: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/4.jpg)
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
![Page 5: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/5.jpg)
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
![Page 6: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/6.jpg)
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
![Page 7: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/7.jpg)
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
![Page 8: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/8.jpg)
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
![Page 9: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/9.jpg)
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
![Page 10: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/10.jpg)
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)
![Page 11: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/11.jpg)
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
![Page 12: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/12.jpg)
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
![Page 13: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/13.jpg)
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
![Page 14: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/14.jpg)
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
![Page 15: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/15.jpg)
15Graphite 2005, 12/1/2005
Hierarchical editing
•Override surface in an area•Add arms, legs
• User draws on surface• Smooth blend• No geometry constraints
![Page 16: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/16.jpg)
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
![Page 17: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/17.jpg)
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
![Page 18: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/18.jpg)
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
![Page 19: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/19.jpg)
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
![Page 20: Spherical manifolds for hierarchical surface modeling](https://reader036.fdocuments.us/reader036/viewer/2022062519/56814ef8550346895dbc8ae3/html5/thumbnails/20.jpg)
20Graphite 2005, 12/1/2005
Summary
•Flexible modeling paradigm• No knot lines, geometry constraints
•Not limited to subdivision surfaces• Alternative editing techniques?