Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.

Slides:



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

Overview of 3D Object Representations Thomas Funkhouser Princeton University C0S 597D, Fall 2003.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 14: Review / Subdivision Ravi Ramamoorthi Slides courtesy.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
Jehee Lee Seoul National University
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Graphics Graphics Korea University cgvr.korea.ac.kr 3D Object Representation 고려대학교 컴퓨터 그래픽스 연구실.
CS Peter Schröder Subdivision I: The Basic Ideas.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi
GATE D Object Representations (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Polygonal Meshes 3D Object Representation -Tyler Abrams.
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
11/08/00 Dinesh Manocha, COMP258 Subdivision Curves & Surfaces Work of G. de Rham on Corner Cutting in 40’s and 50’s Work of Catmull/Clark and Doo/Sabin.
Scott Schaefer Joe Warren A Factored, Interpolatory Subdivision for Surfaces of Revolution Rice University.
Introduction to Boolean Operations on Free-form Solids CS284, Fall 2004 Seung Wook Kim.
Modeling Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006 (Slide set originally by Greg Humphreys)
00/4/103DVIP-011 Part Three: Descriptions of 3-D Objects and Scenes.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
11/30/04© University of Wisconsin, CS559 Fall 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation.
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 Spline curves 1/23 Curves and Surfaces.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Wednesday, February 23, 2000 William H. Hsu Department.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
Disediakan oleh Suriati bte Sadimon GMM, FSKSM, UTM, 2004 SOLID MODELLING.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
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 Manifolds from meshes Cindy Grimm and John Hughes, “Modeling Surfaces of Arbitrary Topology using Manifolds”, Siggraph ’95 J. Cotrina Navau and N. Pla.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Introduction to Computer Graphics: Object Representation Rama C Hoetzlein, 2010 Univ. of California Santa Barbara Lecture Notes.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Representation and modeling of 3D objects (basic concepts) FMFI UK Katedra počítačovej grafiky a spracovania obrazu Marek.
Solid Modeling Ref. Mantyla. Introduction Aim of modeling: The search of a media of communication.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 7 Ravi Ramamoorthi
Lee Byung-Gook Dongseo Univ.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall D Object Representations Greg Humphreys University of Virginia CS 445, Fall 2003.
Parametric Curves & Surfaces
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
Three-Dimensional Object Representation
Subdivision Surfaces Dr. Scott Schaefer.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
1/57 CS148: Introduction to Computer Graphics and Imaging Geometric Modeling CS148 Lecture 6.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Advanced Computer Graphics (Spring 2013) Mesh representation, overview of mesh simplification Many slides courtesy Szymon Rusinkiewicz.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
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.
Slide 1Lecture Fall ‘00 Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
APE'07 IV INTERNATIONAL CONFERENCE ON ADVANCES IN PRODUCTION ENGINEERING June 2007 Warsaw, Poland M. Nowakiewicz, J. Porter-Sobieraj Faculty of.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
CS552: Computer Graphics Lecture 28: Solid Modeling.
Computer graphics 3D solid modeling.
Advanced Computer Graphics
3D Object Representations
3D Object Representation
The Variety of Subdivision Schemes
Descriptions of 3-D Objects and Scenes
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
3D Object Representation
Overview of Modeling 김성남.
Last Time B-splines Project 3 was made available
Presentation transcript:

Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003

Modeling How do we...  Represent 3D objects in a computer?  Construct 3D representations quickly/easily?  Manipulate 3D representations efficiently? Different representations for different types of objects

3D Object Representations Raw data  Voxels  Point cloud  Range image  Polygons Surfaces  Mesh  Subdivision  Parametric  Implicit Solids  Octree  BSP tree  CSG  Sweep High-level structures  Scene graph  Skeleton  Application specific

Equivalence of Representations Thesis:  Each fundamental representation has enough expressive power to model the shape of any geometric object  It is possible to perform all geometric operations with any fundamental representation! Analogous to Turing-Equivalence:  All computers today are turing-equivalent, but we still have many different processors

Computational Differences Efficiency  Combinatorial complexity  Space/time trade-offs  Numerical accuracy/stability Simplicity  Ease of acquisition  Hardware acceleration  Software creation and maintenance Usability  Designer interface vs. computational engine

3D Object Representations Raw data  Voxels  Point cloud  Range image  Polygons Surfaces  Mesh  Subdivision  Parametric  Implicit Solids  Octree  BSP tree  CSG  Sweep High-level structures  Scene graph  Skeleton  Application specific

Surfaces What makes a good surface representation?  Accurate  Concise  Intuitive specification  Local support  Affine invariant  Arbitrary topology  Guaranteed continuity  Natural parameterization  Efficient display  Efficient intersections H&B Figure 10.46

Subdivision Surfaces Properties:  Accurate  Concise  Intuitive specification  Local support  Affine invariant  Arbitrary topology  Guaranteed continuity  Natural parameterization  Efficient display  Efficient intersections Pixar

Subdivision How do you make a smooth curve? Zorin & Schroeder SIGGRAPH 99 Course Notes

Subdivision Surfaces Coarse mesh & subdivision rule  Define smooth surface as limit of sequence of refinements Zorin & Schroeder SIGGRAPH 99 Course Notes

Key Questions How refine mesh?  Aim for properties like smoothness How store mesh?  Aim for efficiency for implementing subdivision rules Zorin & Schroeder SIGGRAPH 99 Course Notes

Loop Subdivision Scheme How refine mesh?  Refine each triangle into 4 triangles by splitting each edge and connecting new vertices Zorin & Schroeder SIGGRAPH 99 Course Notes

Loop Subdivision Scheme How position new vertices?  Choose locations for new vertices as weighted average of original vertices in local neighborhood Zorin & Schroeder SIGGRAPH 99 Course Notes What if vertex does not have degree 6?

Loop Subdivision Scheme Rules for extraordinary vertices and boundaries: Zorin & Schroeder SIGGRAPH 99 Course Notes

Loop How to choose  ?  Analyze properties of limit surface  Interested in continuity of surface and smoothness  Involves calculating eigenvalues of matrices »Original Loop »Warren

Loop Subdivision Scheme Zorin & Schroeder SIGGRAPH 99 Course Notes Limit surface has provable smoothness properties!

Subdivision Schemes There are different subdivision schemes  Different methods for refining topology  Different rules for positioning vertices »Interpolating versus approximating Zorin & Schroeder, SIGGRAPH 99, Course Notes

Subdivision Schemes Zorin & Schroeder SIGGRAPH 99 Course Notes

Subdivision Schemes Zorin & Schroeder SIGGRAPH 99 Course Notes

Key Questions How refine mesh?  Aim for properties like smoothness How store mesh?  Aim for efficiency for implementing subdivision rules Zorin & Schroeder SIGGRAPH 99 Course Notes

Polygon Meshes Mesh Representations  Independent faces  Vertex and face tables  Adjacency lists  Winged-Edge

Independent Faces Each face lists vertex coordinates  Redundant vertices  No topology information

Vertex and Face Tables Each face lists vertex references  Shared vertices  Still no topology information

Adjacency Lists Store all vertex, edge, and face adjacencies  Efficient topology traversal  Extra storage

Partial Adjacency Lists Can we store only some adjacency relationships and derive others?

Winged Edge Adjacency encoded in edges  All adjacencies in O(1) time  Little extra storage (fixed records)  Arbitrary polygons

Winged Edge Example:

Triangle Meshes Relevant properties:  Exactly 3 vertices per face  Any number of faces per vertex Useful adjacency structure for Loop subdivision:  Do not represent edges explicitly  Faces store refs to vertices and neighboring faces  Vertices store refs to adjacent faces and vertices

Summary Advantages:  Simple method for describing complex surfaces  Relatively easy to implement  Arbitrary topology  Local support  Guaranteed continuity  Multiresolution Difficulties:  Intuitive specification  Parameterization  Intersections