Surface Topology ReebGraph

Similar documents
Morse Theory. Investigates the topology of a surface by looking at critical points of a function on that surface.

A Discrete Approach to Reeb Graph Computation and Surface Mesh Segmentation: Theory and Algorithm

Computing Reeb Graphs as a Union of Contour Trees

opology Based Feature Extraction from 3D Scalar Fields

Scalar Field Visualization: Level Set Topology. Vijay Natarajan CSA & SERC Indian Institute of Science

Introduction to Reeb Graphs and Contour Trees

SHAPE SEGMENTATION FOR SHAPE DESCRIPTION

Topology Preserving Tetrahedral Decomposition of Trilinear Cell

VisInfoVis: a Case Study. J. Tierny

Surfaces, meshes, and topology

Reeb Graphs Through Local Binary Patterns

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

Outline. Visualization Discretization Sampling Quantization Representation Continuous Discrete. Noise

Salient Critical Points for Meshes

Loop Surgery for Volumetric Meshes: Reeb Graphs Reduced to Contour Trees

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

Shape Modeling and Geometry Processing

Compression of Tetrahedral Meshes

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Contour Forests: Fast Multi-threaded Augmented Contour Trees

A Flavor of Topology. Shireen Elhabian and Aly A. Farag University of Louisville January 2010

Intrinsic Morphing of Compatible Triangulations. VITALY SURAZHSKY CRAIG GOTSMAN

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

The Cyclic Cycle Complex of a Surface

Mesh Repairing and Simplification. Gianpaolo Palma

Topology-based Simplification for Feature Extraction from 3D Scalar Fields

Outline. Reconstruction of 3D Meshes from Point Clouds. Motivation. Problem Statement. Applications. Challenges

A Constrained Delaunay Triangle Mesh Method for Three-Dimensional Unstructured Boundary Point Cloud

Mesh Morphing. Ligang Liu Graphics&Geometric Computing Lab USTC

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

Multi-Scale Free-Form Surface Description

Digital Geometry Processing Parameterization I

Lecture 5 CLASSIFICATION OF SURFACES

DisPerSE: robust structure identification in 2D and 3D

Handles. The justification: For a 0 genus triangle mesh we can write the formula as follows:

UNDERSTANDING and effective exploration

A Randomized O(m log m) Time Algorithm for Computing Reeb Graphs of Arbitrary Simplicial Complexes

Research Article Polygon Morphing and Its Application in Orebody Modeling

: Mesh Processing. Chapter 8

Geometric Modeling and Processing

Chapter 8 Topics in Graph Theory

Digital Image Processing Fundamentals

Parameterization of Triangular Meshes with Virtual Boundaries

Surface reconstruction based on a dynamical system

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

Random volumes from matrices

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

Surface Reconstruction. Gianpaolo Palma

Lecture notes: Object modeling

Subdivision Surfaces. Course Syllabus. Course Syllabus. Modeling. Equivalence of Representations. 3D Object Representations

Para-Graph: graph-based parameterization of triangle meshes with arbitrary genus

Mesh Decimation. Mark Pauly

Ph.D. Student Vintescu Ana-Maria

Time-varying Reeb graphs for continuous space time data

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Def De orma f tion orma Disney/Pixar

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

Surface Parameterization

Convex Hulls (3D) O Rourke, Chapter 4

Saab. Kyle McDonald. Polygon Meshes

A Practical Approach to Morse-Smale Complex Computation: Scalability and Generality

Lecture 5: Simplicial Complex

Morse-Smale Complexes for Piecewise Linear 3-Manifolds Λ

: Mesh Processing. Chapter 2

) for all p. This means however, that the map ϕ 0 descends to the quotient

Scalar Field Visualization. Some slices used by Prof. Mike Bailey

Extracting Jacobi Structures in Reeb Spaces

Final Project, Digital Geometry Processing

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017

Efficient Computation of Morse-Smale Complexes for Three-dimensional Scalar Functions

Many high-resolution surfaces are created through isosurface extraction from volumetric representations,

Multiresolution structures for interactive visualization of very large 3D datasets

Surfaces: notes on Geometry & Topology

Lectures in Discrete Differential Geometry 3 Discrete Surfaces

Irregular Vertex Editing and Pattern Design on Mesh

Maximizing Adaptivity in Hierarchical Topological Models Using Extrema Trees

A Practical Approach to Two-Dimensional Scalar Topology

Physically-Based Modeling and Animation. University of Missouri at Columbia

Parameterization with Manifolds

Curvature Berkeley Math Circle January 08, 2013

CLASSIFICATION OF SURFACES

Topic: Orientation, Surfaces, and Euler characteristic

INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES

Computational Methods for Understanding 3D Shapes

TWO CONTRIBUTIONS OF EULER

Free-form deformation (FFD)

