Computer Graphics
Scan Conversion Polygon
Faculty of Physical and Basic Education
Computer Science Dep.
2012-2013
E-mail:
azhee.muhamad@univsul.net
azheewria07@gmail.com
Lecturer:
Azhee W. MD.
Scan Conversion polygon
Polygon
Polygon Classifications
Identifying Concave Polygons
Splitting Concave Polygons
Inside-Outside Tests
2
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
Polygon
A polyline is a chain of connected line segments. When starting point
and terminal point of any polyline is same, i.e. when polyline is closed
then it is called polygon.
3
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
Polygon Classifications
interior angle: is an angle inside the polygon boundary
that is formed by two adjacent edges.
convex polygon: interior angles of a polygon are less
than or equal to 180°
Or Convex : is a polygon in which the line segment
joining any two points within the polygon lies
completely inside the polygon
4
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
Polygon Classifications
Concave polygon: the polygon that is not convex.
or Concave: is a polygon in which the line segment
joining any two points within the polygon may not lie
completely inside the polygon.
5
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
Identifying Concave Polygons
1. At least one interior angle greater than 180°
2. The extension of some edges of a concave polygon will
intersect other edges
3. Some pair of interior points will produce a line segment
that intersects the polygon boundary
4. Find a cross product for adjacent edges
For a convex polygon all cross products will be of the
same sign (positive or negative)
If some cross products yield a positive value and some
a negative value, we have a concave polygon
6
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
Convex or concave?
Convex if no line that contains a side of the polygon
contains a point in the interior of the polygon.
Concave or non-convex if a line does contain a side of
the polygon containing a point on the interior of the
polygon.
7
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
Identifying Concave Polygons(2)
8
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
Splitting Concave Polygons: Cross Product
9
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
example
Q)Use cross product to find normal vector of a polygon with the
following vertices: (0.2, -0.4, 0.2), (0.6, 0.7, 0.5), (-0.3, 0.4, -0.3),
(-0.4, -0.3, -0.4)
Answer:
Ek = Vk+1 - Vk
E1 = (a1, a2, a3), E2 = (b1, b2, b3)
E1 x E2 = (a2b3 − a3b2, a3b1 − a1b3, a1b2 − a2b1)
V1 = (0.2, -0.4, 0.2), V2 = (0.6, 0.7, 0.5), V3 = (-0.3, 0.4, -0.3)
E1 = V2 – V1
= (0.6, 0.7, 0.5) - (0.2, -0.4, 0.2)
= (0.4, 1.1, 0.3)
E2 = V3 – V2
= (-0.3, 0.4, -0.3) - (0.6, 0.7, 0.5)
= (-0.9, -0.3, -0.8)
E1 x E2 = (1.1*-0.8-0.3*-0.3, 0.3*-0.9-0.4*-0.8, 0.4*-0.3-1.1*-0.9) = (-0.79, 0.05, 0.87)
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
10
Splitting Concave Polygons: Set of Triangles
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
11
Splitting Concave Polygons: Set of Triangles (2)
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
12
Inside-Outside Tests
It is not clear which regions of the xy plane we
should call interior and which regions we should
designate as exterior for a complex polygon with
intersecting regions.
algorithms:
odd-even rule
nonzero winding-number rule
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
13
Inside-Outside Tests (2)
odd-even rule
Draw a reference line from any position to a
distant point outside a closed polyline
The line must not pass through any endpoints
Count the number of line segments crossed along
this line
If the number is odd then the
region considered to be
interior
Otherwise, the region is
exterior
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
14
Inside-Outside Tests (2)
nonzero winding-number rule
Counts the number of times the boundary of an object winds
around a particular point in the counterclockwise direction
The count is called the winding number
Initialize winding number to zero
Draw a reference line from any position to a distant point
The line must not pass through any endpoints
Add one to the winding number if the
intersected segment crosses the reference
line from right to left (counterclockwise)
Subtract one from the winding number if the
segment crosses from left to right (clockwise)
If winding number is nonzero, the region is
considered to be interior
Otherwise, the region is exterior
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
15
Example
Q) Use nonzero winding number rule to determine the
interior and exterior regions of the following polygon ?
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
16
Example
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
17
References
Donald Hearn, M. Pauline Baker,
Computer Graphics with OpenGL, 3rd
edition, Prentice Hall, 2004
Chapter 3, 4
University of sulaimanyiah - Faculty of Physical and Basic Education - Computer Dep. 2012-2013
18