1 / 23

GR2 Advanced Computer Graphics AGR

GR2 Advanced Computer Graphics AGR. Lecture 2 Basic Modelling. Polygonal Representation. Any 3D object can be represented as a set of plane, polygonal surfaces. V7. V6. V8. V5. V3. V2. V4. V1. Note: each vertex part of several polygons. Polygonal Representation.

matty
Download Presentation

GR2 Advanced Computer Graphics AGR

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. GR2Advanced Computer GraphicsAGR Lecture 2 Basic Modelling

  2. Polygonal Representation • Any 3D object can be represented as a set of plane, polygonal surfaces V7 V6 V8 V5 V3 V2 V4 V1 Note:each vertex part of several polygons

  3. Polygonal Representation • Objects with curved surfaces can be approximated by polygons - improved approximation by more polygons

  4. Scene Organisation • Scene = list of objects • Object = list of surfaces • Surface = list of polygons • Polygon = list of vertices scene vertices object surfaces polygons

  5. Polygon Table Vertex Table V1 X1, Y1, Z1 P1 V1, V2, V3, V4 V2 X2, Y2, Z2 P2 V1, V5, V6, V2 . ... . ... Polygon Data Structure V7 V6 Object Obj1 V5 V8 V3 V2 P2 V4 V1 P1 Object Table Obj1 P1, P2, P3, P4, P5, P6

  6. Typical Primitives • Graphics systems such as OpenGL typically support: • triangles, triangle strips and fans • quads, quad strips • polygons • Which way is front? • convention is that normal points towards you if vertices are specified counter-clockwise

  7. Modelling Regular Objects • Sweeping • Spinning sweep axis 2D Profile R1 R2 spinning axis

  8. Sweeping a Circle to Generate a Cylinder as Polygons V12 V13 V11 V18 V3 V10 V4 V14 V2 V17 V15 V5 V1 vertices at z=depth V16 V6 V8 V7 V9 vertices at z=0 V1[x] = R; V1[y] = 0; V1[z] = 0 V2[x] = R cos ; V2[y] = R sin ; V2[z] = 0 (q=p/4) Vk[x] = R cos k; Vk[y] = R sin k; Vk[z] = 0 where k = 2 p (k - 1 )/8, k=1,2,..8

  9. Exercise and Further Reading • Spinning: • Work out formulae to spin an outline (in the xy plane) about the y-axis • READING: • Hearn and Baker, Chapter 10

  10. Complex Primitives • Some systems such as VRML have cylinders, cones, etc as primitives • polygonal representation calculated automatically • OpenGL has a utility library (GLU) which contains various high-level primitives • again converted to polygons • For conventional graphics hardware: • POLYGONS RULE!

  11. Automatic Generation of Polygonal Objects • 3D scanners - or laser rangers - are able to generate computer representations of objects • object sits on rotating table • contour outline generated for a given height • scanner moves up a level and next contour created • successive contours stitched together to give polygonal representation

  12. A Puzzle

  13. Modelling Objects and Creating Worlds • We have seen how boundary representations of simple objects can be created • Typically each object is created in its own co-ordinate system • To create a world, we need to understand how to transform objects so as to place them in the right place - translation, at the right size - scaling, in the right orientation- rotation

  14. Transformations • The basic linear transformations are: • translation: P = P + T, where T is translation vector • scaling: P’ = S P, where S is a scaling matrix • rotation: P’ = R P, where R is a rotation matrix • As in 2D graphics, we use homogeneous co-ordinates in order to express all transformations as matrices and allow them to be combined easily

  15. Homogeneous Co-ordinates • In homogeneous coordinates, a 3D point P = (x,y,z)T is represented as: P = (x,y,z,1)T • That is, a point in 4D space, with its ‘extra’ co-ordinate equal to 1 • Note: in homogeneous co-ordinates, multiplication by a constant leaves point unchanged • ie (x, y, z, 1)T = (wx, wy, wz, w)T

  16. Translation • Suppose we want to translate P (x,y,z)T by a distance (Tx, Ty, Tz)T • We express P as (x, y, z, 1)T and form a translation matrix T as below • The translated point is P’ x y z 1 = x’ y’ z’ 1 1 0 0 Tx 0 1 0 Ty 0 0 1 Tz 0 0 0 1 = x + Tx y + Ty z + Tz 1 = T P P’

  17. = x’ y’ z’ 1 Sx 0 0 0 0 Sy 0 0 0 0 Sz 0 0 0 0 1 x y z 1 P’ S P = Scaling • Scaling by Sx, Sy, Sz relative to the origin: = Sx . x Sy . y Sz . z 1

  18. x’ y’ z’ 1 = 1 0 0 0 0 cos -sin 0 0 sin cos 0 0 0 0 1 x y z 1 P’ = Rz () P Rotation • Rotation is specified with respect to an axis - easiest to start with co-ordinate axes • To rotate about the x-axis: a positive angle corresponds to counterclockwise direction looking at origin from positive position on axis EXERCISE: write down the matrices for rotation about y and z axes

  19. Composite Transformations • The attraction of homogeneous co-ordinates is that a sequence of transformations may be encapsulated as a single matrix • For example, scaling with respect to a fixed position (a,b,c) can be achieved by: • translate fixed point to origin- say, T(-a,-b,-c) • scale- S • translate fixed point back to its starting position- T(a,b,c) • Thus: P’ = T(a,b,c) S T(-a,-b,-c) P = M P

  20. Rotation about a Specified Axis • It is useful to be able to rotate about any axis in 3D space • This is achieved by composing 7 elementary transformations

  21. y x z rotate so that P2 lies on z-axis (2 rotations) translate P1 to origin initial position y x z rotate axis to orig orientation translate back Rotation through  about Specified Axis y y P2 P1 x x z z y y P2 P1 x x z z rotate through requ’d angle, 

  22. Inverse Transformations • As in this example, it is often useful to calculate the inverse of a transformation • ie the transformation that returns to original state • Translation: T-1 (a, b, c) = T (-a, -b, -c) • Scaling: S-1 ( Sx, Sy, Sz ) = S ............ • Rotation: R-1z () = Rz (-)

  23. Rotation about Specified Axis • Thus the sequence is: T-1 R-1x() R-1 y() Rz() Ry() Rx() T • EXERCISE: How are  and  calculated? • READING: • Hearn and Baker, chapter 11.

More Related