2. What is solid modeling ?!
A mathematical technique for
representing solid objects
3. OK…what’s its usage ?
• Represent solid interiors of objects
Surface may not be described explicitly
Visible human
4. OK…what’s its usage ?
• Some acquisition methods generate solids
Example: CAT scan
5. OK…what’s its usage ?
• Some applications require solids
Example: CAD/CAM
(computer-aided design/computer-aided manufacturing)
Computer systems used to design and manufacture products
6. What concerns do we have for
representing?
• Domain ---> large enough
• Unambiguous ---> one & only one , (!what is this)
• Unique ---> encode in only one way -> (testing)
• Accurate ---> without approximation
7. What concerns do we have for
representing?
• Closure ---> union-intersection-rotation-translation
• Compact ---> save space
• Allow using efficient algorithms.
12. Representation solid modeling
(Primitive instancing)
• Define a set of primitive 3D solid shapes
• Primitive instances are similar to parameterized
objects
• A family with few differences in members
• Relatively complex objects
• Without combining objects
13. Representation solid modeling
(Sweep)
• sweeping a 2D surface in 3D space to create
an object
• Translational sweep
• Rotational sweep
The object being swept does not need to be
2D
15. Representation solid modeling
(Sweep)
• It is difficult to apply regularized Boolean set
operations
• Even simple sweeps are not close under
regularized Boolean set operations
16. Representation solid modeling
(Boundary)
• Describe an object in terms of its surface boundaries :
vertices , edges , and faces
Determining what constitutes a face can be difficult if curved
surfaces are allowed
• So some b-reps are restricted to planar , polygon , etc
17. Representation solid modeling
(Boundary)
• Polyhedra and Euler’s Formula
• The Winged-Edge Representation
• Boolean Set Operations
• Nonpolyhedral b-Reps
Because b-Reps tile an object’s surface, they
do not provide a unique representation of a
solid
18. Representation solid modeling
(Boundary - Polyhedra and Euler’s Formula)
• A polyhedron is solid that is bounded by a set
of polygon (and some additional constraints)
• The b-Reps of a simple polyhedron satisfies
Euler’s formula (also with curved edges and nonplanar faces)
19. Representation solid modeling
(Boundary - Polyhedra and Euler’s Formula)
• States necessary but not sufficient conditions
• Additional constraints are needed
21. Representation solid modeling
(Boundary - Polyhedra and Euler’s Formula)
Tweak operators do not affect number of vertices
, edges , etc…
22. Representation solid modeling
(Boundary – “Winged-Edge” Representation)
• What is simple representation? (advantages and
disadvantages?!)
• The better way but more complex is
“Winged-Edge” representation(handles only faces
without holes)
23. Representation solid modeling
(Boundary – Boolean Set Operation)
• Inspect the polygons in both objects , splitting
them if necessary
25. Representation solid modeling
(Spatial-Partitioning)
• A solid is decomposed into a collection of
adjoining nonintersecting solids. (more primitive)
• 1- Cell Decomposition
• 2- Spatial-Occupancy Enumeration
• 3- Octrees
• 4- Binary Space-Partitioning Trees
26. Representation solid modeling
(Spatial-Partitioning – “Cell Decomposition”)
• Defines a set of primitive cells
• Differs from primitive instancing(“Glue” operation)
• Unambiguous but not necessarily unique
Difficult to validate
27. Representation solid modeling
(Spatial-Partitioning – “Spatial-Occupancy” Enumeration)
• Voxels
Unique and unambiguous
But approximate
!save space
28. Representation solid modeling
(Spatial-Partitioning – “Spatial-Occupancy” Enumeration)
• Often used in biomedical application (such as
Computerized Axial Tomography(CAT) scans)
29. Representation solid modeling
(Spatial-Partitioning –“Octrees”)
• A hierarchical variant of spatial-occupancy enumeration
• Full – partially full - empty
30. Representation solid modeling
(Spatial-Partitioning –“Octrees”)
The “Octree” is similar to the quadtree
(LUF,LUB,LDF,LDB,RUF,RUB,RDF,RDB)
36. Comparison of Representations
• Accuracy :
Spatial-partitioning & polygon B-Rep ---> approximate
CSG & curved surfaces B-Rep & primitive instancing ---> maybe better
• Domain :
Primitive instancing & sweeps ---> limited
B-rep ---> a very wide classes of objects
Spatial-partitioning ---> represent any solid
• Uniqueness :
only “Octree” and spatial-occupancy-enumeration approaches guarantee
the uniqueness of a representation !!
37. Comparison of Representations
• Closure :
primitive instancing ---> cannot be combined at all
sweeps ---> are not closed
• Compactness and efficiency :
CSG ---> compactness and the ability to record Boolean operations