Title: Solid Constructive Geometry
1Solid ConstructiveGeometry
2Solid geometry
- Inherently 3D, geometric elements describe sets
of spaces enclosed by 2D boundaries - For example, a solid sphere is the simplest solid
element. Other simple primitives include the
cube, cylinder, cone, and torus
3Solid geometry
- Other objects are defined by combinations of
primitives. - An entire math has been explored related to the
combination of solid primitives called
constructive solid geometry (CSG) - With CSG, complex shapes may be generated from
operations formed on primitives
4Solid geometry
- Boolean operators are defined tools for combining
solid geometry for CSG - These perform group operations on the points
included in the solid primitives - They are
- Union
- Subtraction
- Intersection
5Solid geometry
- Boolean operator Union combines two elements
into a single one
6Solid geometry
- Boolean operator Union combines two elements
into a single one
7Solid geometry
- Boolean operator Subtract take the difference
between two elements
8Solid geometry
- Boolean operator Subtract take the difference
between two elements
9Solid geometry
- Boolean operator Subtract take the difference
between two elements
10Solid geometry
- Boolean operator Subtract
11Solid geometry
- Boolean operator Intersection finds the common
points in the given primitives
12Solid geometry
CSG Tree Graph for hierarchy of
Boolean operations Often used for CAD and Mech
Eng
13Other models?
14Boundary Representations (B-Rep)
- Solids as a set of vertices, edges and faces with
topological relations among them - Boolean operations implemented in the
representation framework
15Boolean Operations in B-Rep
- Planar (Polyhedral) solids
- Calculating plane-plane intersection only
- Split generates single line cuts in B-Rep
- Free-form solids
- Intersection between free-form surfaces
- A high degree algebraic space curve
16BOOLE A Boundary Evaluation System for Boolean
Combinations of Sculptured Solids
17BOOLE Algorithm - Stages 1 2
Stage1 Convert solid into B-rep using
patches Stage2 Couple Patches of solids to be
tested
18BOOLE Algorithm - Stages 3 4
Stage3 Intersect patch pairs Stage4
Merge Intersection curves
19BOOLE Algorithm - Stage 5
Stage 5 Combine boundary components
20BOOLE Algorithm - Stage 6 7
Stage 6 Classify components
Stage 7 Result
21B-rep vs. CSG
- Both have different inherent strengths and
weaknesses. - CSG object always valid
- its surface is closed and orientable and
encloses a volume, provided the primitives are
valid. - A B-rep object is easily rendered on a graphic
display system.
22CSG Subdivision Surfaces
A
B
A ? B
A ? B
A - B
B - A
23CSG Subdivision Surfaces
Surface evolution with loop subdivision
24Problematic Intersections
General problem
Subdivision
Subdivision Mesh
Control Mesh
Subdivision
25Intersecting Subdivision Surfaces
Intersection is needed to deduce boolean
operations
Sphere ? Cube
Sphere ? Cube
Sphere - Cube
Cube - Sphere
26Approximate Boolean Operationson Free-form
Solids
- Henning Biermann, et al (Siggraph 2001)
27Approximate Boolean Operations
- Generate a refined control mesh for intersecting
surfaces (approximating the result) - Determine the parameterization of the new surface
with respect to the original surfaces - Optimize quality of new control mesh
28Approximate Operations Step 1
- Compute an approximate intersection curve,
finding its projection in each of the two
parametric domains of the original surfaces.
29Approximate Operations Step 2
- Construct the connectivity of the control mesh
for the result
30Approximate Operations Step 3
- Optimize the parameterization of the result over
the original domains
31Approximate Operations Step 4
- Determine geometric positions for the control
points of the result
32Approximate Intersection
- Working from control mesh
- Triangle edge intersection
- using barycentric coordinate
- Speed up with bounding boxes
- Avoid problems with perturbation of points
-
?
33Surfaces splitting
- Split along the intersection curve
- Label each part of the object (inside/outside)
A
C
A
C ? A
34Example
35Intersection curve example
36Split and label operations
Interior faces
Exterior faces
37Reconstruction
Depending on boolean operation Merge operation
along the intersection curve
38Results
A - B
B - A
Union
Intersection
39Multiresolution Subdivision
Multiresolution Subdivision Detail Vectors
40Multiresolution Subdivision
Ideally, prefer one point / edge
subdivision
subdivision
Actual Intersection Curve
41Mesh updating
Multiresolution Subdivision
42Multiresolution Subdivision
43(No Transcript)
44Surface pasting
Beirmann et al (Siggraph 02)
45Surface pasting
Method Overview
46(No Transcript)