Geometric Processing CS 148: Summer 2016 Introduction of Graphics and Imaging Zahid Hossain https://en.wikipedia.org/wiki/Ray_tracing_%28graphics%29
Final Project • Milestone 1: • Get to the crux of the project by this milestone • 5% grade on the milestone (out of 20%) ! • Very short writeup – mainly screenshot/images • Final Project Report • Due 12 th Aug by 11:59PM. • Website (encouraged) or PDF 2 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Primitive for Rendering Triangles 3 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Primitive for Rendering Triangles 4 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
What Do We Want? Higher-level representation of curves and surfaces that can generate triangles easily. 5 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Polygonal Mesh • Piecewise linear approximation of smooth surface • Error O(h 2 ) • Efficient Rendering 6 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Triangle Mesh as Graph B A G = graph = < V, E > E F V = vertices = { A , B , C , …, K } D C E = edges = {( AB ), ( AE ), ( CD ), …} I H F = faces = {( ABE ), ( DHJG ), …} G K J 7 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Triangle Meshes • Geometry: Vertex Positions • Connectivity: Edges, Triangles/Faces 8 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Planar Graphs Planar Graph = Graph whose vertices and edges can be embedded in R 2 such that its edges do not intersect Planar Graph Plane Graph Straight Line Plane Graph B B B D D D A A A C C C 9 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Triangulation Triangulation : Straight line plane graph where every face is a triangle . 10 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Graph Embedding Embedding : G is embedded in R d , if each vertex is assigned a position in R d Embedded in R 2 Embedded in R 3 11 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Vertex Degree/Valence B Vertex degree or valence = A number of incident edges E deg( A ) = 4 F D C deg( E ) = 5 I H G Regular mesh = all vertex degrees are equal K J 12 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Mesh Vocabulary Mesh : straight-line graph embedded in R 3 Boundary edge : B C adjacent to exactly one face A L M D J Regular edge: I adjacent to exactly two faces H E K Singular edge : F G adjacent to more than two faces Closed mesh: mesh with no boundary edges 13 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Topology [t uh -pol- uh -jee]: The study of geometric properties that remain invariant under certain transformations 14 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Topology and Geometry Geometry: This vertex is at (x,y,z) Topology: These vertices are connected 15 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Global Topology: Genus Genus: Half the maximal number of closed paths that do not disconnect the mesh (= the number of holes) Genus 0 Genus 1 Genus 2 16 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Genus: Coffee Mug and Donut Both: Genus = 1 17 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Euler-Poincaré formula 18 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Euler-Poincaré formula 19 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Euler-Poincaré formula 20 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Special Case: Connected Planar Graph Count the outer ”face” too 21 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Counting (Closed Mesh) 22 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Counting (Closed Mesh) 23 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Counting (Closed Mesh) Show that the average Degree/Valence of a large mesh is ~6 ! 24 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
2D Manifold [rastərʌɪz]: Rasterize [rastərʌɪz] : A 2D manifold is a surface that when cut with a small sphere, always yields a disk To convert vector data to raster format. Disc-like neighborhood 25 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Non-Manifold 26 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Properties of Manifold • A edge connects exactly two faces • An edge connects exactly two vertices • A face consists of a ring of edges and vertices • A vertex consists of a ring of edges and vertices 27 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Differential Geometry Looks like a plane Looks like a line 28 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Mesh Data Structure 29 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Shared Vertices Triangles (Vertex Indices) Vertex Coord List 2 0 1 (10,5,20) … … … (20,0,20) (18,10,20) … 30 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Shared Vertices Triangles (Vertex Indices) Vertex Coord List 2 0 1 (10,5,20) … … … (20,0,20) (18,10,20) … • Connectivity • No neighborhood • Is v 1 adjacent to v 5 ? • Is f 2 adjacent to f 1 ? • Requires a full-pass over all faces 31 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Data Structure Requirement • What it should support ? • Geometric Inquires • What are the vertices of face #2 ? • Is vertex A adjacent to vertex H ? • Which faces are adjacent to face #1 • Modifications • Add/remove a vertex/face • Vertex split, edge collapse 32 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Data Structure Requirement • What it should support ? • Geometric Inquires • What are the vertices of face #2 ? • Is vertex A adjacent to vertex H ? • Which faces are adjacent to face #1 • Modifications • Add/remove a vertex/face • Vertex split, edge collapse There are many data structures 33 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Halfedge Data Structure • Vertex Stores • Position • One outgoing halfedge (1) http://www.openmesh.org/Documentation/OpenMesh-Doc-Latest/a00016.html 34 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Halfedge Data Structure • A Face Stores • 1 halfedge bounding to it (2) http://www.openmesh.org/Documentation/OpenMesh-Doc-Latest/a00016.html 35 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Halfedge Data Structure • A halfedge stores • The vertex it points to (3) • The face is belongs to (4) • The next halfedge inside the face (5) • The opposite halfedge (6) • (optional) previous half edge in the face(7) http://www.openmesh.org/Documentation/OpenMesh-Doc-Latest/a00016.html 36 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Halfedge: Neighborhood Traversal http://www.openmesh.org/media/Documentations/OpenMesh-2.0-Documentation/mesh_navigation.html 37 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Data Structure: Adjacency Matrix Symmetric • 𝐵 " #,% : # paths of length n from 𝑤 # to 𝑤 % • Related to Laplacian ( Put −deg (𝑤 # ) in 𝐵(𝑗, 𝑗) ) for spectral analysis • Pros: • Can represent non-manifold meshes • Cons: • Non Connection between a vertex and its adjacent faces • 38 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Subdivision 39 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Subdivision Surfaces Mainly for mesh smoothing 40 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Subdivision Rules: 1D Approximation Curve: Depends on the rule 41 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Chaikin’s Corner Cutting Method 42 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Chaikin’s Corner Cutting Method http://www.idav.ucdavis.edu/education/CAGDNotes/Chaikins-Algorithm.pdf 43 CS 148: Introduction to Computer Graphics and Imaging (Summer 2016) – Zahid Hossain
Recommend
More recommend