giovedì 6 marzo 2008

Immagini 3D in movimento con Excel? Si può!

Come sapete mi sono interessato di giochi realizzati con Excel.
Excel infatti è uno strumento decisamente versatile che permette di fare moltissime cose diverse.
Nel mio libro già parlavo di immagini in movimento e di tecniche di rappresentazione di immagini attraverso la colorazione delle singole celle di Excel. Una barriera che non ho affrontato è la rappresentazione di oggetti tridimensionali. E' evidente però che il passaggio alla rappresentazione di oggetti tridimensionali è necessario per fare un salto qualitativo nella realizzazione di giochi.
Il motivo per cui a suo tempo non ho affrontato questo problema è semplicemente dovuto alla complessità legata alla proiezione di oggetti tridimensionali su un piano bisdimensionale (lo schermo). La faccenda in sè non è particolamente difficile da comprendere dato che richiede semplicemente un po' di geometria e di capacità di elaborazione di matrici 4x4 (matrici di proiezione) e delle matrici di rotazione (anch'esse 4x4). Il problema nasce putroppo dalla complessità algoritmica legata all'elaborazione di queste matrici 4x4 che trasformano i punti (in coordinate 3D) in coordinate bidimensionali sullo schermo. Si tratta di elaborare un gran quantità di numeri: ad esempio un quadrato è fatto da 8 vertici, ognuno dei quali rappresentato da 3 coordinate (e siamo a 24 numeri) che devono essere trasformatri da matrici 4x4 (=16 numeri) generata a partire dal punto di vista dell'osservatore (altri 3 numeri). Per elaborare queste coordinate bisgona usare formule che utilizzano le funzioni trigonometriche (sinx e cosx) su tre assi.

Sebbene io non abbia voluto affrontare il tema, qualcun'altro lo ha fatto.
Trovate a questo indirizzo http://www.gamasutra.com/view/feature/3563/microsoft_excel_revolutionary_3d_.php un esempio di rappresentazione di un quadrato che ruota su se stesso. Come potete osservare, per un semplice quadrato sono necessarie una gran quantità di tabelle che includono le coordinate di tutti i vertici del quadrato.
Il risultato in se è abbastanza interessante; purtoppo è solo un esercizio concettuale e ci vuole ancora molto lavoro per trasformare questo lavoro in un gioco o in un'applicazione concreta. Lascio a voi la sfida!


Nessun commento: