CORSO DI GRAFICA

A.A. 2006-2007


PROGETTO DI MODELLAZIONE CON XCMODEL

di

Matteo Lazzari





REALIZZAZIONE DI UN MODELLINO DI

STUKA Ju.87







Progettazione dei pezzi del modello ottenuti per estrusione

Alcuni pezzi come la fusoliera, le ali e i carrelli sono stati ottenuti per estrusione di curve 2D poste in sequenza lungo un asse di sviluppo.

Per quanto riguarda la fusoliera sono state create 8 sezioni (A-H) modellate in XCCurv come curve chiuse (periodiche) a 9 punti, ciò per permettere una facile mappatura con la sezione A che è perfettamente circolare (e appunto realizzata con una circonferenza a 9 punti). Queste curve di sezione sono state opportunamente divise in due parti per permettere una successiva differente colorazione della porzione inferiore (fusoliera0.db) e di quella superiore (fusoliera1.db). Nello stesso modo sono state ottenute le due ali: sono state realizzate 3 sezioni, una all'attaccatura, una alla piega tipica dello Ju.87 ad “ali di gabbiano” e una all'estremità terminale.


La modellazione dei carrelli è risultata leggermente più complessa. E' stata realizzata una “bozza” mediante l'estrusione di 4 curve sezione; essa è stata raffinata ed è stata modificata la posizione di alcuni CP per dare una forma il più possibile bombata alla parte anteriore che circonda la ruota.

L'ultimo pezzo ottenuto per estrusione è l'ala posteriore: essa è in realtà un unico pezzo che attraversa la coda sfruttando la sua semplicità e regolarità della sezione.


Progettazione dei pezzi del modello ottenuti per rivoluzione

Le ruote, il mozzo dell'elica e il corpo delle bombe sono stati modellati con la tecnica della rivoluzione di una curva profilo lungo un asse.

Il mozzo è la parte più semplice: il suo profilo è infatti una banale curva a 3 punti che viene fatta ruotare di 360° per ottenere una superficie simile a una calotta appuntita. Le ruote sono state modellate nello stesso modo includendo nella stessa curva sia il profilo del tubolare, sia il profilo del cerchione. In questa circostanza la modellazione è più accurata, soprattutto per rispettare la geometria del cerchione. Con la rivoluzione della curva ruota.db si ottiene metà della superficie che descrive la ruota, sarà sufficiente replicarla e ruotarla di 180° per ottenere due superfici speculari che modellino una ruota intera. Per quanto riguarda la ruota posteriore, essa non è altro che una copia delle altre due scalata opportunamente.


Le bombe sono invece più semplici, il loro corpo è ottenuto con una curva costituita da due archi simmetrici mentre, per quanto riguarda le alette e il loro supporto essi sono ottenuti sfruttando le primitive delle superfici Usual offerte dal pacchetto XCSurf: le alette sono delle superfici Cube opportunamente scalate per ottenere dei parallelepipedi mentre il loro supporto è una superficie Torus anch'essa trasformata in maniera appropriata.


Progettazione delle pale dell'elica, della calotta del pilota e del carrello posteriore

Le pale dell'elica sono state modellate sul profilo della curva elica.db. Essa infatti, duplicata e ruotata di 180° rispetto ad un asse e di 2° rispetto ad un altro, permette di realizzare una superficie per estrusione che descrive un oggetto privo di spessore; nonostante questa discrepanza con il mondo reale, non è possibile però accorgersene nelle rese del modello in quanto non esiste un punto nello spazio dal quale l'elica appare tutta sullo stesso piano. La calotta e il carrello posteriore sono le uniche due componenti ad essere ottenute con superfici tubolari. La prima dalle curve 2D calottaTrack.db e calottaProfile.db (rispettivamente curva percorso e curva profilo), mentre la seconda dalle curve carrelloPostTrack.db e carrelloPostProfile.db.


Per quanto riguarda l'assemblaggio la calotta è inserita in maniera da intersecare la fusoliera preoccupandosi solamente del risultato dell'unione dei due oggetti visto dal di fuori. Non c'è una corrispondenza precisa fra i due pezzi come accade invece per il radiatore (anch'esso ottenuto per estrusione).


Altri oggetti nella scena

Il modellino dello Stuka, una volta assemblato, è posizionato su un supporto a forma di parallelepipedo ottenuto con una superficie Usual di tipo Cube opportunamente scalata che a sua volta poggia su di un tavolo ottenuto per rivoluzione a partire dalla curva tavolo.db. Gli altri oggetti che compongono l'arredamento della stanza sono un lampadario e una lampadina (ottenuti per rivoluzione di altrettante curve) e una teca realizzata partendo da un parallelepipedo che è stato successivamente trimmato per eliminare la faccia inferiore (teca.dbe).

