ISBN: 9781568817231
Autori: Fletcher Dunn, Ian ParBerry
Editore: CRC Press
Lingua: Inglese
Anno: 2011
Pagine: 846
Allegati: Nessuno
La computer grafics 3D è uno dei domini applicativi più complessi tra le discipline collegate all'informatica. La complessità è dovuta principalmente ai requisiti necessari per realizzare un'applicazione 3D, che includono una buona conoscenza di matematica, algebra, geometria e fisica. Molti testi dedicati alla grafica computerizzata 3D relegano tali argomenti nelle appendici senza soffermarsi più di tanto sui singoli argomenti e consigliando di consultare altri testi per una trattazione più approfondita.
Il testo "
3D Math Primer for Graphics and Game Development (seconda edizione), edito da CRC Press, cerca di coprire tale lacuna ed è dedicato interamente ad approfondire tali tematiche offrendo una
trattazione teorico/pratica che si contraddistingue per chiarezza espositiva e semplicità.
Gli
autori sono due e hanno maturato esperienze differenti:
Fletcher Dunn lavora per Valve Software occupandosi principalmente di sviluppare videogiochi;
Ian Parberry è professore nel dipartimento di Computer Science & Engineering all'
University of North Texas.
Il
target di destinazione include programmatori di videogiochi e progettisti. Gli unici requisiti per la comprensione del testo sono competenze matematiche di base e, in particolare, la conoscenza degli insiemi numerici, l'abilità di manipolare espressioni algebriche, lo studio di una funzione e la conoscenza delle basi di geometria euclidea 2D. Si tratta di competenze che vengono apprese nella maggior parte delle scuole superiori.
Il testo è organizzato in
quattordici capitoli, ognuno dei quali è suddiviso in paragrafi. Nelle prime pagine del testo è presente un
indice dei contenuti in versione dettagliata, mentre nelle pagine finali due
appendici, la
bibliografia e l'
indice analitico. L'
inglese è quello tecnico e non presenta grosse difficoltà di comprensione. Alcune pagine del testo sono a colori per facilitare la comprensione di determinati argomenti. La carta è di buona qualità e la copertina del testo è rigida.
Il
primo capitolo introduce i sistemi di coordinate 2D e 3D e illustra come utilizzare un sistema di coordinate cartesiane per rappresentare punti nello spazio. Nell'ultimo paragrafo sono introdotte le principali nozioni trigonometriche e alcune notazioni matematiche. Il
secondo capitolo introduce i vettori dal punto di vista matematico e geometrico e mostra la relazione tra punti e vettori. La trattazione include anche un certo numero di operazioni sui vettori, delle quali è riportato anche il significato geometrico e viene spiegato in quali situazioni possono essere utili.
Il
terzo capitolo presenta alcuni esempi di spazi di coordinate, utili nella computer grafics 3D e introduce i concetti di vettori base e trasformazioni di coordinate nello spazio. Il
quarto capitolo accenna alle matrici da un punto di vista matematico e geometrico e mostra come esse siano una notazione compatta per rappresentare le trasformazioni matematiche. Il
quinto capitolo dettaglia differenti tipi di trasformazioni lineari e le matrici corrispondenti e discute dei vari modi per classificare le trasformazioni.
Il
sesto capitolo si occupa di approfondire alcune proprietà delle matrici, tra cui le trasformazioni affini e la proiezione prospettica, e spiega lo scopo e il funzionamento dei vettori con quattro dimensioni e delle matrici in uno scenario tridimensionale. Il
settimo capitolo passa alle coordinate polari in 2D e 3D, spiegando motivazione per cui tali coordinate sono utili e mostrando come effettuare la conversione tra rappresentazioni cartesiane e polari.
L'
ottavo capitolo discute differenti tecniche per rappresentare l'orientazione e lo spostamento angolare in 3D: angoli di Eulero, matrici di rotazione, mappe esponenziali e quaternioni. Di ciascun metodo viene esplicitato il funzionamento, le peculiarità e le modalità di utilizzo. Nell'ultima parte viene mostrato come effettuare conversioni tra rappresentazioni diverse.
Il
nono capitolo presenta un certo numero di primitive geometriche di uso comune e mette in evidenza come rappresentarle e manipolarle matematicamente. Il
decimo capitolo dà le basi della grafica 3D: nella prima parte si sofferma su equazione di rendering,
skeletalanimation e
bump mapping. Alla fine del capitolo viene spiegato il funzionamento della
pipeline grafica real time.
L'
undicesimo capitolo introduce le basi di analisi matematica e fisica indispensabili per comprendere la grafica 3D computerizzata e in particolare la cinematica di un corpo rigido, che consente di analizzare il movimento di un corpo rigido senza preoccuparsi necessariamente della causa del moto.
Il
dodicesimo capitolo continua la discussione della meccanica dei corpi rigidi. La trattazione parte con una spiegazione della meccanica classica e include le leggi del movimento e concetti di base come l'inerzia, la massa, la forza, il momento e le leggi più importanti correlate a tali grandezze. Un paragrafo è dedicato alle collisioni, molto importanti nelle applicazioni 3D interattive. Il capitolo termina con una discussone sulle problematiche inerenti la simulazione di corpi rigidi tramite un computer.
Il
tredicesimo capitolo si sofferma sulle curve parametriche in 3D. La prima metà del capitolo introduce l'argomento mostrando come possa essere rappresentata una curva di Bezier relativamente piccola. La seconda metà è dedicata a mettere insieme pezzi più piccoli in una curva più lunga chiamata
spline. Il
quattordicesimo capitolo è brevissimo e conclude il testo.
L'
appendice A è una raccolta di utili test, che possono essere eseguiti su una primitiva geometrica. Nell'
appendice B sono riportate le risposte agli esercizi presenti nel testo.
In sostanza si tratta di un testo che illustra le basi della computer grafics 3D fornendo
esempi pratici per ognuno dei temi trattati.

Uno dei migliori testi per comprendere le problematiche teoriche di base della computer grafics 3D. Il testo combina la trattazione teorica con suggerimenti pratici, esempi ed esercizi.