1 Background and definitions Cindy Grimm. 2 Siggraph 2005, 8/1/2005 www.cs.wustl.edu/~cmg/Siggraph2005/siggraph.html Overview What does it mean to be.

Slides:



Advertisements
Similar presentations
Surface Simplification using Quadric Error Metrics Guowei Wu.
Advertisements

Discrete Differential Geometry Planar Curves 2D/3D Shape Manipulation, 3D Printing March 13, 2013 Slides from Olga Sorkine, Eitan Grinspun.
P. Venkataraman Mechanical Engineering P. Venkataraman Rochester Institute of Technology DETC2013 – 12269: Continuous Solution for Boundary Value Problems.
CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 9: Extrinsic Deformations Fall 2012.
CSE554Extrinsic DeformationsSlide 1 CSE 554 Lecture 10: Extrinsic Deformations Fall 2014.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 7: Quadric Error Metrics Ravi Ramamoorthi
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
Convex Hulls in Two Dimensions Definitions Basic algorithms Gift Wrapping (algorithm of Jarvis ) Graham scan Divide and conquer Convex Hull for line intersections.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Divide and Conquer.
Informationsteknologi Wednesday, November 7, 2007Computer Graphics - Class 51 Today’s class Geometric objects and transformations.
CS 445/645 Fall 2001 Hermite and Bézier Splines. Specifying Curves Control Points –A set of points that influence the curve’s shape Knots –Control points.
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
Section 4: Implementation of Finite Element Analysis – Other Elements
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
1 Computer Graphics Chapter 7 3D Object Modeling.
SolidWorks Teacher Guide Lesson9 School’s Name Teacher’s Name Date.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Asst. Prof. Yusuf Sahillioğlu
Bounded-distortion Piecewise Mesh Parameterization
Polygonal Mesh – Data Structure and Smoothing
BINARY MORPHOLOGY and APPLICATIONS IN ROBOTICS. Applications of Minkowski Sum 1.Minkowski addition plays a central role in mathematical morphology 2.It.
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
Part Two Multiresolution Analysis of Arbitrary Meshes M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, W. Stuetzle SIGGRAPH 95.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 11: Quadric Error Metrics Ravi Ramamoorthi Some material.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
CS CS 175 – Week 4 Triangle Mesh Smoothing Discrete Differential Geometry.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Splines III – Bézier Curves
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Modeling. Topology Topology describes an object’s shape, number of spans, and degree. For polygon objects this includes vertex positions.
Curve Modeling Bézier Curves
Ziting (Vivien) Zhou1 Drawing Graphs By Computer Graph from
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
Geometric Operations and Morphing.
Cindy Grimm Parameterization with Manifolds Cindy Grimm.
1 Surface Applications Fitting Manifold Surfaces To 3D Point Clouds, Cindy Grimm, David Laidlaw and Joseph Crisco. Journal of Biomechanical Engineering,
Why manifolds?. Motivation We know well how to compute with planar domains and functions many graphics and geometric modeling applications involve domains.
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
1 Manifolds from meshes Cindy Grimm and John Hughes, “Modeling Surfaces of Arbitrary Topology using Manifolds”, Siggraph ’95 J. Cotrina Navau and N. Pla.
Constructive manifolds for surface modeling
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
1 Applications Shmuel Peleg and Joshua Herman, “Panoramic Mosaics by Manifold Projection”, Computer Vision and Pattern Recognition (CVPR), 1997 Wolfgang.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Cindy Grimm Parameterizing N-holed Tori Cindy Grimm (Washington Univ. in St. Louis) John Hughes (Brown University)
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
A construction of rational manifold surfaces of arbitrary topology and smoothness from triangular meshes Presented by: LiuGang
Geometric Modeling with Conical Meshes and Developable Surfaces SIGGRAPH 2006 Yang Liu, Helmut Pottmann, Johannes Wallner, Yong-Liang Yang and Wenping.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
Review CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2005.
Manifolds or why a cow is a sphere
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
Construction of Navau and Garcia. Basic steps Construction has two parameters: smoothness k and n > k, defining how closely the surface follows the control.
Introduction to Parametric Curve and Surface Modeling.
1 Spherical manifolds for hierarchical surface modeling Cindy Grimm.
POLYGON MESH Advance Computer Graphics
Goals A high-order surface construction Desirable features
Morphing and Shape Processing
© University of Wisconsin, CS559 Spring 2004
Grimm and Hughes Input: arbitrary mesh
Grimm and Hughes Input: arbitrary mesh
CSE 554 Lecture 10: Extrinsic Deformations
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

