|
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:
- 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. |
|
|
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). |
|
|
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. |
|
|