1 Computer Graphics Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD3107 University of Palestine
2 Chapter 6 Two Dimensional Viewing ITGD3107 Computer Graphics
3 Two Dimensional Viewing The Viewing Pipeline Viewing Effects Viewing Coordinate Reference Frame Workstation transformation Clipping Operations Line Clipping Polygon Clipping
4 The Viewing Pipeline Window A world-coordinate area selected for display. defines what is to be viewed Viewport An area on a display device to which a window is mapped. defines where it is to be displayed Viewing transformation The mapping of a part of a world-coordinate scene to device coordinates. A window could be a rectangle to have any orientation.
5 Two-Dimensional Viewing
6 The Viewing Pipeline
7
8 Viewing Effects Zooming effects Successively mapping different-sized windows on a fixed-sized viewports. Panning effects Moving a fixed-sized window across the various objects in a scene. Device independent Viewports are typically defined within the unit square (normalized coordinates)
9 Viewing Coordinate Reference Frame The reference frame for specifying the world-coordinate window. Viewing-coordinate origin: P 0 = (x 0, y 0 ) View up vector V: Define the viewing y v direction
10 Window-to-Viewport Coordinate Transformation
11 Workstation transformation
12 Clipping Operations Clipping Identify those portions of a picture that are either inside or outside of a specified region of space. Clip window The region against which an object is to be clipped. The shape of clip window Applications of clipping World-coordinate clipping
13 Clipping Operations Viewport clipping It can reduce calculations by allowing concatenation of viewing and geometric transformation matrices. Types of clipping Point clipping Line clipping Area (Polygon) clipping Curve clipping Text clipping Point clipping (Rectangular clip window)
14 Line Clipping Possible relationships between line positions and a standard rectangular clipping region Before clippingafter clipping
15 Line Clipping Possible relationships –Completely inside the clipping window –Completely outside the window –Partially inside the window Parametric representation of a line x = x 1 + u(x 2 - x 1 ) y = y 1 + u(y 2 - y 1 ) The value of u for an intersection with a rectangle boundary edge –Outside the range 0 to 1 –Within the range from 0 to 1
16 Cohen-Sutherland Line Clipping Region code –A four-digit binary code assigned to every line endpoint in a picture. –Numbering the bit positions in the region code as 1 through 4 from right to left.
17 Cohen-Sutherland Line Clipping Bit values in the region code Determined by comparing endpoint coordinates to the clip boundaries A value of 1 in any bit position: The point is in that relative position. Determined by the following steps: Calculate differences between endpoint coordinates and clipping boundaries. Use the resultant sign bit of each difference calculation to set the corresponding bit value.
18 Cohen-Sutherland Line Clipping The possible relationships: Completely contained within the window 0000 for both endpoints. Completely outside the window Logical and the region codes of both endpoints, its result is not Partially
19 Splitting Concave Polygons Identify a concave polygon Calculating the cross product of successive edge vectors. If the z component of some cross product is positive while others have a negative, it is concave.
20 Splitting Concave Polygons Vector method –Calculate the edge-vector cross product in a counterclockwise order. –If any z component turns out to be negative The polygon is concave. Split it along the line of the first edge vector in the cross-product pair.
21 Splitting Concave Polygons
22 Polygon Clipping
23 Sutherland-Hodgeman Polygon Clipping Processing the polygon boundary as a whole against each window edge Processing all polygon vertices against each clip rectangle boundary in turn
24 Sutherland-Hodgeman Polygon Clipping Pass each pair of adjacent polygon vertices to a window boundary clipper There are four cases:
25 Sutherland-Hodgeman Polygon Clipping Intermediate output vertex list Once all vertices have been processed for one clip window boundary, it is generated. The output list of vertices is clipped against the next window boundary. It can be eliminated by a pipeline of clipping routine. Convex polygons are correctly clipped. If the clipped polygon is concave Split the concave polygon
26 Sutherland-Hodgeman Polygon Clipping v1v1 v2v2 v3v3
27 Weiler-Atherton Polygon Clipping Developed as a method for identifying visible surfaces It can be applied with arbitrary polygon-clipping region. Not always proceeding around polygon edges Sometimes follows the window boundaries For clockwise processing of polygon vertices For an outside-to-inside pair of vertices, follow the polygon boundary. For an inside-to-outside pair of vertices, follow the window boundary in clockwise direction.
28 Weiler-Atherton Polygon Clipping
29 Other Clipping Curve clipping Use bounding rectangle to test for overlap with a rectangular clip window. Text clipping All-or-none string-clipping All-or-none character-clipping Clip the components of individual characters
30 Exterior Clipping Save the outside region Applications Multiple window systems The design of page layouts in advertising or publishing Adding labels or design patterns to a picture Procedures for clipping objects to the interior of concave polygon windows
31 Exterior Clipping