© 97 N. Holzschuch 3D objects representation and data structure Dr Nicolas Holzschuch University of Cape Town

Slides:



Advertisements
Similar presentations
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Building Models modified by Ray Wisman Ed Angel Professor of Computer Science,
Advertisements

CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
CompSci 102 Discrete Math for Computer Science April 19, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
11-1 Space Figures and Cross Sections
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
1 CSCE 441: Computer Graphics Hidden Surface Removal (Cont.) Jinxiang Chai.
Polygonal Meshes 3D Object Representation -Tyler Abrams.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
The edge buffer : A data structure for easy silhouette rendering by John W. Buchanan and Mario C. Sousa.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
©Larry F. Hodges (modified by Amos Johnson) 1 Shading Models.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 10: Mesh simplification Ravi Ramamoorthi Many slides courtesy.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Other Rendering Techniques Types of rendering – Wireframe techniques – Scan-line conversion – Reyes.
2D transformations and homogeneous coordinates Dr Nicolas Holzschuch University of Cape Town Modified.
CS 2813 Discrete Structures
CS-321 Dr. Mark L. Hornick 1 3-D Object Modeling.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
Mesh Representation, part I
Rasterizing primitives: know where to draw the line Dr Nicolas Holzschuch University of Cape Town Modified.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
CS 325 Introduction to Computer Graphics 03 / 08 / 2010 Instructor: Michael Eckmann.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
COMP 261 Lecture 16 3D Rendering. input: set of polygons viewing direction direction of light source(s) size of window. output: an image Actions rotate.
Defining complex objects Dr Nicolas Holzschuch University of Cape Town Modified by Longin Jan Latecki.
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 Dr. Scott Schaefer Surface Simplification. 2/32 Surface Simplification Given a closed polygon model, reduce the number of polygons and maintain appearance.
3D transformations Dr Nicolas Holzschuch University of Cape Town Modified by Longin Jan Latecki
Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930.
Computer Graphics Basic 3D Geometry CO2409 Computer Graphics Week 5-1.
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 8 Ravi Ramamoorthi
Graph.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
Projections and Perspectives Dr Nicolas Holzschuch University of Cape Town Modified by Longin Jan Latecki.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 7 Ravi Ramamoorthi
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness)
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
3D Object Representations graphics scenes contain solid geometric objects trees, flowers, clouds, rocks, water representations surface ↔interior models.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Computing & Information Sciences Kansas State University Lecture 31 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 32 of 42 Wednesday, 11.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Programming with OpenGL Part 4: Color and Attributes Isaac Gang University.
1 Planes, Polygons and Objects ©Anthony Steed
polyhedron a three- dimensional figure whose surfaces are polygons faces edge vertex.
11-1 Space Figures and Cross Sections Objectives To recognize polyhedra and their parts To visualize cross sections of space figures.
2 3D Viewing Process  3D viewing process MC Model Space Model Transformation Model Transformation WC World Space Viewing Transformation Viewing Transformation.
Advanced Computer Graphics (Spring 2013) Mesh representation, overview of mesh simplification Many slides courtesy Szymon Rusinkiewicz.
Welcome! Cinda Heeren Lecturer Department of CS UIUC The Beauty of Computer Science.
Solid Modeling Dr. Scott Schaefer.
3D Object Representations. Introduction Line and circle and polygon algorithms- represented simple and smooth object. Some Natural object are neither.
Clipping Polygons Dr Nicolas Holzschuch University of Cape Town Modified by Longin Jan Latecki
ATCM 3310 Procedural Animation
CSC461: Lecture 23 Shading Computation
Fall 2012 Longin Jan Latecki
Procedural Animation Lecture 3: Types of 3D models
Procedural Animation Lecture 6: Mapping
ATCM 6317 Procedural Animation
3D transformations Dr Nicolas Holzschuch University of Cape Town
Discrete Mathematics for Computer Science
Overlay of Two Subdivisions
Projections and Perspectives
Clipping Polygons Lecture 31 Fri, Nov 9, 2007.
DAGs Longin Jan Latecki
Presentation transcript:

© 97 N. Holzschuch 3D objects representation and data structure Dr Nicolas Holzschuch University of Cape Town Modified by Longin Jan Latecki Sep. 18, 2002

© 97 N. Holzschuch Map of the lecture Object representations in 3D –internal/external Data structure –vertex list, edge list, winged edge Plane equation –computing the plane equation

© 97 N. Holzschuch Objects representation In application model Will be modified by the application Ultimately, will be send for display Must be adapted for both tasks

© 97 N. Holzschuch Sending to display Need the list of faces, with list of vertices for each face Redundant information not a problem –one vertex may appear several times Neighboring information not needed Data structure: –list of faces –list of vertices for each face

© 97 N. Holzschuch Access by the application Modification of the application model –moving vertices –adding new faces –adding new vertices –redundant information is excluded Needs neighboring information –for coloring –for computing average normals (shading)

© 97 N. Holzschuch Internal vs. external External data structure: –used for display –can be very simple Internal data structure –will have complex manipulations –must provide for these manipulations

© 97 N. Holzschuch Vertex list List of faces For each face: –list of pointers to vertices Good points: –redundancy removed. Space saved. Bad points: –find which polygons share an edge, or a given vertex?

© 97 N. Holzschuch Edge list For each face: –list of pointers to edges For each edge: –the two polygons sharing it –the two vertices Neighboring information available –faces adjacent to an edge

© 97 N. Holzschuch Edge list: shortcomings List of polygons sharing a vertex? I move a vertex: –I need to find which edges share this vertex –must go through the whole list I add a face, an edge: –must go through the whole list

© 97 N. Holzschuch Winged-edge data structure Polygon 1 Polygon 2 Edge 1 V1 V2 E2 E3 E4 E5

© 97 N. Holzschuch Winged-edge data structure Each vertex also has a pointer to one of its edges Each face has a pointer to one of its edges Efficient: –faces adjacent to one vertex –edges adjacent to one vertex

© 97 N. Holzschuch Plane equation Each face is a planar polygon Plane equation: ax+by+cz+d = 0 Normal to the plane: ( a,b,c ) Finding the equation?

© 97 N. Holzschuch Finding a plane equation Plane defined by three points: P1,P2,P3 First, find the normal: n = P1P2 ^ P1P3 If n =0? then it isn’t a plane n gives a, b and c Find d using P1

© 97 N. Holzschuch Using a plane equation n is fundamental: –defines a front and a back –M is in front of the plane: P1M n  0 –M is behind the plane: P1M n  0 Same classification using the equation: ax+by+cz+d  0

© 97 N. Holzschuch 3D objects: conclusion Data structure essential –must be adapted to the task –trivial data structure sufficient for display –more complex data structure required for application Plane equation