γ 2 γ 3 γ 1 R 2 (b) a bounded Yin set (a) an unbounded Yin set

Pacific Journal of Mathematics

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

Processing 3D Surface Data

Efficient Computation of Morse-Smale Complexes for Three-dimensional Scalar Functions

751 Problem Set I JWR. Due Sep 28, 2004

weighted minimal surface model for surface reconstruction from scattered points, curves, and/or pieces of surfaces.

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

12 - Spatial And Skeletal Deformations. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

Isotopic Approximation within a Tolerance Volume

Computational Design. Stelian Coros

Dimension-Independent Data Structures for Arbitrary Simplicial Complexes

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

The geometry and combinatorics of closed geodesics on hyperbolic surfaces

Transcription:

Sub-Topics Compute bounding box Compute Euler Characteristic Estimate surface curvature Line description for conveying surface shape Extract skeletal representation of shapes Morse function and surface topology--reeb graph Scalar field topology--morse-smale complex

Surface Topology ReebGraph

What is Topology? Topology studies the connectedness of spaces For us: how shapes/surfaces are connected

What is Topology The study of property of a shape that does not change under deformation Rules of deformation 1-1 and onto Bicontinuous(continuous both ways) Cannot tear, join, poke or seal holes A is homeomorphicto B

Why is Topology Important? What is the boundaryof an object? Are there holesin the object? Is the object hollow? If the object is transformed in some way, are the changes continuousor abrupt? Is the object bounded, or does it extend infinitely far?

Why is Topology Important? Inherent and basic properties of a shape We want to accurately represent and preserve these properties in different applications Surface reconstruction Morphing Texturing Simplification Compression Image source: http://www.utdallas.edu/~xxg06 1000/physicsmorphing.htm

Topology-Basic Concepts n-manifold Set of points Each point has a neighborhood homeomorphicto an open set of An n-manifoldis a topological space that locally looks like the Euclidian space

Topology-Basic Concepts Holes/genus Genus of a surface is the maximal number of nonintersecting simple closed curves that can be cut on the surface without disconnecting it. Boundaries

Topology-Basic Concepts Euler s characteristic function χ χ #vertices, #edges, #faces χ is independent of the polygonization Specifically, χ 2 2 What are c, g, and h? χ = 2 χ = 0

Topology-Basic Concepts Orientability Any surface has a triangulation Orient all triangles CW or CCW Orientability: any two triangles sharing an edge have opposite directions on that edge. Can distinguish in and out of the surface

Morse Theory Investigates the topology of a surface by looking at critical points of a function on that surface. 0 :

Morse Functions A function is a Morse function if is smooth All critical points are isolated All critical points are non-degenerate det "#$$%&'( 0 Hessian f ( p) 2 2 f f ( p) ( p) 2 x x y f f ( p) ( p) 2 y x y = 2 2 A non-morse function can be made Morse by adding small but random noise

Notion of Critical Points Points where * vanishes Minima, maxima, and saddles Correspond to places where the topology of the function changes The function behavior can be illustrated by isolines/level sets on the domain Level set of a given value % +, % %.