1 Background and definitions Cindy Grimm

2 Siggraph 2005, 8/1/ Overview 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

3 Siggraph 2005, 8/1/ Disks and deformations A disk is a connected region Doesn’t have to be circular Boundary not included Disk of dimension R n in dimension R m, m ≥n Valid deformations Stretching, squishing Invalid deformations Folding, tearing Disk Not disk ok Not ok

4 Siggraph 2005, 8/1/ Traditional 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 R n n is dimension of manifold No folding, tearing Self-intersections ok Boundaries ok Map boundary to half disk Singularities ok Smooth, closed manifold Manifold with self-intersections Singularity at tip Manifold with boundary Surface examples

5 Siggraph 2005, 8/1/ Traditional definition, cont. What is not ok? “Fins” Non-manifold Can deform to separate self-intersections

6 Siggraph 2005, 8/1/ Other 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

7 Siggraph 2005, 8/1/ What is an atlas? History: Mathematicians 1880’s 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 Overlap The world

8 Siggraph 2005, 8/1/ Local parameterization Atlas on a manifold Collection of pages Parameterization (local) Different properties Size, navigation, percentage Mercator Map Images: The atlas of Canada and About Geography

9 Siggraph 2005, 8/1/ Embedded vs abstract manifold M may be a surface of dimension n embedded in R m n is dimension of surface m >n Surface is of dimension n=2 (a piece of paper rolled up) Embedded in m=3 dimensions Joint angle forms n=1 dimension manifold (can increase/decrease angle) M may be abstract (topological) No specific geometry, e.g., joint angle

10 Siggraph 2005, 8/1/ Applying 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

11 Siggraph 2005, 8/1/ A mesh is manifold if… … we can construct local maps around points. Three cases: Point is in face Point is on edge Point is vertex

12 Siggraph 2005, 8/1/ Case 1: Point is in face Triangle goes to triangle P 3D 2D

13 Siggraph 2005, 8/1/ Case 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

14 Siggraph 2005, 8/1/ Case 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 w i adjacent to v can be ordered w 0,…,w n-1 such that the triangles w i,v,w (i+1)mod n all exist P 2D 3D Bad vertex

15 Siggraph 2005, 8/1/ Traditional atlas definition Given: Manifold M Construct: Atlas A Chart Region U c in M (open disk) Region c in R n (open disk) Function  c taking U c to c Inverse Atlas is collection of charts Every point in M in at least one chart Overlap regions Transition functions:  01 =  1 o  0 -1 smooth M

16 Siggraph 2005, 8/1/ A circle manifold Uses: Closed curves Representing a single joint angle Challenges: Repeating points 0 is the same as 2  Tools exist for operating on lines/line segments Spline functions Optimization Implementation: How to represent points? How to specify charts? Overlaps? Transition functions?

17 Siggraph 2005, 8/1/ A circle manifold How to represent points on a circle? Problem: Want operations (e.g., addition) to return points on the circle In R 2, must project to keep points on circle Solution: Represent circle as repeating interval [0,2  ) Point  +2  k is same for all k integer Always store point in [0,2  ) range (1,0) These are embeddings This is not 0 2 

18 Siggraph 2005, 8/1/ ( ) Chart on a circle Chart specification: Left and right ends of U c Counter-clockwise order to determine overlap region Range c = (-1/2,1/2) Simplest form for  c Translate Center in [0,2  ) Scale - 1/2 1/2 LL RR Uc -1/2 1/2 ( ) cc LL RR

