2D Viewing & Clipping 한한한 한한한 2005. 6
Feb 05, 2016
2D Viewing & Clipping
한신대류승택2005. 6
Contents
The viewing pipeline Viewing coordinate reference frame Window-to-viewport coordinate transformation Clipping operations Point clipping Line clipping
The viewing pipeline [1/5]
window a world-coordinate area selected for display define what is to be viewed
view port an area on a display device to which a window is mapped define where it is to be displayed
windows & viewport be rectangles in standard position, with the rectangle edges par
allel to the coordinate axes other geometries : take longer to process
The viewing pipeline [2/5]
viewing transformation the mapping of a part of a world-coordinate scene to device coo
rdinates 2D viewing transformation = window-to-viewport, windowing tran
sformation
The viewing pipeline [3/5]
viewing-transformation in several stepso construct the world-coordinate scene using modeling
transformationso transform descriptions in world coordinates to viewing
coordinateso map the viewing-coordinate description of the scene to
normalized coordinateso transfer to device coordinates
The viewing pipeline [4/5]
viewing-transformation by changing the position of the viewport
can view objects at different positions on the display area of an output device
by varying the size of viewports can change the size and proportions
of displayed objects zooming effects = panning effects
The viewing pipeline [5/5]
viewport define within the unit square device-independent ⇒ separating the viewing & other transformations from specific o
utput-device requirements the unit square is mapped to the display area for the particular
output device in use at that time viewport clipping
perform in normalized coordinates or in device coordinates to reduce computations by concatenating the various transform
ation matrices provide for specifying the world-coordinate window
view up vector define the viewing yv direction unit vectors v=(vx, vy) and u=(ux, uy) for the viewing yv and xv axes
The composite 2D transformation to convert world coordinates to viewing coordinates
MWC,VC = R T•
Viewing coordinate reference frame
Window-to-viewport coordinate transformation
transfer to the viewing reference frame choose the window extents in viewing coordinate select the viewport limits in normalized coordinate
to maintain the same relative placement in the viewport as in the window
minmax
min
minmax
min
xwxw
xwxw
xvxv
xvxv
minmax
min
minmax
min
ywyw
ywyw
yvyv
yvyv
Window-to-viewport coordinate transformation
Relative proportions of objects sx=xvmax-xvmin/xwmax-xwmin, sy=yvmax-yvmin/ywmax-ywmin
sx=sy : maintain sx≠sy : stretch or contract in either the x or y direction when di
splayed on the output device workstation transformation
select a window area in normalized space and a viewport area in the coordinates of the display device
Clipping operations
clipping algorithm(simply clipping) identify those portions of picture that are either inside or outsid
e of a specified region of space clip window
the region against which an object is to clipped clipping application
extracting part of a defined scene for viewing identifying visible surfaces in 3D views antialiasing line segments or object boundaries creating objects using solid-modeling procedures displaying a multiwindow environment drawing & painting operations that allow parts of a picture to be
selected for copying,moving,erasing, or duplicating
Clipping operations
world-coordinate clipping remove those primitives outside the window from furt
her consideration eliminating the processing necessary to transform th
ose primitives to device space viewport clipping
reduce calculations by allowing concatenation of viewing and geometric transformation matrices
require that the transformation to device coordinates be performed for all objects, including those outside the window area
Point clipping
Assuming that the clip window is a rectangle in standard position
P=(x, y) the edges of the clip window(xwmin, xwmax, ywmin, ywmax) can be eit
her the world-coordinate window boundaries or viewport boundaries
ex. apply to scenes involving explosions or sea foam
maxmin
maxmin
ywyyv
xwxxv
Line clipping
Line clipping procedureo test a given line segment to determine whether it lies
completely inside the clipping windowo if it doesn’t, we try to determine whether it lies
completely outside the windowo if we can’t identify a line as completely inside or
completely outside, we must perform intersection calculations with one or more clipping boundaries
Line clipping
Checking the line endpoints ⇒ inside-outside test
Line clipping Cohen-Sutherland line clipping Liang-Barsky line clipping
Line clipping
Cohen-Sutherland line clipping one of the oldest and most popular line-clipping
procedures speed up the processing of line segments by
performing initial tests that reduce the number of intersections that must be calculated
region code : four-digit binary code ⇒ bit 1:left, bit 2:right,
bit 3:below, bit 4:above for languages in which bit
manipulation is possible
Line clipping
region-code bit values determined calculate difference between endpoint coordinates and clipp
ing boundaries use the resultant sign bit of each difference calculation to s
et the corresponding value in the region code bit 1 : the sign bit of x – xwmin
bit 2 : the sign bit of xwmax – x bit 3 : the sign bit of y – ywmin
bit 4 : the sign bit of ywmax – y
Line clipping
Determine which lines are completely inside the clip window and which line are clearly outside completely inside the clip window
region code of 0000 for both endpoints trivially accept these lines
clearly outside the clip window any line that a 1 in the same bit position in region
code trivially reject these lines by using logical and operation with both region
codes
Line clipping
check for intersection with the window boundaries using the slope-intercept form of the line equation
x value Is set either to xwmin or to xwmax
y value Is set either to ywmin or to ywmax
m
yyxx 1
1
)( 11 xxmyy