Title: CMPUT 498 Solid Modeling
1CMPUT 498Solid Modeling
- Lecturer Sherif Ghali
- Department of Computing Science
- University of Alberta
2Representations
- Constructive Solid Geometry (CSG)
- interior as well as surfaces are defined
- special rendering algorithms
- solid is always valid
- Boundary representation (B-rep)
- (oriented) surfaces only are defined
- raster scan algorithms suffice for rendering
- solid validity should be verified
- A modeler could use one or both
3Sweeping/extrusion
4Modeling operations
5(No Transcript)
6CSG primitives
- examples are parallelepiped, sphere, cylinder,
cone, torus, triangular prism - defined in a local coordinate system ? require a
transformation to the world coordinate system
7Regularized boolean operations
- examples in 2D
- set-theoretic boolean operations vs. regularized
boolean operations - a point p is an interior point in a solid if a
sufficiently small ball centered at p is wholly
inside the solid - set-theoretic boolean ops followed by closure of
interior result in a regularized boolean op
8CSG Tree
9CSG treeparameters vs. structure
- The shape of the object can vary depending on the
parameters and not only on the structure of the
tree
10Nodes in a CSG tree
- Leaf nodes
- instantiated solid primitives
- Interior nodes
- transformation nodes
- regularized boolean operations nodes
- Material information stored outside the tree
(possibly also at root node)
11Point/solid classification
- Determine whether a given point is inside, on the
surface, or outside a CSG solid - Method
- Propagate query down the tree
- determine answer at leaves
- propagate answer up the tree
- Practice in lower dimensions
- 1D primitive is an interval
- 2D primitive is a polygon
12Propagation
- Downward propagation
- node is a boolean operation
- pass on to child nodes
- node is a transformation node
- apply the inverse of the transformation
- node is a solid (leaf node)
- classify point w.r.t solid
13Propagation
- Upward propagation
- node is a boolean operation
- node is a transformation node
- pass to parent
14Neighborhood
- The neighborhood of a point p w.r.t. a solid S is
the intersection with S of an open ball of
infinitesimal radius centered at p
15Neighborhood at faces, edges, and vertices
16Refined upward propagation
- Maintain neighborhood information
- face plane equation
- edge wedges pairs of plane equations
- vertices sets of edges
17Edge neighborhood
- Merging edge neighborhood can produce
- two wedges
- a single wedge
- a face
18Vertex neighborhood
- Merging vertex neighborhood can produce
- a vertex
- an edge
- a face
19Face neighborhood
- Merging face neighborhoods produces an edge,
unless the two faces are coplanar, resulting in a
full ball, a face, or an empty ball
20CSG Rendering
- Ray tracing
- illumination model relying on recursion to
determine reflection, refraction, and shadows,
and using ray casting to compute visibility - Ray casting
- determining the visible surface given a ray (a
ray is a half line) - Phong shading
- determining rendering colour using material
properties, the location of the viewer, light
sources, and the surface normal vector
21CSG Ray Casting
22CSG Ray Casting
23(No Transcript)
24Redundancy
25(No Transcript)
26Boundary representations
- B-reps are described by
- Topological information
- vertex, edge, and face adjacency
- Geometric information
- embedding in space location of vertices, edges,
faces, and normal vectors
27Boundary representations
- We study
- closed, oriented manifolds embedded in 3-space
- A manifold surface
- each point is homeomorphic to a disc
- A manifold surface is oriented if
- any path on the manifold maintains the
orientation of the normal - An oriented manifold surface is closed if
- it partitions 3-space into points inside, on, and
outside the surface - A closed, oriented manifold is embedded in
3-space if - Geometric (and not just topological) information
is known
28Boundary representations
- Non-manifold surfaces
- Non-oriented Manifolds
- Non-closed oriented manifolds
Moebius strip
Klein bottle
(unbounded) cone, (unbounded) cylinder, (unbounded
) paraboloid,
paraboloid
hyperbolic paraboloid
29Euler- Poincaré equation
- V E F 2 0
- no holes or interior voids in one solid
- V E F 2(1 G) 0
- any number of handles
- V E F (L F) 2(S G) 0
- any number of loops and shells
30Euler-Poincaré equation
- V E F 2 0
- V E F 2(1 G) 0
- V E F (L F) 2(S G) 0
- V of vertices
- E of edges
- F of faces
- G genus
- L of loops (a.k.a. ring)
- S of shells
31Leonhard Euler (1707 1783)Henri Poincaré (1854
1912)
32Genus
- Genus zero
- Genus one
- Genus two
33 Genus two solids
34(No Transcript)
35(extended) Euler- Poincaré example
- V E F (L F) 2(S G) 0
- V 24
- E 36
- F 16
- G 1
- L 18
- S 2
- 24 36 16 (2) 2(2 1) 0
36Euler operators
37Euler operators
38Euler operators
39Euler operators
40Euler operatorskfmrh
41 42Euler operators
43Convex combinations and Simplicial complexes
for two points
for three points
for a set of linearly independent points
44(No Transcript)
45(No Transcript)
46(No Transcript)
47(No Transcript)
48(No Transcript)
49(No Transcript)
50(No Transcript)
51(No Transcript)
52(No Transcript)
53(No Transcript)
54(No Transcript)
55(No Transcript)
56(No Transcript)
57(No Transcript)
58(No Transcript)
59 60(No Transcript)
61(No Transcript)
62Reference