Transcript 09_ModelSolid.pt.en
Solid Modelling
Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 1
Solid Modelling
• In one set of 2D line segments or curves do not necessarily form a closed area.
• In a collection of 3D surfaces does not necessarily involve a closed volume.
Solid modeling:
In some applications it is important to: distinguish between the interior and exterior surface of a 3D object; and compute properties of objects that depend on this distinction.
Ex: Simulation of mechanisms, volume calculation, center of mass, application of finite to determine response to factors such as stress and temperature, etc. elements.
Applications: CAD / CAM and imaging
photo-realistic
.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 2
Characteristics of a solid model
1. Should cover a
domain representation
objects we want to model.
broad enough to incorporate all kinds of 2. The representation must be
unambiguous
and
only
: A given representation must correspond to a single solid; and each object must have only one possible representation. The only representation allows us to compare two objects to determine equality.
3.
Need / Correct:
accurate modeling allows to represent the object without approximations. Systems that only accept representation by line segments approximate curved surfaces.
4. Impossibility of creating
invalid objects
, I.e. that do not correspond to a solid.
5. Representation
closed
: The representation must remain valid after the application of geometric transformations. For example, if there are duplicates of vertices by applying geometric transformations we can obtain different values for the same point 6. Representation
compact
to optimize the use of memory.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 3
Characteristics of a solid model
Example of invalid objects as solid.
- The representation of
a)
edges.
does not clearly identify the faces of the cube, only indicates - We can consider a sequence of 4 segments form a face? But solid
b)
would be wrong to consider solid.
In general representations used do not have all the features presented, the model being chosen according to the characteristics of the object model.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 4
Boolean operations
The combination of Boolean operations allows objects by defining new objects independently of representation used. Operations are
union
,
difference
and
interception
.
a)
Objects A and B
b)
The U B
c)
A ∩ B
d)
A - B
e)
B - A COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 5
Subtraction
Subtract the volume of an object to another. COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 6
Grouping objects
Add the two volumes. It is the removal of the overlying loop.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 7
Union
Add the two volumes, and removes the part of the overlay network.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 8
Example
- Ask Lego performed with Boolean operations. The solids are used cube and cylinder.
This type of modeling is mainly used for regular objects as exemplified.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 9
Types of Representation
1.
Representation by Instantiating Primitives 2.
Representation by Scanning 3.
Representation by Boundary (Boundary Representation) 4.
Representation for Spatial Decomposition 5.
Constructive Representation (CSG) COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 10
Representation by Instantiating Primitives
The modeling system has pre-defined a set of useful 3D solid modeling to the desired. The user can control the shape of the object defining the parameters that characterize it.
It provides for the combination of objects as by Boolean operations. Applied to complex parts.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 11
Representation by Scanning
The displacement of an object according to a trajectory defines another object : – –
Translation
(Extrusion)
Rotation
Ex: The
translation
a 2D rectangle along a perpendicular to the plane of that object creates a parallelepiped. A simple extension is to vary the size of the 2D object along the path.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 12
Representation by Scanning
• Using this method without path constraints can result in
inefficient modeling
object. of the Ex: If the object intersects itself complicates the calculation of volume.
• Can not generate a valid solid if the motion is in the plane containing the 2D shape.
• In general applications convert objects created by scanning for other representations of objects.
The combination of
Boolean operations
objects created by scanning allows you to find other objects that would not be possible for scanning.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 13
Representation by Scanning - Example
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 14
Representation by Scanning - Example
1. Defining a way to make scanning for translation.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 15
Representation by Scanning - Example
2. Defining the shape of the section of the final object.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 16
Representation by Scanning - Example
Object obtained by translation.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 17
Representation by Scanning - Example
Object obtained by translation, rotation around the axis shifting and scaling along the route.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 18
By Boundary Representation (B-rep)
• The solids are described by its boundary surface. Uses the description by vertices, edges and faces.
• The most common representation is the boundary polygons per plans.
• Will be considered only with solid border
2-manifolds
Ie the neighbors of any point of the border point are on a disk (that is to say that each edge is shared by two faces) (A) and (b) are
2-manifold
(C) is not
2-manifold
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 19
By Boundary Representation (B-rep)
Polyhedron
Solid delimited by a set of polygons whose edges belonging to two polygons (for solids
2-manifolds
).
Formula Euler
A simple polyhedron without holes, obeys
Euler's formula
: V - E + F = 2 V - Vertex E - Edges (edges) F - Faces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 20
By Boundary Representation (B-rep)
The
Euler's formula
polyhedron.
is necessary but not sufficient to ensure that an object is a simple
Additional conditions:
1.
2.
Each edge connects 2 vertices and is shared by 2 faces At least three edges are at the same vertex
Generalization of Euler's Formula for polyhedra with holes:
V - E + F - H = 2 (C - G) COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 V - Vertex E - Edges (edges) F - Faces H - number of holes in the sides G - Number of holes crossing the object C - number of parts of the object 21
Exercise
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 22
Representation for Spatial Decomposition
• A solid is decomposed into: – In a number of more primitive solids than the original – The primitive solids are adjacent and do not intersect •
Types
Representation for Spatial Decomposition – Cell Decomposition – Enumeration of Space Occupation – Octrees – Binary trees partition the space COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 23
Representation for Spatial Decomposition
Cell Decomposition
• • • In
Cell Decomposition
: There is a set of primitive cells, parameterized Curves can be Differs from Instance Primitives, by admitting the composition of more complex objects from other already established
Gluing operation
It is a union of cells that do not intersect a) b) Primitive cells to transform c) are the same final object created with different combinations COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 24
Representation for Spatial Decomposition
Enumeration of Space Occupation
• • • • • The
Enumeration of Space Occupation
is a particular case of
Cell Decomposition
: Solid formed by identical cells of equal size placed in a regular grid.
The cells are designated
Voxels
It controls only the presence or absence of each cell in the grid The most common form is to cell (Volume elements) by analogy with pixels
cube
The object is encoded by a single list of occupied cells COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 25
Representation for Spatial Decomposition
Octrees
•
The Octree is similar to quadtree
The
octree
is 3D and the division of space is in
octants
•
Number of nodes of an octree
It is proportional to the object surface because of the necessity of the space division occurs only on the surface.
Enumeration of
octree
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 26
Representation for Spatial Decomposition
Binary Space Partitioning Trees (BSP)
• • • At each step, the space is divided by a plane of arbitrary position and orientation Each internal node of the tree is associated with a flat, two pointers (one for inside the polygon and the other to the outside).
If a sub-space is homogeneous (fully indoors or outdoors), cease to be divided.
(a) (b) Concave polygon with the boundary defined by black lines. Dividing lines in dark gray. Interior light gray.
BSP tree.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 27
Constructive Representation
(CSG - Constructive Solid Geometry) • • • The object is achieved by combining simple primitives using Boolean operators.
The object is stored as a tree, where the interior nodes are operators and leaves are simple primitives Some nodes represent Boolean operations, while others perform translations, rotations and scalings.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 28
Exercise
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 29
References
• 3D Modeling & Surfacing Bill Fleming Morgan Kaufmann, Academic Press, 1999 • Introduction to Computer Graphics James Foley, A. van Dam, S. Feiner, J. Hughes, R. Phillips Addison-Wesley Publishing Company, 1996
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 2004 30