Solid modeling in CADCAM

  • View

  • Download

Embed Size (px)



Text of Solid modeling in CADCAM

  • 1 CMPUT 498 Solid 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 ops followed by closure of interior result in a regularized boolean op
  • 8 CSG Tree U
  • 9 CSG tree parameters 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 operators kfmrh
  • 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