ROBOTICA

video
immagini
papers
progettati
costruiti
toolbox
vrml
simulatori

links

 

Papers
meccanica
sistemi
documents

Capitolo 13° Aggiungere diverse viste al proprio mondo Capitolo 15°

Finora non mi sono mai occupato della posizione dell’utente. E questo per il semplice fatto che il visitatore di un mondo vrml può muoversi in qualunque direzione, eccezione fatta per vincoli derivanti dal nodo Collision.

E’ però vero che la navigazione deve partire da qualche punto. Se per esempio realizziamo un modello di un robot, l’ideale sarebbe far partire l’utente da una posizione ottimale per la visione dello stesso ; non certamente ad un centinaio di metri di distanza.

Nel caso in cui non venga specificato diversamente il browser si preoccupa di dare una vista iniziale di default (per esempio l’origine del sistema di riferimento).
Se però abbiamo per esempio un castello e vogliamo posizionare il visitatore all’entrata ? In tal caso dobbiamo specificarlo direttamente nel file vrml.
Possiamo poi specificare anche dei punti di vista aggiuntivi oltre a quello iniziale, in maniera tale da offrire all’utente una collezione di posizioni che riteniamo interessanti nel mondo. Sia Live3d che Cosmo Player offrono poi la possibilità di realizzare una sequenza animata per passare dalla posizione attuale a quella desiderata. In questo modo si potrebbero anche realizzare semplici guided tour.
La selezione delle varie viewpoints viene realizzata tramite menù.

Vediamo ora come inserire questa possibilità nei nostri mondi. Si deve inserire nel file vrml uno o più nodi ViewPoint. Solitamente i nodi ViewPoint sono posti all’inizio del file. Il primo nodo di questo tipo inserito corrisponde al punto di vista iniziale.

Per definire una certa visuale occorre specificare sia la posizione che l’orientamento dell’osservatore (la direzione in cui stà guardando. Inoltre occorre specificare una descrizione che servirà poi come chiave di selezione da parte del visitatore.

Un frammento di file Vrml potrebbe dunque essere il seguente :

ViewPoint {
  position 0 0 5
  orientation 1 0 0 -.8
  description “Ingresso”
}
ViewPoint {
  position 0 0 -30
  orientation 0 0 1 3.14
  description “Fondo della sala”
}

Questi sono due esempi di come si possano settare punti di vista all’interno del mondo. Quando i mondi cominciano ad essere un po’ complicati od estesi, è buona norma introdurre dei punti di riferimento di questo tipo. Evitiamo per lo meno che l’utente si perda qualche parte del mondo su cui abbiamo speso tanto tempo e che gradiremmo visitasse.