graphics graphics lab @ korea university cgvr.korea.ac.kr creating virtual world i 김 창 헌...

63
Graphics Graphics Lab @ Korea University Creating Virtual World I 김 김 김 Department of Computer Science Korea University http://cgvr.korea.ac.kr/courses/2002/cse425/

Upload: barry-craig

Post on 28-Dec-2015

219 views

Category:

Documents


3 download

TRANSCRIPT

Graphics

Graphics Lab @ Korea University

Creating Virtual World I

김 창 헌 Department of Computer Science

Korea University http://cgvr.korea.ac.kr/courses/2002/cse425/

CGVR

Graphics Lab @ Korea University

Overview

Model Construction

3D Object Representation

Subdivision Surfaces

Solid Modeling

CGVR

Graphics Lab @ Korea University

Model Construction

Interactive Modeling Tools CAD programs Subdivision surface editors

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

Computer Vision Stereo, motion, etc.

Procedural Generation Sweeps, fractals, grammars

CGVR

Graphics Lab @ Korea University

Interactive Modeling Tools

User Constructs Objects with Drawing Program

CGVR

Graphics Lab @ Korea University

Model Construction

Interactive Modeling Tools CAD programs, subdivision surface editors

Scanning Tools CAT, MRI Laser Range Scanning Magnetic, robotic arm

Computer Vision Stereo, motion, etc.

Procedural Generation Sweeps, fractals, grammars

CGVR

Graphics Lab @ Korea University

Scanning Tools

Acquire Geometry of Objects with Active Sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm Etc.

CGVR

Graphics Lab @ Korea University

Scanning Tools

Acquire Geometry of Objects with Active Sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm Etc.

Color

Depth

CGVR

Graphics Lab @ Korea University

Scanning Tools

Acquire Geometry of Objects with Active Sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm Etc.

CGVR

Graphics Lab @ Korea University

Model Construction

Interactive Modeling Tools CAD programs Subdivision surface editors

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

Computer Vision Stereo Motion

Procedural Generation Sweeps, fractals, grammars

CGVR

Graphics Lab @ Korea University

Computer Vision

Infer 3D Geometry from Images Stereo Motion Constraints Etc.

CGVR

Graphics Lab @ Korea University

Computer Vision

Infer 3D Geometry from Images Stereo Motion Constraints Etc.

CGVR

Graphics Lab @ Korea University

Computer Vision

Infer 3D Geometry from Images Stereo Motion Constraints Etc.

CGVR

Graphics Lab @ Korea University

Model Construction

Interactive Modeling Tools CAD programs, subdivision surface editors

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

Computer Vision Stereo, motion, etc.

Procedural Generation Sweeps Fractals Grammars

CGVR

Graphics Lab @ Korea University

Procedural Generation

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

CGVR

Graphics Lab @ Korea University

Sweep

Generate Different Shells by Varying Parameters

Different helico-spirals Different generating curves

CGVR

Graphics Lab @ Korea University

Fractal

Defining Property: Self-similar with infinite resolution

Mandelbrot Set

CGVR

Graphics Lab @ Korea University

Fractal

Useful for Describing Natural 3D Phenomenon Terrain Plants Clouds Water Feathers Fur Etc.

CGVR

Graphics Lab @ Korea University

Deterministically Self-Similar Fractal

Useful for Creating Interesting Shapes

CGVR

Graphics Lab @ Korea University

Statistically Self-Similar Fractal

Useful for Creating Mountains and Trees

CGVR

Graphics Lab @ Korea University

Grammar

Generate Description of Geometric Model by Applying Production Rules Useful for creating plants

Example:

Tree Branch Tree | Leaf

Branch Cylinder | [ Tree ]

C[CL]C[C[CL][CL]]C[[CL][CL]] C[*]C[*][*]

CGVR

Graphics Lab @ Korea University

Grammar

Useful for Creating Plants

CGVR

Graphics Lab @ Korea University

Creating Virtual World

Model Construction

3D Object Representation

Subdivision Surfaces

Solid Modeling

CGVR

Graphics Lab @ Korea University

3D Object Representations

Raw Data Point cloud Range image Polygon soup

Surfaces Mesh, Subdivision, Parametric, Implicit

Solids Voxel, BSP tree, CSG, Sweep

CGVR

Graphics Lab @ Korea University

Point Cloud

Unstructured Set of 3D Point Samples Acquired from range finder, computer vision, etc

CGVR

Graphics Lab @ Korea University

Range Image

Set of 3D Points Mapping to Pixels of Depth Image Acquired from range scanner

Range Image Tessellation Range Surface

CGVR

Graphics Lab @ Korea University

Polygon Soup

Unstructured Set of Polygons Created with interactive modeling systems

CGVR

Graphics Lab @ Korea University

3D Object Representations

Raw Data Point cloud, Range image, Polygon soup

Surfaces Mesh Subdivision Parametric Implicit

Solids Voxel, BSP tree, CSG, Sweep

CGVR

Graphics Lab @ Korea University

Mesh

Connected Set of Polygons (Usually Triangles) May not be closed

CGVR

Graphics Lab @ Korea University

Subdivision Surfaces

Coarse Mesh & Subdivision Rule Define smooth surface as limit of sequence of

refinements

CGVR

Graphics Lab @ Korea University

Parametric Surfaces

Tensor Product Spline Patches Careful constraints to maintain continuity

CGVR

Graphics Lab @ Korea University

Implicit Surface

Points satisfying: F(x,y,z) = 0

Polygonal Model Implicit Model

CGVR

Graphics Lab @ Korea University

3D Object Representations

Raw Data Point cloud, Range image, Polygon soup

