Three Dimensional Object Representations
Three Dimensional Object Representations
water, bricks, etc). There is no one method used to describe objects that will include all characteristics of these different materials. To produce realistic displays of scenes, representations that accurately model object characteristics need to be used. Polygon and quadratic surfaces provide precise descriptions for simple Euclidean objects such as polyhedrons and ellipsoids, spline surfaces and construction techniques useful for designing aircraft wings, gears, and other engineering structures with curved surfaces. Procedures such as fractal constructions and particle systems, allow accurate representations for clouds, clumps of grass, and other natural objects. Physically based modeling methods using systems of interacting forces can be used to describe nonrigid behaviour. Representation schemes for solid objects are often divided into two broad categories: o Boundary Representations (B-reps) This describes a 3-dimensional object as a set of surfaces that separate the object interior from the environment. Typical examples are polygons facets and spline patches. o Space-partitioning representations These are used to describe interior properties, by partitioning the spatial region containing an object into a set of small, nonoverlapping, contiguous solids (usually cubes). Polygon surfaces Surface polygons that enclose the object interior are the most commonly used boundary representation for a 3-Dimensional graphics object. Many graphics systems store all object descriptions as sets of surface polygons. This simplifies and speeds up the surface rendering and display of objects, since all surfaces are described with linear equations. Fo this reason, polygon descriptions are often called standard graphics objects. Polygon Tables A polygon surface is specified with a set of vertex coordinates and associated attribute parameters. As information for each polygon is input, the data are placed into tables that are to be used in the subsequent processing, display, and manipulation of the objects in a scene. A convenient organisation for storing geometric data is to create three lists: o A Vertex table o An edge table o A polygon Table
Listing geometric data in three tables provides a convenient reference to the individual components (vertices, edges, and polygons) of each object. Plane Equations For a display of a three-dimensional object to be produced, in input data representation for the object is processed through several procedures. These processing steps include: o Transformation of the modeling and world coordinates descriptions to viewing coordinates, then to device coordinates. o Identification of visible surfaces o Application of surface rendering procedures. Some of these processes need information about the spatial orientation of the individual surface components of the object. This information is obtained form the vertexcoordinate values and the equations that describe the polygon planes. The equation for a plane surface can be expressed in the form Ax + By + Cz + D = 0 Where: o (x, y and z) is any point on the plane. o The coefficients A, B, C, and D are constants describing the spatial properties of the plane. The values A, B, C and D can be obtained by solving a set of three plane equations using coordinate values for three noncollinear points on the plane. y N = (A, B, C)
x z Orientation of the plane surface in space can be described with the normal vector to the plane. This normal vector has Cartesian components (A, B, C), where the parameters A, B, and C are the plane coefficients. CUEA CMT 404: Computer Graphics
Octrees These are hierarchical structures used to represent solid objects in some graphics systems. Medical imaging and other applications that require displays of object across sections commonly use octree representations. The tree structure is organized so that each node corresponds to a region of three-dimensional space. This representation for solid takes advantage of spatial coherence to reduce storage requirements for three-dimensional objects. It also provides a convenient representation for storing information about object interiors. The octree encoding procedure for a 3D space is an extension of an encoding scheme for 2d space called Quadtree encoding. Quadtrees are generated by successively dividing a two dimensional region (usually a square) into quadrants. Each node in the Quadtree has four data elements, one for each of the quadrants in the region. If all pixels within a quadrant have the same color (homogeneous), the corresponding data element in the node stores that color. In addition, a flag is set in the data element to indicate that the quadrant is homogeneous. Binary Space-Partitioning (BSP) Tree This representation scheme is similar to octree encoding, except the space is now divided into partitions instead of eight at each step. With BSP, a scene is divided into two sections at each step with a plane that can be at any position and orientation.