Professional Documents
Culture Documents
Cohen Line Area Clipping
Cohen Line Area Clipping
Cohen Line Area Clipping
of
30
Clipping Operations
Clipping
Any procedure that identifies those portions of a
picture that are either inside or outside of a specified
region of space
Point
Line
Area (or Polygons)
Curve, Text
2
of
30
Point Clipping
Assuming that the clip window is a
rectangle in standard position
Saving a point P=(x, y) for display
xwmin x xwmax
ywmin y ywmax
3
of
30
Clipping
For the image below consider which lines
and points should be kept and which ones
should be clipped
P4
Window
wymax
P2
P6
P3
P1
P5
P7
P9
P8
wymin
P10
wxmin
wxmax
4
of
30
Point Clipping
Easy - a point (x,y) is not clipped if:
wxmin x wxmax AND wymin y wymax
otherwise it is clipped
P4 Clipped
Clipped
Window
wymax
Clipped
P7
P5
P2
P1
P9
P8
wymin
Clipped
wxmin
P10
wxmax
5
of
30
Line Clipping
Harder - examine the end-points of each line
to see if they are in the window or not
Situation
Solution
Must clip
Both end-points
outside the window
Dont know!
Example
6
of
30
7
of
30
8
of
30
9
of
30
1000
1010
0
left
0001
0101
0000
Window
0100
0010
0110
10
of
30
Cohen-Sutherland: Labelling
Every end-point is labelled with the
appropriate region code
P11 [1010]
P4 [1000]
Window
wymax
P6 [0000]
P3 [0001]
P12 [0010]
P5 [0000]
P7 [0001]
P9 [0000]
P8 [0010]
wymin
P13 [0101]
wxmin
P10 [0100]
wxmax
P14 [0110]
11
of
30
P4 [1000]
Window
wymax
P6 [0000]
P3 [0001]
P12 [0010]
P5 [0000]
P7 [0001]
P9 [0000]
P8 [0010]
wymin
P13 [0101]
wxmin
P10 [0100]
wxmax
P14 [0110]
12
of
30
P4 [1000]
Window
wymax
P6 [0000]
P3 [0001]
P12 [0010]
P5 [0000]
P7 [0001]
P9 [0000]
P8 [0010]
wymin
P13 [0101]
wxmin
P10 [0100]
wxmax
P14 [0110]
13
of
30
14
of
30
Cohen-Sutherland Examples
Consider the line P9 to P10 below
Start at P10
Window
wymax
From the region codes
of the two end-points we
know the line doesnt
P [0000]
wymin
P [0000]
cross the left or right
P [0100]
boundary
wxmin
wxmax
Calculate the
intersection of the line with the bottom boundary
to generate point P10
The line P9 to P10 is completely inside the
window so is retained
9
10
10
15
of
30
wxmax
16
of
30
Window
wymax
P7 [0000]
P8 [0010]
P7 [0001]
P8 [0000]
wymin
wxmin
wxmax
17
of
30
Window
wymax
P7 [0000]
P8 [0010]
P7 [0001]
P8 [0000]
wymin
wxmin
wxmax
18
of
30
Window
wymax
wymin
wxmin
wxmax
19
of
30
20
of
30
21
of
30
22
of
30
Area Clipping
Similarly to lines, areas
must be clipped to a
window boundary
Consideration must be
taken as to which
portions of the area must
be clipped
23
of
30
Original Area
Clip Left
Clip Right
Clip Top
Clip Bottom
24
of
30
Polygon Clipping
25
of
30
Example
26
of
30
3D CLIPPING
27
of
30
Sutherland-Hodgman
Polygon Clipping
28
of
30
29
of
30
outside
inside
v2
outside
inside
v2
v1
outside
inside
v2
inside
v2
v1
v1
v1
v1
Outside to inside:
Output: v1 and v2
outside
Inside to inside:
Output: v2
Inside to outside:
Output: v1
v1
Outside to outside:
Output: nothing
30
of
30
v2
v2
v3
v1
v3
Left
Clipper
v1
Right
Clipper
Bottom
Clipper
v1v2
v2
v2v2
v2
v2v3
v2v3
v2
v2v3
v3
v3v1
v3v1
v3v1
v1v2
Edges
Edges
Output
v2
Top
Clipper
v2v1
v1
v3v1
v1v2
v2
v1
v2
v1v2
v1v2 v2v2
v2v2
v2
v2v2
Output
Edges
Output
Edges
v2
v2
Output
Final