Title: Representation and modeling of 3D objects (basic concepts)
1Representation and modeling of 3D objects(basic
concepts)
Computer Graphics 2
Marek Zimányi
- FMFI UK
- Katedra pocítacovej grafiky a spracovania obrazu
2Contents
- Polygonal representation
- Boundary rep.
- Sweep
- Constructive Solid Geometry
- Implicit representation
- F-rep
- Spatial subdivision techniques
- Procedural modeling
3Polygonal representation
- Boundary representation (B-Rep)
- Topological description
- Specifies vertices, edges, faces
- Geometrical description
- Specifies equation of the surface
- Sweep
4Boundary representation
Polygonal representation
- Polygon and Polygonal Mesh
- Polyhedron
- Normals
- Eulers formula
- DCEL
5Boundary representation
Polygonal representation
- Describing of boundary points set
- faces,edges, vertices
- region, loop, shell, hole,handle
- vertices
- V1 (x1, y1, z1), V2 (x2, y2, z2),
- edges
- h1 (1, 2), h2 (2, 3),
- faces
- P1 (1, 2, 3), P2 (4, 2, 1),
6Boundary representation - Mesh
Polygonal representation
- Collection of faces (polygons)
- Advance shading process
- Parameters
- Vertices, faces, normals
- Vertex normals versus face normals
- ! This it not the same !
7Boundary representation - Mesh
- Definition
- Set of vertices,
- Normals
- Faces,
- With Indexes of vertices
- With Indexes of normals
- Be careful -gt left or right hand CS
8Boundary representation - Mesh
9Boundary representation - Mesh
- Properties
- Solidity enclose a positive and finite amount
of space - Connectedness exist unbroken path between any
two vertices - Simplicity solid with no holes
- Planarity every face is a planar polygon
- Convexity line between any two point lies
inside the object
10Boundary rep. - Polyhedron
Polygonal representation
- Def.
- A polyhedron is a connected mesh of simple planar
polygons that enclose a finite amount of space
- Prop.
- Every edge is shared by exactly two faces
- At least 3 edges meets at each vertex
- Faces do not interpenetrate
11Manifolds
Polygonal representation - B-rep
- Unreal objects gt Non-Manifolds
- 2-manifolds ? point from manifold has small
neighborhood of points around, topologically the
same as a disk in the plane - Orientable lt-gt NonOrientable manifold Mobius
strip, Klein bottle - Many b-rep systems support only solid whose
boundaries are 2-manifold
12Manifolds
Polygonal representation - B-rep
- Klein bottle
- http//www.math.ohio-state.edu/fiedorow/math655/K
lein2.html - http//www.kleinbottle.com/
- Mobius strip
- http//www.mobiusproductsandservices.com/tms.html
- http//www.cut-the-knot.org/do_you_know/moebius.sh
tml - Another -)
- http//pbskids.org/zoom/phenom/index.html
13Non-Manifolds
14The Winged-Edge Representation
Polygonal representation - B-rep
- Double-connected Edge List (DCEL)
- For each edge is given info
- Incident vertices
- Left and right adjacent face
- Preceding and succeeding edge in clockwise order
- Preceding and succeeding edge in counterclockwise
order
15B-Rep
Polygonal representation
Polygonal representation - B-rep
- Important facts in the B-Rep
- Classification of edges
- sharp and auxiliary
- Normals in vertexes
- Boundary of face
- find all edges of a face
- Position of a point in the space
- Point is IN or OUT of object
16Sweep
Polygonal representation
- Sweeping an object along a trajectory
- Translation sweep
- Rotational sweep
- Conical sweep
- Sphere sweep
- General Cylinder
- Polygonal rep ?
17Translational Sweep
Polygonal representation
- Method
- Define the object with the contour (2D) and the
path.
18Rotational Sweep
Polygonal representation
- Method
- Define the object by rotating of the contour (2D)
with the arbitrary axis.
19Conical Sweep
Polygonal representation
- Method
- Define the object by the contour (2D) and a
3D-point (top of the pyramide).
20Sphere Sweep
Polygonal representation
- Method
- Define the object by the sphere with the varying
radius and a path.
21General Cylinder
Polygonal representation
- Method
- Define the object by the set of
control-contours and by the path.
22Polygonal rep ?
Polygonal representation
- General sweeps difficult to model efficiency
- General sweeps do not always generate solids
- It is a polygonal rep?
Trajectory and object shape may swept object
intersect ? Volume calculations complicated
- Sweeping a 2D area in its own plane
- ?
- another 2D area
Yes and No.
23Polygonal rep ?
Polygonal representation
- It is a difficult to apply regularized Boolean
operations(after BOOL op. it wouldnt be SWEEP
obj) - BUT sweeps are a natural and intuitive way to
construct of the objects - Many systems allow user construct sweepsBUT
store the objects in other representation
24Constructive Solid Geometry
- CSG
- Composing of Primitives
- Sphere, Cone, Cube, Cylinder, ...
- Operations I, U, -, ...
- The leafs of CSG-tree are primitives and the
operations are in the rest of the tree nodes. The
CSG-tree represents the solid. (Scene graph
idea!)
25Example
Polygonal representation - CSG
26(No Transcript)
27Notes
Polygonal representation - CSG
- Pros
- Low memory consumption
- Simple combining
- Exact representation of complex surfaces
- 12 Mantylas operators and his proof
- Cons
- Slow and difficult processing
- ?
- Not unique representation
28 CSG processing
Polygonal representation - CSG
- Rendering Algorithms
- ray casting (tracing)
- extended depth buffer algorithm
- Evaluation/Conversion Algorithms
- boundary representation
- octree
- constructive cubes
29Implicit representation
- Jim Blinn 1982
- Implicit surfaces
- Blobby objects
- Soft objects
- Meta balls
30Spreadsheet Rendering
Implicit representation
31Animation Path in t1t2 Plane
Implicit representation
32Spatial subdivision techniques
- Octrees
- Iterative space subdivision
- Nodes have property V, F or M
- Subdividing P-nodes until the desired
Approximation Quality - The dividing planes do not depend on objects in
the scene (differs from BSP tree!) - Analogy in 2D Quad Tree
- BSP trees
33Octree
Spatial subdivision techniques
- Sort form of space
- Disadvantage sampling
V void F full M mixed (FFFFF(FFFVFVFV)VV)
34Octree
Spatial subdivision techniques
- Boolean set operations and transformations
- Traverse both trees top-down in parallel
- Rotations (90?), scaling (2)
- General transformations severe
problem(aliasing) - Neighbor finding
- Not trivial
- Linear notation
35Binary Space-Partitioning Trees (BSP trees)
Spatial subdivision techniques
- octrees divide space uniformly - drawback
- BSP divide space recursively into pairs of
subspaces - each subspace has the same object complexity (
of objects) - Usual division step
- sort the objects according to actual coordinate
(x,y,z) - Choose median
- Place halfplane (halfline in 2D) between median
and next object - Shift halfline if too many objects intersects
- the halfplane
36Procedural modeling
- Alternative to slow user modeling
- Useful for complex, hard-to-manipulate, organic,
fuzzy, scalable, large, objects - Software designer prepares a procedure,
implementing object-production algorithm - Software user specifies only the input parameters
for the procedure - Stochastic principle is often applied
- (no 2 trees are exactly identical)