Virtual Environments Essentials
Virtual Environments • • • • • •
Begrippen en voordelen 3D computer graphics Menselijke factoren VR hardware VR software Toepassingen
Begrippen • Virtual Reality: overtuigende werkelijkheid die niet echt bestaat • Virtual Environments • Essentieel voor VR: navigatie en interactie (real-time 3D graphics) • Presence, immersion • non-immersive VR / desk-top VR • immersive VR
Voordelen • 3D visualisatie • Navigatie - immersive VR: tracking, 3D input devices - desktop VR: (3D) input devices, screen buttons • Interactie - immersive VR: glove - desktop VR: muis
Issue • Toevoegen van simulatie van fysische processen of eigenschappen vergt veel rekenkracht (discretisatie/simplificatie vereist)
1
Geschiedenis (I) • Flight simulators
Geschiedenis (II) • 1952
1910
Analoog (1943)
Digitaal (1958)
Geschiedenis (III)
Geschiedenis (IV) • Sensorama (1956)
Geschiedenis (V) • Philco Headsight TV Surveillance System (1961)
Geschiedenis (VI) • Ivan Sutherland: The Ultimate Display (1965)
– HMD – Head orientation tracking – waardoor camera op afstand bestuurd wordt
HMD voor overlaying van draadmodellen op werkelijke wereld, ultrasone tracking
HMD voor televisiebeelden, mechanische tracking
2
Geschiedenis (VII)
Geschiedenis (VIII)
• UNC Haptic Systems (vanaf 1967)
• Knowlton’s virtuele knoppen (1975)
– Grope I: molecuulkrachten – Grope II: kinderblokken – Grope III: molecular docking
Geschiedenis (IX)
3D Computer Graphics (I)
• LEEP (Large Expanse, Extra Perspective) (1975): optica voor 3D viewing van groothoekfoto’s
• Geschiedenis: computers, plotters, displaytechnologie, rendering, real-time graphics, virtual reality
3D Computer Graphics (II)
3D Computer Graphics (III)
• Objectmodellering: polygonen, driehoeken (vertex/edge/triangle tables), extrusions, sweep volumes, geometric primitives vertex x y z 1
3
0
1
2
5
0
1
3
6
0
5
4
4
3
6
extrusion
triangle
v1
v2
v3
1
1
2
4
2
2
3
4
3
3
1
4
4
1
3
2
sweep volume
geometrische primitieven
3
Intermezzo: acquisitie (I) • 3D scanners/digitizers
DeltaSphere Laserscanner
Intermezzo: acquisitie (II) • Whole body scanners
Microscribe 3D point cloud (gaten!)
Laserscanner Polhemus FastScan
Intermezzo: acquisitie (III) Reconstructie: point cloud naar surface
Intermezzo: acquisitie (IV) • Interne structuren: CT, MR
Voxel data in slices
3D Computer Graphics (IV) • Dynamische objecten (mogelijk met beperkingen)
3D Computer Graphics (V) • Collision detection: (real-time) – simplificatie – pruning (datastructuren)
Intersectie randen: collision gemist
4
3D Computer Graphics (VI)
3D Computer Graphics (VII)
• Perspectieve views (transformaties)
• Clipping
A view volume B
A′
parallel A
B′
PRP window
B
A′ perspectief
B′
3D Computer Graphics (VIII) • Stereoscopisch gezichtsvermogen • Rendering 50 keer/seconde • Kleur: RGB, HSV
3D Computer Graphics (X) • Illumination and shading – Een beeld wordt bepaald door licht – Licht gaat van lichtbronnen, via objecten (die kunnen absorberen of reflecteren), naar gezichtspunt – Ondoenlijk om alle lichtwerking door te rekenen, we volstaan met behoorlijk model
3D Computer Graphics (IX) • Realisme vereist – – – – – –
hidden surface removal shading schaduw textures transparantie spiegelingen
3D Computer Graphics (XI) • Illumination – ambient (onafhankelijk van gezichtspunt, vorm van voorwerp)
– spot – point light – parallel
5
3D Computer Graphics (XII)
3D Computer Graphics (XIII)
• Shading: Gouraud – Intensiteit hangt slechts af van de hoek tussen de lichtbron en de normaal op het oppervlak (en is onafhankelijk van gezichtspunt)
θ
3D Computer Graphics (XIV)
3D Computer Graphics (XV)
• Shading: Phong – Intensiteit hangt ook af van de hoek tussen de vector naar het geichtspunt en de ten opzichte van de normaal gespiegelde vector naar de lichtbron
R
V
N α θ θ
L
3D Computer Graphics (XVI) • Hidden surface removal: verwijder onzichtbare (delen van) oppervlakken – Scan-line algoritme – Z-buffer: per pixel naast kleur ook z-waarde; bekijk object voor object, pixel voor pixel en pas z en kleur aan als object dichter bij is dan al opgeslagen object
3D Computer Graphics (XVII) 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
+
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
+
5 5 5 5 5 5
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
5 5 5 5 5 5
=
5 5 5 5 5 5
5 5 5 5
5 5 5 5 5 5 5 5
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 30 0
0 0 0 0 50 50 0 0 0 30 30 0
=
0 0 0 50 50 50 50 0 30 30 0 0
0 0 50 50 50 50 50 530 30 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 50 50 0 0 0 0 0 0
0 0 0 50 50 50 50 0 0 0 0 0
0 0 50 50 50 50 50 50 0 0 0 0
0 0 50 50 50 50 50 50 0 0 0 0
0 0 0 50 50 50 50 0 0 0 0 0
0 0 50 50 50 50 530 530 0 0 0 0
0 0 0 50 50 530 530 0 0 0 0 0
0 0 0 50 530 530 50 0 0 0 0 0
0 0 0 30 530 50 0 0 0 0 0 0
0 0 30 30 50 50 0 0 0 0 0 0
0 30 30 0 0 0 0 0 0 0 0 0
0 30 0 0 0 0 0 0 0 0 0 0
0 0 0 50 50 50 50 0 0 0 0 0
0 0 0 0 50 50 0 0 0 0 0 0
0 0 0 0 50 50 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
6
3D Computer Graphics (XVIII) – Painter’s (list priority) algoritme: sorteer objecten op diepte en teken ze van achter naar voren
3D Computer Graphics (XIX) • Texture mapping: plak plaatje van materiaal op een oppervlak
probleem
– Dynamic texture mapping: sequence van plaatjes (voor dynamische effecten)
3D Computer Graphics (XIX) • Bump mapping: ‘plaatje’ van oppervlaktereliëf om locale variatie in belichting te krijgen en daardoor de illusie van een niet-egaal oppervlak
3D Computer Graphics (XX) • Environment mapping: plak een positieafhankelijk (getransformeerd) plaatje van de omgeving op een voorwerp om de illusie van reflectie te wekken
leerbumpmap
3D Computer Graphics (XXI) • Schaduw hangt af van – object waarop de schaduw valt – object dat de schaduw veroorzaakt
3D Computer Graphics (XXII) • Transparantie (mist): licht dat door (gedeeltelijk) transparante objecten gaat wordt gedeeltelijk geabsorbeerd en (eventueel) gebroken
dus berekening is duur
7
3D Computer Graphics (XXIII) • Radiosity: werk tegengesteld aan fysische werkelijkheid; volg stralen (rays) vanuit het oog door het midden van elk pixel en bepaal het object dat geraakt wordt
3D Computer Graphics (XXIV) shadow rays
refection ray
transparancy ray
3D Computer Graphics (XXV)
3D Computer Graphics (XXVI) • Radiosity is gebaseerd op ‘behoud van licht’: door een oppervlak uitgestraald licht wordt door andere oppervlakken geabsorbeerd of weerkaatst; bepaal globale evenwichtstoestand
Ray tracing in het algemeen te traag voor VR
3D Computer Graphics (XXVII) • Complexere objectmodellen – Bezier curves/surfaces, B-spline surfaces, NURBs – Soft objects
Alleen off-line bruikbaar in VR
3D Computer Graphics (XXVIII) • Depth of field: ‘onscherpheid’ • Volumerendering
• Particle systems
8
Menselijke factoren (I) • Gezicht
Menselijke factoren (II) • Gehoor
– optische vervorming in display barrel
– richting van geluid – externe ervaring (ondanks interne verwerking) – persoonsafhankelijk
pincushion – alle objecten in een image • lijken op dezelfde afstand te liggen • zijn even scherp
Menselijke factoren (III) • Gevoel – prikkeling van verschillende combinaties van receptoren verantwoordelijk voor tast, pijn, trilling
Hardware • Jargon: refresh rate, update rate, latency • Computers: pc, graphics workstation, supercomputer, image generators
• Evenwicht – problemen door scheve horizon – bewegingziekte
• Tracking: mechanisch, optisch (waarneming van markers), ultrasonisch, electromagnetisch (waarneming van sensor), inertial
Hardware: tracking (I) • Mechanisch: structuur verbindt te meten object met vaste basis – grootste precisie en snelheid – maar vaak oncomfortabel
Hardware: tracking (II) Kinematica
( xp, y p )
L2
β
x p = L1 cos α + L2 cos(α + β ) y p = L1 sinα + L2 sin(α + β )
L1 α
Denavit-Hartenberg Transformatiematrix per rotatie-as:
9
Hardware: tracking (III)
Hardware: tracking (IV)
• Optisch: vaste camera neemt bewegende markers (bijv. LEDs) waar (of vice versa)
reconstrueer markerposities
afstanden bekend
Hardware: tracking (V) Problemen: – occlusie van markers – gevoeligheid voor reflecties – afhankelijkheid van goede belichtingsomstandigheden
Hardware: tracking (VI) • Acoustisch (ultrasoon): op basis van metingen met ultrasone geluidsgolven – time-of-flight – phase coherence
• time-of-flight: transmitters versturen golven, receivers (sensoren) meten aankomsttijd afstand tot transmitter
Hardware: tracking (VII) receiver snijpunt van bollen = transmitter
meerdere transmitters
Hardware: tracking (VIII) Nadelen – Geluid is traag, dus hoge latency – Geluidssnelheid hangt af van temperatuur, vochtigheid, druk, luchtstroming
• Phase coherence: meet faseverschil in golven van transmitters
10
Hardware: tracking (IX)
Hardware: tracking (X)
• Electromagnetisch: source en sensoren bestaan uit die loodrechte spoelen; sourcespoelen genereren beurtelings (loodrechte) magnestische velden die door sensoren worden gemeten
Hardware: tracking (XI) – Performance vermindert met afstand (en wordt slecht buiten ongeveer 3 meter) – Aanwezige metalen voorwerpen verstoren het magnetisch velden en geven daarom een fout in de metingen
Hardware: eye tracking (II) • Alternatief: contactlens over hoornvlies gekoppeld aan mechanische structuren die beweging meten • Alternatief: vervorming van pupil in camerabeeld, bepaling positie gele vlek
Hardware: eye tracking (I) • Meten oogpositie en –beweging • bv op basis van electro-oculografie: meet richting van potentiaalverschil tussen hoornvlies (cornea) en netvlies (retina) = kijkrichting • Nauwkeurigheid 1.5 – 2 graden
Hardware: inputapparatuur (I) • 3D manipulators: – Spacemouse
– Spaceball (meet kracht en torsie)
11
Hardware: inputapparatuur (II) – Spacestick (met tracker)
– Wand
Hardware: inputapparatuur (III) • Gloves: meten polspositie en –oriëntatie (met ‘gewone’ tracker) en vingerkrommingen door middel van – optische fibers per gewricht (verband tussen kromming en doorgelaten licht)
– MIDI keyboard voor invoer – van hoogdimensionale data
Hardware: inputapparatuur (IV)
VPL dataglove
Hardware: outputapparatuur (I) • Haptic devices: geven gebruiker force feedback • Bijvoorbeeld door dataglove met
– exoskelet Exos Dexterous Hand Master – meting van spanning op flexibele plastic plaatjes
Mattel Power Glove
Hardware: outputapparatuur (II) • PHANToM (in combinatie met GHOST-software)
– – – – – –
Roteerbare cylindrische zuigertjes in palm Exoskelet dat voor weerstand zorgt Luchtkussens Trillende elementen Metalen schijfjes met varierende stevigheid
• Datasuit…
Hardware: outputapparatuur (III) • Dedicated haptic devices
12
Hardware: brillen (I) • Rood/groenfilters, polarisatiefilters
Hardware: brillen (II) • Shutter glasses
‘anaglyph’
Hardware: displays (I) • 3D scherm: monitor met afwisselend horizontaal/verticaal gepolariseerde plaatjes, in combinatie met gepolariseerde bril
Hardware: displays (II) • Head mounted display (HMD): stereo display in helm • • • • • •
Contrast ratio Luminance Field of view Exit pupil Eye relief Overlap
Hardware: displays (III)
Hardware: displays (IV)
• BOOM (binocular omni-orientation monitor): stereo display aan arm voor mechanische tracking • Beperkte range, hoge precisie
• Retinal display: Plaatje wordt direct op het hoornvlies ‘getekend’ in plaats van op een scherm (dat vervolgens wordt gezien door het oog).
13
Hardware: displays (V) • Panoramascherm: projectie door drie camera’s op gebogen scherm
Hardware: displays (VII) • CAVE (cave automatic virtual environment): projectie op de achterkant van vier schermen
Hardware: displays (IX) • Mini V-dome
Hardware: displays (VI) • Virtual table: (opwaartse) projectie op de achterkant van een liggend scherm (tafel)
Hardware: displays (VIII) • V-dome
Augmented reality (I) • ‘overlay’ de werkelijkheid met computergegenereerde visuele informatie
Registratie!
14
Augmented reality (II) • Met behulp van ‘see-through’ HMD
Augmented reality (III) • of door retinal display
Hardware: audio (I)
Hardware: audio (II) – Locatie van geluid door IID en ITD, en vorm van oorschelpen
• Audio verbetert gevoel van ‘immersion’ (geeft info over interactie), desondanks is VR-audio verwaarloosd gebied • Menselijk gehoor zeer complex: – Geluid afhankelijk van aard van ruimte (akoestiek) en daarin aanwezige voorwerpen – Groot bereik van geluidssterkte, factor 1000000 – Groot frequentiebereik
– Geluid is persoonsafhankelijk, en positieafhankelijk – ‘Traagheid’ van geluid
• Geluidssimulatie moet met al deze factoren rekening houden!
Software: karakteristieken (I) • Importeren 3D objecten • Libraries van objectprimitieven • Level-of-detail (LOD)
Software: karakteristieken (II) • • • •
Transformaties: schaling, rotatie, translatie Formuleren (bewegings)beperkingen `Articulated’ elementen Animatie
• Collision detection
15
Software: karakteristieken (III) • Parallel worlds (overgang tussen verschillende objectverzamelingen • Lichtbronnen • Event handling • Audio • Besturingstaal • Simulatie (van natuurlijke verschijnselen: zeer rekenintensief wanneer realistisch)
VRML • Taal voor interactieve simulatie via WWW / beschrijving 3D werelden (objecten) • Browser waarmee acties met die objecten kunnen worden uitgevoerd
Software: karaktersitieken (IV) • • • •
Sensor interfaces Stereo viewing Tracking Networking (samenwerking in één VE)
Toepassingsgebieden • Industrie: virtual prototyping, training, onderhousplanning, simulatie van fabricageprocessen, simulatie van producttesten • Training: (minimaal-invasieve) chirurgie, therapie, vlucht/scheepssimulatoren • Entertainment, bewegingsanalyse, virtuele cultuur, virtueel winkelen
16