You are on page 1of 8

2018-11-20

Solid – basic properties


Computer Graphics
• Subset of the 3D space
Dariusz Sawicki • Stiff
• Topologically uniform
• Finite (in sense of set theory)
• Bounded (in sense of set theory)
• Closed (in sense of set theory)
Solid modeling • Simple and effective description

CG Solid Modeling 4

Introduction Solid – basic properties

● Solid Stiff
● Wire-frame representation
● Classic representation methods It means that the structure of the solid can be defined,
- Constructive Solid Geometry and this structure can not be changed.
- Boundary representation Rubber is this way stiff as well.
- Sweep representation
- Spatial partitioning representation
● Comparison of representation
● Hierarchy

CG Solid Modeling 2 CG Solid Modeling 5

Simple rules Solid – basic properties

Detail and its decisive and important part


in Image Synthesis Topologically uniform

• Real shapes are very complex !!! It means that in the solid there are not connected
• It is simple: more detail = more realism elements with different topological dimension.
but :
– it takes longer time to model,
– it takes longer time to render,
– it occupies more disk space

• Procedural objects
– More detail when you want it

CG Solid Modeling 3 CG Solid Modeling 6

1
2018-11-20

Solid – basic properties Representing solids

Finite (in sense of set theory) How to describe the solid effectively

It means that solid contains finite number of elements • Shape ? – surface description
and size of each element is finite. • Inner area (set of points) ? – spatial description

• Effectively for graphical uses.

CG Solid Modeling 7 CG Solid Modeling 10

Solid – basic properties Wire-frame representation

• Oldest and simplest type of 3D model


Bounded (in sense of set theory) • Solid (polyhedron) represented by:
– list of points given by proper coordinates
Solid is bounded if and only if there exist a ball which – sequence of instructions of type:
contains (completely) the solid.
move (A) - move to new location
line (B) - draw line from current location
to new location

(A and B: vectors defined as a set of three


real numbers <X,Y,Z> )

Practically not used today


CG Solid Modeling 8 CG Solid Modeling 11

Solid – basic properties Solids – representation methods

Closed (in sense of set theory) Four classic methods of representation

Solid is closed if and only if it contains all of its limit points • CSG (Constructive Solid Geometry)
(complete boundary). – spatial definition (set of points) by Boolean operations
• B-reps (Boundary Representation)
– shape definition
• Sweep representation
– indirect spatial definition
• Spatial-partitioning representations
– direct spatial definition by pointing out

CG Solid Modeling 9 CG Solid Modeling 12

2
2018-11-20

Constructive Solid Geometry I Constructive Solid Geometry IV

Closure problem
Use a set of primitives – simple solids.
Solid : set of points – spatial definition !!!

Construct object (solid) as a combination of primitives, using


Boolean operation.

Boundary:
before and after operation

CG Solid Modeling 13 CG Solid Modeling 16

Constructive Solid Geometry II Closure problem I

• Solid (new object) defined as a


Solid:
result of Boolean operation.
Union of primitives • interior points
• boundary points
• There are used:
– Boolean union
– Boolean intersection Boundary:
– Boolean difference Intersection of primitives points whose distance from the object
and object’s complement is zero

Boundary has to be explicitly and unambiguously defined !!!


Difference of primitives
We can see object only observing its boundary.
CG Solid Modeling 14 CG Solid Modeling 17

Constructive Solid Geometry III Closure problem II

Indirect definition:
How to solve
definition how to build object
closure problem ???

Structure :

nonuniform binary tree

\
• Nodes : operations Use regularized Boolean operation.
• Leaves : primitives

CG Solid Modeling 15 CG Solid Modeling 18

3
2018-11-20

Regularization of the object CSG – summary

• Advantages
– Direct representation based on Boolean operations
– Concise representation
– Especially useful in ray-tracing applications
• Disadvantages
– Approximation of the 3D object
(depending on CSG model)
– Not easy rendering (need of shape properties)
– Regularization problem
Dangling and unattached points of object => closure of the
object (boundary points are added to the interior) => interior of
the object (boundary points are removed) => close the interior
(create boundary according to definition) – object is regularized
CG Solid Modeling 19 CG Solid Modeling 22

Ordinary vs. Regularized Operation B-rep – Boundary Representation

Use a methods for shape definition.


Solid : described by its shape – surface definition !!!

Construct shape of object (solid) as a combination of surface


pieces.

Boundary has to be explicitly


and unambiguously defined !!!
Topological problem Ordinary Regularized
Boolean operation
CG Solid Modeling 20 CG Solid Modeling 23

Closure problem one more time B-rep – Boundary Representation

Boundary has to be explicitly


and unambiguously defined !!!

We can see object only Union of primitives

observing its boundary.


The boundary properties have
to be unambiguously defined !!!
Intersection of primitives

Solid modeled as a set of surfaces forming its boundary


Solid => Surfaces => Polygons => Vertices (Edges)
Difference of primitives
CG Solid Modeling 21 CG Solid Modeling 24

4
2018-11-20

B-rep – Polygonal model I B-rep – summary

