0% found this document useful (0 votes)
9 views

CG Lesson09 (En)

Uploaded by

Hoàng Minh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

CG Lesson09 (En)

Uploaded by

Hoàng Minh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Lesson 9

Solid

Trinh Thanh Trung School of ICT, HUST


Content
1. Geometry representation
2. Solid properties
3. Solid modelling
1.
Geometry representation
Geometry representation

■ To represent an object consisting of simple


polygons → Representation scheme
1. For each polygon, construct the set of its vertices,
in arbitrary order
2. For each vertex, construct a pair of real numbers
with the coordinates of the vertex in some agreed
frame.
3. Make a list (i.e, a sequence of elements) containing
all these pairs of reals
Problems

■ Ambiguous or incomplete scheme

Two distinct simple polygons with the same vertices.


⇒ The semantics of the representation must be
defined → Structured representation
Representation scheme properties

■ Domain
□ Which objects can be represented in the scheme?
■ Validity
□ Does a representation correspond to (at least) one
object in the domain?
■ Non-ambiguity
□ Does a valid representation correspond to only one
object in the domain?
Additional properties

■ Uniqueness
□ Does an object in the domain have a unique
representation in the scheme?
■ Conciseness
□ How large are the representations?
■ Ease of construction
□ How hard is it to construct a valid representation?
■ Suitability for applications
□ Are there good application algorithms that operate
on the representations of the scheme?
Geometry representation methods

■ Primitive Instancing
■ Spatial Decomposition
■ Constructive Methods
■ Sweeping
■ Interpolation and Approximation
■ Boundary Methods
■ Hybrid
2.
Solid properties
Solid properties

■ Rigidity
□ Distances and angles among points of a set in
Euclidean space are fixed
□ Preserve distances and angles
■ Finiteness
□ A physical object should have a finite extent.
□ Our sets are required to be bounded.
■ Solidity
□ Solid should be without dangling faces or
edges.
Solid properties

■ Closure under Boolean operations


□ Boolean operations applied to solids should
produce other solids
■ Finite describability
□ Point sets used to model solids should be
describable by a finite amount of data, to ensure
that they can be represented in computers, which
have finite memories.
■ Boundary determinism
□ A solid should be modeled by a set that is
unambiguously defined by its boundary.
3.
Solid modelling
Semi-algebraic Half space

■ Half-space
Semi-algebraic Half space

■ A semi-algebraic half space is a set of points that


satisfy an algebraic inequality
{p : f (p) ≤ 0}
■ In 3D, a half-space is defined by
ax + by + cz + d ≤ 0

□ r-sets are bounded, regular, semi-algebraic sets.


□ r-sets are rigid, finite, solid, closed under Boolean
operations, finitely-describable, and uniquely
determined by their boundaries.
□ provide suitable models for rigid, homogeneous
solid objects.
Boundary Representation

■ Boundary representation (BRep) schemes are the


most widely used representations for solids.
■ Using a BRep graph, which is a graph structure
□ nodes corresponding to faces, edges and vertices in
a cell decomposition of the solid’s boundary.
□ Links between the nodes express connectivity
information
Example
BRep Graph
BRep: Face

■ A face is a subset of the solid’s topological boundary.


■ The union of all the faces equals the boundary of the
solid.
■ Each face is a subset of only one primitive surface
instance.
■ A face is homogeneously 2-D, it has no dangling
vertices or edges.
■ A face is a connected se
■ Faces are quasi-disjoint, i.e., meet only at edges or
vertices.
■ A face is the largest subset of the boundary that
satisfies all the previous conditions
BRep: Edge

■ An edge is a subset of a face’s boundary.


■ The union of all the edges associated with a face
equals the face’s boundary.
■ Each edge is a subset of the intersection of two
primitive surface instances.
■ An edge is a compact, connected 1-manifold. (Some
schemes require that an edge be homeomorphic to a line
segment.)
■ Edges are quasi-disjoint, i.e., meet only at vertices.
■ An edge is the largest subset of the boundary of a
face that satisfies all the previous conditions.
BRep validity

■ The edges associated with a face must form a


loop or closed circuit, to ensure that they enclose a
2-D area.
▫ This condition is satisfied if and only if each vertex
in a face belongs exactly to two of the face’s
edges.
■ The faces must form one or more closed
surfaces or shells, to ensure that they enclose a 3-D
volume.
□ This condition is satisfied if and only if each edge
belongs to an even number of faces. (Had we
restricted the domain to manifold polyhedra, an
edge would have to belong exactly to two faces.)
BRep validity
(cont.)
■ Each 3-tuple of coordinates must correspond to
a distinct point in 3-space.
■ Edges must either be disjoint or intersect at a
common vertex, otherwise there would be missing
vertices in the representation.
■ Similarly, faces must either be disjoint or
intersect at a common edge or vertex.
Constructive Solid Geometry

■ CSG (Constructive Solid Geometry),


■ Use Boolean (set-theoretic) operations.
□ union, intersection and difference
■ The operation sequence is typically stored as a
tree
Constructive Solid Geometry

■ Basic 3D CSG primitives


□ block
□ sphere
□ cylinder
□ cone
□ torus
□ wedge
CSG operators

■ Union
□ OR operator
□ A U B or A + B
□ Union is commutative: A+B = B+A
CSG operators

■ Intersection
□ AND operator
□A | B
□ Intersection is commutative: A | B = B | A
CSG operators

■ Difference
□A - B
□ Difference is NOT commutative: A - B ≠ B - A
Example
CSG
CSG tree
Z
Sweeping
sweep

■ Is also a CSG technique


■ Use lathing and extrusion
□ Lathing is the CAD Y

equivalent of turning a part X


Z
on a lathe -- any object
whose outline is constant as
it spins about one axis is sweep
allowed.
□ Extrusion is the CAD
equivalent of a cookie cutter X
Y
-- any object formed by the
linear translation of a closed
2D figure is allowed
Spatial Decomposition

■ Partition space into regions called cells


■ Enumerate those cells which are filled with
material and therefore constitute the object being
represented
□ In 2-D: the primitive square cells are called pixels
(“picture elements”)
□ In 3-D: cubical cells are called voxels (“volume
elements”)
Quadtree

■ Quadtree in 2D
Octree

■ Octree in 3D
CSG vs Spatial

Volumetric model.
CSG - constructive solid geometry
3D Object is a collection of volume
3D Objects defined as boolean operations elements or voxels which flag spatial
on solid primitives. occupancy in a discrete region.
Geometric Modeling
System
Input subsystem Core representation subsystem
CSG
Based
CSG
Sweep Spatial
Based Decomp.
B-Rep.
B-Rep.
Based
3D Modeling with Polygons

■ We construct 3D models using groups of


polygons.
■ Each polygon is planar  we need a large
number of small polygons to give the impression of
curved surfaces:
120 polygons 300 polygons 1000 polygons
48 polygons
Polygon Mesh
Thanks!
Any questions?
Credits

Lecture notes provided by School of Information and


Communication Technology, Hanoi University of Science and
Technology.
Composed by Huynh Quyet Thang, Le Tan Hung, Trinh Thanh
Trung and others
Edited by Trinh Thanh Trung

Special thanks to all the people who made and released these
awesome resources for free:
■ Presentation template by SlidesCarnival
■ Photographs by Death to the Stock Photo (license)
■ Diverse device hand photos by Facebook Design
Resources

You might also like