30
Computer Graphics 3D Object Representations

Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

Computer Graphics

3D Object Representations

Page 2: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

What to Specify for a 3D Shape?

• geometry

– shapes, positions

– connectivity, inside/outside

• material properties

– visuals, textures

(plastic, wood, metal, etc.)

– other material properties

(elasticity, mass, etc.)

• behaviour/animation

• more depending on the specific application

Page 3: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

What to Specify for a 3D Shape?

• geometry

– shapes, positions

– connectivity, inside/outside

• material properties

– visuals, textures

(plastic, wood, metal, etc.)

– other material properties

(elasticity, mass, etc.)

• behaviour/animation

• more depending on the specific application

Page 4: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

What to Specify for a 3D Shape?

• geometry

– shapes, positions

– connectivity, inside/outside

• material properties

– visuals, textures

(plastic, wood, metal, etc.)

– other material properties

(elasticity, mass, etc.)

• behaviour/animation

• more depending on the specific application

Page 5: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

What to Specify for a 3D Shape?

• geometry

– shapes, positions

– connectivity, inside/outside

• material properties

– visuals, textures

(plastic, wood, metal, etc.)

– other material properties

(elasticity, mass, etc.)

• behaviour/animation

• more depending on the specific application

Page 6: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

What to Specify for a 3D Shape?

• geometry

– shapes, positions

– connectivity, inside/outside

• material properties

– visuals, textures

(plastic, wood, metal, etc.)

– other material properties

(elasticity, mass, etc.)

• behaviour/animation

• more depending on the specific application

Page 7: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

What to Specify for a 3D Shape?

• geometry

– shapes, positions

– connectivity, inside/outside

• material properties

– visuals, textures

(plastic, wood, metal, etc.)

– other material properties

(elasticity, mass, etc.)

• behaviour/animation

• more depending on the specific application

Page 8: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

What to Specify for a 3D Shape?

• geometry

– shapes, positions

– connectivity, inside/outside

• material properties

– visuals, textures

(plastic, wood, metal, etc.)

– other material properties

(elasticity, mass, etc.)

• behaviour/animation

• more depending on the specific application

Page 9: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

What to Specify for a 3D Shape?

• geometry

– shapes, positions

– connectivity, inside/outside

• material properties

– visuals, textures

(plastic, wood, metal, etc.)

– other material properties

(elasticity, mass, etc.)

• behaviour/animation

• more depending on the specific application

Page 10: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

How to Specify a 3D Geometry?

• boundary representations (b-reps)

– meshes

– piecewise smooth surfaces

• volume representations

– voxel models

– implicit surfaces

– CSG: constructive solid geometry

– space partitioning

• BSP trees: binary space partitioning

• octrees

Page 11: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

B-Reps: Polygonal Meshes

• polygons to define

the surface of objects

Page 12: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

B-Reps: Polygonal Meshes

• polygons to define

the surface of objects

• triangle meshes

– polygon with

fewest vertices

– always convex & planar

→ defines unique surface

Page 13: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

B-Reps: Polygonal Meshes

• polygons to define

the surface of objects

• triangle meshes

– polygon with

fewest vertices

– always convex & planar

→ defines unique surface

Page 14: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

B-Reps: Polygonal Meshes

• polygons to define

the surface of objects

• triangle meshes

– polygon with

fewest vertices

– always convex & planar

→ defines unique surface

• triangle strips: faster rendering

Page 15: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

B-Reps: Polygonal Meshes

• polygons to define

the surface of objects

• triangle meshes

– polygon with

fewest vertices

– always convex & planar

→ defines unique surface

• triangle strips: faster rendering

• more complex mesh data

structures (e.g., Winged Edge)

Page 16: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

B-Reps: Piecewise Smooth Surfaces

• surface constructed from patches

• patches can be curved and are smooth

• patches satisfy a continuity constraint

• e.g., Bézier, Spline, NURBS surfaces

Page 17: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Voxel Models

• sampling of a volume in regular intervals

• samples as cubes, or as general boxes

• several properties can be sampled

Page 18: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Voxel Models

• sampling of a volume in regular intervals

• samples as cubes, or as general boxes

• several properties can be sampled

Page 19: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Voxel Models

• shapes: iso-value to specify special level

• they define iso-surfaces inside the volume

Page 20: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Voxel Models

• shapes: iso-value to specify special level

• they define iso-surfaces inside the volume

Page 21: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Voxel Models

• heavily used in medical imaging (based on

CT, MRI) and fluid dynamics etc.

Page 22: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Implicit Surfaces

• description of shapes through implicit

equations; e.g., sphere:

• iso-values defining boundary & inside

• use: mathematics, chemistry, hq rendering

rzyx

zyxr

zyxzyxF

222

222

222

0

),,(

iso-value

Page 23: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Implicit Surfaces

• description of shapes through implicit

equations; e.g., sphere:

• iso-values defining boundary & inside

• use: mathematics, chemistry, hq rendering

rzyx

zyxr

zyxzyxF

222

222

222

0

),,(

x

y iso-surface

Page 24: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Implicit Surfaces

• description of shapes through implicit

equations; e.g., sphere:

• iso-values defining boundary & inside

• use: mathematics, chemistry, hq rendering

rzyx

zyxr

zyxzyxF

222

222

222

0

),,(

x

y

z

Page 25: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Implicit Surfaces

• description of shapes through implicit

equations; e.g., sphere:

• iso-values defining boundary & inside

• use: mathematics, chemistry, hq rendering

rzyx

zyxr

zyxzyxF

222

222

222

0

),,(

ima

ge

s c

ou

rte

sy o

f B

ria

n W

yvill

et a

l.

Page 26: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: Construct. Solid Geometry

• Boolean operators to combine shapes

• unions, intersections, set differences

• build up CSG trees

• e.g., to build complex

implicit models

∩ –

Page 27: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Implicit Surface CSG Trees: Blobtree

courtesy of Erwin de Groot and Brian Wyvill

Page 28: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: BSP and Octrees

• space partitioning: define sub-spaces

• binary space partitioning: half-spaces

– planes define borders between

inside and outside; hierarchy

– only current subspace affected

Page 29: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Volumes: BSP and Octrees

• space partitioning: define sub-spaces

• binary space partitioning: half-spaces

– planes define borders between

inside and outside; hierarchy

– only current subspace affected

• octrees: partitioning on

regular 2×2×2 grid (= 8)

– mark cells inside,

outside, or subdivide

– 2D case: quadtrees (2×2)

Page 30: Computer Graphics - tobias.isenberg.cc · Computer Graphics Tobias Isenberg 3D Object Representation What to Specify for a 3D Shape? • geometry –shapes, positions –connectivity,

3D Object RepresentationTobias IsenbergComputer Graphics

Summary Object Representations

• two types: boundary and volumetric

representations

• we mostly use boundary representations

– these store the surface of the objects

– polygon/triangle-based or curve-based

– flexible

• volumetric models also store the “inside”

• in addition to geometry we also store

many other properties