TwoDimensional Viewing - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

TwoDimensional Viewing

Description:

An area on a display device to which a window is mapped. ... Pass each pair of adjacent polygon vertices to a window boundary clipper. There are four cases: ... – PowerPoint PPT presentation

Number of Views:369
Avg rating:3.0/5.0
Slides: 44
Provided by: 21029
Category:

less

Transcript and Presenter's Notes

Title: TwoDimensional Viewing


1
Two-Dimensional Viewing
Chapter 6
2
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.

3
Two-Dimensional Viewing
4
The Viewing Pipeline
5
The Viewing Pipeline
6
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)

7
Viewing Coordinate Reference Frame
  • The reference frame for specifying the
    world-coordinate window.
  • Viewing-coordinate origin P0 (x0, y0)
  • View up vector V Define the viewing yv direction

8
Window-to-Viewport Coordinate Transformation
9
Window-to-Viewport Coordinate Transformation
10
Workstation transformtion
11
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

12
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)

13
Line Clipping
  • Possible relationships between line positions and
    a standard rectangular clipping region

Before clipping
after clipping
14
Line Clipping
  • Possible relationships
  • Completely inside the clipping window
  • Completely outside the window
  • Partially inside the window
  • Parametric representation of a line
  • x x1 u(x2 - x1)
  • y y1 u(y2 - y1)
  • 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

15
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.

16
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.

17
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 0000.
  • Partially

18
Liang-Barsky Line Clipping
  • Rewrite the line parametric equation as follows
  • Point-clipping conditions
  • Each of these four inequalities can be expressed
    as

19
Liang-Barsky Line Clipping
  • Parameters p and q are defined as

20
Liang-Barsky Line Clipping
  • pk 0, parallel to one of the clipping boundary
  • qk lt 0, outside the boundary
  • qk gt 0, inside the parallel clipping boundary
  • pk lt 0, the line proceeds from outside to the
    inside
  • pk gt 0, the line proceeds from inside to outside

21
Liang-Barsky Line Clipping
22
Liang-Barsky Line Clipping
  • Parameters u1 and u2 that define that part of the
    line lies within the clip rectangle
  • The value of u1 From outside to inside (pk lt 0)
  • The value of u2 From inside to outside (pk gt 0)
  • If u1 gt u2, the line is completely outside the
    clip window.

23
Liang-Barsky Line Clipping
24
Nicholl-Lee-Nicholl Line Clipping
  • Compared to C-S and L-B algorithms
  • NLN algorithm performs fewer comparisons and
    divisions.
  • NLN can only be applied to 2D clipping.
  • The NLN algorithm
  • Clip a line with endpoints P1 and P2
  • First determine the position of P1 for the nine
    possible regions.
  • Only three regions need be considered
  • The other regions using a symmetry transformation
  • Next determine the position of P2 relative to
    P1.

25
Nicholl-Lee-Nicholl Line Clipping
26
Nicholl-Lee-Nicholl Line Clipping
27
Nicholl-Lee-Nicholl Line Clipping
28
Nicholl-Lee-Nicholl Line Clipping
  • To determine the region in which P2 is located
  • Compare the slope of the line to the slopes of
    the boundaries of the clip region.
  • Example P1 is left of the clipping rectangle, P2
    is in region LT.

29
Nonrectangular Clip Windows
  • Algorithms based on parametric line equations can
    be extended
  • Liang-Barsky method
  • Modify the algorithm to include the parametric
    equations for the boundaries of the clip region
  • Concave polygon-clipping regions
  • Split into a set of convex polygons
  • Apply parametric clipping procedures
  • Circle or other curved-boundary clipping regions
  • Lines can be clipped against the bounding
    rectangle

30
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.

31
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.

32
Splitting Concave Polygons
  • Rotational method
  • Proceeding counterclockwise around the polygon
    edges.
  • Translate each polygon vertex Vk to the
    coordinate origin.
  • Rotate in a clockwise direction so that the next
    vertex Vk1 is on the x axis.
  • If the next vertex, Vk2, is below the x axis,
    the polygon is concave.
  • Split the polygon along the x axis.

33
Splitting Concave Polygons
34
Polygon Clipping
35
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

36
Sutherland-Hodgeman Polygon Clipping
  • Pass each pair of adjacent polygon vertices to a
    window boundary clipper
  • There are four cases

37
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

38
Sutherland-Hodgeman Polygon Clipping
v3
v2
v1
39
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.

40
Weiler-Atherton Polygon Clipping
41
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

42
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

43
Exterior Clipping
Write a Comment
User Comments (0)
About PowerShow.com