Geometric Representations
3D Graphics
Geometric Representations 3D Graphics Motivation Geometric - - PowerPoint PPT Presentation
Geometric Representations 3D Graphics Motivation Geometric representation What do we want to do? empty space (typically 3 ) B geometric object B 3 Fundamental problem The Problem: d B infinite number of
3D Graphics
empty space (typically ℝ3) geometric object B ℝ3 B ℝ𝑒
B ℝd infinite number of points my computer: 8GB of memory
scenes
scenes or objects
Volume Representation Surface Representation Implicit
Parametric
Definition: compact subset of ℝ3
information of shapes, e.g. shape densities, colors etc.
simulation, can constrain unrealistic shape variation
in graphics (animals, plants) are volumetric in reality
𝐺: ℝ3 → ℝ
assigns a value 𝑤 to position (𝑦, 𝑧, 𝑨)
Advantages
extract or change value 𝑤 associated to position (𝑦, 𝑧, 𝑨) Disadvantages
shape as no high-level information is available
requires voxelization of large volume
Defined by a function
𝑔: Ω → ℒ with Ω ⊂ ℝ3 ℒ ⊂ ℝ3 = volume of interest
Advantages
shape by changing the mapping function
and simulations Disadvantages
associated information 𝑤 associated to position (𝑦, 𝑧, 𝑨) at non-vertex positions
requires computation
Definition: orientable 2D manifold embedded in ℝ3 Intuitively:
degenerate 3D solid
infinitely thin parts, i.e. solid has a clearly defined interior and exterior
𝐺: ℝ3 → ℝ
assigns a distance 𝑒 from the surface to each position (𝑦, 𝑧, 𝑨)
Advantages
extract or change value 𝑤 associated to position (𝑦, 𝑧, 𝑨)
Disadvantages
surface as no high-level information is available
requires voxelization of large volume
Defined by a function
𝑔: Ω → ℒ with Ω ⊂ ℝ2 ℒ ⊂ ℝ3 = full embedding space
𝑜(. )
𝑛 σ𝑘=0 𝑙
𝑑 𝑗𝑘 𝑂𝑗
𝑜 𝑣 𝑂 𝑘 𝑜 𝑤
mesh
Historic example « Utah teapot »
Advantages
smooth surfaces
at any position
by changing control points Disadvantages
acquired scan data efficiently
21
Loop Butterfly Catmull-Clark
control mesh
interpolation schemes, all for approximation schemes)
Advantages
topology can be modeled
different level of detail Disadvantages
results
Loop
parametric surfaces
soups”)
(typically of the same class)
1 2 3
Advantages
(usually)
topology Disadvantages
first, then edit geometry
be adjusted to fit shape
topology Changing object topology is difficult
that can be assembled into meshes
collisions)
𝒒 = α𝒃 + β𝒄 + γ𝒅 with α + β + γ = 1, α + β + γ > 0
per-vertex normals
(represent smooth surfaces more accurately)
per-vertex color texture per-vertex texture coordinates (etc...)
In Triangle Meshes:
adjacent triangles share normals adjacent triangles have separated normals
the middle of edges:
arbitrarily without creating holes in the surface
Triangulated two-manifold:
(closed manifold)
attributes are only vertex positions?
triangles
v1: (posx posy posz), attrib1, ..., attribnav ... vnv: (posx posy posz), attrib1, ..., attribnav e1: (index1 index2), attrib1, ..., attribnae ... ene: (index1 index2), attrib1, ..., attribnae t1: (idx1 idx2 idx3), attrib1, ..., attribnat ... tnt: (idx1 idx2 idx3), attrib1, ..., attribnat
Advantages:
build
information necessary for rendering Disadvantages:
expensive:
vertex renumber expected edges, triangles
triangles, edges direct access
need to search
tables (but still not dynamic)
Alternative:
triangles, edges, vertices)
is usually more efficient
triangles
to each of its neighbors
Half edge data structure:
// a vertex struct Vertex { HalfEdge* someEdge; /* vertex attributes */ }; // the face (triangle, poly) struct Face { HalfEdge* half; /* face attributes */ };
Implementation:
that guarantee consistency of back and forth pointers
winged edge (Baumgart 1975)
simplest
hip articulates !