COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Solid Modelling Graphics Systems / Computer Graphics and Interfaces
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 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 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 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 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 Subtraction Subtract the volume of an object to another.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 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 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 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 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 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 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 Representation by Scanning The combination of Boolean operations objects created by scanning allows you to find other objects that would not be possible for 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.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Representation by Scanning - Example
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 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 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 Representation by Scanning - Example Object obtained by translation.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 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 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 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 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 C - number of parts of the object
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Exercise
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 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 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)Primitive cells to transform b)c) are the same final object created with different combinations
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 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 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 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. (b)BSP tree.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 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 Exercise
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 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