XCMODEL tutorial: modellazione e resa di una scena

Fabrizio Lasagni


Obiettivo

Il risultato ottenuto mediante i pacchetti forniti con xcmodel, e' la realizzazione di una scena in cui sono presenti un vaso (avente come base un romboide) ed un candeliere, entrambi appoggiati su di un tavolo.


Realizzazione del vaso

Il modello e' stato realizzato combinando insieme, mediante la funzione swinging di xcsurf, le curve ottenute con xccurv, che rappresentano la base ed il profilo, o meglio parte di esso (si veda oltre), dell'oggetto. Il procedimento potrebbe essere approssimativamente suddiviso in 3 fasi ben distinte:
  1. creazione della curva per la base: come base si e' realizzata, mediante la creazione di una nuova figura con l'approssimazione di forma di xccurv, una stella a quattro punte, che si e' iniziata a disegnare partendo da una punta in cui sono stati messi due control point coincidenti e procedendo inserendo un solo control point nelle parti della figura piu' vicino al suo centro e due, anch'essi coincidenti, nelle punte. Poiche' la figura e' chiusa (dunque il primo e l'ultimo control point coincidono), il primo control point si trova ad essere quadruplo ed il motivo e' dovuto al fatto che se non fosse stato cosi' nel terzo passo (si veda il  seguito) si sarebbe ottenuta una figura non simmetrica. Come grado e' stato scelto il secondo a causa del fatto che si desiderava che la spline ottenuta avesse un andamento molto simile a quello della  struttura di supporto costituita dai control point ed avendo scelto un numero di nodi relativamente basso questo grado era sufficiente per le assunzioni fatte. Nei punti della stella piu' lontani dal centro si e' scelta la molteplicita' doppia (quadrupla per il primo e l'ultimo nodo),  perche' si voleva che la figura risultante passasse esattamente per quei punti e non solo che li approssimasse. Durante questa fase e' stata attivata la griglia dei control point per ottenere che nei punti in cui era richiesta la sovrapposizione il risultato fosse preciso. I nodi sono stati presi uniformi, quindi scelti in maniera automatica e non manuale, per evitare ovvie imprecisioni dovute alla scarsa maneggevolezza con il mouse. La figura seguente mostra la realizzazione della curva 2D della base del vaso:
  2. creazione della curva per il profilo: in questa fase e' stato realizzato solo uno spicchio del prifilo laterale del vaso (il motivo verra' chiarito successivamente). Come in precedenza, la spline e' stata generata con l'utizzo dell'approssimazione di forma e mantenendo nuovamente un grado basso (3) affinche' la curva con il numero di control point scelti fosse sufficientemente regolare; i nodi sono stati scelti uniformi. E' stata utilizzata ancora la griglia per far combaciare perfettamente il primo e l'ultimo control point e per spostare i control point stessi. La figura seguente rappresenta la realizzazione della curva 2D per il profilo del vaso: 
  3. creazione della superficie: mediante il pacchetto xcsurf e' stata avviata la procedura di swinging, che prevede che siano caricate due curve (la prima da utilizzare come profilo e la seconda come traiettoria) e genera una superficie ottenuta mediante la rotazione del profilo attorno alla base selezionata; per questo motivo e' stato disegnato solo uno spicchio del profilo (infatti considerando la rotazione che doveva effettuare, disegnarne una parte piu' grande avrebbe poi creato problemi di realizzazione o di simmetrie richieste). In fase di caricamento per lo swinging si e' scelto di prendere la base costante lungo l'asse Y e la traiettoria lungo Z (altre combinazioni di assi cartesiani avrebbero prodotto come risultato, quindi dopo la rotazione, o dei  punti o dei piani) e si e' mantenuto il fattore costante di default (cioe' a 0). Anche in fase di swinging si e' mantenuto il valore di scala secondo il default. Precedentemente si accennava al fatto che si era cercato di mantenere basso il piu' possibile il numero di control point della figura (e conseguentemente anche il grado della spline), il motivo e' che si potevano avere problemi in fase di caricamento con xcrayt, dovuti al loro numero troppo elevato. Le figure seguenti rappresentano rispettivamente la realizzazione 3D del vaso dopo il procedimento di swinging e un particolare del vaso nella rappresentazione finale della scena:  

Realizzazione del candeliere

A causa della somiglianza del seguente procedimento con la fase precedente, questa sezione non sara' particolarmente approfondita.
Cio' che e' stato realizzato e' una curva profilo mediante xccurv avente caratteristiche di regolarita' e di composizione analoghe a
quelle del profilo del vaso. Una volta ottenuto il risulato, questa curva e' stata caricata mediante xcsurf mantenendola costante lungo l'asse Y ed e' stato attuato il procedimento di revolution. Per la realizzazione della candela sono state prese due superfici gia' generate, ovvero una piramide ed un cilindro, che sono state caricate mediante la funzione di curlsur con il candeliere e che sono poi state  posizionate nella giusta maniera l'una rispetto all'altra utilizzando modify, utilizzando anche scale e traslazioni. La figura seguente rappresenta la realizzazione 3D del candeliere:


Realizzazione del tavolo

Il tavolo e' composto di 3 pezzi distinti: le due parti che compongono la base ed i piedi. Per la realizzazione dei primi si e' sfuttato il cubo (e quindi una superficie gia' presente) di xcsurf, che  si e' poi traslato e scalato piu' volte; mentre per i piedi e' stata creata una curva profilo con xccurv che e' stata utilizzata per il risultato finale mediante la funzione revolution di xcsurf. Per quel che riguarda i piedi del tavolo si nota che se si considerano queste superfici singolarmente, esse non sono chiuse, ma cio' non e' rilevante per il risultato finale in quanto, essendo limitate rispettivamente dal pavimento e dalla base del tavolo, cio' non e' riscontrabile.
Il profilo dei piedi del tavolo e' stato ottenuto mediante l'approssimazione di forma e scegliendo come grado il secondo, poi sono
state fatte modifiche sui singoli control point per ottenere il risultato voluto.  La figura seguente rappresenta la curva 2D per il profilo dei piedi del tavolo:                                                                                                             

E la seguente e' la realizzazione 3D del piede del tavolo:

Una volta realizzato un piede questo e' stato copiato tre volte con l'apposito tool di xcsurf per poi posizionare il tutto utilizzando
nuovamente scale e traslazioni. La figura seguente rappresenta la realizzazione 3D del tavolo:


Realizzazione della scena

La scena e' stata realizzata caricando tutte le figure con xcsurf e,  attivandone una alla volta, riposizionandole nella scena nuovamente mediante la funzione modify e con opportune scale e traslazioni ed il risulato seguente e' stato ottenuto mediante xcrayt dopo la creazione del modello:


Download

Cliccando qui e' possibile scaricare i file (e la documentazione) utilizzati per la creazione della scena.


Fabrizio Lasagni,  gennaio 2000.