12.08.2013 Views

The AR Workbench: A Complete Co-located Reach-in Mirror-Based ...

The AR Workbench: A Complete Co-located Reach-in Mirror-Based ...

The AR Workbench: A Complete Co-located Reach-in Mirror-Based ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Marlon Richert, Master’s <strong>The</strong>sis, Friday, 23 February, 2007<br />

arm. Second, the current setup is <strong>in</strong>herently limited <strong>in</strong> the k<strong>in</strong>d of tools it can<br />

simulate, s<strong>in</strong>ce the handle does not conta<strong>in</strong> any moveable parts. For example, it is<br />

quite unfeasible to use it to control virtual scissors, wire cutters, clamps or tongs,<br />

s<strong>in</strong>ce there is no way of <strong>in</strong>dicat<strong>in</strong>g whether the tools should be opened or closed.<br />

Add<strong>in</strong>g a simple button to the handle that the user can press with their thumb<br />

should alleviate this problem. Unfortunately, the requirements did not foresee <strong>in</strong><br />

this.<br />

Performance of the roles module when us<strong>in</strong>g only a few Role–Target<br />

comb<strong>in</strong>ations with only few Sensors and Regions, respectively, is good, as the<br />

system causes no noticeable additional delay beyond that already present <strong>in</strong> the<br />

real-time stereoscopy. However, add<strong>in</strong>g more comb<strong>in</strong>ations with a greater number<br />

of Sensors and Regions causes the number of B<strong>in</strong>ds necessary to implement the<br />

logical conjunctions to grow exponentially due to the number of possible Sensor–<br />

Region permutations, dramatically <strong>in</strong>creas<strong>in</strong>g startup times and memory usage of<br />

the system—though fortunately not responsiveness. <strong>The</strong> system could avoid this if<br />

IPF supported <strong>in</strong>tersection check<strong>in</strong>g between Regions, <strong>in</strong>stead of only between<br />

Pivots and Regions, but unfortunately, it does not. In addition, you normally do not<br />

want all Pivots of one Role to be <strong>in</strong> one Sensor but rather only have adjacent Pivots<br />

<strong>in</strong> the same sensor, s<strong>in</strong>ce callbacks only execute when all Pivots <strong>in</strong> one Sensor have<br />

entered a Region. Depend<strong>in</strong>g on the shape and function of the act<strong>in</strong>g object, this<br />

can become a comb<strong>in</strong>atorial problem lead<strong>in</strong>g to an explosion <strong>in</strong> the number of<br />

Sensors as well, further compound<strong>in</strong>g the problem. Thus, the system currently works<br />

best with virtual tools that have very specific and local <strong>in</strong>teraction po<strong>in</strong>ts, such as<br />

po<strong>in</strong>ters, hooks and forks.<br />

One of the ma<strong>in</strong> sources of complication with the implementation of the software<br />

is the fact that IPF was simply never <strong>in</strong>tended for highly <strong>in</strong>teractive virtual<br />

environments. It has good support for triggers, buttons and timers, but no real<br />

support for, for example, collision check<strong>in</strong>g, bound<strong>in</strong>g boxes or cont<strong>in</strong>uous<br />

<strong>in</strong>teraction. This has been an ongo<strong>in</strong>g source of frustration dur<strong>in</strong>g the development<br />

of the software. All <strong>in</strong> all, IPF turned out to be a significantly limit<strong>in</strong>g factor <strong>in</strong> the<br />

development of the system, necessitat<strong>in</strong>g complicated workarounds for the absence<br />

of certa<strong>in</strong> features <strong>in</strong> IPF, such as, for example, the creation of Sensors <strong>in</strong> order to<br />

compensate for the lack of true collision detection support. <strong>The</strong> creation of these<br />

and others workaround caused a lot of overhead that could have perhaps been<br />

better spent on elsewhere had the project made use of a development platform<br />

better tailored to VR <strong>in</strong> general and highly <strong>in</strong>teractive VR <strong>in</strong> particular.<br />

Notwithstand<strong>in</strong>g all the above, however, the system can still def<strong>in</strong>itely be used to<br />

implement all k<strong>in</strong>ds of application. First, the system is def<strong>in</strong>itely suitable for<br />

implement<strong>in</strong>g the visionary scenarios outl<strong>in</strong>ed <strong>in</strong> chapter 4. Indeed, food therapy<br />

and the Book of Life def<strong>in</strong>itely belong to the realm of possibilities with the f<strong>in</strong>al<br />

workbench prototypes. Second, many other applications also come to m<strong>in</strong>d. One<br />

example would be an application with which an architect could view a 3D model of a<br />

bluepr<strong>in</strong>t and lift off the roof or remove a wall with the use of a virtual tool. Another<br />

example would be games, such as virtual air hockey or table tennis. In short, the<br />

system might have its shortcom<strong>in</strong>gs, but it is still def<strong>in</strong>itely functional and useful.<br />

42

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

Saved successfully!

Ooh no, something went wrong!