Graphics Programs Reference
In-Depth Information
image elements close to the periphery are displayed in compressed form near the edges
of the projection. In contrast, the angular fisheye projection described here assigns
the same importance to all the image parts. Each is compressed by the same amount.
Perhaps a better name for this method would be “linear fisheye,” but the term “linear”
seems a misnomer because even this projection introduces distortions and is therefore
nonlinear. An important feature of the angular fisheye projection is that it can easily be
extended to viewing angles of more than 180 and can even encompass the entire 360
space surrounding the viewer. Figure 4.7 illustrates the principle. The (infinite) sphere
of space surrounding the viewer is divided into eight vertical slices of equal viewing
angle, each of which is projected into a ring in the final circular projection. We actually
see only seven of the eight slices because we are looking at the sphere from an angle.
Six points a-f are shown on the sphere with their approximate projections on the circle.
Notice that point “d” (shown in gray in slice 5) is supposed to be on the side of the
sphere away from us, which is why it is projected on the right-hand side of ring 5.
Sphere
Circle
4
5
3
b
6
2
8
e
e
b
7
1
6
5
4
(8=157.5 0 )
7
3
a
d
2
d
a
1
f
22.5 0
c
f
135 0
45 0
c
67.5 0
112.5 0
90 0
Figure 4.7: Angular Fisheye Projection.
The mathematical analysis of this method is a bit tedious but requires only basic
geometry and trigonometry. To start, notice that there is one long dashed line in
Figure 4.7. A little thinking should convince the reader that all the points in space
along this line are projected to the same point on the radius- k circle. Thus, generating
a 360 angular fisheye projection is done by scanning the entire space around the viewer
and, for each direction in space, selecting that point on the scene that is the closest to
the viewer. This point should be projected to the surface of the sphere and the scan
continued to the next direction. Once all the directions have been examined, the surface
of the radius- k sphere around the viewer is full of points. The next step is to divide
the sphere into slices and project each slice on the radius- k circle. As a result, we can
consider a radius- k sphere centered on the viewer and figure out how to scan it and
project any point on this sphere to the radius- k circle.
Figure 4.8a shows the half-circle of radius k in the xz plane. Those familiar with
the parametric representations of curves and surfaces know that the parametric rep-
resentation of this half-circle is k (cos u, 0 , sin u ) for 0
180 . Those unfamiliar
u
Search WWH ::




Custom Search