solid modeling in cadcam
Post on 19-Aug-2014
123 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
CMPUT 498Solid Modeling
Lecturer: Sherif Ghali Department of Computing Science
University of Alberta
2
Representations
• 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
3
Sweeping/extrusion
4
Modeling operations
6
CSG primitives
• examples are: parallelepiped, sphere, cylinder, cone, torus, triangular prism
• defined in a local coordinate system require a transformation to the world coordinate system
7
Regularized 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 op’s followed by closure of interior result in a
regularized boolean op
8
CSG Tree
U
9
CSG treeparameters vs. structure
• The shape of the object can vary depending on the parameters and not only on the structure of the tree
10
Nodes 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)
11
Point/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
12
Propagation
• 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
13
Propagation
• Upward propagation:– node is a boolean operation
– node is a transformation node• pass to parent
14
Neighborhood
• 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
15
Neighborhood at faces, edges, and vertices
16
Refined upward propagation
• Maintain neighborhood information– face: plane equation– edge: wedges: pairs of plane equations– vertices: sets of edges
17
Edge neighborhood
• Merging edge neighborhood can produce:– two wedges– a single wedge– a face
18
Vertex neighborhood
• Merging vertex neighborhood can produce:– a vertex– an edge– a face
19
Face neighborhood
• Merging face neighborhoods produces an edge, unless the two faces are coplanar, resulting in a full ball, a face, or an empty ball
20
CSG 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
21
CSG Ray Casting
22
CSG Ray Casting
24
Redundancy
26
Boundary 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
27
Boundary 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
28
Boundary representations• Non-manifold
surfaces
• Non-oriented Manifolds
• Non-closed oriented manifolds Moebius strip
(unbounded) cone,(unbounded) cylinder,(unbounded) paraboloid,
Klein bottle
paraboloid hyperbolic paraboloid
29
Euler- 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
30
Euler-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
31
Leonhard Euler (1707 – 1783)Henri Poincaré (1854 – 1912)
32
Genus
• Genus zero
• Genus one
• Genus two
33
Genus two solids
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
36
Euler operators
• mvfs
• mev
37
Euler operators
• mef
• kemr
38
Euler operators
39
Euler operators
40
Euler operatorskfmrh
41
42
Euler operators
43
Convex combinations and Simplicial complexes
for a set of linearly independent points:
for three points:
for two points:
62
Reference
top related