09_ModelSolid.pt.en

advertisement
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 broad enough to incorporate all kinds of
objects we want to model.
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) does not clearly identify the faces of the cube, only indicates
edges.
- 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
COLLEGE OF ENGINEERING
UNIVERSITY OF PORTO
c) A ∩ B
COMPUTER GRAPHICS AND INTERFACES /
GRAPHICS SYSTEMS JGB / AAS 2004
d) A - B
e) B - A
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 of the
object.
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-manifoldsIe 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)
TheEuler's formula is necessary but not sufficient to ensure that an object is a simple
polyhedron.
Additional conditions:
1.
Each edge connects 2 vertices and is shared by 2 faces
2.
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)
V - Vertex
E - Edges (edges)
F - Faces
H - number of holes in the sides
G - Number of holes crossing the object
COLLEGE OF ENGINEERING
UNIVERSITY OF PORTO
COMPUTER GRAPHICS AND INTERFACES /
GRAPHICS SYSTEMS JGB / AAS 2004
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
COLLEGE OF ENGINEERING
UNIVERSITY OF PORTO
COMPUTER GRAPHICS AND INTERFACES /
GRAPHICS SYSTEMS JGB / AAS 2004
a)
Primitive cells to
transform
b)
c) are the same final
object created with
different combinations
24
Representation for Spatial Decomposition
Enumeration of Space Occupation
TheEnumeration 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 (Volume elements) by analogy with pixels
• It controls only the presence or absence of each cell in the grid
• The most common form is to cell 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
• Theoctree 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)
Concave polygon with the boundary defined by black lines. Dividing lines in dark gray.
Interior light gray.
BSP tree.
(b)
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
Download