The hemicube algorithm replaced the hemisphere by a half cube, allowing the projection to be carried out on five planar rectangles, or side faces of the cube, instead of on a spherical surface. The number of planar surfaces can be decreased by using a cubic tetrahedron as an intermediate surface [BKP91], [BKP92].
An appropriate cubic tetrahedron may be constructed by slicing a cube by a plane that passes through three of its vertices, and placing the generated pyramid on surface i (see figure 1.6). A convenient coordinate system is defined with axes perpendicular to the faces of the tetrahedron, and setting scales to place the apex in point [1,1,1]. The base of the tetrahedron will be a triangle having vertices at [1,1,-2], [1,-2,1] and [-2,1,1].
Consider the projection of a differential surface
on a
side face perpendicular to x axis, using the notations of
figure 1.7. The projected
area is:
The correction term, to provide the internal variable in the form factor integral, is:
Expressing the cosine of angles by a scalar product
with
pointing to the projected area:
Vector
can also be defined as the
sum of the vector pointing to the apex of the pyramid ([1,1,1]) and a linear
combination of side vectors of pyramid face perpendicular to x axis:
This can be turned to the previous equation first, then to the formula of the correction term:
Because of symmetry, the values of this weight function -- that is the delta form factors -- need to be computed and stored for only one-half of any face when the delta form factor table is generated. It should be mentioned that cells located along the base of the tetrahedron need special treatment, since they have triangular shape. They can either be simply ignored, because their delta form factors are usually very small, or they can be evaluated for the center of the triangle instead of the center of the rectangular pixel.