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

Similar documents
Overview of 3D Object Representations

3D Modeling I. CG08b Lior Shapira Lecture 8. Based on: Thomas Funkhouser,Princeton University. Thomas Funkhouser 2000

Overview of 3D Object Representations

3D Object Representation. Michael Kazhdan ( /657)

Polygonal Meshes. 3D Object Representations. 3D Object Representations. 3D Polygonal Mesh. 3D Polygonal Mesh. Geometry background

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

3D Object Representation

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

3D Modeling Parametric Curves & Surfaces

3D Rendering. Course Syllabus. Where Are We Now? Rendering. 3D Rendering Example. Overview. Rendering. I. Image processing II. Rendering III.

Implicit Surfaces & Solid Representations COS 426

Level of Details in Computer Rendering

Rendering. Generate an image from geometric primitives II. Rendering III. Modeling IV. Animation. (Michael Bostock, CS426, Fall99)

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

Advanced Computer Graphics

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

Lecture 3 Mesh. Dr. Shuang LIANG. School of Software Engineering Tongji University Spring 2013

3D Object Representations. COS 526, Fall 2016 Princeton University

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

Surface Modeling. Polygon Tables. Types: Generating models: Polygon Surfaces. Polygon surfaces Curved surfaces Volumes. Interactive Procedural

Character Animation COS 426

Subdivision Surfaces

CS 532: 3D Computer Vision 12 th Set of Notes

Subdivision overview

3D Modeling techniques

polygon meshes polygon meshes representation

Subdivision Surfaces

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Curve Corner Cutting

Multiresolution Meshes. COS 526 Tom Funkhouser, Fall 2016 Slides by Guskov, Praun, Sweldens, etc.

Subdivision Surfaces

Subdivision Curves and Surfaces

CS-184: Computer Graphics

Geometric Representations. Stelian Coros

9. Three Dimensional Object Representations

Advanced 3D-Data Structures

Modeling. Simulating the Everyday World

UNIVERSITY OF CALGARY. Subdivision Surfaces. Advanced Geometric Modeling Faramarz Samavati

Parametric description

An Efficient Data Structure for Representing Trilateral/Quadrilateral Subdivision Surfaces

CS-184: Computer Graphics. Today

Computer Graphics. Prof. Feng Liu. Fall /14/2016

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

Subdivision Curves and Surfaces: An Introduction

Object representation

Lecture notes: Object modeling

Outline. Visualization Discretization Sampling Quantization Representation Continuous Discrete. Noise

Geometric and Solid Modeling. Problems

Joe Warren, Scott Schaefer Rice University

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

Spatial Data Structures

3D Modeling: Surfaces

Modeling 3D Objects: Part 2

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Polygonal Meshes. Thomas Funkhouser Princeton University COS 526, Fall 2016

Curves and Surfaces 2

EECS 487: Interactive Computer Graphics

Spatial Data Structures

Scene Graphs & Modeling Transformations COS 426

Spatial Data Structures

Surface and Solid Geometry. 3D Polygons

Geometric Modeling in Graphics

Geometric modeling 1

Curves, Surfaces and Recursive Subdivision

Polygon Meshes and Implicit Surfaces

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

Introduction and Overview

Polygon Meshes and Implicit Surfaces

CMSC 491A/691A Artistic Rendering. Announcements

Meshes and Manifolds. Computer Graphics CMU /15-662

Example: Loop Scheme. Example: Loop Scheme. What makes a good scheme? recursive application leads to a smooth surface.

CS559: Computer Graphics. Lecture 23: Shape Modeling Li Zhang Spring 2010

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

Subdivision surfaces. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

ERC Expressive Seminar

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

FINAL REPORT. Tessellation, Fairing, Shape Design, and Trimming Techniques for Subdivision Surface based Modeling

Computer Graphics. Prof. Feng Liu. Fall /21/2016

Triangle meshes I. CS 4620 Lecture 2

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

SEOUL NATIONAL UNIVERSITY

Introduction to Geometry. Computer Graphics CMU /15-662

CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher

Geometric Modeling and Processing

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

A Sub-Atomic Subdivision Approach

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

