PhD Thesis - Automated Recognition of 3D CAD Model Objects in ...
PhD Thesis - Automated Recognition of 3D CAD Model Objects in ...
PhD Thesis - Automated Recognition of 3D CAD Model Objects in ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
New Approach 30<br />
One ma<strong>in</strong> application <strong>of</strong> <strong>of</strong> these data structures (as well as BVHs) is <strong>in</strong> accelerat<strong>in</strong>g<br />
ray trac<strong>in</strong>g algorithms for <strong>CAD</strong> render<strong>in</strong>g applications. For example, Knoll<br />
et al. [72] and Brönnimann and Glisse [23] present ray trac<strong>in</strong>g algorithms us<strong>in</strong>g<br />
octrees, Wald et al. [123] an algorithm us<strong>in</strong>g a BSP tree, and Reshetov et al. [98]<br />
and Havran and Bittner [54] algorithms us<strong>in</strong>g kd-trees.<br />
A particularly <strong>in</strong>terest<strong>in</strong>g work is presented by Keeler et al. [67] who construct<br />
a true spherical visibility map <strong>of</strong> scenes made <strong>of</strong> triangular facets. This spherical<br />
visibility map is stored <strong>in</strong> a BSP tree which can thus be used for speed<strong>in</strong>g up<br />
ray shoot<strong>in</strong>g solutions. Additionally, this technique simultaneously achieves the<br />
cull<strong>in</strong>g <strong>of</strong> hidden surfaces, another accelerat<strong>in</strong>g technique described <strong>in</strong> more detail<br />
<strong>in</strong> the section Cull<strong>in</strong>g Techniques below. Note, however, that contrary to the other<br />
space partition<strong>in</strong>g data structures presented above, this spherical visibility map<br />
partitions the space based on the viewer’s location, or ray source. As a result, it<br />
must be recomputed for every ray source. In contrast, uniform grids, octrees, BSP<br />
trees and kd-trees are all viewer-<strong>in</strong>dependent and thus only have to be computed<br />
once.<br />
Bound<strong>in</strong>g Volume Hierarchies (BVHs):<br />
Bound<strong>in</strong>g Volume Hierarchies (BVHs) are an extension <strong>of</strong> us<strong>in</strong>g Bound<strong>in</strong>g Volumes<br />
(BVs) presented <strong>in</strong> Section Shoot<strong>in</strong>g Bound<strong>in</strong>g Volumes above. BVHs partition<br />
the space and are constructed from the bottom up and have the specificity that<br />
bound<strong>in</strong>g volumes may overlap [47].<br />
BVHs are constructed as follows: (1) the BVs <strong>of</strong> all objects are calculated and<br />
considered as the leafs <strong>of</strong> the hierarchy; and then (2) the BVs are aggregated us<strong>in</strong>g<br />
a pre-def<strong>in</strong>ed closeness criterion, and the process typically stops until all the BVs<br />
are aggregated <strong>in</strong> a s<strong>in</strong>gle BV, which consequently bounds all the objects <strong>in</strong> the<br />
scene [47].<br />
As described <strong>in</strong> Section Shoot<strong>in</strong>g Bound<strong>in</strong>g Volumes above, spheres and axisaligned<br />
bound<strong>in</strong>g boxes and oriented bound<strong>in</strong>g boxes are commonly used BVs [125].<br />
In a BVH, each parent node may have any number <strong>of</strong> children nodes. BVHs<br />
may thus be more convenient <strong>in</strong> some situations than uniform grids, octrees, BSP<br />
trees or kd-trees that can only split a space <strong>in</strong> a pre-def<strong>in</strong>ed number <strong>of</strong> regions.<br />
Additionally, BVHs can be rapidly updated <strong>in</strong> the case <strong>of</strong> dynamic scenes. They<br />
are thus very popular for implement<strong>in</strong>g collision detection applications, such as <strong>in</strong><br />
video games [121].<br />
The effectiveness <strong>of</strong> BVHs <strong>in</strong> the search<strong>in</strong>g process is dependent on the trade<strong>of</strong>f<br />
achieved by the BVs between (1) ease <strong>of</strong> <strong>in</strong>tersection test<strong>in</strong>g and (2) reduction<br />
<strong>in</strong> the number <strong>of</strong> <strong>in</strong>tersection test<strong>in</strong>g (tightness) they enable [125]. Therefore, the