• Advantages
– Easy to recognize and define the object
(Formal definition of the object surface)
– Easy and efficient rendering (defined face and its
properties)
– Possible Boolean operation (but not easy !)
• Disadvantages
– Approximation of the 3D object (depending on shape of
surface)
from: Viewpoint Digital’s catalogue
– Validity problem
for educational use only
– Numerical problem influence representation and rendering
141788 polygons 35305 polygons 8993 polygons – The representation is not concise
Approximation problem when real world is described by polygonal model
CG Solid Modeling 25 CG Solid Modeling 28

B-rep – Polygonal model II Sweep representations

• Very effective for polyhedral solids.


Use an indirect shape definition.
• Approximations required for objects like spheres or
Solid : set of points – spatial as well as shape definition !!!
solid of revolution.
• To represent satisfactorily even comparatively simple
Construct object (solid) by describing the shape that covers
shapes, large numbers of polygons is needed.
this solid.
• This way, essential character of some surfaces
(e.g. spheres) can be lost by polygonal approximation.
But
• Limited domain !
• No formal theory
• Unknown validation and regularization schemes

CG Solid Modeling 26 CG Solid Modeling 29

Boundary representations I Sweep representations

• Direct description of the solid Building Operations:


shape (surface) • Generate the contour (profile) How to define
• Define path curve (trajectory). a long rail ?
• Data structure: • Sweep the profile along
tables, lists, (useful special the path curve
kind of structure) that keep
shape description (vertexes,
edges, faces, and its
configuration in polygonal
models)

very often redundant structure !


CG Solid Modeling 27 CG Solid Modeling 30

5
2018-11-20

Sweep representations Voxel

Multisection sweep • Partition space into uniform grid


– Grid cells are called a voxels (like pixels)
• Store properties of solid object with each voxel
• Complex contour – Occupancy
• Complex trajectory – Color
– Reflection properties
– etc. (Temperature ?, Mechanical ? properties)

from: http://www.h-dm.com/resources/CADZilla/manual/multi_section_sweep.jpg
Educational use only • Space partitioning can be defined as nonuniform –
hierarchical !

CG Solid Modeling 31 CG Solid Modeling 34

Sweep representations – summary Uniform grid vs. hierarchy

• Advantages
– Natural and easy description of the object
Intuitive definition
• Disadvantages
– Expensive display (there is no definition of boundary !)
– Indirect definition
– (Practically exist only as user definition, inside
application object described in CSG or B-rep
environment) Spatial-occupancy enumeration 2D Hierarchy
– Geometrical description and manipulation problem (2D Uniform grid) Quadtree

CG Solid Modeling 32 CG Solid Modeling 35

Space partitioning representations Octree

Describe position of elements and use an effective data


structure to store such description.
Solid : set of points – spatial definition !!!

Construct object (solid) by pointing out regions that belong to


the object.

from: A.Christensen’s paper, SIGGRAPH 80


for educational use only

Torus representation by spatial-occupancy method

Notice approximation problem !!!


CG Solid Modeling 33 CG Solid Modeling 36

6
2018-11-20

Space partitioning representations


Hierarchy in modeling II
Additional operations

Hierarchical definitions
Possible simple Boolean operation by two solids • interaction: groups of primitives can be interactively
– In enumerated representation manipulated together, irrespective of a method of
Compare (and determine Boolean result) construction.
Voxel by Voxel. • storage efficiency: definition of repeated symbol needs
to be stored only once
– In hierarchy
• common visual properties: groups of primitives can be
Compare (and determine Boolean result)
given the same attributes, for example color,
region by region.
transparency, visibility etc.
• common transformation: groups of primitives can be
There is no need of regularization !!! all transformed together (for example rotated)

CG Solid Modeling 37 CG Solid Modeling 40

Space partitioning representations –


Hierarchy in modeling III
summary
• Advantages
– Unambiguous Hierarchy use for a variety of purposes:
– Simple structure • To construct complex objects in a modular fashion,
– Natural acquisition for technical applications step by step – level by level.
– Practically the same complexity for all objects • To increase storage economy
– Possible simple Boolean operations store references rather the complete object definition.
• Disadvantages • To allow easy update propagation
– Approximation problem (always !) changes are propagated through the hierarchy.
– Large storage requirements
– Geometrical description and manipulation problem
(Not affine invariant)
– Expensive display (there is no definition of boundary !)
CG Solid Modeling 38 CG Solid Modeling 41

Hierarchy in modeling I Modeling by deformation

Many objects has hierarchical structures Use previous defined object


and make deformation
of their construction
(nonlinear and independent of
representation !)
robot
• Tapering using scaling
body function

• Twisting
head hand_L hand_R leg_L leg_R

• Bending (independently in
palm_L palm_R foot_L foot_R each axis)
from: Watt A., Watt M.: Advanced Animation and
Rendering Techniques, Addison Wesley 1993
for educational use only
CG Solid Modeling 39 CG Solid Modeling 42

7
2018-11-20

Bibliography (additionally)

• Mortenson M.,E.: Geometric Modeling, Second Edition,


John Wiley & Sons, 1997.
• Requicha A.G.: Representantions for Rigid Solids:
Theory, Methods and Systems, Computing Surveys, Vol.
12, 1980, ss.437-464.
• Watt A., Watt M.: Advanced Animation and Rendering
Techniques, Addison Wesley,1993.
• Watt A.: 3D Computer Graphics (third edition), Addison
Wesley,2000.

CG Solid Modeling 43

You might also like