lect11 clipping in3d
DESCRIPTION
created by Sudipta mandalTRANSCRIPT
![Page 1: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/1.jpg)
Sudipta Mondal
Computer Graphics 9:Clipping In 3D
![Page 2: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/2.jpg)
2of24
3-D Clipping
Just like the case in two dimensions,clipping removes objects that will not bevisible from the sceneThe point of this is to remove computationaleffort3-D clipping is achieved in two basic steps
– Discard objects that can’t be viewed• i.e. objects that are behind the camera, outside
the field of view, or too far away– Clip objects that intersect with any clipping
plane
![Page 3: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/3.jpg)
3of24
Discard Objects
Discarding objects that cannot possibly beseen involves comparing an objectsbounding box/sphere against thedimensions of the view volume
– Can be done before or after projection
![Page 4: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/4.jpg)
4of24
Clipping Objects
Objects that are partially within the viewingvolume need to be clipped – just like the 2Dcase
![Page 5: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/5.jpg)
5of24
The Clipping Volume
After the perspective transformation iscomplete the frustum shaped viewingvolume has been converted to aparallelopiped - remember we preserved allz coordinate depth information
Imag
es ta
ken
from
Hea
rn &
Bak
er, “
Com
pute
r Gra
phic
s w
ith O
penG
L” (2
004)
![Page 6: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/6.jpg)
6of24
Normalisation
The transformed volume is then normalisedaround position (0, 0, 0) and the z axis isreversed
Imag
es ta
ken
from
Hea
rn &
Bak
er, “
Com
pute
r Gra
phic
s w
ith O
penG
L” (2
004)
![Page 7: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/7.jpg)
7of24
When Do We Clip?
We perform clipping after the projectiontransformation and normalisation arecompleteSo, we have the following:
We apply all clipping to these homogeneouscoordinates
úúúú
û
ù
êêêê
ë
é
×=
úúúú
û
ù
êêêê
ë
é
1zyx
M
hzyx
h
h
h
![Page 8: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/8.jpg)
8of24
Dividing Up The World
Similar to the case in two dimensions, wedivide the world into regionsThis time we use a 6-bit region code to giveus 27 different region codesThe bits in these regions codes are asfollows:
bit 6Far
bit 5Near
bit 4Top
bit 3Bottom
bit 2Right
bit 1Left
![Page 9: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/9.jpg)
9of24
Dividing Up The World (cont..)
Because we have a normalised clippingvolume we can test for these regions asfollows:
Rearranging these we get:
11 ££-hxh 11 ££-
hyh 11 ££-
hzh
hxh h ££- hyh h ££- hzh h ££- 0>hif
hxh h -££ hyh h -££ hzh h -££ 0<hif
![Page 10: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/10.jpg)
10of24
Region CodesIm
ages
take
n fro
m H
earn
& B
aker
, “C
ompu
ter G
raph
ics
with
Ope
nGL”
(200
4)
![Page 11: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/11.jpg)
11of24
Point Clipping
Point clipping is trivial so we won’t spendany time on it
![Page 12: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/12.jpg)
12of24
Line Clipping
To clip lines we first label all end points withthe appropriate region codesWe can trivially accept all lines with bothend-points in the [000000] regionWe can trivially reject all lines whose endpoints share a common bit in any position
– This is just like the 2 dimensional case asthese lines can never cross the viewingvolume
– In the example that follows the line fromP3[010101] to P4[100110] can be rejected
![Page 13: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/13.jpg)
13of24
Line Clipping ExampleIm
ages
take
n fro
m H
earn
& B
aker
, “C
ompu
ter G
raph
ics
with
Ope
nGL”
(200
4)
![Page 14: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/14.jpg)
14of24
The Equation Of The Line For 3DClipping
For clipping equations for three dimensionalline segments are given in their parametricformFor a line segment with end points P1(x1h,y1h, z1h, h1) and P2(x2h, y2h, z2h, h2) theparametric equation describing any point onthe line is:
uPPPP )( 121 -+= 10 ££ u
![Page 15: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/15.jpg)
15of24
The Equation Of The Line For 3DClipping (cont…)
From this parametric equation of a line wecan generate the equations for thehomogeneous coordinates:
uhhhhuzzzzuyyyyuxxxx
hhhh
hhhh
hhhh
)12(1)12(1)12(1)12(1
-+=-+=-+=-+=
![Page 16: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/16.jpg)
16of24
3D Line Clipping Example
Consider the line P1[000010] to P2[001001]Because the lines have different values in bit2 we know the line crosses the right boundary
Imag
es ta
ken
from
Hea
rn &
Bak
er, “
Com
pute
r Gra
phic
s w
ith O
penG
L” (2
004)
![Page 17: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/17.jpg)
17of24
3D Line Clipping Example (cont…)
Since the right boundary is at x = 1 we nowknow the following holds:
which we can solve for u as follows:
using this value for u we can then solve for ypand zp similarly
1)12(1
)12(1=
-+-+
==uhhh
uxxxhxx hhhh
p
)22()11(11
hxhxhxu
hh
h
----
=
![Page 18: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/18.jpg)
18of24
3D Line Clipping Example (cont…)
When then simply continue as per the twodimensional line clipping algorithm
![Page 19: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/19.jpg)
19of24
3D Polygon Clipping
However the most common case in 3Dclipping is that we are clipping graphicsobjects made up of polygons
Imag
es ta
ken
from
Hea
rn &
Bak
er, “
Com
pute
r Gra
phic
s w
ith O
penG
L” (2
004)
![Page 20: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/20.jpg)
20of24
3D Polygon Clipping (cont…)
In this case we first try to eliminate the entireobject using its bounding volumeNext we perform clipping on the individualpolygons using the Sutherland-Hodgmanalgorithm we studied previously
![Page 21: Lect11 clipping in3d](https://reader034.vdocuments.us/reader034/viewer/2022052303/555a610dd8b42a47748b5399/html5/thumbnails/21.jpg)
21of24
Cheating with Clipping Planes
For far clipping plane introduce something toobscure far away objects – fogMake objects very near the cameratransparent