Title: Background and definitions
1Background and definitions
2Overview
- What does it mean to be manifold? What is an
atlas? - Disks, charts, overlaps, transition functions
- Mesh example
- Traditional atlas definition
- Building an atlas for a circle manifold
- Constructive definition
- Building an abstract manifold (circle, no
explicit geometry) - Writing functions on manifolds
- Circular curve
3Disks and deformations
- A disk is a connected region
- Doesnt have to be circular
- Boundary not included
- Disk of dimension Rn in dimension Rm, m n
- Valid deformations
- Stretching, squishing
- Invalid deformations
- Folding, tearing
Disk
Not disk
ok
Not ok
Not ok
4Traditional manifold definition
- A manifold M is an object that is locally
Euclidean - For every p in M
- Neighborhood (disk) U around p, U in M
- U maps (deforms) to disk in Rn
- n is dimension of manifold
- No folding, tearing
- Self-intersections ok
- Boundaries ok
- Map boundary to half disk
- Singularities ok
Surface examples
5Traditional definition, cont.
Non-manifold
6Other manifold examples
- Joint angles
- Pendulum in 2D is a 1D manifold (circle)
- Angle
- Two joints in 2D circle X circle
- One joint in 3D
- Panorama (rotating a camera around its origin)
- Each picture is piece of the manifold
- Stitched-together images form manifold
Rover, nasa.gov
7What is an atlas?
- History
- Mathematicians 1880s
- How to analyze complex shapes using simple maps
- Cartographers
- World atlas
- Informal definition
- Map world to pages
- Each page planar (printed on piece of paper)
- Every part of world on at least one page
- Pages overlap
- May not agree exactly
- Agree enough to navigate
The world
Overlap
8Local parameterization
Mercator Map
- Atlas on a manifold
- Collection of pages
- Parameterization (local)
- Different properties
- Size, navigation, percentage
Images The atlas of Canada and About Geography
9Embedded vs abstract manifold
- M may be abstract (topological)
- No specific geometry, e.g., joint angle
- M may be a surface of dimension n embedded in Rm
- n is dimension of surface
- m gtn
Surface is of dimension n2 (a piece of paper
rolled up) Embedded in m3 dimensions
Joint angle forms n1 dimension manifold (can
increase/decrease angle)
10Applying traditional manifold definition
- Familiar phrase Assuming the mesh is manifold
- How do you prove a mesh is manifold?
- Show Every point on the mesh has a local
neighborhood - Flatten part of 3D mesh down into 2D
- Requires some constraints on the mesh
- At most two faces per edge
- Vertices can be flattened
11A mesh is manifold if
- we can construct local maps around points.
- Three cases
- Point is in face
- Point is on edge
- Point is vertex
12Case 1
- Point is in face
- Triangle goes to triangle
P
3D
2D
13Case 2
- Point is on edge
- Rule There are exactly two faces adjacent to
each interior edge, and one face adjacent to any
boundary edge - Can hinge around edge to flatten into plane
P
3D
2D
14Case 3
- Point is vertex
- Rule The faces around a vertex v can be
flattened into the plane without folding or
tearing - Triangles may change shape
- Vertices wi adjacent to v can be ordered
w0,,wn-1 such that the triangles wi,v,w(i1)mod
n all exist
3D
2D
Bad vertex
15Traditional atlas definition
- Given Manifold M
- Construct Atlas A
- Chart
- Region Uc in M (open disk)
- Region c in Rn (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
- Transition functions
- y01 a1 o a0-1 smooth
16A circle manifold
- Uses
- Closed curves
- Representing a single joint angle
- Challenges
- Repeating points
- 0 is the same as 2p
- Tools exist for operating on lines/line segments
- Spline functions
- Optimization
- Implementation
- How to represent points?
- How to specify charts?
- Overlaps? Transition functions?
17A circle manifold
- How to represent points on a circle?
- Problem
- Want operations (e.g., addition) to return points
on the circle - In R2, must project to keep points on circle
- Solution
- Represent circle as repeating interval 0,2p)
- Point q2pk is same for all k integer
- Always store point in 0,2p) range
These are embeddings
0 2p
This is not
18Chart on a circle
qR
qc
- Chart specification
- Left and right ends of Uc
- Counter-clockwise order to determine overlap
region - Range c (-1/2,1/2)
- Simplest form for ac
- Translate
- Center in 0,2p)
- Scale
Uc
( )
qL
-1/2
1/2
qR
qL
19Making a chart
AddChart( qL, qR ) // in 0,2p range qC
0 s 1 // Does not cross 0, 2p
boundary if (qL lt qR ) qC 1/2
(qL qR ) s 1/2 / (qR - qC)
else // Add 2p to right end point
qC 1/2 (qL qR 2p ) s 1/2 /
(qR 2p - qC) // Make sure in 0,2p
range if (qC 2p) qC - 2p // Make new
chart with qC and s
qR
20Chart on a circle
- Chart a function
- Sort input point first (q?q, q2p ,q-2p )
- Euclidean distance is topological distance
a( qin ) q qin // Find the value
for q (-2p) closest to qc if ( qin - qC
p ) q qin else if ( (qin
2p) - qC p ) q qin 2p else
if ( (qin - 2p) - qC p ) q qin
- 2p return (q - qC) s
q-2p
21Chart on a circle
- Alpha inverse
- t in (-1/2, 1/2)
- Returned point in 0,2p)
a-1( t ) q t / s qC // Converts
to 0,2p range return CirclePoint(q)
22An example circle atlas
- Four charts, each covering ½ of circle
- 4 points not covered by two charts
- Overlaps
- ½ of chart for charts i, i1
- Transition function translate
- No overlap for charts i, i2
1/2
-1/2
Chart 1
Transition functions
1/2
-1/2
Chart 0
Chart 0
Chart 1
Overlap regions
23Why do I care?
- Charts
- Avoids wrapping problem
- Get chart over area of interest
- Run existing code as-is
- Optimize pendulum position
- Atlas
- Embed circle using existing techniques
- E.g., splines, polynomials
- No special boundary cases, e.g., duplicated end
points, geometric constraints
24Writing functions on manifolds
- Do it in pieces
- Write embed function per chart
- Can use any Rn technique
- Splines, Radial Basis Functions, polynomials
- Doesnt have to be homogenous!
- Write blend function per chart
- k derivatives must go to zero by boundary of
chart - Guaranteeing continuity
- Normalize to get partition of unity
- Spline functions get this for free
25Final embedding function
- Embedding is weighted sum of chart embeddings
- Generalization of splines
- Given point p on manifold
- 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
26Alternative formulation
- Define using transition functions
- Derivatives
- Pick point p in a chart
- Map p to all overlapping charts
Embed
Blend
27Embedding the circle
- Embed each chart
- Quadratic polynomial
- Blend function for each chart
- Blend function B-spline basis
- Divide by sum to normalize
- Blended result
28What if we dont have a circle?
- Previous approach relied on having an existing
manifold - Cover manifold with charts
- Suppose you want to make a manifold from scratch?
- Create manifold object from disks and how they
overlap - Think of someone handing you an atlas you can
glue the pages together where they overlap to
re-create the manifold - Resulting object is an abstract manifold
- Requires some care to ensure glued-together
object is actually manifold
29Constructive definition
- Construct Proto-Atlas A
- Disks
- Region c in Rn (open disk)
- Overlap regions between disks
- Ucc Ì c
- Transition functions between disks
- ycc
- To create a manifold object from A
- Glue points together that are the same, i.e.,
- ycc(p)q implies p q
- Transition functions must make sense
- Reflexive ycc(p)p
- Symmetric ycc(ycc(p))p
- Transitive yik(p) yij(yjk(p))
30Four chart proto-atlas for circle
- Four intervals, each (-1/2, 1/2)
- Overlap regions
- U1,2 (0,1/2) ? U2,1 (-1/2,0)
- U1,0 (-1/2,0) ? U0,1 (0,1/2)
- U1,1 (-1/2, 1/2)
- U1,3 empty
- Transition functions
- y1,2(t) t 1/2
- y1,0(t) t 1/2
- y1,1(t) t
- And similarly for other charts
Chart 1
31Resulting abstract manifold
- What is the form of a point on the manifold?
- List of charts and points in those charts
lt(c,t),gt - lt(0,0.2),(1,-0.3)gt
- How do you map from a point on the manifold to a
point in a chart? - Extract the point from the list (if it exists)
- ac(lt(c,t)gt) t
0.2
Chart 0
Chart 1
-0.3
32Terminology review
- Manifold, adj An object is manifold if is
locally Euclidean
Not manifold
Manifold with self-intersections
33Terminology review
- Manifold, noun An object M that is manifold
- Disk A connected region
- Chart A map from the disk Uc on the object M to
a disk c in Rn. Provides a local parameterization
ac Uc ?c
Disk
Not disk
ac
Uc
c
R2
M
34Terminology review
- Manifold, noun An object that is manifold
- Atlas Collection of charts that cover the
manifold - Overlap region Where two charts cover the same
part of the manifold. Uc n Uc not empty - Transition function A map ycc from disk in Rn
to disk in Rn
Uc
Uc
ycc
C
C
35Terminology review
- Constructive manifold An abstract manifold built
from a proto-atlas - Given
- Disks
- Overlaps between disks
- Transition functions between overlap regions
- Get
- Abstract object that is manifold