Introduction - University of Virginia

advertisement

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

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.

Lorensen Stanford Graphics Laboratory

Scanning tools

Acquire geometry of objects with active sensors

CAT/MRI

Laser range scanner

Magnetic sensor

Robotic arm

 etc.

Xp (Xc,Yc)

Laser Range Scanning

Example: 70 scans

Volumetric reconstruction

Stanford Graphics Laboratory

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

Outline

• Acquisition

 Seashells

• Fractals

• Volumes

• Constructive Solid Geometry

• Modeling Programs

Example: Seashells

Create 3D polygonal surface models of seashells

“Modeling Seashells,”

Deborah Fowler, Hans Meinhardt, and Przemyslaw Prusinkiewicz,

Computer Graphics (SIGGRAPH 92),

Chicago, Illinois, July, 1992, p 379-387.

Fowler et al. Figure 7

Example: Seashells

Sweep generating curve around helico-spiral axis

Helico-spiral definition:

Fowler et al. Figure 1

Example: Seashells

Connect adjacent points to form polygonal mesh

Fowler et al. Figure 6

Example: Seashells

Model is parameterized:

Helico-spiral: z

0

, l z

, r

0

, l r

, N q

, Dq

Generating curve: shape, N c

, l c

Fowler et al. Figure 1

Example: Seashells

Generate different shells by varying parameters

Different helico-spirals

Fowler et al. Figure 2

Example: Seashells

Generate different shells by varying parameters

Different generating curves

Fowler et al. Figure 3

Example: Seashells

Generate many interesting shells with a simple procedural model!

Fowler et al. Figures 4,5,7

Outline

• Acquisition

• Seashells

 Fractals

• Volumes

• Constructive Solid Geometry

• Modeling Programs

Fractals

Defining property:

Self-similar with infinite resolution

Mandelbrot Set H&B Figure 10.100

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

Koch Curve

H&B Figure 10.69

Deterministic Fractal Generation

Useful for creating interesting shapes!

Mandelbrot Figure X

Deterministic Fractal Generation

Useful for creating interesting shapes!

Mandelbrot Figure 46

Deterministic Fractal Generation

Useful for creating interesting shapes!

H&B Figures 75 & 109

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

Useful for creating mountains

H&B Figure 10.83a

Statistical Fractal Generation

Useful for creating 3D plants

H&B Figure 10.82

Statistical Fractal Generation

Useful for creating 3D plants

H&B Figure 10.79

Outline

• Acquisition

• Seashells

• Fractals

 Volumes

• Constructive Solid Geometry

• Modeling Programs

Solid Modeling

Represent solid interiors of objects

Surface may not be described explicitly

SUNY Stony Brook

Visible Human

(National Library of Medicine)

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

Stanford University

SUNY Stony Brook

Voxel Storage

O(n 3 ) 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 Visualization

Princeton 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 Block

Stanford 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

B A

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

Outline

• Acquisition

• Seashells

• Fractals

• Volumes

 Constructive Solid Geometry

• Modeling 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

Union

Circle Box

Outline

• Acquisition

• Seashells

• Fractals

• Volumes

• Constructive Solid Geometry

 Modeling 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

3D Studio Max

 http://en.wikipedia.org/wiki/Image:3dsmax8Screen shot.jpg

Maya

 http://en.wikipedia.org/wiki/Image:Autodesk_Maya

_8.0_win32.png

Blender

 http://en.wikipedia.org/wiki/Image:Blender_node_s creen_242a.jpg

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)

Download