advanced computer graphics (spring 2006) coms 4162, lecture 8: intro to 3d objects, meshes ravi...
Post on 19-Dec-2015
217 views
TRANSCRIPT
![Page 1: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/1.jpg)
Advanced Computer Graphics Advanced Computer Graphics (Spring 2006) (Spring 2006)
COMS 4162, Lecture 8: Intro to 3D objects, meshes
Ravi Ramamoorthi
http://www.cs.columbia.edu/~cs4162
![Page 2: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/2.jpg)
Course OutlineCourse Outline
3D Graphics Pipeline
Rendering(Creating, shading images from geometry, lighting, materials)
Modeling(Creating 3D Geometry)
![Page 3: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/3.jpg)
Course OutlineCourse Outline
3D Graphics Pipeline
Rendering(Creating, shading images from geometry, lighting, materials)
Modeling(Creating 3D Geometry)
Unit 1: Foundations of Signal and Image ProcessingUnderstanding the way 2D images are formed and displayed, the important concepts and algorithms, and to build an image processing utility like PhotoshopWeeks 1 – 3. Assignment 1 due Feb 16
Unit 2: Meshes, ModelingWeeks 4 – 6. Ass 2 due Mar 19
![Page 4: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/4.jpg)
To Do To Do
Assignment 2, Due Mar 19 (or Mar 12 if away spr brk). Start reading and working on it now. Some parts you can
do now, and after first few lectures.
Any difficulties (finding partners etc.) with assignment?
![Page 5: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/5.jpg)
ModelingModeling
Spline curves, surfaces: 70s – 80s
Utah teapot: Famous 3D model
More recently: Triangle meshes often acquired from real objects
![Page 6: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/6.jpg)
Relevance to CourseRelevance to Course
Covered Bezier, B-spline curves for modeling in 4160Will talk briefly about NURBS, surfaces in 4162
Main idea is to talk about mesh processing algs.
Will learn to represent, work with meshes
Do mesh simplification, progressive meshes
![Page 7: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/7.jpg)
Progressive Mesh MovieProgressive Mesh Movie
![Page 8: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/8.jpg)
Outline for TodayOutline for Today
Overview of types of 3D representations
3D objects can be represented in a variety of ways. We survey these today
Before talking specifically about polygon meshes, which are often most common way
Not well covered in text (section 12 is closest, but style very different)Worth reading section 11.1 on polygon meshes
Much of material in this lecture courtesy Szymon Rusinkiewicz
![Page 9: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/9.jpg)
3D Objects3D Objects
How can this object be represented in a computer?How can this object be represented in a computer?
![Page 10: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/10.jpg)
3D Objects3D Objects
This one?This one?H&B Figure 10.46H&B Figure 10.46
![Page 11: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/11.jpg)
3D Objects3D Objects
How about this one?How about this one?
![Page 12: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/12.jpg)
3D Objects3D Objects
This one?This one?
H&B Figure 9.9H&B Figure 9.9
![Page 13: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/13.jpg)
Types of 3D object dataTypes of 3D object data
Polygon meshes for complex real-world objects
Spline patches from modeling programs
Volume data or voxels (e.g. visible human project)
Machine parts (Constructive Solid Geometry)
And a few more
All have advantages, disadvantages. Increasingly, meshes are easiest to use and simplest
![Page 14: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/14.jpg)
Types of 3D object dataTypes of 3D object data
Polygon meshes for complex real-world objects
Spline patches from modeling programs
Volume data or voxels (e.g. visible human project)
Machine parts (Constructive Solid Geometry)
And a few more
All have advantages, disadvantages. Increasingly, meshes are easiest to use and simplest
![Page 15: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/15.jpg)
ComparisonsComparisons
Efficient hardware rendering (meshes simple)
Manipulation (edit, simplify, compress etc.) Splines easiest originally, but now many algorithms for
polygon meshes
Acquisition or Modeling Splines, CSG originally used for modeling But increasingly, complex meshes acquired from real
world
Compactness
Simplicity (meshes win big here)
![Page 16: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/16.jpg)
Point CloudPoint Cloud
Unstructured samples
Advantage: simplicity
Disadvantage: no information onadjacency / connectivity Have to use e.g.
k-nearest neighbors
Increasingly hot topic in graphics today
HoppeHoppe
![Page 17: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/17.jpg)
Range ImageRange Image
Image: stores an intensity / color alongeach of a set of regularly-spaced rays in space
Range image: stores a depth alongeach of a set of regularly-spaced rays in space
Obtained using devices known as range scanners
Advantages: Uniform (?) parameterization Adjacency / connectivity information
![Page 18: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/18.jpg)
Cyberware whole body 3D scannerCyberware whole body 3D scanner
![Page 19: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/19.jpg)
Range ImageRange Image
Not a complete 3D description: does not include part of object occluded from viewpoint
Range ImageRange Image TessellationTessellation Range SurfaceRange Surface CurlessCurless
![Page 20: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/20.jpg)
Range ImageRange Image
Adjacency in range image adjacency on surface
![Page 21: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/21.jpg)
Avoid connecting across these discontinuities Heuristic: depth threshold
Range ImageRange Image
Adjacency in range image adjacency on surface
![Page 22: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/22.jpg)
Range Image TerminologyRange Image Terminology
Range images
Range surfaces
Depth images
Depth maps
Height fields
2½-D images
Surface profiles
xyz maps
…
![Page 23: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/23.jpg)
Polygon SoupPolygon Soup
Unstructured set of polygons: Often the output of interactive modeling systems Often sufficient for rendering, but not other operations
LarsonLarson
![Page 24: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/24.jpg)
MeshMesh
Connected set of polygons (usually triangles) May not be closed Representation (simplest): Vertices, Indexed Face Set Focus of your assignment and easy to work with
CurlessCurless
![Page 25: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/25.jpg)
Subdivision SurfaceSubdivision Surface
Coarse mesh + subdivision rule Smooth surface is limit of refinements
Zorin & SchroderZorin & Schroder
![Page 26: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/26.jpg)
Current ResearchCurrent Research
All representations described are widely used, and topics of current research
Range images, and combinations to construct entire surfaces widely used (3D photography, 3D objects in movies, …)
Triangle meshes perhaps most common
Subdivision surfaces commonly used in movies, …
Point clouds becoming increasingly relevant
Replace older representations in many cases (parametric, spline patches, CSG, etc.)
![Page 27: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/27.jpg)
Parametric SurfaceParametric Surface
Tensor product spline patches Careful constraints to maintain continuity
FvDFHFvDFH
![Page 28: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/28.jpg)
Implicit SurfacesImplicit Surfaces
Points satisfying: F(x,y,z) = 0
Polygonal ModelPolygonal Model Implicit ModelImplicit Model
LorensenLorensen
![Page 29: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/29.jpg)
Why Implicit Surfaces?Why Implicit Surfaces?
Function usually sampled regularly (voxel grid)
Can guarantee that model is hole-free
Easy to change topology
Algorithms must traverse volume: slow
More space than parametric representation
![Page 30: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/30.jpg)
VoxelsVoxels
Uniform grid of occupancy, density, etc. Often acquired from CAT, MRI, etc.
FvDFH Figure 12.20FvDFH Figure 12.20
Stanford Graphics LaboratoryStanford Graphics Laboratory
![Page 31: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/31.jpg)
CConstructive onstructive SSolid olid GGeometryeometry
Hierarchy of boolean operations (union, difference, intersect) applied to simple shapes
FvDFH Figure 12.27FvDFH Figure 12.27 H&B Figure 9.9H&B Figure 9.9
![Page 32: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/32.jpg)
Scene GraphScene Graph
Union of objects at leaf nodes
Bell LaboratoriesBell Laboratories
avalon.viewpoint.comavalon.viewpoint.com
![Page 33: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/33.jpg)
SkeletonSkeleton
Graph of curves with radii
Stanford Graphics LaboratoryStanford Graphics LaboratorySGISGI
![Page 34: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/34.jpg)
Application-Specific ModelsApplication-Specific Models
Domain-specific semantic information + geometry
Apo A-1(Theoretical Biophysics Group,
University of Illinois at Urbana-Champaign)
Architectural FloorplanArchitectural Floorplan(CS Building, Princeton University)(CS Building, Princeton University)
![Page 35: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/35.jpg)
3D Objects3D Objects
How can this object be represented in a computer?How can this object be represented in a computer?
![Page 36: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/36.jpg)
3D Objects3D Objects
This one?This one?H&B Figure 10.46H&B Figure 10.46
![Page 37: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/37.jpg)
3D Objects3D Objects
How about this one?How about this one?
![Page 38: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/38.jpg)
3D Objects3D Objects
This one?This one?
H&B Figure 9.9H&B Figure 9.9
![Page 39: Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi cs4162](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d375503460f94a10106/html5/thumbnails/39.jpg)
Outline for TodayOutline for Today
Overview of types of 3D representations
3D objects can be represented in a variety of ways. We survey these today
Before talking specifically about polygon meshes, which are often most common way (next lecture)
Not well covered in text (section 12 is closest, but style very different)Worth reading section 11.1 on polygon meshes
Much of material in this lecture courtesy Szymon Rusinkiewicz