Table Of ContentInformatik im Fokus
Herausgeber:
Prof.Dr.O.Günther
Prof.Dr.W.Karl
Prof.Dr.R.Lienhart
Prof.Dr.K.Zeppenfeld
Informatik im Fokus
Rauber,T.;Rünger,G.
Multicore:Parallele
Programmierung.2008
ElMoussaoui,H.;Zeppenfeld,K.
AJAX.2008
Behrendt,J.;Zeppenfeld,K.
Web2.0.2008
Hoffmann,S.;Lienhart,R.
OpenMP.2008
Steimle,J.
AlgorithmicMechanismDesign.2008
Stych,C.;Zeppenfeld,K.
ITIL.2008
Brill,M.
VirtuelleRealität.2009
Manfred Brill
Virtuelle Realität
123
Prof.Dr.ManfredBrill
FachhochschuleKaiserslautern
FachbereichInformatikundMikrosystemtechnik
Amerikastraße1
66482Zweibrücken
[email protected]
Herausgeber:
Prof.Dr.O.Günther Prof.Dr.R.Lienhart
HumboldtUniversitätzuBerlin UniversitätAugsburg
Prof.Dr.W.Karl Prof.Dr.K.Zeppenfeld
UniversitätKarlsruhe(TH) FachhochschuleDortmund
ISBN978-3-540-85117-2 e-ISBN978-3-540-85118-9
DOI10.1007/978-3-540-85118-9
ISSN1865-4452
BibliografischeInformationderDeutschenNationalbibliothek
DieDeutscheNationalbibliothekverzeichnetdiesePublikationinderDeutschen
Nationalbibliografie;detailliertebibliografischeDatensindimInternetüber
http://dnb.d-nb.deabrufbar.
©2009Springer-VerlagBerlinHeidelberg
DiesesWerkisturheberrechtlichgeschützt.DiedadurchbegründetenRechte,insbesonderedieder
Übersetzung,desNachdrucks,desVortrags,derEntnahmevonAbbildungenundTabellen,derFunk-
sendung,derMikroverfilmungoderderVervielfältigungaufanderenWegenundderSpeicherungin
Datenverarbeitungsanlagen,bleiben,auchbeinurauszugsweiserVerwertung,vorbehalten.EineVer-
vielfältigungdiesesWerkesodervonTeilendiesesWerkesistauchimEinzelfallnurindenGrenzen
dergesetzlichenBestimmungendesUrheberrechtsgesetzesderBundesrepublikDeutschlandvom9.
September1965inderjeweilsgeltendenFassungzulässig.Sieistgrundsätzlichvergütungspflichtig.
ZuwiderhandlungenunterliegendenStrafbestimmungendesUrheberrechtsgesetzes.
DieWiedergabevonGebrauchsnamen,Handelsnamen,Warenbezeichnungenusw.indiesemWerk
berechtigtauchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolcheNamenimSinne
derWarenzeichen-undMarkenschutz-Gesetzgebungalsfreizubetrachtenwärenunddahervon
jedermannbenutztwerdendürften.TextundAbbildungenwurdenmitgrößterSorgfalterarbeitet.
VerlagundAutorkönnenjedochfüreventuellverbliebenefehlerhafteAngabenundderenFolgen
wedereinejuristischeVerantwortungnochirgendeineHaftungübernehmen.
Einbandgestaltung:KünkelLopkaWerbeagentur,Heidelberg
GedrucktaufsäurefreiemPapier
987654321
springer.com
Vorwort
DieBuchreihe InformatikimFokus(cid:147) hatzumZiel,zeitnahund
(cid:148)
gutversta¤ndlichneueTechnologieninderInformatikdarzustel-
len. Die virtuelle Realita¤t gibt es schon seit mehr als zwanzig
Jahren. Aber die Zeit ist reif fu¤r die Entwicklung von produk-
tiv genutztenAnwendungen.Sucht man nachLiteraturzurvir-
tuellenRealita¤t,dannstellt manfest,dasses au(cid:223)ertechnischen
Handbu¤chernimWorldWideWebsehrwenigEinfu¤hrungenin
die Software-Entwicklung gibt. Das Buch, das Sie in Ha¤nden
halten, soll diese Lu¤cke ein wenig schlie(cid:223)en und Ihnen einen
EinstiegindieImplementierungvonVR-Anwendungenbieten.
Mehrals einen Einstieg zuversprechenwa¤re angesichtsder
Breite der Mo¤glichkeiten in der virtuellen Realita¤t vermessen.
Aberdie Basis-TechnologienwerdenSie nachderLektu¤reund
derBearbeitungderU¤bungsaufgabenkennen.Siebeno¤tigenzur
Bearbeitung der Aufgabenkeinen CAVE; wir verwenden dazu
einen Simulator auf dem Desktop. Das ist natu¤rlich in keiner
Weise ein Ersatz fu¤r eine VR-Installation; aber mit etwas Fan-
tasiekannmansichdenrealenEinsatzderBeispielesichervor-
stellen.
vi Vorwort
Zahlreiche Hersteller haben mir die Erlaubnis gegeben, die
Beschreibung von Gera¤ten und Software mit Hilfe von Abbil-
dungenzu unterstu¤tzen.Ichmo¤chtemichandieser Stelle noch
einmal fu¤r die schnelle und unkomplizierte Genehmigung be-
danken.DieAuswahlstelltmitnichteneinUrteilu¤berdieGera¤te
dar,sonderndientausschlie(cid:223)lichderIllustration!
AndieserStellemo¤chteichmichbeiallenbedanken,diezum
EntstehendiesesBuchsbeigetragenhaben.DerDankgehtandie
HerausgeberderReihe InformatikimFokus(cid:147),inersterLiniean
(cid:148)
Klaus Zeppenfeld, fu¤r die Idee, ein Buch zum Thema virtuel-
le Realita¤t in die Reihe aufzunehmen. Hervorragend und sehr
motivierendwar die Zusammenarbeitmit den Mitarbeiterndes
Springer-VerlagesundderFirmale-texinLeipzig.
OhneRobertMoorheadundseinTeamamGeoResourcesIn-
stitutederMississippiStateUniversitywa¤redieseBuchnieent-
standen.VielenDankfu¤rintensiveDiskussionen,Tippsundvor
allem fu¤r die Mo¤glichkeit, ein ganzes Jahr den Schlu¤ssel fu¤r
einen CAVE zu haben und darin Software zu entwickeln. Das
wardasSchlaraffenlandfu¤reinenInformatiker!
NichtzuvergessenmeineFamilie,beiderichmichandieser
Stellefu¤rdievielenWochenendenundAbendeentschuldige,an
denendas Familienleben ohne mich stattfand. Vielen Dank fu¤r
dieGeduldunddiemoralischeUnterstu¤tzung!
UndzumSchlussfreueichmichdarauf,dasBucheinmalbei-
seite zulassenundwiedermehrZeitfu¤rdasErstellenvonVR-
Anwendungenzuhaben.VirtuelleRealita¤tmachtSpa(cid:223)!
Saalstadt,imAugust2008
ManfredBrill
Inhaltsverzeichnis
1 Einleitung.................................... 1
1.1 BeschreibungderThematik ................. 1
1.2 Gliederung............................... 3
2 VirtuelleRealita¤t.............................. 5
2.1 BegriffeundBezeichnungen ................ 5
2.2 EntwicklungdervirtuellenRealita¤t........... 7
2.3 Ein-undAusgaben ........................ 12
2.3.1 VisuelleAusgabe ................... 13
2.3.2 AkustischeAusgabe................. 25
2.3.3 Positionsverfolgung................. 29
2.3.4 Handsteuergera¤te ................... 33
2.3.5 TaktileEin-undAusgabe ............ 34
2.3.6 Spracherkennung ................... 36
2.4 VR-Systeme.............................. 37
2.5 Aufgaben ................................ 42
3 Software-Entwicklungfu¤rdievirtuelleRealita¤t... 45
3.1 VR-Frameworks .......................... 46
3.2 Einfu¤hrunginVRJuggler .................. 48
vii
viii Inhaltsverzeichnis
3.2.1 DieersteVR-Anwendung............ 49
3.2.2 DerAblaufeinerVRJugglerAnwendung 56
3.2.3 EineinteraktiveAnwendung.......... 58
3.2.4 Kontextspezi(cid:2)scheDaten in einer
OpenGL-Anwendung................ 65
3.3 VR JugglerAnwendungenmit OpenGL
PerformerundOpenSG .................... 67
3.4 Kon(cid:2)gurationmitVRJCon(cid:2)g ............... 73
3.5 Aufgaben ................................ 78
4 Anwendungen ................................ 83
4.1 VisualisierungmitVTKundOpenGL ........ 84
4.2 NavigationundInteraktionmitObjekten ...... 87
4.2.1 NavigationinvirtuellenSzenen ....... 88
4.2.2 RealisierungmitVRJuggler.......... 97
4.2.3 InteraktionmitObjekten ............. 100
4.3 VisualisierungvonVektorfeldern ............ 102
4.3.1 Stro¤mungsvisualisierungmitVTK..... 103
4.3.2 RealisierungmitVRJuggler.......... 105
4.4 Qualita¤tvonFreiform(cid:3)a¤chen................ 108
4.4.1 Visualisierungsmethoden............. 109
4.4.2 RealisierungmitVRJuggler.......... 113
4.5 Aufgaben ................................ 123
5 Fazit......................................... 127
Simulator-SteuerungeninVRJuggler ............... 129
A.1 SteuerungdesKopfes ...................... 129
A.2 SteuerungderKamera ..................... 130
A.3 SteuerungdesHandsteuergera¤tes ............ 131
Quelltextfu¤rHelloApplication...................... 133
Inhaltsverzeichnis ix
VRJuggler-AnwendungeninMicrosoftVisualStudio . 139
C.1 VRJuggler-Anwendungenneuerstellen ....... 139
C.2 Projekteinstellungenvornehmen ............. 141
C.3 AnwendungenmitVTKundVRJuggler ...... 145
Lo¤sungen......................................... 147
D.1 AufgabeninKapitel2...................... 147
D.2 AufgabeninKapitel3...................... 151
D.3 AufgabeninKapitel4...................... 156
Glossar........................................... 165
Literaturverzeichnis ............................... 175
Sachverzeichnis ................................... 181
Kapitel 1
Einleitung
Dieses Buch vermittelt einen Einstieg in die Anwendungsent-
wicklung fu¤r die virtuelle Realita¤t. Nach den Grundlagen und
einer Beschreibung der Hardware-Kon(cid:2)gurationenerfolgt eine
Einfu¤hrung in das frei verfu¤gbare Toolkit VR Juggler. Dabei
werdenKenntnisseinComputergra(cid:2)kundinsbesondereGra(cid:2)k-
programmierungmitOpenGLvorausgesetzt.
DanachwerdenexemplarischeAnwendungenmitVRJuggler
implementiert,wobeiErfahrungimProgrammierenmitC++zu-
mindestfu¤rdaserfolgreicheBearbeitenderAufgabennotwendig
ist.DabeiwirdaucheineKopplungzwischendemVisualization
Toolkit VTK und VR Juggler eingefu¤hrt und produktiv einge-
setzt.
1.1 Beschreibung der Thematik
Beim Stichwort virtuelle Realita¤t(cid:147) denken viele Leser sofort
(cid:148)
an das Holodeck(cid:147) aus der US-amerikanischen TV-Serie Star
(cid:148) (cid:148)
Trek(cid:147). Das ist natu¤rlich nicht ganz abwegig,denn das dort be-