COMPUTER GRAPHICS AND VISUALIZATION
Module-2
Fill area Primitives, 2D Geometric Transformations and 2D viewing
C.K.SRINIVAS
Associate Professor
Dept. of CS&E
BITM, Ballari.
Cell: 9886684832
Email: [email protected]
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
5 POLYGON FILL AREAS
polygon
Polygon Classifications
interior angle
convex.
concave
FIGURE 2-1
Identifying Concave Polygons
2
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
FIGURE 2-2
Splitting Concave Polygons
vector
method
V V
E V V
FIGURE 2-3
E E
E E
E E
3
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
E E
E E E E
E E E E
E E E E
E E
E
Inside-Outside Tests
odd-even rule,
P
P P
nonzero winding-number rule,
winding number.
P
P
P P
P
4
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
FIGURE 2-4
Polygon Tables
FIGURE 3-5
5
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Plane Equations
6
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Front and Back Polygon Faces
backface,
front face.
FIGURE 3-52 FIGURE 3-53 N
x •• •••• Ax • • •By
• • • •Cz
• • • •D• • • • •
A B C
7
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
normal vector
OpenGL POLYGON FILL-AREA FUNCTIONS
GL_POLYGON
glBegin
glVertex GL POLYGON
FIGURE 3-56 (a)
8
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
GL_TRIANGLES
FIGURE 3-56 GL TRIANGLES
GL_TRIANGLE_STRIP
FIGURE 3-56 GL TRIANGLE STRIP
9
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
GL_TRIANGLE_FAN
glBegin (GL_TRIANGLE_FAN);
glVertex2iv (p1);
glVertex2iv (p2);
glVertex2iv (p3);
glVertex2iv (p4);
glVertex2iv (p5);
glVertex2iv (p6);
glEnd ( );
FIGURE 3-56 GL TRIANGLE FAN
GL_QUADS
glBegin (GL_QUADS);
glVertex2iv (p1);
glVertex2iv (p2);
glVertex2iv (p3);
glVertex2iv (p4);
glVertex2iv (p5);
glVertex2iv (p6);
glVertex2iv (p7);
glVertex2iv (p8);
glEnd ( );
FIGURE 3-57
GL QUADS
GL_QUAD_STRIP
glBegin (GL_QUAD_STRIP);
glVertex2iv (p1);
glVertex2iv (p2);
glVertex2iv (p4);
glVertex2iv (p3);
glVertex2iv (p5);
glVertex2iv (p6);
glVertex2iv (p8);
glVertex2iv (p7);
glEnd ( );
FIGURE 3-57 GL QUAD STRIP
10
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Filled area primitives
General Scan-Line Polygon-Fill Algorithm
F I G U R E 3.58
Interior pixels along a scan line passing through a polygon fill area.
11
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
F I G U R E 3-59
12
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
13
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
14
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
15
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
F I G U R E 3-61 A polygon and its sorted edge table, with edge DC shortened by one unit in the y direction
Two Dimensional Geometric Transformations
16
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Translation, Rotation, and Scaling
Translation
= +
Scaling
17
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
•
•
•
•
•
= *
Rotation:
Figure: Rotation about a fixed point
18
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
= *
Matrix Representation and homogeneous Coordinates
19
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
For Translation For Scaling For Rotations
Composite Transformations
composite transformation matrix
Translation
Rotations
20
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Scaling
OR
S S S
General Pivot-point Rotation
FIGURE: R
21
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
T xr yr • •R • T • • •xr • •yr • • •R• xr yr
T • •xr • •yr • • T
• •• • xr yr
General Two-Dimensional Fixed-Point Scaling
1.
2.
3.
or
T x f yf • • •S• sx sy • T
• • •x f • •yf • • S
• • x f yf sx sy
22
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Other Transformations
Reflection
Reflection of an object about the x axis
F I G U R E:
Reflection of an object about the y axis
23
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Reflection of an object about the coordinate origin
Reflection axis as the diagonal line y = x
Reflection about the diagonal line y=x is
accomplished with the transformation matrix
24
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Shearing
•
•
•
•
•
= *
25
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Two dimensional viewing
The viewing pipeline
A viewing transformation using standard rectangles for the window and viewport
The two dimensional viewing transformation pipeline
26
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
OpenGL Two-Dimensional Viewing Functions
glMatrixMode (GL_PROJECTION);
glLoadIdentity ( );
GLU Clipping-Window Function
gluOrtho2D (xwmin, xwmax, ywmin, ywmax);
gluOrtho2D
27
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
OpenGL Viewport Function
glViewport (xvmin, yvmin, vpWidth, vpHeight);
xvmin yvmin
28
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.
Module – 2: Fill area Primitives, 2D Geometric Transformations and 2D viewing
Questions
Sl.No Module – 2: Marks
Fill area Primitives, 2D Geometric Transformations and 2D viewing
1 Explain Scanline Polygon Filling Algorithm with neat sketches and example. 08
2 With a neat figure explain two dimensional viewing pipeline. 08
3 Discuss various polygon types in OpenGL. 08
4 Define Polygon Tables. Explain How Geometric data is represented for the objects in a 10
scene. Give example.
5 Explain the following 10
a) OpenGL fill area attributes functions b) OpenGL viewing Functions
c) OpenGL geometric transformations functions
6 What is transformation; explain what you understand by Affine transformation. ( June/July 10
2009)
7 Define the following two dimensional transformations Translation, Rotation, Scaling, and 10
Reflection (Dec 09/Jan 10)
8 Explain the following in homogeneous Rotation, translation, scaling, and shearing 12
(June/July 2009) June 2010
9 Explain the current transformation matrix (CTM) in OpenGL ( Dec 09/Jan 10) Or Explain 08
how rotation, translation & scaling is considered in OpenGL Current Transformation Matrix
(CTM)
10 What is concatenation of transformation? Explain the following considered 2D 10
i. Rotation About a fixed point ( June/July 2011)
ii. Scaling About a fixed point.
iii. Two Translations are additive in nature.
iv. Two Rotations are additive in nature
v. Two Scaling are multiplicative in nature
29
C.K.SRINIVASA, Asso. Prof. Dept Of CS&E, BITM, BALLARI.