Quanto descritto è racchiuso ovviamente da tre pareti laterali, da un soffitto e da un pavimento ottenuti con altrettante superfici Usual di tipo Plane.


Definizione della scena e degli attributi degli oggetti

Per descrivere la scena si fa uso di uno script C basato sulla libreria descriptor.h. Il file stuka.c si può dividere in 5 parti per quanto riguarda la definizione della scena. All'inizio sono presenti le definizioni dei vari ITEM, seguono il settaggio delle luci, la definizione degli attributi utilizzati e il caricamento degli oggetti della scena e delle parti del modello.

Per quanto riguarda le luci, come si può leggere dall'avvertenza contenuta nel codice, è stato riscontrato un problema per quanto riguarda l'attraversamento delle superfici trasparenti nel caso di resa con le ombre attivate (opzione -s). Pare infatti che gli oggetti dotati di trasparenza producano un'ombra come se fossero opachi. Per ovviare a questo problema sono state posizionate due luci “di correzione” in corrispondenza dei due oggetti trasparenti: la lampadina e la teca. E' opportuno modificare il settaggio delle luci come documentato nello script nel caso si voglia effettuare una resa senza tener conto delle ombre.

Le luci che effettivamente entrano in gioco nella scena, oltre a quella ambiente, sono una warn light che definisce la luce emessa dalla lampadina e una luce puntiforme posizionata in un angolo della stanza che potrebbe definire la luce emessa da una lampada alogena fuori dalla scena.

I materiali simulati nella definizione della scena sono 5: intonaco per le pareti, legno per la base della teca e per il pavimento in parquet, vernice su plastica per le parti di modellino, vetro per la lampadina e la teca e marmo per il tavolo e per il lampadario (per quanto riguarda quest'ultimo si è visto che le caratteristiche della ceramica, materiale di cui più presumibilmente potrebbe essere costituito, erano del tutto simili a quelle già definite per il marmo e quindi sono state “riciclato”). Di questi attributi, l'unico dotato di trasparenza è il vetro mentre tutti sono parzialmente riflettenti ad eccezione dell'intonaco che propaga solamente la luce ambiente e quella diffusa.

Al momento di caricare i vari oggetti, talvolta dalle liste di superfici .obj, talvolta direttamente dai file.db a seconda dell'omogeneità delle caratteristiche di ciò che si andava a prendere in considerazione, sono state applicate, dove era necessario le texture. Per quanto riguarda gli oggetti della scena si sono utilizzati due metodi di texture mapping: le e le projection texture. Le prime sono state impiegate per i piani, come il pavimento e le pareti, e per il lampadario dove era opportuno colorare diversamente alcune parti ma in maniera lineare rispetto al dominio di definizione. Per quanto riguarda il tavolo in marmo e la base della teca si è invece optato per l'altro metodo. Il modello è stato texturato per proiezione nelle parti superiori di fusoliera e ali con un motivo mimetico per imitare la livrea dei velivoli impiegati dalla Luftwaffe nel Nord Africa, ed inoltre le ruote, la calotta e il mozzo dell'elica sono stati mappati con una domain texture in maniera simile al lampadario.


Rese e filmato .ani

Una volta definita la scena come sopra descritto è stato possibile effettuare alcune rese realistiche contenute nella cartella rese600x600/ che mettono in risalto sia il modellino d'aereo da varie angolazioni, sia alcuni particolari come per esempio la ruota con il carrello posteriore o il muso dell'aereo. Per modificare le opzioni di resa si possono aggiungere o togliere opzioni dal file stuka.arg.

Una seconda parte dello script si occupa della creazione del file stuka.ani e dei relativi file .md. Per attivare questa porzione di codice è sufficiente decommentare la definizione di ANIMAZIONE alla riga 5. Il semplice filmato che viene creato, che è già compilato nella cartella animazione/ e quindi già fruibile, è composto da 100 fotogrammi durante i quali l'aereo decolla, compie una virata e, volando verso la camera, sgancia la bomba centrale. Inutile dire che nel definire i movimenti dell'aereo si è cercato di puntare di più a un risultato esteticamente credibile che a una simulazione fisica di ciò che accade durante il volo.


Gif animata

stuka.gif


Download

Scarica i sorgenti del modello qui


Torna su