Windows, Viewports, and Clipping - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Windows, Viewports, and Clipping

Description:

World Coordinate System (Object Space) - Representation of an object measured in ... Screen Coordinate System (Image Space) - The space within the image is displayed ... – PowerPoint PPT presentation

Number of Views:675
Avg rating:3.0/5.0
Slides: 15
Provided by: larryh154
Category:

less

Transcript and Presenter's Notes

Title: Windows, Viewports, and Clipping


1
Windows, Viewports, and Clipping
2
Windows and Viewports
Window
Interface Window
Viewport
Information outside the viewport is clipped away
3
Terminology
  • World Coordinate System (Object Space) -
    Representation of an object measured in some
    physical units.
  • Window - The rectangle defining the part of the
    world we wish to display.
  • Screen Coordinate System (Image Space) - The
    space within the image is displayed
  • Interface Window - The visual representation of
    the screen coordinate system for window
    displays (coordinate system moves with interface
    window).
  • Viewport - The rectangle on the raster graphics
    screen (or interface window for window
    displays) defining where the image will appear.
    (Default is usually entire screen or interface
    window.)
  • Viewing Transformation - The process of going
    from a window in world coordinates to a viewport
    in screen coordinates.

4
Viewing Transformation
Choose Window in World Coordinates
Clip to size of Window
Translate to origin
Scale to size of Viewport
Translate to proper position on screen (Interface
Window)
5
Notes on Viewing Transformation
  • Panning - Moving the window about the world
  • Zooming - Reducing the window size
  • As the window increases in size, the image in the
    viewport decreases in size and vice versa
  • Beware of aspect ratio.

6
Viewing Transformation Example
(10, 30)
(50, 30)
(0, 1)
(0.5, 1)
Viewport wanted
(0, 0.5)
(0.5, 0.5)
(10, 5)
(50, 5)
X scale 0.5/40 1/80
(0,0)
(1, 0)
1 0 0 0 1 0.5 0 0 1
1/80 0 0 0 1/50 0 0
0 1
1 0 -10 0 1 -5 0 0 1
1) Translate window to origin
2) Scale to correct size
3) Translate to proper coordinates
7
Clipping
(xl, yt)
(xr, yt)
A point is visible if xl lt X lt xr and yb lt Y lt yt
(xl, yb)
(xr, yb)
  • A line is visible if both of its end points are
    in the window.
  • Brute Force Method - Solve simultaneous equations
    for intersections of lines with window edges.

8
Cohen-Sutherland Algorithm
  • Region Checks Trivially reject or accept lines
    and points.
  • Fast for large windows (everything is inside) and
    for small windows (everything is outside).
  • Each vertex is assigned a four-bit outcode.
  • Bit 1 lt-- sign bit of (yt-Y) -- point is
    above window
  • Bit 2 lt-- sign bit of (Y-yb) -- point is
    below window
  • Bit 3 lt-- sign bit of (xr-X) -- point is
    to right of window
  • Bit 4 lt-- sign bit of (X-xl) -- point is
    to left of window

9
Cohen-Sutherland Clipping (cont.)
1001
1000
1010
Bit 1 Above Bit 2 Below Bit 3 Right Bit 4
Left
0001
0000
0010
0101
0100
0110
  • A line can be trivially accepted if both
    endpoints have an outcode of 0000.
  • A line can be trivially rejected if any
    corresponding bits in the two outcodes are both
    equal to 1. (This means that both endpoints are
    to the right, to the left, above, or below the
    window.)

10
Clipping Lines Not Accepted or Rejected
  • In the case where a line can be neither trivially
    accepted nor rejected, the algorithm uses a
    divide and conquer method.

D
Example
C
B
A
H
E
F
G
Line AD 1) Test outcodes of A and D --gt
cant accept or reject. 2)
Calculate intersection point B, which is
conceptually on the
window side of the dividing line. Form new line
segment AB and discard
the rest of the line because it is
above the window.
3) Test outcodes of A and B. Reject.
11
Polygon Clipping
  • Polygons can be clipped against each edge of the
    window one edge at a time. Window/edge
    intersections, if any, are easy to find since the
    X or Y coordinates are already known.
  • Vertices which are kept after clipping against
    one window edge are saved for clipping against
    the remaining edges. Note that the number of
    vertices usually changes and will often increase.

12
Polygon Clipping Algorithm
P4
P4
I2
I2
P3
I1
I1
P1
P2
P1
  • The window boundary determines a visible and
    invisible region.
  • The edge from vertex i to vertex i1 can be one
    of four types
  • Exit visible region - save the intersection
  • Wholly outside visible region - save nothing
  • Enter visible region - save intersection and
    endpoint
  • Wholly inside visible region - save endpoint

13
Polygon clipping issues
  • The final output, if any, is always considered a
    single polygon.
  • The spurious edge may not be a problem since it
    always occurs on a window boundary, but it can be
    eliminated if necessary.

14
Pipelined Polygon Clipping
Clip Top
Clip Right
Clip Bottom
Clip Left
  • Because clipping against one edge is independent
    of all others, it is possible to arrange the
    clipping stages in a pipeline. the input polygon
    is clipped against one edge and any points that
    are kept are passed on as input to the next stage
    of the pipeline.
  • This way four polygons can be at different stages
    of the clipping process simultaneously. This is
    often implemented in hardware.
Write a Comment
User Comments (0)
About PowerShow.com