Dopo aver analizzato le logiche di trasmissione dei dati nel mondo
bidimensionale ci apprestiamo ad analizzare le tematiche relative alla creazione
e alla successiva trasmissione di dati relativi ad oggetti tridimensionali. La
logica di trasmissione di dati tridimensionali è analoga a quella di dati
bidimensionali vettoriali ma in questo caso devo includere le informazioni
legate alla tridimensionalità delle entità che vado a trasmettere: le entità
che prima erano linee o poligoni ora divengono cubi, sfere, cilindri e
all’interno del mio sistema di codifica dei dati devo inserire il concetto di shape,
che mi fornisce informazioni sulla forma e sulla posizione e normal, che
mi codifica in fase di rendering le
parti nascoste e quelle in vista. La logica di creazione di oggetti
tridimensionali è fortemente legata al concetto di posizione oltre che a quello
delle entità primarie: se prendiamo come esempio un punto, possiamo affermare
che questa entità non esiste fisicamente, tuttavia esiste come posizione nello
spazio e applicando dei vettori movimento, cioè spostando l’entità, aggiungo
una dimensione alla stessa. Questa azione di movimento dell’entità primaria
che con l’aggiunta di una dimensione mi genera l’oggetto viene detta estrusione:
estrudendo un punto ottengo una retta; estrudendo una retta ottengo una
superficie; estrudendo una superficie ottengo un volume. L’estrusione mi
genera dei campi di complessità crescente che possono essere manipolati a
condizione che i punti dell’estrusione rimangano gli stessi. Un’altra logica
di creazione di oggetti tridimensionali che parte dai principi di entità
primarie e spostamenti è quella basata sul principio della rotazione
intorno a un’asse, propria degli oggetti prodotti al tornio.
Un’altra logica di creazione di oggetti tridimensionali è fortemente
legata alla figura geometrica del triangolo che è una figura molto particolare:
il triangolo, se vogliamo ricollegarci all’idea di movimento, è il minimo
movimento chiuso e cioè è la figura geometrica chiusa prodotta con il minor
numero di movimenti e tutte le altre non sono che una variazione di questo.
Infatti se pensiamo di compiere una rivoluzione del triangolo intorno a
un’asse, ci accorgiamo che in base al numero di step eseguiti si ottiene una
figura geometrica diversa (quadrato,pentagono, esagono…), e tendendo
all’infinito si arriva a ottenere un cerchio. Il triangolo è molto importante
nella modellazione 3D poiché introduce il concetto di mesh e di triangolazione:
una superficie è costituita da una serie di unità minime, composte appunto dai
triangoli, che vengono a formare una rete che può essere facilmente modellata
attraverso lo spostamento dei vertici dei triangoli.
L’ultima logica fondamentale per la creazione e modellazione di oggetti tridimensionali è basata sulle relazioni che intercorrono fra più entità predefinite messe direttamente a contatto: stiamo parlando delle operazioni Bouleane attraverso le quali si possono generare solidi complessi partendo da una serie di volumi primari. E così, avendo a disposizione due solidi primari, possiamo ottenere un terzo solido ragionando sulle relazioni che legano i solidi primari, ottenendo 4 diverse risposte a seconda del legame che intercorre fra i questi e cioè:+A+B = C; +A-B=C*; -A+B=C**; -A-B=C***
Un sistema intelligente per trasmettere e gestire le informazioni che riduce notevolmente la quantità di informazioni scambiate grazie all’introduzione dei blocchi. Supponiamo di dover inserire 5 cubi all’interno di un disegno: con i sistemi precedenti l’informazione relativa al cubo veniva ripetuta 5 volte mentre adesso grazie all’introduzione del blocco è possibile creare un oggetto "madre", che funziona come un database e contiene le informazioni sull’oggetto, e oggetti "figli" che si differenziano da quello base solo per localizzazione, rotazione e scala. L’oggetto figlio ha quindi una forma predefinita e all’atto dell’inserimento all’interno del disegno sono necessari solamente dati relativi alla scala, al posizionamento e alla rotazione con notevole riduzione di informazioni da trasmettere. Il blocco madre è il solo che può essere modificato e le conseguenze di tali modifiche si riflettono direttamente sui blocchi figli: questo sistema ci permette di creare librerie di elementi che possono essere inseriti in una struttura fortemente flessibile che può essere modificata in qualsiasi momento, ma per fare questo c’è bisogno che le parti del progetto siano strutturate in maniera gerarchica. Questa efficiente logica permette di creare sistemi complessi e interattivi che dipendono direttamente dal tipo di progetto da eseguire e la loro praticità dipende fondamentalmente dalla buona messa a punto del modello gerarchico.