*** ATTENZIONE: VERSIONE CORRETTA RISPETTO ALLA VOLTA SCORSA ***
Laboratorio di Interfacce Grafiche
Esercizio 3 (OpenGL - trasformazioni geometriche)
Trovate il programma esempio simple3d.c che
visualizza una piramide in 3D e permette all'utente di
fare orbitare il punto di vista attorno alla scena in base a due angoli
(latitudine, longitudine).
La scena consiste di un solo oggetto definito gia' in coordinate del mondo
e centrato nell'origine.
La trasformazione di vista consiste in:
rotazione attorno all'asse z (di angolo longitudine), rotazione
attorno all'asse x (di angolo latitudine), traslazione per portare
il punto di vista ad una certa distanza dalla scena.
Notare che nel codice devono essere scritte in ordine inverso.
Modificare il programma in questo modo:
-
Introdurre la possibilita' per l'utente di controllare la dimensione
della piramide visualizzata.
Questo si puo' fare in due modi: o agendo sulla trasformazione
di proiezione (ingrandire o rimpicciolire il volume di vista)
oppure agendo sulla trasformazione
di modellazione (scalare la scena prima di guardarla).
-
Introdurre nella scena un secondo oggetto a piacimento
ed introdurre la possibilita' di muovere uno dei due oggetti
rispetto all'altro per es. traslandolo avanti e indietro
in una direzione da voi scelta.
Bisogna agire sull'oggetto con trasformazioni di modellazione.
Nota bene:
per ciascun punto sara' necessario scrivere codice OpenGL
ma anche codice XForms per introdurre nell'interfaccia i dispositivi
di controllo necessari.