Modeling

Post on 06-Jan-2016

31 views 1 download

description

Modeling. Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006 (Slide set originally by Greg Humphreys). Outline. Acquisition Seashells Fractals Volumes Constructive Solid Geometry Modeling Programs. Model Construction. Interactive modeling tools CAD programs - PowerPoint PPT Presentation

Transcript of Modeling

Modeling

Aaron BloomfieldCS 445: Introduction to Graphics

Fall 2006(Slide set originally by Greg Humphreys)

OutlineOutline

AcquisitionAcquisition

• SeashellsSeashells

• FractalsFractals

• VolumesVolumes

• Constructive Solid GeometryConstructive Solid Geometry

• Modeling ProgramsModeling Programs

Model Construction

Interactive modeling tools CAD programs Subdivision surface editors :)

Scanning tools CAT, MRI, laser, magnetic, robotic arm, etc.

Computer vision Stereo, motion, etc.

Interactive Modeling Tools

User constructs objects with drawing program Menu commands, direct manipulation, etc. CSG, parametric surfaces, quadrics, etc.

Cosmoworlds, SGI

Interactive Modeling Tools

Example: Mechanical CAD

H&B Figure 9.9

Model Construction

Interactive modeling tools CAD programs Subdivision surface editors :)

Scanning tools Laser, magnetic, robotic arm, etc.

Computer vision Stereo, motion, etc.

Scanning tools

Acquire geometry of objects with active sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm etc.

Stanford Graphics LaboratoryLorensen

Scanning tools

Acquire geometry of objects with active sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm etc.

Dep

thC

olor

Xp (Xc,Yc)

Laser Range Scanning

Stanford Graphics Laboratory

Example: 70 scans Volumetric reconstruction

Scanning tools

Acquire geometry of objects with active sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm etc.

Scanning tools

Acquire geometry of objects with active sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm etc.

Computer Vision

Infer 3D geometry from images Stereo Motion Constraints etc.

Computer Vision

Infer 3D geometry from images Stereo Motion Constraints etc.

Computer Vision

Infer 3D geometry from images Stereo Motion Constraints etc.

Debevec96

Procedural Modeling

Goal: Describe 3D models algorithmically

Best for models resulting from ... Repeating processes Self-similar processes Random processes

Advantages: Automatic generation Concise representation Parameterized classes of models

OutlineOutline

• AcquisitionAcquisitionSeashellsSeashells

• FractalsFractals

• VolumesVolumes

• Constructive Solid GeometryConstructive Solid Geometry

• Modeling ProgramsModeling Programs

Example: Seashells

Create 3D polygonal surface models of seashells

Fowler et al. Figure 7

“Modeling Seashells,” Deborah Fowler, Hans Meinhardt, and Przemyslaw Prusinkiewicz,Computer Graphics (SIGGRAPH 92), Chicago, Illinois, July, 1992, p 379-387.

“Modeling Seashells,” Deborah Fowler, Hans Meinhardt, and Przemyslaw Prusinkiewicz,Computer Graphics (SIGGRAPH 92), Chicago, Illinois, July, 1992, p 379-387.

Example: Seashells

Sweep generating curve around helico-spiral axis

Fowler et al. Figure 1

Helico-spiral definition:

Example: Seashells

Connect adjacent points to form polygonal mesh

Fowler et al. Figure 6

Example: Seashells

Model is parameterized: Helico-spiral: z0,zr0,r Generating curve: shape, Nc,c

Fowler et al. Figure 1

Example: Seashells

Generate different shells by varying parameters

Fowler et al. Figure 2Different helico-spirals

Example: Seashells

Generate different shells by varying parameters

Fowler et al. Figure 3Different generating curves

Example: Seashells

Fowler et al. Figures 4,5,7

Generate many interesting shellswith a simple procedural model!

Generate many interesting shellswith a simple procedural model!

OutlineOutline

• AcquisitionAcquisition

• SeashellsSeashellsFractalsFractals

• VolumesVolumes

• Constructive Solid GeometryConstructive Solid Geometry

• Modeling ProgramsModeling Programs

Fractals

Defining property: Self-similar with infinite resolution

H&B Figure 10.100Mandelbrot Set

Fractals

Useful for describing natural 3D phenomenon Terrain Plants Clouds Water Feathers Fur etc.

H&B Figure 10.80

Fractal Generation

Deterministically self-similar fractals Parts are scaled copies of original

Statistically self-similar fractals Parts have same statistical properties as original

Deterministic Fractal Generation

General procedure: Initiator: start with a shape Generator: replace subparts with scaled copy of original

H&B Figure 10.68

Deterministic Fractal Generation

Apply generator repeatedly

H&B Figure 10.69

Koch Curve

Deterministic Fractal Generation

Mandelbrot Figure X

Useful for creating interesting shapes!

Deterministic Fractal Generation

Mandelbrot Figure 46

Useful for creating interesting shapes!

Deterministic Fractal Generation

H&B Figures 75 & 109

Useful for creating interesting shapes!

Fractal Generation

Deterministically self-similar fractals Parts are scaled copies of original

Statistically self-similar fractals Parts have same statistical properties as original

Statistical Fractal Generation

