Principal Autor Habitació1 Habitació2 Habitació3 Habitació4
 
  0.Index 

   1. Introduccio

   2. Descripció general del Museu

     2.1 Habitació 1

     2.2 Habitació 2

     2.3 Habitació 3

     2.4 Habitació 4

   3. Viewpoints

   4. Composició de l'escena

   5. Entrar al museu
 
  1. Introducció


Aquesta pàgina pertany al projecte de l'assignatura Realitat Virtual i Geometria (RVIG) de la Facultat d'Informàtica de Barcelona realitzat per Gabriel Prat i Masramon durant el curs 2002-2003.

La pràctica té com a objectiu dissenyar un museu virtual amb VRML que mostri bona part de les capacitats del llenguatge. L'exposició està organitzada en quatre sales el contingut de les quals es detalla a les pàgines corresponents.

 
  2. Descripció general del Museu 


El museu està estructurat en sales comunicades per portes. En total hi ha quatre tipus diferents de portes combinant formes d'obertura (lliscant o giratòria) i nombre de fulles de la porta (una o dues). Totes aquestes portes estan definides com a PROTOs com en un fitxer a part anomenat portes.wrl es defineix a la secció corresponent.

Quan iniciem el recorregut pel museu, ens trobem a la part exterior mirant cap a la porta d'entrada:

Com veiem a la captura de pantalla, des d'aquesta posició es poden veure dues faroles que iluminen la porta d'entrada a més de la pròpia porta, el rètol amb el nom del museu, la foto de l'autor amb el nom al costat i un botó vermell.

Es pot interactuar amb molts d'aquests elements. La porta d'entrada s'obre al fer-hi click (és una porta de doble fulla amb obertura giratòria cap a l'interior).
Si ens acostem a les faroles i posem el ratolí sobre l'àrea transparent aquesta canvia de material i si hi fem click, la farola canvia d'estat (encesa / apagada).
Si cliquem sobra la foto de l'autor, aquesta gira, acció que desencadena també un click sobre el nom de l'autor.
Com era d'esperar, també es pot interactuar amb el botó que també fa que la porta s'obri.

A partir d'aquí, ja podem obrir la porta i entrar dins de l'exposició.


Com hem comentat el museu es divideix en quatre sales a les figures següents es pot veure l'esquema utilitzat per crear el museu amb les mides corresponents i una captura de pantalla del resultat final en VRML visualitzat amb el Viewpoint "Planta". Clicant a les sales de la vista en planta del VRML podem veure una descripció més detallada de cada sala:

Croquis de la planta del museu Vista en planta del museu

  •  Sala1 (inferior esquerra): Sala de Nodes bàsics
  •  Sala2 (inferior dreta): Sala amb objectes IndexedFaceSet i IndexedLineSet
  •  Sala3 (superior esquerra): Sala de poliedres
  •  Sala4 (superior dreta): Sala amb objectes Extrusion i ElevationGrid

Podem veure una descripció més detallada de cada sala clicant sobre els noms o sobre les habitacions al dibuix.

 
  3. ViewPoints 


Per a la visualització de l'escena s'han definit varis viewpoints per anar directament a les diferents habitacions. Per fer més còmoda la creació d'aquests viewpoints s'ha fet servir una eina per convertir del sistema de definició de càmera a partir de la posició el punt on es mira (VRP) i el vector que apunta amunt al sistema d'angles respecte els eixos que fa servir VRML i que és menys intuitiu. Aquest programa no és de pagament (tampoc de lliure distribució: l'autor posa els termes de llicència a la pàgina) i el podem trobar a la pàgina web de l'autor: peek.

Aquests viewpoints són: un pel punt inicial de la visita fora del museu, un per cada habitació per tal d'anar-hi ràpidament, un per la visió en planta que podem observar més amunt i un sisè per una visió en planta en projecció quasi paral·lela (des de molt lluny i amb un camp de visió molt reduït).

 
  4. Composició de l'escena 


L'esquelet de l'escena el podem trobar al fitxer expo_vrml.wrl. En aquest fitxer s'hi defineixen el fons (extret d'aquesta pàgina), els viewpoints, el terra, les parets que estan definides com a dos nodes extrusion i un, les portes i les faroles de l'exterior.