Surfaces Mesh, Subdivision, Parametric, Implicit

Solids Voxel BSP tree CSG Sweep

CGVR

Graphics Lab @ Korea University

Voxels

Uniform Grid of Volumetric Samples Acquired from CAT, MRI, etc.

CGVR

Graphics Lab @ Korea University

BSP Tree

Binary Space Partition with Solid Cells Labeled Constructed from polygonal representations

a

bcd

e

f

g

Object

a

bcd

e

f

g

Binary Spatial Partition

1

2

3

4

5

6

7

1

2

a

3

b

c

4

d

5

6

e

7

f

BSP Tree

CGVR

Graphics Lab @ Korea University

CSG

Hierarchy of Boolean Set Operations (Union, Difference, Intersect) Applied to Simple Shapes

CGVR

Graphics Lab @ Korea University

Sweep

Solid Swept by Curve Along Trajectory

Constructing a Torus using Rotational Sweep

CGVR

Graphics Lab @ Korea University

Summary3D Object Representations

Taxonomy of 3D Object Representations

VoxelVoxel

Discrete Continuous

Combinational Functional

MeshSubdivision

MeshSubdivision

BSP TreeBSP Tree BezierB-Spline

BezierB-Spline

AlgebraicAlgebraic

Topological Set Membership Parametric Implicit

CGVR

Graphics Lab @ Korea University

Creating Virtual World

Model Construction

3D Object Representation

Subdivision Surfaces

Solid Modeling

CGVR

Graphics Lab @ Korea University

Subdivision

How do You Make a Smooth Curve?

CGVR

Graphics Lab @ Korea University

Subdivision Surfaces

Coarse Mesh & Subdivision Rule Define smooth surface as limit of sequence of

refinements

CGVR

Graphics Lab @ Korea University

Loop Subdivision Scheme

How Refine Mesh? Refine each triangle into 4 triangles by splitting each

edge and connecting new vertices

CGVR

Graphics Lab @ Korea University

Loop Subdivision Scheme

Limit Surface Has Provable Smoothness Properties

CGVR

Graphics Lab @ Korea University

Subdivision Schemes

There are different subdivision schemes Different methods for refining topology Different rules for positioning vertices

Interpolating versus approximating

Face Split Vertex Split

Doo-Sabin, Midege (C1)

Biquartic (C2)Catmull-Clark (C2)

Kobbelt (C1)

Quad. Meshes

Loop (C2)

Mod. Butterfly (C1)

Triangular Meshes

Approximating

Interpolating

CGVR

Graphics Lab @ Korea University

Subdivision Schemes

Loop Butterfly

Catmull-Clark Doo-Sabin

CGVR

Graphics Lab @ Korea University

Subdivision Schemes

Loop Butterfly Catmull-Clark Doo-Sabin

CGVR

Graphics Lab @ Korea University

Polygon Meshes

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

CGVR

Graphics Lab @ Korea University

SummarySubdivision Surface

Advantages: Simple method for describing complex surfaces Relatively easy to implement Arbitrary topology Smoothness guarantees Multiresolution

Difficulties: Intuitive specification Parameterization Intersections

CGVR

Graphics Lab @ Korea University

Creating Virtual World

Model Construction

3D Object Representation

Subdivision Surfaces

Solid Modeling

CGVR

Graphics Lab @ Korea University

Solid Modeling

Represent Solid Interiors of Objects Surface may not be described explicitly

CGVR

Graphics Lab @ Korea University

Solid Modeling Representation

Voxels Quadtrees & Octrees Binary Space Partitions Constructive Solid Geometry

CGVR

Graphics Lab @ Korea University

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.

CGVR

Graphics Lab @ Korea University

Voxel Acquisition

Scanning Devices MRI CAT

Simulation FEM

CGVR

Graphics Lab @ Korea University

Voxel Display

Isosurface Rendering Render surfaces bounding volumetric regions of cons

tant value (e.g., density)

CGVR

Graphics Lab @ Korea University

Voxel Display

Ray Casting Integrate density along rays through pixels

CGVR

Graphics Lab @ Korea University

Voxels

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

Disadvantages Approximate Large storage requirements Expensive display

CGVR

Graphics Lab @ Korea University

Solid Modeling Representation

Voxels Quadtrees & Octrees Binary Space Partitions Constructive Solid Geometry

CGVR

Graphics Lab @ Korea University

Quadtrees & Octrees

Refine Resolution of Voxels Hierarchically More concise and efficient for non-uniform objects

Uniform Voxel Quadtree

CGVR

Graphics Lab @ Korea University

Solid Modeling Representation

Voxels Quadtrees & Octrees Binary Space Partitions Constructive Solid Geometry

CGVR

Graphics Lab @ Korea University

Binary Space Partitions (BSPs)

Recursive Partition of Space by Planes Mark leaf cells as inside or outside object

a

bcd

e

f

g

Object

a

bcd

e

f

g

Binary Spatial Partition

1

2

3

4

5

6

7

1

2

a

3

b

c

4

d

5

6

e

7

f

BSP Tree

CGVR

Graphics Lab @ Korea University

Solid Modeling Representation

Voxels Quadtrees & Octrees Binary Space Partitions Constructive Solid Geometry

CGVR

Graphics Lab @ Korea University

+

Block 1 Block 2

Cylinder

Constructive Solid Geometry (CSG)

Represent Solid Object as Hierarchy of Boolean Operations Union Intersection Difference

CGVR

Graphics Lab @ Korea University

CSG Acquisition

Interactive Modeling Programs CAD/CAM

CGVR

Graphics Lab @ Korea University

CSG Display & Analysis

Ray Casting

Union

Circle Box