Virtual Reality door: R.M. Seegers (mseegers@sara.nl) J.A.L. Been Vrij Universiteit Amsterdam Maart 1994 --------------------------------------------------- Inhoudsopgave Woord vooraf 1 Het concept van Virtuele Realiteit 1.1 Theorie 1.2 Verleden 2 Objecten 2.1 Inleiding 2.2 Definitie 2.3 Interactie 2.4 De geometrie der objecten 3 De techniek 3.1 Inleiding 3.2 Zien 3.3 Sensoren en effectors 3.4 Geluid 3.5 Hardware 3.6 Software 3.6.1 Computer Ondersteund Ontwerpen 3.6.2 Object Georienteerd Programmeren 3.6.3 Virtual Programming Language 3.6.4 Standaardisatie 4 Toekomstvisie 4.1 Inleiding 4.2 Amusement 4.3 Zakelijk/serieus 4.4 Toekomstvisie op VR-techniek 5 Ter afsluiting Literatuuroverzicht Woord vooraf In de nog maar korte geschiedenis van de mens lijkt het erop dat wij altijd al interesse hebben gehad voor het ontastbare. Religie, wetenschap, kennis, alles is gebaseerd op de gedachte om zoveel mogelijk kennis te vergaren over datgene waar wij in eerste instantie geen kennis over hadden. De mens heeft de wil om het ontastbare naar zijn hand te zetten en het dus begrijp- baar en vatbaar te maken. Virtual Reality lijkt een fenomeen te worden dat de barrires van het ontastbare kan gaan verleggen . Virtual Reality (VR) maakt het mogelijk om het ongrijp- bare en het onbegrijpelijke bijna fysiek te maken. Middels VR kan nu ieder mens een vlucht in een vlieg- tuig maken en zelf achter het bedieningspaneel zitten zonder zich te bezeren als men neerstort. We kunnen ons nu in de wereld begeven die tot kort alleen nog bestond voor Eric of het klein insectenboek. En we kunnen ons zelfs vereenzelvigen met het allerkleinste moleculaire deel. Zou het niet een ommezwaai zijn in de macro economie om de onzichtbare hand eens zichtbaar te maken? Het doel van dit werkstuk is om aan de lezer een duidelijk beeld te geven van wat Virtual Reality in technische zin betekent, en welk doel het in de toe- komst mogelijk kan dienen ten behoeve van serieuze toepassingen. Het is niet de bedoeling om in te gaan op het wat zweverige toepassingsgebied zoals misschien in het bovenstaande naar voren lijkt te komen. Er zal eerst gekeken gaan worden naar de aan de basis liggende grondslagen om de virtuele werkelijkheid te kunnen verwezenlijken. Vervolgens zal de technologische omge- ving geschetst worden waarin het fenomeen zich bevindt. Tenslotte zal gekeken worden naar de mogelijkheden die het kan gaan bieden in de toekomst in voornamelijk formele toepassingsgebieden. 1 Het concept van Virtuele Realiteit 1.1 Theorie Virtual Reality kan beschreven worden als: Een door computers gegenereerde quasi-werkelijkheid, waar de gebruiker (de persoon die de ervaring onder- gaat) het gevoel heeft zich werkelijk in deze omgeving te bevinden en daar ook interacties mee kan hebben. Een belangrijk facet daarbij is vooral het laatste gedeelte: de interacties. In de werkelijkheid zijn het de interacties die de mens het gevoel geven een deel van de omgeving te zijn. Men kan door het hoofd te draaien het blikveld wijzigen. Door te ruiken, te betasten, etc. is het mogelijk om dat wat men ziet ook te onderscheiden naar een fysiek object. VR probeert deze werkelijkheid zo goed mogelijk te benaderen. Via locatiesensoren en real-time rekenwerk wordt het door de computer mogelijk gemaakt om een menselijke handeling (bijv. het draaien van het hoofd of het bewegen van de hand) om te zetten in de daarbij beho- rende en passende weergave van de omgeving en de veran- deringen daarvan. 1.2 Verleden Het hele concept van Virtuele Realiteit heeft zijn oorsprong gevonden in de hoek van de psychologie. In de begin jaren werden computers al gebruikt voor psycho- analyse, astrologie e.d. Al deze toepassingen vallen buiten de gevestigde computerorde, zoals de zakelijke computergebruiker dit ziet. De computer is in eerste instantie bedoeld voor intensief rekenwerk door middel van spreadsheets (LOTUS 1-2-3), tekstverwerking (word- perfect), als grafische tool (Autocad), etc. Daarom wordt het nog jonge fenomeen Virtual Reality door velen gezien als speelgoed voor verveelde wizz- kids. Of dit werkelijk zo is, zal uit het verdere verhaal gaan blijken. Virtual Reality is niet enkel de optelsom van apparatuur, software en enige fantasie. Het is veel meer dan wat het op het eerste gezicht lijkt. Hieronder volgen enige karakteristieken van VR, die ervoor zorgen dat fantasieen en werkelijkheid dichter bij elkaar worden gebracht. - Inkapseling: VR brengt de gebruiker in een wereld van informa- tie. De computer wordt gekoppeld aan de menselijke zintuigen. Hierbij is de gesimuleerde werkelijk- heid enkel een onderdeel van wat mogelijk is. VR kan immers meer dan enkel het nabootsen van de fysieke werkelijkheid. - Pluralisme: Iedere door de computer gegenereerde omgeving (Cyberspace) kan worden aangepast aan de eisen van de gebruiker. De omgeving is dus niet meer een gegeven, maar wordt het produkt van de mens zelf. - Cognitieve integratie: De gebruiker krijgt een gevoel van eenheid en holisme en heeft het gevoel een deel te zijn van de virtuele wereld. - Immaterieel Realisme: VR staat los van het concept van Dichotomie. Dit houdt in dat er geen scheiding meer is tussen sub- en objecten, zoals in de realiteit het geval is. - Onbeperktheid: Het menselijke brein bepaalt zelf geheel hoe iets er uit moet zien en is daardoor dus de enige be- perkende factor, samen met de benodigde computer- kracht. - Paradox: In de werkelijkheid inconsistente werelden, kunnen in het virtuele gebied toch samengaan. 2 Objecten 2.1 Inleiding Alvorens besproken kan worden wat er allemaal mogelijk is middels virtual reality, moet er een basis geschapen worden waarop het hele principe steunt. Deze basis vindt de oorsprong in de werkelijkheid. Het blijkt immers niet voor niets dat virtuele realiteit wel degelijk samenhang vertoont met de werkelijkheid. Het zijn de eigenschappen die de fysieke werkelijkheid vertoont, die er voor zorgen dat de virtuele werke- lijkheid als geloofwaardig wordt aangenomen. De basis die zowel in de realiteit als in het virtuele domein een zeer belangrijke rol speelt is het OBJECT. Enige diepere achtergrond omtrent het begrip "object" is nodig om een opstap te vormen voor de rest van het verhaal. 2.2 Definitie Alles wat om ons heen gebeurt kan worden terugge- bracht tot het simpele idee van losse eenheden die een relatie met elkaar vertonen. Elk object vertoont een relatie met de rest van de omgeving. Dit kan een sterke of een zwakke zijn en alle waarden daar tussen in wanneer wij het geheel als een continuum bekijken. De relatie die objecten vertonen wordt een "Link" genoemd. Deze link is een communicatiekanaal waarover informa- tiestromen tussen objecten kunnen bewegen. De informa- tie die over deze kanalen gaat is gericht op de inter- actie die er tussen de objecten plaats vindt. In het kort kan dus gezegd worden dat: Iedere interactieve eenheid wordt gezien als een ob- ject, waarbij ieder object in staat is een interactie te hebben met een ander object. Vanwege het feit dat objecten interacties met elkaar hebben, levert dit problemen op. Stel dat er duizenden objecten aanwezig zijn die allen met elkaar een relatie vertonen en dus interacties hebben, hoe moet het dan mogelijk worden gemaakt dat een persoon (zelf ook een object binnen het geheel) enkel met een deel van de gehele verzameling van objecten interactie kan hebben. Het doel is hier dat er wordt gekozen voor een sub-groep van objecten. Deze sub-groep is dan een deelverzameling van het geheel. Dit lijkt misschien wat overdreven, maar biedt wel perspectief als wij het vergelijken met de werkelijkheid. Wanneer wij ons in een auto bevinden als bestuurder dan richten wij ons enkel op het verkeer en alles wat daarmee samenhangt. Dit heet cognitieve dissonantie. Wanneer dit niet zo zou zijn en wij dus ook alles waarnemen wat buiten het verkeer valt (huizen, etalages, etc.), dan zou er een te grote hoeveelheid aan informatie bij ons doordringen en zouden wij een gevaar zijn op de weg (Jammer genoeg gaat dit bij sommigen wel op). Een object is het kleinste deeltje dat zich binnen het geheel bevindt. Een object kan gedefinieerd worden als: Een verzameling van processen die onderling met elkaar verbonden zijn en transacties met elkaar uit kunnen voeren, waarbij data en processen uniek voor het object zijn en ingekapseld zijn in het object. Processen zijn er voor nodig dat de interacties werkelijk plaats kunnen vinden en dat een object tij- dens die interacties een bepaald gedrag vertoont. Deze processen verzorgen taken als het linken van processen, het linken van objecten, het starten van nieuwe proces- sen, etc. Binnen een object krijgt ieder proces een uniek identificatie-nummer. Wanneer een proces een ander proces wil aanroepen en op wil starten, dan hoeft deze simpelweg gebruik te maken van deze sleutel-identifica- tie. Ieder object op zich krijgt ook een eigen nummer. Wanneer het voor een proces nodig is om een proces in een ander object aan te roepen, gaat dit tevens middels een identificatie. Objecten hebben in de Virtuele omgeving enkele specifieke eigenschappen: - Een object is positioneerbaar en orienteerbaar, oftewel het heeft een locatie en een orientatie (richting) in de ruimte. Bij de meeste objecten kunnen deze attributen worden gemodificeerd door het toepassen van aanpassingsoperaties. - Een object kan een onderdeel zijn van een hierar- chie, waarbij iedere eerst bovenliggend object een ouder is van die daar onder. Ieder child-object erft alle eigenschappen van de ouder en geeft deze door aan zijn kinderen. - Ieder object in de virtuele realiteit bezit een "Bounding volume" (bijv. een bol of een kubus). Een "bounding volume" wordt gespecificeerd door vorm afhankelijke data. Via deze vormen kan op een heel eenvoudige en snelle wijze bepaald worden of een object bijvoorbeeld wel of niet gerenderd moet worden. Wanneer de computer altijd direct bij veranderingen van objecten dit ook door gaat voe- ren, dan kost dit veel rekentijd. Alleen de hoogst belangrijke gevallen moeten aangepast worden om de snelheid te behouden. Door middel van het gebruik van de meest eenvoudige basisvormen kan dit dus bereikt worden. 2.3 Interactie Nu we een idee hebben gekregen van de werking van objecten, kan gekeken gaan worden naar wat voor gevol- gen dit heeft voor het zichtbaar, hoorbaar, e.d. maken van objecten binnen de virtuele werkelijkheid. Het grote probleem is dat objecten zoveel eigen- schappen kunnen bezitten (rond, rechthoekig,transpa- rant, licht uitzendend, zacht, hard, etc.). Over al deze eigenschappen moet informatie beschikbaar en ingekapseld zijn in een object. Wanneer objecten interactie vertonen, worden er zoals al is opgemerkt informatiestromen via links overgebracht. Zo moeten twee objecten die bijvoorbeeld bij elkaar in de buurt komen, elkaar "op de hoogte stellen" van de interactie die heeft plaatsgevonden en informatie uitwisselen over de mogelijk gewijzigde toestand van de objecten, zoals het werpen van een schaduw op een object veroorzaakt door een ander ob- ject. Deze informatie bevat dan data over diameter, afstand, relatieve hoek, etc. Het principe gaat uit van het uit- wisselen van de meest belangrijke coordinaten. Wanneer het aantal gevonden coordinaten groot genoeg is dan wordt er middels deze gegevens via algoritmen de nieuwe situatie berekend. Vervolgens verschijnt het nieuwe beeld op het scherm. Wanneer de objecten ook nog worden ingekleurd, rekening houdend met de situationele omge- vingsaspecten, dan wordt dit renderen genoemd (zie later). Hier wordt dan ook al duidelijk dat wanneer men een geloofwaardig resultaat wil scheppen, men over veel rekencapaciteit moet beschikken (zie 3.5). Het opmer- kelijke hierbij is dat dus niet de programmeur de bewegingen van de objecten bepaalt, maar dat zij min of meer een eigen leven gaan leiden. 2.4 De geometrie der objecten Nu er inzicht is gecreeerd in de interacties tussen objecten en de gevolgen die daaruit leiden, kan gekeken gaan worden hoe objecten vorm krijgen. Het vorm geven aan objecten, het inkleuren en het continu aan- passen in wijzigende situaties blijkt een zeer omvang- rijk en divers gebied te zijn. Er zijn verschillende klassen van objecten. De meest simpele vorm is het een-dimensionale object, oftewel een punt. Vervolgens komt de twee-dimensionale vector, oftewel een lijn. Bouwtekeningen zijn bijvoor- beeld opgebouwd uit vectoren en geven dus enkel inzicht in het platte vlak. De meest ingewikkelde vorm is het drie-dimensiona- le model. De meest eenvoudige vormen in het drie-dimen- sionale vlak zijn polypoints en polylines. Een poly- point is een collectie van punten in de ruimte. Een polyline is een aantal vectoren die tezamen een conti- nue lijn vormen in de ruimte. De meest algemene vorm die wordt gebruikt om een virtuele wereld te scheppen is de polygoon. De polygoon is een gesloten figuur met meerdere zijden. Deze kunnen zowel rechtlijnig, convex als concaaf zijn. Om het tekenen van objecten eenvoudig te houden worden zij vaak opgebouwd uit meerdere driehoeken. Bij het opbouwen van objecten door middel van polygonen en het renderen (inkleuren) daarvan, krijgt een computer in het normale geval al snel problemen als een vorm te complex wordt. Een oplossing is gevonden in "Vertex Join Set Polygon Format". Er wordt hier gebruik gemaakt van referentiepunten die behoren bij een speci- fiek object. Het voordeel is dat niet ieder punt in een berekening opgenomen moet worden om te komen tot een gewijzigde situatie, maar dat enkel de referentiepunten worden gebruikt. Dit komt deels overeen met de "Boun- ding volume" die hiervoor is besproken. De referentie- punten worden eenmaal berekend en zijn vervolgens uniek voor het object. Een andere wijze voor het opbouwen van objecten en dan voornamelijk voor zeer gecompliceerde objecten en landschappen, zijn curves en gecurfde oppervlakten (patches). Deze vormen kunnen heel effectief gebruikt worden voor bijvoorbeeld het afbeelden van ronde vormen (auto's, personen, etc.). Deze manier van het maken van afbeeldingen is zeer ingewikkeld en wordt in de eerste instantie niet gebruikt voor Virtual Reality doelein- den. Waar het wel zijn toepassing vindt is als opzet tot het maken van bruikbare vormen. Wanneer via curves een object wordt ontworpen, kan de computer vervolgens via algoritmen deze omzetten naar bruikbare polygonen. Hieronder volgen nog enige belangrijke gereed- schappen of opties die nodig zijn om computergraphics en animaties te realiseren: - Dynamic Geometry In bepaalde gevallen is het wenselijk dat geometrische objecten over de mogelijkheid beschikken om op eenvoudige wijze van vorm te veranderen. Er zijn verschillende soorten veranderingen mogelijk: 1. Deformatie, waarin het object in principe gelijk blijft, maar waarbij alleen enkele eigenschappen veranderen en op den duur weer terugkeren in de toestand zoals deze was in de beginsituatie (stuiterende bal, botsende objecten, etc). 2. Metamorfose (Morphing), waarbij een object verandert in een geheel andere vorm. Bij morphing zijn het beginobject en het eindob- ject van belang. De computer berekend de meest optimale weg om een vloeiende over- gang van de ene vorm naar de andere vorm te realiseren. - Lights Licht kan op twee manieren voorkomen: 1. Ambiant 2. Located ad1. Ambiant licht is overal aanwezig en heeft geen duidelijk aanwijsbare bron. ad2. Located licht heeft een duidelijk aan- wijsbare bron. Deze bron is verplaats- baar en tevens kan de intensiteit en de spreiding worden aangepast. Located licht kan vanuit een licht-emiterende bron afkomstig zijn, maar kan ook voort- komen uit een object in het virtuele gebied. - Rendering Een belangrijk onderdeel bij het creeren van een virtuele omgeving is het renderen van vlakken middels een "rendering interface". In de meeste rendering-applicaties worden twee rendermodellen onderscheiden, te weten: - view dependant - view independant View dependant modellen richten zich speciaal op het opvangen van licht. Oftewel, het houdt zich bezig met reflecties die objecten uit- stralen. Het renderen van view dependant modellen wordt gerealiseerd aan de hand van de overige objecten in de omgeving. Zij samen bepalen de invloed die ze hebben op een spe- cifiek object. De meest gebruikte techniek om view dependant te renderen is de "raytrace"- techniek. Deze techniek berekent lijn voor lijn de te gebruiken kleuren in het vlak aan de hand van de geanalyseerde situatie op een bepaald moment. View independant modellen houden zich expli- ciet bezig met ambiant licht, radiated licht en schaduws. De gebruikte techniek die hier wordt toegepast is het onderwerpen van een object aan "radiaal algoritmen". Dit zijn wiskundige berekeningen die zich richten op het bepalen van relatieve afstanden in de ruimte van objectcoordinaten. Aan de hand van deze coordinaten kunnen situaties en de ge- volgen daarvan bepaald worden en veranderin- gen doorgevoerd worden. - Camera's Hiermee wordt het gezichtspunt van de gebrui- ker bedoeld. Elke gebruiker heeft maar een gezichtspunt. Er worden vaak wel alternatieve camera's gedefinieerd. Deze worden gebruikt om de gebruiker een overzicht te laten zien van de virtuele wereld waarin hij zich be- vindt, alsmede zijn positie hierin. Een ande- re reden voor alternatieve camera's is van psychologische aard. Het gebeurt vaak dat gebruikers van virtuele vliegtuigen, auto's, tanks, etc. een 'ongeluk' krijgen. Wanneer de gebruiker erg opgaat in de virtuele wereld en zich niet meer voldoende realiseert dat het niet echt is, zou hij het idee kunnen krijgen dat hij werkelijk neerstort, botst, of opge- blazen wordt. Om de gebruiker op dergelijke momenten een beetje terug te brengen in de werkelijkheid verplaatst de camera zich naar buiten het gezichtspunt van de gebruiker. Deze ziet dan het ongeluk van een afstandje gebeuren, en kan zo niet het idee krijgen er echt bij betrokken te zijn. - Scripts Het belangrijkste in een virtuele wereld is de interaktie met de gebruiker. Objecten in een virtuele wereld doen op zichzelf andere dingen dan wanneer er interaktie is tussen de gebruiker en dit object. Dit vereist een soort definitie van hoe de objecten in deze situaties reageren. In VR wordt hiervoor de term 'World Scripting' gebruikt. Er zijn drie basistypen: Motion Scripts, Trigger Scripts en Connection Scripts. Motion Scripts veranderen de positie, rich- ting en andere attributen van objecten, lights en camera's bij elke update van het beeld. Motion scripts registreren ook wanneer de gebruiker een object aan zich verbindt, bijvoorbeeld wanneer hij een voorwerp oppakt of plaatsneemt in een auto. Trigger Scripts worden aangeroepen als er zgn. 'trigger events' plaatsvinden, zoals een botsing tussen objecten en het benaderen van een object. Connection Scripts regelen de verbinding van objecten met input en output apparatuur. Een voorbeeld hiervan is de verbinding tussen een dataglove en een virtuele hand. 3 De techniek 3.1 Inleiding Virtuele Realiteit is een heel nieuw fenomeen en daardoor blijkt er nog maar weinig over bekend te zijn. De techniek blijkt dan ook nog een beperkende factor te zijn. Wanneer de ontwikkelingen verder gaan zal dit medium automatisch mee gaan ontwikkelen. Om de virtuele realiteit te kunnen ervaren, moeten er bepaalde ondersteunende technologische hulpmiddelen beschikbaar zijn: - Een stereohelm, met als bijzondere eigen- schappen: - bril met twee miniatuur computer- monitoren. - plaatssensor - Handschoen (dataglove), joystick,etc. - Een computer met hoge rekencapaciteit en een grote grafische resolutie. - Software 3.2 Zien Om voor de gebruiker de ervaring te scheppen dat hij of zij zich werkelijk in een ruimte bevindt, moet gebruik worden gemaakt van een speciaal soort hoofd- apparaat. Dit apparaat wordt een stereo helm of Eyephone genoemd. Deze machine moet ervoor zorgen dat er geen fysieke beelden meer van de werkelijkheid te zien zijn, maar enkel de kunstmatig gecreeerde beelden. Deze helm is voorzien van twee miniatuur monitoren die ervoor zorgen dat de gebruiker een drie-dimensio- naal beeld te zien krijgt. In het begin beschikte men nog niet over de mogelijkheid om stereoscopische beel- den door de computer te laten genereren. Toen werd de oplossing gezocht in het afzonderlijk met hoge frequen- tie aan en uit laten gaan van het linker en rechter scherm dat zich voor de ogen bevindt. Op dit moment kan men wel real-time stereoscopische bewegende beelden genereren en is het enkel nog zaak om twee hoge resolu- tie schermen te gebruiken. Hoe perfect onze hersenen ook zijn voor het op- slaan van verzamelde data, hoe slecht ze zijn voor het onderscheiden van gecompliceerde bewegingen. Hierop wordt ingespeeld bij het maken van tekenfilms. Op zich worden er afzonderlijke "frames" in sequentie afge- speeld, maar doordat deze zo snel op elkaar volgen, lijkt dit een vloeiende beweging. Doordat onze hersenen op deze snelheid niet meer het onderscheid kunnen maken tussen de afzonderlijke beelden, zien wij het geheel als een continuum. Volgens een gelijkwaardig principe werkt het ook met de virtual reality techniek. De stereohelm beschikt over twee beeldschermen die zo zijn gebouwd dat zij op korte afstand van de ogen nog goed en scherp te zien zijn. Omdat onze hersenen zo traag zijn, maken wij al snel van de afgebeelde computergraphics een vloeiend geheel. Een stereohelm bestaat uit het draaggedeelte, de monitoren en een constructie waar in zich lenzen bevin- den. Deze lenzen maken het mogelijk om de beelden scherp te zien. De bedoeling van het hele stereoscopisch kijken is natuurlijk niet alleen het aanschouwen van stilstaande beelden. Met virtual reality vindt er een updating van de beelden plaats in real-time. Wanneer men het hoofd draait, dan draait het beeld in de juiste snelheid (relatief, want dit is afhankelijk van de CPU-snelheid en de kwaliteit van de beeldschermen) en onder de juiste hoek mee. Dit alles wordt verzorgd door de sensoren en de effectors. 3.3 Sensoren en effectors In tegenstelling tot de computerinterfaces die "controls" worden genoemd, wordt er bij VR gebruik ge- maakt van sensoren en effectors. De sensoren zijn hier de input-devices, zoals de elektronische handschoen waarmee commando's worden gegeven en bewegingen worden geregistreerd. De effector zorgt ervoor dat er terugkoppeling plaatsvindt vanuit de werkelijke wereld naar de effec- tor. Deze zet dan de verzamelde data om in correct gepositioneerde beelden. Er zijn twee vormen van feedback of terugkoppeling. De eerste vorm is de pas- sieve of niet-voelbare feedback. Deze vorm is de meest makkelijke vorm, zoals die nu ook al gerealiseerd kan worden. Het houdt in dat wanneer een beweging wordt uitgevoerd, er een gelijkwaardige beweging in de omge- ving te zien is. Deze interactie heeft alleen het effect op het visuele gedeelte van de gebruiker. Wat veel moeilijker wordt is om het effect van een handeling ook voelbaar te maken. Maar hoe kun je iets tastbaar maken, wanneer hetgeen men ziet er niet in werkelijkheid aanwezig is. Wanneer men in de huidige situatie een virtueel object vastpakt, of er tegen aanloopt, dan vind er geen voelbare feedback plaats. Voor de technici is dit een uitdaging, waar wel al aan gewerkt wordt d.m.v. elektrische signalen,etc. 3.4 Geluid Een andere vorm van feedback is geluid. Om een omgeving realistisch te maken is er tevens hoorbare terugkoppeling noodzakelijk. Op het eerste gezicht lijkt dit makkelijk realiseerbaar, maar we stuiten toch op een probleem. Het stereogeluid is al lang uitgevon- den en lijkt in eerste instantie de werkelijkheid ruimtelijk weer te kunnen geven. Met kwalitatief hoog- staande apparatuur kan er al een hele grote diepte werking worden gerealiseerd in het geluidsbeeld, maar het probleem blijft dat bijvoorbeeld het geluid gepro- duceerd door twee luidsprekers enkel een beeld voor de toeschouwer neerzet en niet rond om hem heen. Er zijn hier wel nieuwe technieken geintroduceerd die dit probleem oplossen. Een voorbeeld is Dolby-surround en prologic. Beide systemen maken gebruik van meerdere weergevers die zich rond om een persoon bevinden. Iedere weergever wordt vervolgens digitaal afzonderlijk aangestuurd en kan daarom geluiden neerzetten op de juiste plaats. Een geheel nieuwe techniek is Q-sound waarbij op de conventionele manier (dus enkel gebruik makend van twee weergevers) een holografisch geluids- beeld neer gezet kan worden. Een probleem ontstaat wanneer men op de conventio- nele wijze virtual reality toe gaat passen. Het voor- gaande richt zich in principe enkel op het weergeven van geluid door middel van luidsprekers. Een fundamen- teel probleem ontstaat wanneer er een hoofdtelefoon gebruikt wordt voor geluidslocatie. De huidige techniek geeft namelijk het gevoel alsof het geluid in het hoofd aanwezig is en niet daarbuiten, zoals in werkelijkheid het geval is. Tevens is het zo dat als het hoofd ge- draaid wordt, dat de hoofdtelefoon en dus het geluid meedraait. Dit is iets dat tegen natuurkundige wetten indruist, de bron van geluid is immers meestal plaats- gebonden. Naar dit probleem is een omvattend onderzoek verricht door een topfabrikant in hoofdtelefoon-tech- niek (AKG) in samenwerking met het Russische ruimte- vaartprogramma M.I.R. In de eerste plaats moet vermeld worden dat aan het probleem van het plaatsgebonden zijn van geluiduitzendende objecten tot op dit moment niets gedaan kan worden. Een oplossing voor het in het hoofd bevinden van het geluid is door AKG gevonden in de vorm van de AKG BAP1000 hoofdtelefoon-processor. Middels digitale technieken wordt het geluid nu buiten het hoofd waargenomen. 3.5 Hardware Zoals al uit het voorgaande blijkt, is het niet eenvoudig om een geloofwaardige virtuele wereld te bouwen. Stilstaande beelden zijn tegenwoordig eenvoudig te realiseren en dan ook nog in fotografische kwali- teit. Wanneer men echter beelden wil laten bewegen of animeren, dan komt er heel wat meer bij kijken. In de eerste plaats moet elke beweging afzonder- lijk worden geanalyseerd en worden geconverteerd in beelden met de juiste verhoudingen, onder de juiste hoek en het liefst met de juiste schaduwing, lichtval en kleur. In de tweede plaats moet dit alles dubbel en parallel gebeuren om een stereoscopisch beeld te cre- ren. Dit vergt ongelooflijk veel rekenkracht. Gedacht moet dus worden in de richting van zware computers met upgrading van coprocessoren voor berekeningen en grap- hics. En dan nog zijn de resultaten discutabel om echt te spreken van geloofwaardige beelden. Het blijft met de huidige technologieen nog allemaal primitief. Aan wat voor soort apparatuur moet dan gedacht worden. Het is mogelijk, maar werkt niet optimaal, om als platform een snelle 80386/486 te gebruiken. Maar omdat deze bijvoorbeeld niet echt grafisch georienteerd zijn (grafische processoren), zijn zij niet snel en krachtig genoeg om als platform te dienen. Een betere oplossing kan worden gezocht in de richting van Apple of Amiga met hardwarematige grafische faciliteiten. Voor het serieuze werk moet echter gedacht worden aan grafische workstations of CRAY of ABACUS achtige compu- ters. Deze computers beschikken bijvoorbeeld over opties als Depth-of-field en environment-mapping. Middels geavanceerde computertechnologieen kunnen tegenwoordig op eenvoudige wijze zeer goede en realis- tische images gerealiseerd worden op het computer- scherm. 3.6 Software Omdat er zoveel eisen worden gesteld aan de hard- warematige componenten, is het vanzelfsprekend dat het zelfde geldt voor de te gebruiken programmatuur. Virtu- al Reality wordt gevoed door stereoscopische, driedi- mensionale beelden. Om dit te kunnen realiseren, moet de programmatuur deze zaken kunnen verwezenlijken. Het uitgangspunt voor het creeren van een virtuele realiteit is de CAD(Computer Aided Design/Drafting)pro- grammatuur. Een nieuwe techniek is OOP(Object Oriented Programming). 3.6.1 Computer Ondersteund Ontwerpen De basis voor Virtual Reality is het gebruik van CAD-programmatuur, zoals Autocad en StereoCAD-realtime. Vooral in de hoek van technisch ontwerpen, architec- tuur, bouwplanning, etc. worden dit soort pakketten gebruikt als ondersteunende tool. Dit soort programma's kunnen afbeeldingen maken in draadmodellen en de geavanceerde versies kunnen deze modellen ook weer laten inkleuren rekening houdend met positie, lichtval en het materiaal waaruit de objecten (water, glas, steen, etc.) bestaan. 3.6.2 Object Georienteerd Programmeren Wanneer we gaan werken met een groot arsenaal aan verschillende objecten, die ook weer onderling gerela- teerd zijn, wordt het verstandig om te gaan kijken naar object georienteerde programmeerwijzen. Op deze manier kunnen eigenschappen aan objecten worden toebedeeld en kunnen relaties worden aangebracht tussen de verschil- lende objecten (zie hoofdstuk 2). Op de eerste plaats was het object-georienteerd programmeren bedoeld voor toepassingen waarbij veel met iconen en bit-mapped schermen gewerkt werd. Bij VR gaat dit verder (3D effect) en bestaan er complexere rela- ties tussen objecten. Daarom zijn er speciale talen ontwikkeld voor VR-doeleinden, zoals VPL. 3.6.3 Virtual Programming Language VPL is geen losstaande programmeertaal, maar bijna een methodiek om VR te ontwikkelen. Het programmeren door middel van VPL gaat te werk volgens een aantal fasen. De eerste stap is het ontwerpen van een drie- dimensionale wereld. Dit geschiedt via het pakket Swivel 3D om meer-dimensionale objecten en vormen op te zetten. De volgende stap is dat de gecreeerde objecten worden getransporteerd naar een Unix-platform, van waaruit men middels de VPL-taal "Body Electric" bewe- gingen koppelt aan interfaces en sensoren. Uiteindelijk wordt via het programma Isaac de gecreeerde VR-omgeving in real-time doorgerekend en afgebeeld op het scherm. 3.6.4 Standaardisatie Over standaardisatie is nog niet veel besproken m.b.t. VR Dit komt omdat de ontwikkelingen nog te sterk bezig zijn en het dus innovatie zou kunnen tegenwerken. Tevens vindt men over het algemeen het eigen systeem het beste. Wel hebben VPL en Autodesk (autocad) enig- zins gesprekken gehad in de richting van standaardisa- tie. Dit heeft vorm gevonden in een "Virtual World File Interchange Standard". Dit moet uiteindelijk gaan leiden tot een net zo perfecte standaard als MIDI bij elektronische muziekapparatuur is. 4 Toekomstvisie 4.1 Inleiding VR belooft een grote toekomst te hebben. Alhoewel de mogelijkheden van VR ongekend zijn, wordt VR nog maar weinig toegepast voor nuttige zaken. VR bevindt zich voor wat betreft de praktische toepassingen nog maar in een experimenteel stadium. Toch zijn er al VR toepassingen die zich in een ver gevorderd stadium bevinden. Zo zijn daar bijvoorbeeld de vluchtsimulato- ren, die in de luchtvaart worden gebruikt voor de opleiding van piloten. Een andere bestaande toepassing is een auto-simulator, waarin het lijkt alsof je echt auto rijdt, zonder het gevaar een aanrijding te veroor- zaken. Dit is erg handig voor bijvoorbeeld rijoplei- dingen. Buiten deze toepassingen zijn er maar weinig andere serieuze toepassingen te noemen. Wordprocessors, spreadsheets en dergelijke worden al jaren gebruikt en zijn een soort verlengstuk geworden van het menselijke brein. De mogelijkheden van VR moeten nog gevestigd worden en daarom is het juist een interessant gegeven om te gaan kijken in welke toepassingsgebieden Virtuele realiteit een basis kan vinden. Het is goed om de mogelijkheden uiteen te zetten en daarbij een onderscheid te maken in verschillende soorten van gebruik. Het gebruik zal zich hier richten op amusementsdoeleinden en op zakelijk gebruik. 4.2 Amusement Computerspellen zijn er al in overvloed in de VR sfeer. Vooral zijn het de adventure games die gretig gebruik maken van virtuele werelden waar de gebruiker zich in kan bevinden. - De Exercise CyberCycle gaat uit van een stereosco- pisch landschap waar de gebruiker doorheen kan fietsen. We zouden dit in de toekomst kunnen zien in het verlengde bij fietstrainers bij sportscho- len, waardoor het ontspanningsquotient duidelijk zal toenemen. - Waterworld is ook een bestaande toepassing. Het biedt de gebruiker een blik onder water en voelt zich daarbij ook een met de wereld om zich heen. Men kan zelfs interactief de vissen voeren. Dit zou natuurlijk kunnen uitgroeien tot geheel nieuwe mogelijkheden in de dierentuin-sector. Deze zouden hun parken er mee kunnen verrijken of zoals in Frankrijk al het geval is, men ontwikkelt een geheel nieuw concept dat geheel uitgaat van scher- men, waarop de dieren en planten te zien zijn. 4.3 Zakelijk/serieus Deze voorbeelden zijn zeker interessant genoeg om eens bij stil te staan, maar het is duidelijk dat het belangrijker is om te gaan kijken wat voor rol VR zou kunnen gaan spelen bij wat meer serieuze zaken. Toch blijkt altijd weer dat er eerst gespeeld moet worden voordat men het nut voor de zakelijke toepassingen er van ziet. Voor VR is een veelbelovende toekomst weggelegd, met name in de formele sfeer. Denk bijvoorbeeld aan militaire toepassingen. Luchtaanvallen en veldslagen kunnen vooraf worden geoefend, zodat men zich beter kan voorbereiden op verschillende situaties. Ook militaire opleidingen hebben hier baat bij. Soldaten kunnen worden getraind in realistische situaties, zonder het risico te lopen gewond te raken. Ook in communicatie zou VR zijn diensten kunnen bewijzen. Zou het niet mooi zijn om met iemand aan de andere kant van de wereld te communiceren, terwijl het lijkt of deze persoon tegenover je zit? Deze manier van communicatie kan ook nuttig zijn bij vergaderingen waarbij de deelnemers zich op verschillende plaatsen bevinden (tele-conferencing). Virtuele Realiteit zou vooral geschikt kunnen zijn voor gebruikers c.q. doelgroepen die veel met ruimten te maken hebben in hun werk. En dan vooral daar waar die ruimten voor mogelijke problemen zouden kunnen zorgen. Vooral valt hier te denken aan simulaties op plaatsen waar fysieke aanwezigheid voor de gebruiker te intensief is, teveel risico met zich mee brengt of daar waar men gewoonweg niet in staat is om ooit te kunnen komen. In de ruimtevaart industrie wordt al gebruik gemaakt van VR toepassingen. De ontwikkelaars kunnen via robots en andere verlengstukken van de hand werk- zaamheden op plaatsen waar het moeilijk is om zelf te komen. Ook bijvoorbeeld bij werkzaamheden in atoomcen- trales biedt dat perspectief. Een toekomstbeeld voor de luchtverkeersleiding zou kunnen zijn dat de verkeersleider zich middels VR buiten zijn toren kan begeven en bijvoorbeeld de lucht- haven vanuit het perspectief van een aanvliegend vlieg- tuig kan aanschouwen. Zelfs zou hij in noodtoestanden zich kunnen verplaatsen in de desbetreffende cockpit. Momenteel wordt er veel onderzoek gedaan naar de toepassing van VR in de medische wereld. Chirurgen in opleiding kunnen naar hartelust oefenen op een virtuele patient, zonder deze werkelijk letsel te bezorgen. 'Het doel is NIET om gebruikers te laten denken dat ze aan een echte patient werken. Het doel is een beter model te verschaffen dat het verkrijgen van kennis over de anatomie van een patient en over medische procedures vergemakkelijkt.' Het is dus niet de bedoeling om de gebruiker zich in een andere wereld te laten wanen, maar om de werkelijkheid te vereenvoudigen. De medische wetenschap maakt al gebruik van x-ray om zich te ontdoen van de grenzen die de menselijke huid en de ingewanden bieden voor doctoren en chirur- gen. Het zou nog verder kunnen gaan wanneer een chirurg over de mogelijkheden beschikt om zelf een lichaam te kunnen betreden en daar in rond te kunnen kijken zonder dat er ook maar een scalpel e.d. aan te pas komt. Op basis van zijn of haar vooraf waargenomen gegevens kan een uitspraak worden geveld over mogelijke verdere behandeling. Zoals al is vermeld, is de basis voor VR de CAD- programmatuur. Maar het computer ondersteund tekenen is in eerste instantie bedoeld voor de technisch tekenaar of de architect. Het zou ook daarom een interessant gegeven zijn om daar weer op terug te vallen en te gaan kijken hoe virtual Reality mogelijkheden kan bieden voor de ontwerper. Zolang het bedenken en bouwen van gebouwen, machi- nes, e.d. bestaat, is er voortdurend gezocht naar nieuwe technieken om de processen hiervan te vereenvou- digen. Men begon met het introduceren van wiskundige methoden en het vervaardigen van tekenmatarialen ter ondersteuning van het technisch ontwerpen. Het nadeel was dat het aanbrengen van wijzigingen een complexe zaak was. Onderzoek en de voortschrijdende technologische veranderingen hebben tot op dit moment geleid tot het gebruik van geautomatiseerde hulpmiddelen als tekenpa- ketten en CAD-applicaties (Computer Aided Design). Deze applicaties bieden de mogelijkheid om middels het ingeven van coordinaten en bijbehorende acties, techni- sche ontwerpen te maken. Tevens biedt het de mogelijk- heid om dit in het driedimensionale vlak te realiseren, waarbij de gebruiker zijn VIEW-POINT op kan geven (relatieve hoek en afstand tot het getekende object) en kan veranderen. Op deze manier kan een architect nu al om het ontwerp heen lopen en het vanuit alle hoeken aanschouwen. Het toekomstbeeld voor CAD-applicaties zal zich richten op zowel de architect als bijvoorbeeld make- laars. In de huidige situatie is een groot nadeel in de makelarij dat wanneer een klant een huis wil kopen dat nog niet gebouwd is, deze dus enkel de bouwtekeningen kan gebruiken om een oordeel te vestigen. Een ongeloof- lijke vooruitgang zou behaald kunnen worden, als een klant direct door zijn toekomstige huis kan lopen, de ruimte kan aanschouwen, de invloed van het invallende zonlicht kan bekijken, e.d. Zo kunnen architecten een virtueel gebouw of een virtuele stad bouwen, zodat de betrokken partijen het gebouw of de stad kunnen 'uit- proberen' voordat tot de bouw wordt overgegaan. Nieuwe wegen, kruispunten en andere verkeerssituaties kunnen worden getest voordat ze gerealiseerd worden. Project ontwikkelaars kunnen bij het plannen van nieuwe steden door middel van VR door de straten rijden en op deze manier al vantevoren op een virtuele wijze het project aankleden. Uit het bovenstaande stuk blijkt dat Virtual Reality waarschijnlijk vooral in deze sector heel veel invloed zal gaan krijgen door de enorme voordelen die het kan gaan bieden. 4.4 Toekomstvisie op VR-techniek Virtual Reality kan de wereld veranderen, de mogelijkheden zijn onbeperkt. Om deze visies op de toekomst waar te kunnen maken, zijn verdere technische ontwikkelingen noodzakelijk. Het is onwaarschijnlijk dat in de toekomst gebruikers van VR zullen blijven werken met enorme hoofddeksels met ingebouwde monitoren en sensoren, zware heupbanden en belemmerende data-g- loves. Er bestaan al vlucht-simulatoren en auto-simula- toren waar deze asseccoires overbodig zijn. De gebrui- ker ziet door het raam van de auto of het vliegtuig een vereenvoudiging van een uitzicht zoals dat in werke- lijkheid zou kunnen bestaan. Om de beweging van de handen te registreren wordt nu nog gebruik gemaakt van een zgn. dataglove, een zware handschoen met sensoren. Bij virtuele chirurgie is het onwenselijk om zo'n handschoen te moeten dragen, omdat het bij chirurgie aankomt op subtiele handbewe- gingen. Een stap in de goede richting wordt gemaakt door de Amerikaanse firma 'Virtual Technologies' met de Cyberglove. De Cyberglove maakt vrije bewegingen van de hand mogelijk, zonder daarbij onoverkomelijke vertra- gingen te laten zien. Dit is essentieel om de bewe- gingen van de hand zo nauwkeurig mogelijk te registre- ren. Naast de zogenaamde input-apparatuur zal ook de verwerkings-apparatuur, of te wel de computer, moeten verbeteren. Bij de huidige VR systemen zijn de virtuele werelden nog erg primitief. Objecten zoals die door de gebruiker worden waargenomen zijn erg vereenvoudigd, omdat computers nog niet snel genoeg zijn om verschil- lende bewegende figuren vele malen per seconde weer te geven. Computer zullen sneller moeten worden om zo een 'realistischer' virtuele wereld te creeren. 5 Ter afsluiting Het doel van dit werkstuk was om inzicht te ver- schaffen in het nieuwe fenomeen 'Virtual Reality'. Vanwege het feit dat Virtual Reality nog in de kinder- schoenen staat en nog lang niet is uitgekristalliseerd, is het moeilijk om echte toekomstige toepassingen te beschrijven die VR kan gaan dienen. Veelal heeft dit geleid tot het voortbouwen op bestaande concepten en niet tot geheel nieuwe, baanbrekende ideeen. Op dit moment zijn de toepassingen van VR nog in een beginsta- dium. Op den duur zullen de toepassingen bruikbaarder en specifieker worden. Ook zal naar onze mening in de toekomst gaan blijken dat wij steeds dichter gaan komen bij zo gebruiksvriendelijk mogelijke computers en software. Dit zal moeten gaan leiden tot het niet meer kunnen onderscheiden van mens en computer, oftewel de ultieme Turing-test. Literatuuroverzicht - Cockayne, W.R.; On Law Enforcement Agencies in Cyberspace; Apple Computers Inc. - Handel, C.; Virtual Worlds, Report on presen- tation by W Industries Leicester Polytechnic Branche Meeting of the British Computer So- ciety; 9th October 1991 - Isdale, J.; What is Virtual Reality? A Home- brew Introduction; Isdale Engineering; March 1993 - Lee, J.; Implementing Virtual Reality; Bond University, Gold Coast, Australia; 16 juli 1992 - Sala, L.H.D.J. en Barlow, J.P.; Virtual Rea- lity, de Metafysische Kermisatractie, Magi- sche spiegel van de Hyper-Cyber-Age ziel; SALA Communications GmbH Dusseldorf BRD; 1e druk; september 1990 - Smith, N.P.; Virtual Illusions; july 09 87 - Snoswell, M.; Overview of Cyberterm, a Cyber- space Protocol Implementation - Stredney, D.; 'Biomedical Applications of High Performance Computing' at the 'Medicine Meets Virtual Reality II' conferentie in San Diego; Ohio Computer Center; 27-30 januari 1994. - Veen, Ir. M. van der; Ruimte zonder ruimte, De AKG BAP1000 hoofdtelefoon processor; HIFI Exclusief; HOMESTUDIO, jaargang 11, nummer 2 1994 - Wooley, b.; Virtual Worlds, a journey in hype and hyperreality; Blackwell 1992 ----------------------------------------------------- Wij hopen dat dit werkstuk nuttig voor u geweest is. Als u opmerkingen heeft over dit werkstuk, zouden wij dat graag van u horen. Ook wanneer u dit werkstuk gebruikt voor uw eigen werkstuk of artikel zouden wij er prijs op stellen als u dat ons liet weten. Alvast hartelijk dank! E-mail: mseegers@sara.nl