Parameterization with Manifolds

Similar documents
Simple Manifolds for Surface Modeling and Parameterization

Parameterization using Manifolds

Parameterization of Meshes

Geometric structures on manifolds

Spherical Manifolds for Adaptive Resolution Surface Modeling

Barycentric Coordinates and Parameterization

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Lectures in Discrete Differential Geometry 3 Discrete Surfaces

Geometric structures on manifolds

Topic: Orientation, Surfaces, and Euler characteristic

Final Project, Digital Geometry Processing

Image Morphing. The user is responsible for defining correspondences between features Very popular technique. since Michael Jackson s clips

Computer Graphics. - Texturing Methods -

: Mesh Processing. Chapter 8

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Intersection of an Oriented Box and a Cone

Tiling Three-Dimensional Space with Simplices. Shankar Krishnan AT&T Labs - Research

Surface Parameterization

Section Parametrized Surfaces and Surface Integrals. (I) Parametrizing Surfaces (II) Surface Area (III) Scalar Surface Integrals

Mesh Morphing. Ligang Liu Graphics&Geometric Computing Lab USTC

Cross-Parameterization and Compatible Remeshing of 3D Models

Shape Modeling and Geometry Processing

Parameterization of Triangular Meshes with Virtual Boundaries

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Design considerations

Overview. Spectral Processing of Point- Sampled Geometry. Introduction. Introduction. Fourier Transform. Fourier Transform

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

Curve Corner Cutting

Computer Graphics I Lecture 11

Curves and Surfaces Computer Graphics I Lecture 9

Introduction to Computer Graphics

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

CS Object Representation. Aditi Majumder, CS 112 Slide 1

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November

Mesh and Mesh Simplification

Subdivision Surfaces

The Cyclic Cycle Complex of a Surface

All the Polygons You Can Eat. Doug Rogers Developer Relations

Geometric structures on 2-orbifolds

Surface Rendering. Surface Rendering

Digital Geometry Processing Parameterization I

Subdivision Curves and Surfaces: An Introduction

Mosaics. Today s Readings

Geometric Modeling in Graphics

Images from 3D Creative Magazine. 3D Modelling Systems

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Segmentation & Constraints

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3

INF3320 Computer Graphics and Discrete Geometry

Voronoi Diagram. Xiao-Ming Fu

Multi-level Partition of Unity Implicits

ISTITUTO DI MATEMATICA APPLICATA E TECNOLOGIE INFORMATICHE CONSIGLIO NAZIONALE DELLE RICERCHE Via De Marini, Genova, Italia

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

Mathematical Surface Representations for Conceptual Design

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

CS-184: Computer Graphics

Curves and Surface I. Angel Ch.10

Motivation. Freeform Shape Representations for Efficient Geometry Processing. Operations on Geometric Objects. Functional Representations

9. Three Dimensional Object Representations

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Subdivision Surfaces

Digital Geometry Processing

Lofting 3D Shapes. Abstract

Mesh Decimation. Mark Pauly

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo

Tutorial 9 - Fast Marching Methods

Measuring Lengths The First Fundamental Form

CPSC / Texture Mapping

CS 465 Program 4: Modeller

Course Number: Course Title: Geometry

M4G - A Surface Representation for Adaptive CPU-GPU Computation

Processing 3D Surface Data

Greedy Routing in Wireless Networks. Jie Gao Stony Brook University

CS6670: Computer Vision

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

Surfaces, meshes, and topology

Complex Features on a Surface. CITS4241 Visualisation Lectures 22 & 23. Texture mapping techniques. Texture mapping techniques

Central issues in modelling

Meshless Modeling, Animating, and Simulating Point-Based Geometry

Dominating Sets in Triangulations on Surfaces

3D Modeling: Solid Models

3D Modeling Parametric Curves & Surfaces

Intro to Modeling Modeling in 3D

Lecture 5 CLASSIFICATION OF SURFACES

Don t just read it; fight it! Ask your own questions, look for your own examples, discover your own proofs. Is the hypothesis necessary?

Introduction to the Mathematical Concepts of CATIA V5

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev

CS130 : Computer Graphics Curves. Tamar Shinar Computer Science & Engineering UC Riverside

CS 177 Homework 1. Julian Panetta. October 22, We want to show for any polygonal disk consisting of vertex set V, edge set E, and face set F:

4 Parametrization of closed curves and surfaces

Review of Tuesday. ECS 175 Chapter 3: Object Representation

INTRODUCTION TO 3-MANIFOLDS

