1 / 42

Computer Graphics

Computer Graphics. Chapter 7 3D Object Modeling. 3D Object Representation. y = f(x,z) . A surface can be analytically generated using its function involving the coordinates. An object can be represented in terms of its vertices, edges and polygons. (Wire Frame, Polygonal Mesh etc.)

nile
Download Presentation

Computer Graphics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Graphics Chapter 7 3D Object Modeling

  2. 3D Object Representation y = f(x,z) • A surface can be analytically generated using its function involving the coordinates. • An object can be represented in terms of its vertices, edges and polygons. (Wire Frame, Polygonal Mesh etc.) • Curves and surfaces can also be designed using splines by specifying a set of few control points. x y z . . .

  3. Solid Modeling - Polyhedron • A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. • A polyhedron is a special case of a polygon mesh that satisfies the following properties: • Every edge is shared by exactly two faces. • At least three edges meet at each vertex. • Faces do not interpenetrate. Faces at most touch along a common edge. • Euler’s formula : If F, E, V represent the number of faces, vertices and edges of a polyhedron, then V + FE = 2.

  4. 3D Object Representation • The data for polygonal meshes can be represented in two ways. • Method 1: • Vertex List • Normal List • Face List (Polygon List) • Method 2: • Vertex List • Edge List • Face List (Polygon List)

  5. Vertices and Faces - E.g. Cube 2 5 4 3 1 1 0 5 6 7 0 2 3 4 Vertex Index Face Index

  6. Data representation using vertex, face and normal lists:

  7. Data representation using vertex, face and edge lists:

  8. Normal Vectors (OpenGL)

  9. Regular Polyhedra (Platonic Solids) • If all the faces of a polyhedron are identical, and each is a regular polygon, then the object is called a platonic solid. • Only five such objects exist.

  10. Wire-Frame Models • If the object is defined only by a set of nodes (vertices), and a set of lines connecting the nodes, then the resulting object representation is called a wire-frame model. • Very suitable for engineering applications. • Simplest 3D Model - easy to construct. • Easy to clip and manipulate. • Not suitable for building realistic models.

  11. Wire Frame Models - OpenGL

  12. Wire Frame Model - The Teapot

  13. Polygonal Mesh • Three-dimensional surfaces and solids can be approximated by a set of polygonal and line elements. Such surfaces are called polygonal meshes. • The set of polygons or faces, together form the “skin” of the object. • This method can be used to represent a broad class of solids/surfaces in graphics. • A polygonal mesh can be rendered using hidden surface removal algorithms.

  14. Polygonal Mesh - Example

  15. Solid Modeling • Polygonal meshes can be used in solid modeling. • An object is considered solid if the polygons fit together to enclose a space. • In solid models, it is necessary to incorporate directional information on each face by using the normal vector to the plane of the face, and it is used in the shading process.

  16. Solid Modeling - Example

  17. Solid Modeling - OpenGL

  18. Surface Modeling Y y = f(x, z) X Z Many surfaces can be represented by an explicit function of two independent variables, such as y = f(x, z).

  19. Surface Modeling - Example

  20. Sweep Representations • Sweep representations are useful for both surface modeling and solid modeling. • A large class of shapes (both surfaces and solid models) can be formed by sweeping or extruding a 2D shape through space. • Sweep representations are useful for constructing 3-D objects that posses translational or rotational symmetries.

  21. Extruded Shapes - Examples A polyhedron obtained by sweeping (extruding) a polygon along a straight line is called a prism.

  22. Surface of Revolution • A surface of revolution is obtained by revolving a curve (known as the base curve or profile curve) about an axis. • In other words, a surface of revolution is generated by a rotational sweep of a 2D curve. • The symmetry of the surface of revolution makes it a very useful object in presentation graphics.

  23. Surface of Revolution Y y = f(x) y = f(r) y y x X r (x, z) Z

  24. Surface of Revolution The three-dimensional surface obtained by revolving the curve y = f(x) about the y-axis is obtained by replacing x with sqrt(x*x + z*z). The surface of revolution is thus given by

  25. Surface of Revolution

  26. Quad trees Quad trees are generated by successively dividing a 2-D region(usually a square) into quadrants. Each node in the quadtree has 4 data elements, one for each of the quadrants in the region. If all the pixels within a quadrant have the same color (a homogeneous quadrant), the corresponding data element in the node stores that color. For a heterogeneous region of space, the successive divisions into quadrants continues until all quadrants are homogeneous.

  27. Octrees • An octree encoding scheme divide regions of 3-D space(usually a cube) in to octants and stores 8 data elements in each node of the tree. • Individual elements of a 3-D space are called volume elements or voxels. • When all voxels in an octant are of the same type, this type value is stored in the corresponding data element of the node. Any heterogeneous octant is subdivided into octants and the corresponding data element in the node points to the next node in the octree.

  28. Octrees

  29. Bezier Curves The Bezier curve only approximates the control points and doesn’t actually pass through all of them.

  30. Bezier Curves Inputs: n control points (xi, yi), i = 0, 1,2, …n-1 m = n1

  31. Bezier Curves Inputs: n control points (xi, yi), i = 0, 1,2, …m

  32. p1 p1 p3 p2 p0 p0 p2 Properties of Bezier Curve • Bezier curve is a polynomial of degree one less than the number of control points Quadratic Curve Cubic Curve

  33. Properties of Bezier Curve (cont.) • Bezier curve always passes through the first and last points; i.e. and ,

  34. p1 p1 p2 p2 p0 p0 Properties of Bezier Curve (cont) • The slop at the beginning of the curve is along the line joining the first two control points, and the slope at the end of the curve is along the line joining the last two points.

  35. Properties of Bezier Curve (cont) • Bezier blending functions are all positive and the sum is always 1. • This means that the curve is the weighted sum of the control points.

  36. p2 p1 p0=p5 Design Technique using Bezier Curves: • A closed Bezier curve can be generated by specifying the first and last control points at the same location p3 p4

  37. p1 = p2 p3 p0 p4 Design Technique (Cont) • A Bezier curve can be made to pass closer to a given coordinate position by assigning multiple control points to that position.

  38. p1 p’3 p2= p’0 p0 p’1 p’2 • Bezier curve can be form by piecing of several Bezier section with lower degree.

  39. Bezier Surfaces (Not Important!)

  40. Bezier Patch A set of 16 control points The Bezier Patch

  41. Bezier Patch Utah Teapot Defined Using Control Points

  42. Bezier Patch Utah Teapot Generated Using Bezier Patches

More Related