Example dunking a doughnut ( / (height function) Shape analysis is a special case of scalar field analysis

Example dunking a doughnut

Example dunking a doughnut

Example dunking a doughnut

Example dunking a doughnut

Example dunking a doughnut

Notion of Critical Point Points where * vanishes Minima, maxim, and saddles Topological changes Piecewise linear interpolation Barycentric coordinates on triangles Only exist at vertices

Notion of Critical Point Combinatorial identification One-ring neighborhood (or a star) of a vertex 0 Triangles and edges that adjacent to 0

Notion of Critical Point Combinatorial identification One-ring neighborhood (or a star) of a vertex 0 Triangles and edges that adjacent to 0 Link of a vertex Edges of the star that do not adjacent to 0

Notion of Critical Point Combinatorial identification Lower link of 0 Edges of the link of 0whose function values are strictly smaller than 0

Notion of Critical Point Combinatorial identification Lower link of 0 Edges of the link of 0whose function values are strictly smaller than 0 Upper link of 0 Edges of the link of 0whose function values are strictly larger than 0

Notion of Critical Point Combinatorial identification Minima Empty lower link

Notion of Critical Point Combinatorial identification Minima Empty lower link Maxima Empty upper link

Notion of Critical Point Combinatorial identification Minima Empty lower link Maxima Empty upper link Regular point Lower and upper links both simply connected

Notion of Critical Point Combinatorial identification Everything else Saddle Multiple connected lower and upper links Works in arbitrary dimension if replace triangles, edges, and vertices with simplices

Notion of Critical Point Combinatorial identification Everything else Saddle Multiple connected lower and upper links Works in arbitrary dimension if replace triangles, edges, and vertices with simplices Value of a critical point critical value

How Does it Work? Morse function is defined as the height function (i.e. z coordinates) Level sets obtaining by sweeping along Z direction

Review of Level Sets Given a domain of dimension 1 Levelset of a given value %, +, % 2 %. If % is not a critical value +, % is a 1 1 manifold If M is closed, +, % is closed. Otherwise it may be open

Level Set Extraction Given a triangular mesh 5and a scalar function, the level set of a given value $ is compute as follows First, determine the intersections of the level set +, $ with the edges of 5 Second, traverse through all triangles and connect the obtained intersections

Which Edges Intersect with +,? $ 7,$, > $ $ 7,$, < $ $, $ $ 7 $ $ 7 < $ < $, Increasing function values

Determine Intersections with Edges Does +, $ cross any edges of this square? Linearly interpolating the scalar value from node 0 to node 1 gives: ; 1 < ; 7 <;, ; 7 <;, ; 7 where 0.> < > 1. Setting this interpolated ;equal to ; and solving for <gives: < ; ; 7 ;, ; 7

Determine Intersections with Edges < ; ; 7 ;, ; 7 If 0. t* 1., then S* crosses this edge. You can compute where S* crosses the edge by using the same linear interpolation equation you used to compute S*. You will need that for later visualization.? 1 <? 7 <?, @ 1 < @ 7 < @,

No intersection Connect Intersections

Connect Intersections No intersection Two intersections

Connect Intersections No intersection Two intersections One or three intersections

Connect Intersections No intersection Two intersections One or three intersections Invalid

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function :

ReebGraph Given a Morse function : Reeb graph Contour retraction of under

ReebGraph Verticesof the graph are critical points Arcsof the graph are connected components (cylinders in domain)of the level sets of f, contractedto points

ReebGraph Properties Continuous 1-dimensional simplical complex Extrema: valence 1 Saddles in 2D: valence 3 or 4 (boundary) Saddles in nd: valence 2 or 3 In practice: Arcs: collection of vertices Simply connected domains: Carr00 Otherwise: Pascucci07, Tierny09, Parsa12

Reeb graphs and genus The number of loops in the Reebgraph is equal to the surface genus To count the loops, simplify the graph by contracting degree-1 vertices and removing degree-2 vertices degree-2

Compute ReebGraph Using Cylinder Maps Cylinders in domain map to arcs in Reebgraph Two step algorithm Step I: Locate critical points Sort the critical points based on their scalar value compute the critical level set corresponding to each critical point [Natarajan 2011]

Step II -Connect Critical Points Cylinder represents evolution of one level set component Trace all level set components within a cylinder in an iteration [Natarajan 2011]

Step II -Connect Critical Points ls-graph: stores adjacencies between triangles For each component Start with a triangle in the component attaching to the upper link of a critical point Traverse the edges until a triangle in a critical level set is reached Insert corresponding arc in the Reebgraph [Natarajan 2011]

ReebGraph Visualization Embedded layout [Natarajan 2011]

Some More ReebGraph Examples

Discretized ReebGraph Take the critical points and samples in between Robust because we know that nothing happens between consecutive critical points

Reeb graphs for Shape Matching Reeb graph encodes the behavior of a Morse function on the shape Also tells us about the topology of the shape Take a meaningful function and use its Reeb graph to compare between shapes!

Choose the right Morse function The height function f (p) = zis not good enough not rotational invariant Not always a Morse function

Average geodesic distance The idea of [Hilaga et al. 01]: use geodesic distance for the Morse function! g( p) = geodist( p, q) ds f ( p) = M g( p) min g( q) q M max g( q) q M

Multi-res Reeb graphs Hilaga et al. use multiresolutional Reeb graphs to compare between shapes Multiresolution hierarchy by gradual contraction of vertices

ReebGraph Applications

ReebGraph Applications

ReebGraph Applications Mesh segmentation [Zhang et al. 2003]

ReebGraph Applications

Additional Reading for ReebGraph V. Pascucci, G. Scorzelli, P.-T. Bremer, and A. Mascarenhas, Robust On-line Computation of ReebGraphs: Simplicity and Speed, ACM Transactions on graphics, pp. 58.1-58.9, Proceedings of SIGGRAPH 2007. S. Biasotti, D. Giorgi, M. Spagnuolo, and B. Falcidieno, Reebgraphs for shape analysis and applications, Theor. Comput. Sci. 392(1-3): 5-22, 2008. J. Tierny, A. Gyulassy, E. Simon, and V. Pascucci, Loop surgery for volumetric meshes: Reebgraphs reduced to contour trees. IEEE TVCG, Vol. 15 (6) : 1177-1184, 2009. H. Doraiswamy and V. Natarajan. Output-sensitive construction of Reeb graphs, IEEE Transactions on Visualization and Computer Graphics, 18(1), 2012, 146-159

Acknowledgment Part of the materials in this lecture notes are from Prof. Eugene Zhang Prof. Vijay Natarajan Dr. Julien Tierny