Computer Graphics. Shading. Based on slides by Dianna Xu, Bryn Mawr College

Smooth Multi-Sided Blending of bi-2 Splines

Towards Adaptive Rendering of Smooth Primitives on GPUs

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

Multiresolution Remeshing Using Weighted Centroidal Voronoi Diagram

Scalar Algorithms: Contouring

Transcription:

Parameterization with Manifolds

Manifold What they are Why they re difficult to use When a mesh isn t good enough Problem areas besides surface models A simple manifold Sphere, torus, plane, etc. Using the manifold for parameterization Fitting to existing meshes *Basic tools

What is a manifold? Surface analysis tool Developed in the 1880 s Describe surface as a collection of overlapping disks Infinite number Atlas Pages are disks World is surface

Formal definition Given: Surface S of dimension m embedded in Construct a set of charts, each of which maps a region of S to a disk in m Mapping must be 1-1, onto, continuous Every point in S must be in the domain of at least one chart Collection of charts is called an atlas Note: A surface is manifold if such an atlas can be constructed R n R

Additional definitions Co-domain of chart can also be called a chart Define the overlap U ij to be the part of chart i that overlaps with chart j. May be empty. α 1 0 ψ 01 s α 1 ψ 12 α 1 2 α 2 Transition function ψ ij maps from U ij to U ji. ψ 02

Going the other way Given a set of charts and transition function, define manifold to be quotient Transition functions Reflexive ψ ii (x) = x Transitive (ψ ik (ψ kj (x)) = ψ ii (x) Symmetric ψ ii (ψ ji (x)) = x Quotient: if two points are associated via a transition function, then they re the same point Chart points: chart plus (x,y) point Manifold points: a list of chart points

Manifold definitions Define S, define atlas Overlaps, transition functions secondary Define chart domains, overlaps, transition functions Manifold defined by quotient No geometry α 1 0 ψ 01 s α 1 ψ 12 ψ 02 α 1 2 α 2

Adding geometry Define an embedding for each chart C k, e.g., spline patch Define a proto-blend function for each chart C k, k derivatives zero by boundary, non-zero on interior, e.g., spline basis function ˆ Define chart blend function Zero outside of chart Partition of unity Ec B B c c : R : S ( p) m = R R Bˆ n c c Bˆ c ( α c B c : ( α ( p)) ( p)) R m R

Adding geometry, cont. Final surface is a blended sum of chart embeddings E : S R n E( p) = B c ( α ( c p)) E c ( α ( c p))

Previous work Grimm 95 Mesh: one chart for each vertex, edge, face N different transition function types Vertices of valence 4 Navau and Garcia, 2000 Planar mesh: Map to plane General mesh: Use subdivision to separate extraordinary vertices Specific flattening of extraordinary vertices into plane Lewis and Hughes 96 Complex plane, unwrap faces around vertex

Why is this hard? Finding charts, transition functions that are correct is hard Start with mesh Combinatorial or number of charts explosion No linear set of functions (?) Start with points Analytic function?

Why not just a mesh? Surface modeling: smooth, locally parameterized, analytical Functions on meshes Texture synthesis, reaction-diffusion Curvature calculation Visualization of data on surface Fluid flow: 2D vector drawing routines Manifolds have in-built notion of local neighborhood, moving along surface

A simple manifold Define one manifold for each genus Push geometric complexity into embedding Charts simple (unit square), few in number Substantial chart overlap Transition functions simple Define by mapping to and from a canonical surface (plane, sphere, torus, etc.) Simplifies defining functions on manifold

Roadmap Manifold definition for sphere, plane, torus, n- holed torus Embedding functions for manifold Fitting a manifold to an existing mesh 1-1, onto mapping from mesh to manifold

Plane manifold One chart (unit square) One transition function (identity)

Sphere manifold S is the unit sphere 6 charts, one for each direction Mapping functions are variations of ( cos(θ) cos(φ),sin(θ) cos(φ), sin(φ) ) Inverse functions are found by arcsin, arctan φ =asin(z), θ =atan2(y,z)

Sphere manifold 9 0 4 0 2 0 3 1 1 2 5 3 1 2 8 3 5 10 11 6 7 4 4 6 5 5 4 7 2 A single chart on the sphere viewed from the side and top Top cap Chart (squares), edge, and corner indices Bottom cap

Torus manifold S is torus of inner radius 0.25, outer 1.25 S(θ,φ)=( 1.5 + cos(θ)cos(φ), 1.5 + sin(θ)cos(φ), sin(θ) ) Domain 0,2pi X 0,2pi 9 charts, each shifted and scaled portion of 2pi domain 15 2 16 4 17 7 6 3 4 0 1 7 7 8 6 8 12 0 13 3 14 6 5 3 4 5 9 1 10 5 11 8 2 0 1 2 Torus chart

N-holed torus N-copies of torus, with one edge identified in opposite direction

Embeddings Hierarchical splines Spline surfaces have different sized non-zero domains E Radial basis functions E c c ( x, y) = s ( x, y) i ( x ) 0 + x1u + x2v) + wi ( ( u, v) ci ) x, y, z ( u, v) = φ