Polygonal Mesh. Geometric object made of vertices, edges and faces. Faces are polygons. Polyhedron. Triangular mesh Quad mesh. Pyramid Cube Sphere (?

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

Constructive Solid Geometry and Procedural Modeling. Stelian Coros

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Honeycomb Subdivision

12.3 Subdivision Surfaces. What is subdivision based representation? Subdivision Surfaces

MODELING AND HIERARCHY

Meshless Modeling, Animating, and Simulating Point-Based Geometry

Transcription:

Subdivision Surfaces Adam Finkelstein Princeton University COS 426, Spring 2003 Course Syllabus I. Image processing II. Rendering III. Modeling IV. Animation Image Processing (Rusty Coleman, CS426, Fall99) Rendering (Michael Bostock, CS426, Fall99) Modeling (Dennis Zorin, CalTech) Animation (Angel, Plate 1) Course Syllabus I. Image processing II. Rendering III. Modeling IV. Animation Image Processing (Rusty Coleman, CS426, Fall99) Rendering (Michael Bostock, CS426, Fall99) Modeling How do we... o Represent 3D objects in a computer? o Construct 3D representations quickly/easily? o Manipulate 3D representations efficiently? Modeling (Dennis Zorin, CalTech) Animation (Angel, Plate 1) Different representations for different types of objects 3D Object Representations Raw data o Voxels o Point cloud o Range image o Polygons Surfaces o Mesh o Subdivision o Parametric o Implicit Solids o Octree o BSP tree o CSG o Sweep High-level structures o Scene graph o Skeleton o Application specific Equivalence of Representations Thesis: o Each fundamental representation has enough expressive power to model the shape of any geometric object o It is possible to perform all geometric operations with any fundamental representation! Analogous to Turing-Equivalence: o All computers today are turing-equivalent, but we still have many different processors

Computational Differences Efficiency o Combinatorial complexity o Space/time trade-offs o Numerical accuracy/stability Simplicity o Ease of acquisition o Hardware acceleration o Software creation and maintenance Usability o Designer interface vs. computational engine 3D Object Representations Raw data o Voxels o Point cloud o Range image o Polygons Surfaces o Mesh o Subdivision o Parametric o Implicit Solids o Octree o BSP tree o CSG o Sweep High-level structures o Scene graph o Skeleton o Application specific Surfaces What makes a good surface representation? o Accurate o Concise o Intuitive specification o Local support o Affine invariant o Arbitrary topology o Guaranteed continuity o Natural parameterization o Efficient display o Efficient intersections Subdivision Surfaces Properties: o Accurate o Concise o Intuitive specification o Local support o Affine invariant o Arbitrary topology o Guaranteed continuity o Natural parameterization o Efficient display o Efficient intersections H&B Figure 10.46 Pixar Subdivision How do you make a smooth curve? Subdivision Surfaces Coarse mesh & subdivision rule o Define smooth surface as limit of sequence of refinements

Key Questions How refine mesh? o Aim for properties like smoothness How store mesh? o Aim for efficiency for implementing subdivision rules How refine mesh? o Refine each triangle into 4 triangles by splitting each edge and connecting new vertices How position new vertices? o Choose locations for new vertices as weighted average of original vertices in local neighborhood Rules for extraordinary vertices and boundaries: What if vertex does not have degree 6? Loop How to choose β? o Analyze properties of limit surface o Interested in continuity of surface and smoothness o Involves calculating eigenvalues of matrices» Original Loop»Warren 1 5 3 β = ( ( + n β = 8 3 8n 3 16 8 1 4 n > 3 n = 3 cos 2π n 2 ) ) Limit surface has provable smoothness properties!

Subdivision Schemes There are different subdivision schemes o Different methods for refining topology o Different rules for positioning vertices» Interpolating versus approximating Subdivision Schemes,, Subdivision Schemes Key Questions How refine mesh? o Aim for properties like smoothness How store mesh? o Aim for efficiency for implementing subdivision rules Polygon Meshes Mesh Representations o Independent faces o Vertex and face tables o Adjacency lists o Winged-Edge Independent Faces Each face lists vertex coordinates o Redundant vertices o No topology information

Vertex and Face Tables Each face lists vertex references o Shared vertices o Still no topology information Adjacency Lists Store all vertex, edge, and face adjacencies o Efficient topology traversal o Extra storage Partial Adjacency Lists Can we store only some adjacency relationships and derive others? Winged Edge Adjacency encoded in edges o All adjacencies in O(1) time o Little extra storage (fixed records) o Arbitrary polygons Winged Edge Example: Triangle Meshes Relevant properties: o Exactly 3 vertices per face o Any number of faces per vertex Useful adjacency structure for Loop subdivision: o Do not represent edges explicitly o Faces store refs to vertices and neighboring faces o Vertices store refs to adjacent faces and vertices

Assignment 3 Interactive editing of subdivision surfaces o Loop subdivision scheme o Partial adjacency list mesh representation o Interactive vertex dragging Assignment 3 Edit coarse mesh while display subdivided mesh Assignment 3 Store hierarchy of meshes o Full triangle mesh at every level o Vertices store references to counterparts one level up and one level down o Enables efficient re-positioning of mesh vertices after interactive dragging Summary Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed continuity o Multiresolution Difficulties: o Intuitive specification o Parameterization o Intersections Level i Level i+1