19 Siggraph 2005, 8/1/ Making a chart AddChart(  L,  R ) { // in 0,2  range  C = 0; s = 1; // Does not cross 0, 2  boundary if (  L <  R ) {  C = 1/2 * (  L +  R ); s = 1/2 / (  R -  C ); } else { // Add 2  to right end point  C = 1/2 * (  L +  R + 2  ); s = 1/2 / (  R + 2  -  C ); } // Make sure in 0,2  range if (  C ≥ 2  )  C -= 2  ; // Make new chart with  C and s … } LL RR   LL RR   R’ LL RR LL RR  =0

20 Siggraph 2005, 8/1/ Chart on a circle Chart  function Sort input point first (  →   ) Euclidean distance is topological distance  (  in ) {  =  in ; // Find the value for  (+-2  ) closest to  c if ( |  in -  C | ≤  )  =  in ; else if ( | (  in + 2  ) -  C | ≤  )  =  in + 2  ; else if ( | (  in - 2  ) -  C | ≤  )  =  in - 2  ; return (  -  C ) * s; } cc ( ) cc    cc ( )  

21 Siggraph 2005, 8/1/ Chart on a circle Alpha inverse t in (-1/2, 1/2) Returned point in [0,2  )  -1 ( t ) {  = t / s +  C ; // Converts to 0,2  range return CirclePoint(  ); }

22 Siggraph 2005, 8/1/ An example circle atlas Four charts, each covering ½ of circle 4 points not covered by two charts Overlaps ½ of chart for charts i, i+1 Transition function: translate No overlap for charts i, i+2 Chart 0 Chart 1 Chart 2 Chart 3 Chart 0 Chart 1 Overlap regions -1/2 1/2 -1/2 1/2 Transition functions: Chart 1 Chart 0

23 Siggraph 2005, 8/1/ Why 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

24 Siggraph 2005, 8/1/ Writing functions on manifolds Do it in pieces Write embed function per chart Can use any R n technique Splines, Radial Basis Functions, polynomials… Doesn’t 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

25 Siggraph 2005, 8/1/ Final 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 Embed Blend Map each chart

26 Siggraph 2005, 8/1/ Alternative formulation Define using transition functions Derivatives Pick point p in a chart Map p to all overlapping charts Embed Blend

27 Siggraph 2005, 8/1/ Embedding the circle Embed each chart Quadratic polynomial Blend function for each chart Blend function B-spline basis Divide by sum to normalize Blended result -1/2 1/2 1 Normalized blend function -1/2 1/2 Proto blend function

28 Siggraph 2005, 8/1/ What if we don’t 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

29 Siggraph 2005, 8/1/ Constructive definition Construct: Proto-Atlas A Disks Region c in R n (open disk) Overlap regions between disks U cc’  c Transition functions between disks  cc’ To create a manifold object from A: “Glue” points together that are the same, i.e.,  cc’ (p)=q implies p == q Transition functions must make sense Reflexive:  cc (p)=p Symmetric:  c’c (  cc’ (p))=p Transitive:  ik (p)=  ij (  jk (p))

30 Siggraph 2005, 8/1/ Four chart proto-atlas for circle Four intervals, each (-1/2, 1/2) Overlap regions: U 1,2 = (0,1/2) → U 2,1 (-1/2,0) U 1,0 = (-1/2,0) → U 0,1 (0,1/2) U 1,1 = (-1/2, 1/2) U 1,3 empty Transition functions:  1,2 (t) = t – 1/2  1,0 (t) = t + 1/2  1,1 (t) = t … And similarly for other charts Chart 0 Chart 1 Chart 2

31 Siggraph 2005, 8/1/ Resulting abstract manifold What is the form of a point on the manifold? List of charts and points in those charts 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)  c ( ) = t Chart 0 Chart

32 Siggraph 2005, 8/1/ Terminology review Manifold, adj: An object is manifold if is locally Euclidean Manifold with self-intersections Not manifold

33 Siggraph 2005, 8/1/ Terminology review Manifold, noun: An object M that is manifold Disk: A connected region Chart: A map from the disk U c on the object M to a disk c in R n. Provides a local parameterization  c : U c →c Disk Not disk UcUc M cc c R2R2

34 Siggraph 2005, 8/1/ Terminology 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. U c ∩ U c’ not empty Transition function: A map  cc’  from disk in R n to disk in R n UcUc U c’  cc’ C C’

35 Siggraph 2005, 8/1/ Terminology 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