Tot i que hi ha algún node Inline per incloure contingut d'algun fitxer, la major part de la construcció de l'interior de les habitacions s'ha fet amb PROTO's en fitxers externs.

Aquests protos són:

PortaDespDoble
Definició: Crea una porta de doble fulla amb obertura per desplaçament lateral.
Paràmetres: La posició de la cantonada esquerra superior
La mida de cada fulla de la porta
El temps que tarda en obrir-se i tornar-se a tancar
Un eventIn per indicar que s'ha de començar a obrir (per obrir amb botons)

PortaDespSimple
Definició: Crea una porta de fulla simple amb obertura per desplaçament lateral.
Paràmetres: (Veure PortaDespDoble)

PortaGirDoble
Definició: Crea una porta de doble fulla amb obertura per gir.
Paràmetres: (Veure PortaDespDoble)

PortaGirSimple
Definició: Crea una porta de fulla simple amb obertura per gir.
Paràmetres: (Veure PortaDespDoble)

Pedestal
Definició: Crea un pedestal format per una columna girada amb una Box a sobre i un cartell amb un text tots tres amb textura de marbre.
Paràmetres: La posició del centre de la base del pedestal (que està sobre el pla Y=0)
L'altura del pedestal
La mida del costat de la Box de sobre el pedestal
Una llista de nodes amb el contingut del pedestal
Una llista d'strings amb el text del cartell de davant del pedestal
Un angle de rotació per orientar el cartell cap a davant

StreetLamp
Definició: Crea una làmpara de carrer que es pot encentdre i apagar clicant amb el mouse.
Paràmetres: Un node appearance amb el material de la base de la farola
La posició del centre de la base de la farola (que està sobre el pla Y=0)
Tots els paràmetres de il·luminació de la farola: lightAmbientIntensity, lightAttenuation, lightIntensity, lightOn, lightColor, lightRadius

Ones
Definició: Crea una malla ElevationGrid del tamany especificat, amb un nombre d'ones també especificat i amb forma de dobre ona paral·lela o ones circulars concèntriques. Es fa a partir d'un script que calcula l'alçada d'un punt donades les seves coordenades x i y:
Ones paraleles: f(x,y)=(sin(x)+cos(y))/2
Ones circulars: f(x,y)=sin(sqrt(x^2+y^2))
Paràmetres:

La mida del costat de la malla ElevationGrid
El nombre de ones que volem que apareguin a la malla
El nombre de divisions que ha de tenir cada costat de la malla
Un booleà que valdrà TRUE en cas de voler ones circulars i FALSE altrament
Un node appearance amb el material a aplicar a les ones generades


Octahedron
Definició: Crea un octaedre de ràdi 1 creat inicialment amb el VRML-Editor (PFC)
Paràmetres: cap

Tetrahedron
Definició: Crea un tetraedre de ràdi 1 creat inicialment amb el VRML-Editor (PFC)
Paràmetres: cap

Icosahedron
Definició: Crea un icosaedre de ràdi 1 creat inicialment amb el VRML-Editor (PFC)
Paràmetres: cap

Dodecahedron
Definició: Crea un dodecaedre de ràdi 1 creat inicialment amb el VRML-Editor (PFC)
Paràmetres: cap

Dau
Definició: Crea un dau amb IndexedFaceSet texturat per cares amb una textura de dau de poker
Paràmetres: La mida del costat del dau a generar

CubLinia
Definició: Crea un cub amb IndexedLineset de la mida especificada
Paràmetres: La mida del costat del cub

Cartell
Definició: Crea un cartell amb textura de fusta
Paràmetres: La mida del cartell
La posició del cartell
El text que hi ha d'apareixer
La mida de la font a utilitzar

SobrePortaH
Definició: Crea un box per encaixar a sobre una porta horitzontal
Paràmetres: La translació, rotació i escalat del box que per defecte fa 1x1x0.2

SobrePortaV
Definició: Crea un box per encaixar a sobre una porta vertical
Paràmetres: La translació, rotació i escalat del box que és una rotació de 90º sobre l'eix Y de l'anterior.

 
  5. Entrar al museu 

Entrar
 
 

Habitació 3 Habitació 4 Habitació 1 Habitació 2