Introduzione a Java3D PART 2

Stampa

Tratto da programmazione.it, scritto da Dario Guadagno

La scena, di default, indipendentemente dalle dimensioni del frame che la contiene, ha larghezza 2, il punto più a sinistra è posto alla coordinata -1 e l’estremo a destra è alla coordinata +1; al centro del frame è posta l’origine e l’asse della profondità è orientato secondo il verso “uscente” dallo schermo. L'asse dell'altezza ha dimensione calcolata in rapporto alla larghezza: ad esempio, se un frame ha altezza doppia rispetto alla larghezza, il punto più alto del frame avrà coordinata 2, e il più basso -2.

È possibile definire delle reazioni ai movimenti del mouse nella scena (specializzazioni della classe MouseBehavior), o alle specifiche interazioni su un oggetto 3D (specializzazioni della classe PickMouseBehavior), ma il meccanismo non è semplicissimo ed è certamente più macchinoso di quanto non accada con la normale gestione ad eventi. D'altra parte, alcune convenzioni adottate da Java 3D sono facilmente utilizzabili e permettono di gestire i movimenti "continui" degli oggetti tridimensionali, come la traslazione o la rotazione:

Le scelte relative ai componenti tridimensionali di una scena sono dovute anche al fatto che, chiaramente, i cambiamenti a runtime di un ambiente tridimensionali sono ben più “pesanti” di quelli all’interno di applicazioni 2D. Limitare e standardizzare i movimenti e rendere più "statici" gli oggetti alleggerisce il lavoro a runtime del motore 3D.