Solid modeling in CADCAM

Preview:

DESCRIPTION

solid-modeling

Citation preview

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