General procedure: Initiator: start with a shape Generator: replace subparts with a self-similar random

pattern

Random Midpoint Displacement

Statistical Fractal Generation

Example: terrain

H&B Figure 10.83b

Statistical Fractal Generation

H&B Figure 10.83a

Useful for creating mountains

Statistical Fractal Generation

H&B Figure 10.82

Useful for creating 3D plants

Statistical Fractal Generation

H&B Figure 10.79

Useful for creating 3D plants

OutlineOutline

• AcquisitionAcquisition

• SeashellsSeashells

• FractalsFractalsVolumesVolumes

• Constructive Solid GeometryConstructive Solid Geometry

• Modeling ProgramsModeling Programs

Solid Modeling

Represent solid interiors of objects Surface may not be described explicitly

Visible Human(National Library of Medicine)

SUNY Stony Brook

Motivation 1

Some acquisition methods generate solids Example: CAT scan

Stanford University

Motivation 2

Some applications require solids Example: CAD/CAM

Intergraph Corporation

Solid Modeling Representations

What makes a good solid representation? Accurate Concise Affine invariant Easy acquisition Guaranteed validity Efficient boolean operations Efficient display

Lorensen

Voxels

Partition space into uniform grid Grid cells are called a voxels (like pixels)

Store properties of solid object with each voxel Occupancy Color Density Temperature etc.

FvDFH Figure 12.20

Voxel Acquisition

Scanning devices MRI CAT

Simulation FEM

SUNY Stony Brook

Stanford University

Voxel Storage

O(n3) storage for nxnxn grid 1 billion voxels for 1000x1000x1000

Voxel Boolean Operations

Compare objects voxel by voxel Trivial

=

=

Voxel Display

Isosurface rendering Render surfaces bounding volumetric regions of

constant value (e.g., density)

Isosurface VisualizationPrinceton University

Voxel Display

Slicing Draw 2D image resulting from intersecting voxels

with a plane

Visible Human(National Library of Medicine)

Voxel Display

Ray casting Integrate density along rays through pixels

Engine BlockStanford University

Voxels

Advantages Simple, intuitive, unambiguous Same complexity for all objects Natural acquisition for some applications Trivial boolean operations

Disadvantages Approximate Not affine invariant Large storage requirements Expensive display

Quadtrees & Octrees

Refine resolution of voxels hierarchically More concise and efficient for non-uniform objects

Uniform Voxels Quadtree

FvDFH Figure 12.21

Quadtree Boolean Operations

A B

A BA B

FvDFH Figure 12.24

Quadtree Display

Extend voxel methods Slicing Isosurface extraction Ray casting

Finding neighbor cell requires traversal of hierarchy (O(1))

FvDFH Figure 12.25

OutlineOutline

• AcquisitionAcquisition

• SeashellsSeashells

• FractalsFractals

• VolumesVolumesConstructive Solid GeometryConstructive Solid Geometry

• Modeling ProgramsModeling Programs

Constructive Solid Geometry (CSG)

Represent solid object as hierarchy of boolean operations Union Intersection Difference

FvDFH Figure 12.27

CSG Acquisition

Interactive modeling programs CAD/CAM

H&B Figure 9.9

CSG Boolean Operations

Create a new CSG node joining subtrees Union Intersection Difference

FvDFH Figure 12.27

CSG Display & Analysis

Ray casting

Circle Box

Union

OutlineOutline

• AcquisitionAcquisition

• SeashellsSeashells

• FractalsFractals

• VolumesVolumes

• Constructive Solid GeometryConstructive Solid GeometryModeling ProgramsModeling Programs

Popular rendering programs

3D Studio Max ($3.5k) Made by Autodesk (makers of CAD programs) Runs only on Windows (Win32 and Win64) Movies made w/Max: Incredibles, X-Men, Star Wars III, etc.

Maya ($2k or $6k) Made by Alias

Originally by SGI Bought by Autodesk in Oct 2006

Runs on Windows, Linux Blender (free!)

Others are less well known and less used

http://en.wikipedia.org/wiki/Image:3dsmax8Screenshot.jpg

3D Studio Max

Maya

http://en.wikipedia.org/wiki/Image:Autodesk_Maya_8.0_win32.png

http://en.wikipedia.org/wiki/Image:Blender_node_screen_242a.jpg

Blender

Comparison of renderers

http://wiki.cgsociety.org/index.php/Comparison_of_3d_tools

And a better formatted version…

Elephant’s Dream

Downloadable at http://orange.blender.org/ An open movie

Meaning you can download the Blender files that were used to make it Made using only open-source software

Blender, GIMP, CinePaint, Inkscape, etc. Length is 11 minutes (including 90 sec of credits)

That’s 19,800 frames Took a 2.1 TFLOPS supercomputer cluster 125 days to render

Used Bowie State’s XSeed supercomputer Took 9 minutes and 2.8 Gb per frame

An “average” high-end PC has only a “few” GFLOPS (not TFLOPS!) So if you had a 3 Ghz computer w/4 Gb of RAM, it would take over 200 years to

render! Or 3 days per frame Assuming a 3 Gz computer can do 3 TFLOPS (a generous assumption)