19
2D Viewing & Clipping 한한한 한한한 2005. 6

2D Viewing & Clipping

  • Upload
    kalani

  • View
    194

  • Download
    35

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: 2D Viewing & Clipping

2D Viewing & Clipping

한신대류승택2005. 6

Page 2: 2D Viewing & Clipping

Contents

The viewing pipeline Viewing coordinate reference frame Window-to-viewport coordinate transformation Clipping operations Point clipping Line clipping

Page 3: 2D Viewing & 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

Page 4: 2D Viewing & Clipping

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

Page 5: 2D Viewing & Clipping

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

Page 6: 2D Viewing & Clipping

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

Page 7: 2D Viewing & Clipping

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

Page 8: 2D Viewing & Clipping

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

Page 9: 2D Viewing & Clipping

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

Page 10: 2D Viewing & Clipping

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

Page 11: 2D Viewing & Clipping

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

Page 12: 2D Viewing & Clipping

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

Page 13: 2D Viewing & Clipping

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

Page 14: 2D Viewing & Clipping

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

Page 15: 2D Viewing & Clipping

Line clipping

Checking the line endpoints ⇒ inside-outside test

Line clipping Cohen-Sutherland line clipping Liang-Barsky line clipping

Page 16: 2D Viewing & 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

Page 17: 2D Viewing & Clipping

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

Page 18: 2D Viewing & Clipping

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

Page 19: 2D Viewing & Clipping

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