13.01.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!