38
Solid Modeling “In the name of God”

Solid modeling

  • Upload
    krvesl

  • View
    4.151

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Solid modeling

Solid Modeling

“In the name of God”

Page 2: Solid modeling

What is solid modeling ?!

A mathematical technique for representing solid objects

Page 3: Solid modeling

• Represent solid interiors of objects Surface may not be described explicitly

OK…what’s its usage ?

Visible human

Page 4: Solid modeling

• Some acquisition methods generate solids Example: CAT scan

OK…what’s its usage ?

Page 5: Solid modeling

• 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 ?

Page 6: Solid modeling

• 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?

Page 7: Solid modeling

• Closure ---> union-intersection-rotation-translation

• Compact ---> save space

• Allow using efficient algorithms.

What concerns do we have for representing?

Page 8: Solid modeling

REGULARIZED BOOLEAN SET OPERATIONS

Page 9: Solid modeling

REGULARIZED BOOLEAN SET OPERATIONS

But what we want :

Page 10: Solid modeling

REGULARIZED BOOLEAN SET OPERATIONS

Page 11: Solid modeling

• Primitive instancing• Sweeps• B-Reps• Spatial partitioning (cell-decomposition,spatial

occupancy enumeration,octrees,BSP trees)

• CSG

Representation solid modeling

Page 12: 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)

Page 13: Solid modeling

• 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

Page 14: Solid modeling

• General sweeps ---> (difficult to model efficiency)

Representation solid modeling(Sweep)

Page 15: Solid modeling

• It is difficult to apply regularized Boolean set operations

• Even simple sweeps are not close under regularized Boolean set operations

Representation solid modeling(Sweep)

Page 16: Solid modeling

• 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

Page 17: Solid modeling

• 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

Page 18: Solid modeling

• 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)

Page 19: Solid modeling

• States necessary but not sufficient conditions

• Additional constraints are needed

Representation solid modeling(Boundary - Polyhedra and Euler’s Formula)

Page 20: Solid modeling

Representation solid modeling(Boundary - Polyhedra and Euler’s Formula)

Page 21: Solid modeling

Representation solid modeling(Boundary - Polyhedra and Euler’s Formula)

Tweak operators do not affect number of vertices , edges , etc…

Page 22: Solid modeling

• 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)

Page 23: Solid modeling

• Inspect the polygons in both objects , splitting them if necessary

Representation solid modeling(Boundary – Boolean Set Operation)

Page 24: Solid modeling

• Poly-rep can only approximate Nonpolys

Representation solid modeling(Boundary – Nonpolyhedral)

Page 25: Solid modeling

• 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)

Page 26: Solid modeling

• 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

Page 27: Solid modeling

• Voxels

Representation solid modeling(Spatial-Partitioning – “Spatial-Occupancy” Enumeration)

Unique and unambiguousBut approximate

!save space

Page 28: Solid modeling

Representation solid modeling(Spatial-Partitioning – “Spatial-Occupancy” Enumeration)

• Often used in biomedical application (such as Computerized Axial Tomography(CAT) scans)

Page 29: Solid modeling

• A hierarchical variant of spatial-occupancy enumeration• Full – partially full - empty

Representation solid modeling(Spatial-Partitioning –“Octrees”)

Page 30: Solid modeling

Representation solid modeling(Spatial-Partitioning –“Octrees”)

The “Octree” is similar to the quadtree(LUF,LUB,LDF,LDB,RUF,RUB,RDF,RDB)

Page 31: Solid modeling

• Boolean set operations and transformations

Representation solid modeling(Spatial-Partitioning –“Octrees”)

Page 32: Solid modeling

• Neighbor finding

• Linear notations – 00X,010,011,020,…..

Representation solid modeling(Spatial-Partitioning –“Octrees”)

Page 33: Solid modeling

• Operators at the internal nodes and simple primitives at the leaves

Representation solid modeling(Constructive Solid Geometry)

CSG

Page 34: Solid modeling

• Not unique

• Deleting-adding replacing-modifying subtrees-etc

Representation solid modeling(Constructive Solid Geometry)

CSG

Page 35: Solid modeling

Just a moment, let compare them

Page 36: Solid modeling

• 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

Page 37: Solid modeling

• 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

Page 38: Solid modeling

Thank you