Tessellation Triangulate interior of each chart, stitch together along boundary edges Further split faces if needed Area taken up in final embedding 1 4 3 4 (1,1) Chart interior

Mapping from mesh to manifold 1-1, onto function Map vertices first Map faces using barycentric coords Requires that there exist a chart such that all three vertices of face map into that chart Plane, torus : usual barycentric coords Sphere: spherical barycentric coords

Mapping vertices Graph partition problem Divide mesh into n regions (for n charts) that meet with correct topology Project region into interior of chart Criteria: No folding (star of vertex forms convex polygon in chart) Roughly same number of faces in each chart Each face has one chart it maps into

Sphere algorithm Grow top cap (disk) Grow bottom cap Join boundary with four edges Shortest path Vertices must be accessible Top cap Bottom cap Don t add

Sphere algorithm, cont. Project each region onto chart Run Floater s algorithm to place vertices in chart Least squares problem Boundary points are fixed Loc(v i ) = (u,v) Place interior vertices at centroid of vertex star j v i v j = 0

Sphere algorithm, cont. Adjust projection until criteria met Get disk of faces in chart Grow (or shrink) placement based on percentage of faces Reproject Move vertices towards centroids

Results

Plane algorithm Map boundary vertices to boundary of chart Interior vertices mapped to centroid of vertex star Floater s algorithm

Torus algorithm Want three rings in 2 directions Grow four disks, seeded far apart One half of loop goes through one disk, other half through adjacent disk Disks meet in two disjoint regions Grow two annuli out from disk Parallel loop Grow one disk faster Repeat Rings Four disks, path through green disk plus path through blue disk makes loop Cross rings

Torus algorithm, cont. Three paths between loops Total of 9 shortest paths Given 9 initial regions, adjust Rings Cross rings

Algorithm analysis Best suited for 500-10,000 vertices Not guaranteed to reach solution narrow spots, not enough vertices around tube Use subdivision to produce more vertices Solution exists Alternative approaches Use progressive meshes to simplify to base case Initial vertex mapping Add vertices back in

Fitting embeddings Embedding function can be arbitrarily complex Not uniform Radial basis functions Uneven distribution is not a problem Function complexity grows with number of points Hierarchical splines Need to find best patch placement

Fitting radial basis functions One equation each for x,y,z N vertices mapped to chart implies N basis functions Set coefficients so surface passes through N points Linear equations E c ( x ) 0 + x1u + x2v) + wi ( ( u, v) ci ) x, y, z ( u, v) = φ

Fitting hierarchical splines Error metric Add patch where error is bad Distance from surface to mesh 1-1 onto mapping Grid domain and evaluate at grid squares Max(error at square, vertices in square) Add patch over largest contiguous set of bad squares Max and average thresholds

Hierarchical splines, cont. Add patches until error metric below threshold Find contiguous bad squares Fit patch to remaining error Domain based on bad squares Fit to evenly spaced points in domain Refit with all patches simultaneously

Results

Summary so far Establish 1-1, onto correspondence between mesh and manifold Can construct embedding to create smooth surface Approximate mesh (splines) Exact fit (radial basis functions)

Basic tools (in progress) Functions on manifold Ratio of parameter area to surface area Evenly distribute points on surface Vector field in parameter space up, fluid flow, user-defined, principle curvature Continuous as possible BRDF Evenly spaced stripes

Basic tools (in progress) Surface traversal Given a set of points, produce an ordering Texture synthesis Upper left points already visited Spiral Along flow paths Texture mapping Uniform/non-uniform density of pixels Original mesh

Conclusion Manifolds have potential as parameterization tool Meshes, implicits, patch collections Function display on surface, non-photorealistic renderings, growing plants on surfaces Simple manifolds with easy-to-use tools Computationally simple

Other future work Surface modeling interface Link between subdivision surfaces and manifolds N-holed torus mapping to mesh