solid modeling
TRANSCRIPT
Solid Modeling
“In the name of God”
What is solid modeling ?!
A mathematical technique for representing solid objects
• Represent solid interiors of objects Surface may not be described explicitly
OK…what’s its usage ?
Visible human
• Some acquisition methods generate solids Example: CAT scan
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
OK…what’s its usage ?
• Domain ---> large enough
• Unambiguous ---> one & only one , (!what is this)
• Unique ---> encode in only one way -> (testing)
• Accurate ---> without approximation
What concerns do we have for representing?
• Closure ---> union-intersection-rotation-translation
• Compact ---> save space
• Allow using efficient algorithms.
What concerns do we have for representing?
REGULARIZED BOOLEAN SET OPERATIONS
REGULARIZED BOOLEAN SET OPERATIONS
But what we want :
REGULARIZED BOOLEAN SET OPERATIONS
• Primitive instancing• Sweeps• B-Reps• Spatial partitioning (cell-decomposition,spatial
occupancy enumeration,octrees,BSP trees)
• CSG
Representation solid modeling
• 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
Representation solid modeling(Primitive instancing)
• sweeping a 2D surface in 3D space to create an object
• Translational sweep• Rotational sweep
Representation solid modeling(Sweep)
The object being swept does not need to be 2D
• General sweeps ---> (difficult to model efficiency)
Representation solid modeling(Sweep)
• It is difficult to apply regularized Boolean set operations
• Even simple sweeps are not close under regularized Boolean set operations
Representation solid modeling(Sweep)
• Describe an object in terms of its surface boundaries : vertices , edges , and faces
• So some b-reps are restricted to planar , polygon , etc
Representation solid modeling(Boundary)
Determining what constitutes a face can be difficult if curved surfaces are allowed
• Polyhedra and Euler’s Formula• The Winged-Edge Representation• Boolean Set Operations• Nonpolyhedral b-Reps
Representation solid modeling(Boundary)
Because b-Reps tile an object’s surface, they do not provide a unique representation of a
solid
• 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)
Representation solid modeling(Boundary - Polyhedra and Euler’s Formula)
• States necessary but not sufficient conditions
• Additional constraints are needed
Representation solid modeling(Boundary - Polyhedra and Euler’s Formula)
Representation solid modeling(Boundary - Polyhedra and Euler’s Formula)
Representation solid modeling(Boundary - Polyhedra and Euler’s Formula)
Tweak operators do not affect number of vertices , edges , etc…
• What is simple representation? (advantages and disadvantages?!)
• The better way but more complex is “Winged-Edge” representation(handles only faces without holes)
Representation solid modeling(Boundary – “Winged-Edge” Representation)
• Inspect the polygons in both objects , splitting them if necessary
Representation solid modeling(Boundary – Boolean Set Operation)
• Poly-rep can only approximate Nonpolys
Representation solid modeling(Boundary – Nonpolyhedral)
• 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
Representation solid modeling(Spatial-Partitioning)
• Defines a set of primitive cells• Differs from primitive instancing(“Glue” operation)
• Unambiguous but not necessarily unique
Representation solid modeling(Spatial-Partitioning – “Cell Decomposition”)
Difficult to validate
• Voxels
Representation solid modeling(Spatial-Partitioning – “Spatial-Occupancy” Enumeration)
Unique and unambiguousBut approximate
!save space
Representation solid modeling(Spatial-Partitioning – “Spatial-Occupancy” Enumeration)
• Often used in biomedical application (such as Computerized Axial Tomography(CAT) scans)
• A hierarchical variant of spatial-occupancy enumeration• Full – partially full - empty
Representation solid modeling(Spatial-Partitioning –“Octrees”)
Representation solid modeling(Spatial-Partitioning –“Octrees”)
The “Octree” is similar to the quadtree(LUF,LUB,LDF,LDB,RUF,RUB,RDF,RDB)
• Boolean set operations and transformations
Representation solid modeling(Spatial-Partitioning –“Octrees”)
• Neighbor finding
• Linear notations – 00X,010,011,020,…..
Representation solid modeling(Spatial-Partitioning –“Octrees”)
• Operators at the internal nodes and simple primitives at the leaves
Representation solid modeling(Constructive Solid Geometry)
CSG
• Not unique
• Deleting-adding replacing-modifying subtrees-etc
Representation solid modeling(Constructive Solid Geometry)
CSG
Just a moment, let compare them
• Accuracy :Spatial-partitioning & polygon B-Rep ---> approximateCSG & curved surfaces B-Rep & primitive instancing ---> maybe better
• Domain : Primitive instancing & sweeps ---> limitedB-rep ---> a very wide classes of objectsSpatial-partitioning ---> represent any solid
• Uniqueness : only “Octree” and spatial-occupancy-enumeration approaches guarantee the uniqueness of a representation !!
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
Comparison of Representations
Thank you