Graphics Programs Reference
In-Depth Information
Angle w equals r/ 2, so it is in the interval [0 ,k/ 2], and the direction vector is
k (cos u, sin u sin w, sin u cos w ) .
The distortion introduced by the fisheye projection can be used to convert it to
a spherical panoramic projection (which is discussed in more detail in Section 4.6).
Imagine a radius- k circle on which a 180 fisheye projection is displayed. We scan the
circle pixel by pix el and t ranslate the Cartesian coordinates ( a, b ) of a pixel to polar
coordinates r = a 2 + b 2 and u =arctan( b/a )(if a =0,then u =0or u = 180 ,
depending on b ). Once r is known, we can use the relations r =
k sin w to compute
angle w .Once u and w have been computed, we know that pixel ( a, b ) is the projection of
apoint P located in direction (cos u, sin u sin w, sin u cos w ) on the radius- k hemisphere
centered on the viewer. Thus, in principle it is possible to map each pixel in the fisheye
projection to a three-dimensional point P on this hemisphere. We don't know how
far from the viewer the original point was because this information was lost when the
fisheye projection was prepared, but we know that of all the three-dimensional points
in direction ( u, w ) in the scene, point P was the nearest to the viewer, blocking all
the points directly behind it. In practice, however, this technique is not that simple to
implement because the number of pixels in the circle is much smaller than the number
of pixels in the hemisphere.
±
In this month's Hemispheres Magazine , the magazine of United Airlines, you'll find
my article about exploring the chocolate shops of Paris. I talk about many of my
favorite places, why I like them ... and what I recommend you get while you're there!
—David Lebovitz in [davidlebovitz 05], October 2005.
Off-Axis Fisheye Projection
The discussion of both the hemispherical and angular fisheye projections assumes that
the viewer is looking at a radius- k circle on which an infinite hemisphere is projected.
Figures 4.2b and 4.7 further imply that the line of sight of the viewer passes through the
center of the circle. We can say that the viewer is located on the axis of the circle and we
can ask what the viewer will see when he moves away from the axis, still looking in the
same direction. This is not just a theoretical problem. Many planetariums use a fisheye
lens to project an image on a hemispherical dome, where some (or even many) viewers
sit away from the center. Those viewers see a twice-distorted image, once because it is
a fisheye projection and again because they observe it off-axis.
The mathematics of an off-axis fisheye projection is illustrated in Figure 4.11. We
start with four points, depicted as circles and labeled 1 through 4. In part (a) of the
figure, the viewer is assumed to be on the axis and the points are shifted toward the
viewer by halving their view angles. The shifted points are depicted as small squares.
In part (b), the viewer is assumed to be located off-axis, and the four points are shifted
toward the viewer by halving their new view angles. The new points are depicted as
triangles. It is obvious that points 1 and 2 are shifted more in part (a) than in part (b).
Thus, those parts of the image are more distorted when the viewer is on-axis.
In
Search WWH ::




Custom Search