3.4 Arrangements
3.5.2 Determining the Lines Through Four Lines
In this small subsection we briefly present a method that determines the set of lines through four given lines. The solution presented here is a summary of the paper by Teller and Hohmeyer [TH99]. The purpose of this summary is twofold. Firstly, we wish to present certain information that is used later in this dissertation. Secondly, we consider this topic an excellent exercise in developing intuition for Pl¨ucker coordinates.
There are many ways to represent lines in 3D implicitly. The most common, is as a set of any two distinct points on the line: a unique line intersects both points (the join operation [Sto91]). Another approach that is less frequently used is the representation of a unique line as the intersection of two given planes (the meet operation [Sto91]).
It is possible to define a set of lines implicitly through incidence, by using four lines. The set of lines that are incident on or stab these four lines may have cardinality 0, 1, 2, or∞.
In the case of four mutually skew lines, there are exactly two lines incident on the given lines. Degeneracies may occur due to various configurations of parallel or intersecting lines. In this short summary, we only consider the general case (an example is depicted in Figure 11).
Section 3.1.5 shows how a line may be parameterised as a point using Pl¨ucker coordinates. Two lines x and y (inR3) are incident iff DΠ(x)(y) = 0. This property can be used to construct the set of lines incident on x: { ∈ G : DΠ(x)() = 0}. Informally, the set of lines incident on x correspond to those points that are both on the dual hyperplane of Π(x), and on the Pl¨ucker hypersurface (G).
Therefore, in order to find the set of lines incident on four lines, we need to compute the inter- section of the set of lines incident on each one of the given four lines. This can be computed by finding the intersection of the four dual hyperplanes of each line, and then intersecting what remains with the Pl¨ucker hypersurface.
Figure 11:Stabbing four lines. Four lines specifying two lines by incidence.
The intersection of d − 1 hyperplanes in a d dimensional space, will result in a one dimen- sional space (assuming the hyperplane constraints to be linearly independent). This one dimen- sional space can then be intersected with the Pl¨ucker hypersurface to give two solutions (since the Pl¨ucker hypersurface is a quadric). These two solutions correspond to the two real lines incident on the four lines. Mapping these points back to lines in 3-space gives the desired result.
The intersection of k hyperplanes may be computed elegantly, using a null-space computation. Teller and Hohmeyer [TH99] use a singular value decomposition (SVD) to compute the basis vec- tors of the null space. This affine set may then be intersected with the Pl¨ucker hypersurface. One of the basis vectors is fixed in order to account for projectivity.
It should be noted that the addition of another line would over specify the problem, leading to no incident lines. Symmetrically, the subtraction of one line (to three) would result in an under specification. The result would be a two dimensional null space, that when intersected with the Pl¨ucker hypersurface gives an infinite set of lines that form a ruled surface inR3, that is incident on the remaining three lines.
If the dual hyperplanes of the given four lines form linearly dependent constants, then the selec- tion of lines are degenerate in terms of being mutually parallel or collinear.
Aggressive Visibility Preprocessing
In this chapter we present our approach to rapid visibility computation. The algorithm is aggressive (as described in Chapter 1). We also extend the algorithm to creates a 5D subdivision in ray-space. This 5D subdivision is used as a means of accelerating ray-shooting.
Aggressive algorithms are not necessarily suited to all applications. Such an algorithm can be applied effectively when any of the following are met : (a) the perceptual impact of the error is acceptably low, (b) it handle scenes that cannot be solved effectively with a conservative alternative due to excessive overestimation, or (c) the time-frame allowed for preprocessing is less than that of a conservative or exact solution.
The technique presented here solves (b) and (c) effectively. However, (a) is difficult to show since acceptability is subjective and usually depends on the nature and context of the application.
We provide evidence quantifying this error in practice. We also present error minimisation heuristics that are exploited by adaptive sampling
We begin with a discussion on computing visibility from a surface in 3D space. Our adaptive technique is presented in this context. We then present the divide-and-conquer approach of our algorithm framework and we show how surface visibility can be integrated hierarchically, in order to greatly accelerate computation. We then discuss our cache management strategy that allows for a logarithmic dependency on the number of cells. Results exploring efficiency and accuracy are then presented.
Finally, we present our scheme for efficiently sampling 5D ray space. This is a natural extension to the visibility preprocessing technique presented here. We present experimental results from a preliminary implementation, demonstrating the utility of this algorithm as a means of accelerating ray-shooting. Since this is still a hardware based extension of our visibility algorithm, error may
result. Area sampling, a natural complement of point sampling, is introduced to further reduce error during the 5D processing.
4.1
Visibility From a Surface
In this section our novel sampling approach to “from-region” visibility is presented. We describe a sampling method that is based on the hemi-cube [CG85, HA00] and exploits the performance of common graphics rendering hardware. We demonstrate its application in deriving an aggressive visibility set from a rectangular surface in 3D space. Finally, adaptive sub-sampling is introduced as a means to increase performance, while decreasing error.