Approfondimenti
di Michael J. Hammel traduzione di Antonio Cartelli


indent
indent

Recensione: Il Modellizzatore AC3D


      Attualmente ci sono soltanto pochi modellizzatori 3D in ambiente Linux: AMAPI (che, da quanto mi risulta, in seguito ad un messaggio ricevuto, è disponibile soltanto su Mac), il Modellizzatore Midnight, SCED/SCEDA, e AC3D, e ognuno di questi ha i suoi pregi ed i suoi difetti. Ho testato tutti i pacchetti anche se solo per poco tempo, e tra quelli citati ho utilizzato SCED ed AC3D per produrre degli scenari. Analizziamo brevemente uno di questi - AC3D.
      AC3D è stato messo a punto da Andy Colebourne. Si tratta di un modellizzatore shareware (NdT: utilizzabile liberamente, per prova, per un tempo limitato) che può essere acquisito soltanto in formato binario. È attualmente disponibile negli ambienti Linux, SGI e Sun (sia nella piattaforma SunOS che Solaris). Una volta che ci si sia registrati si può accedere ad un server Web protetto dal quale si potrà scaricare l'intera versione del software. La documentazione è un po' povera (problema comune alla maggioranza del software disponibile per Linux, secondo l'opinione dell'autore) e consiste di circa 12, 13 pagine nei formati HTML e Postscript. Il pacchetto in distribuzione comprende i file binari, il manuale HTML con alcune immagini ed un insieme di file oggetto necessari ai pacchetti che usano la libreria Mesa Graphics, come accade appunto ad AC3D. AC3D
Figura 1: Esempio di sessione AC3D
(prelevata dal sito Web di AC3D).

      L'interfaccia del programma prevede 4 finestre di vista ed un pannello di controllo. Ci sono tre viste tra loro ortogonali ed una vista 3D. I cambiamenti apportati ad una delle finestre ortogonali si riflettono sulle altre finestre di vista. Il programma non consente di modificare le figure nella finestra di vista 3D. La vista 3D fornisce la possibilità di avere superfici reticolate, riempite o retinate. Il mio sistema non è abbastanza veloce da gestire superfici che vadano al di là di quella a reticoli per cui non sono in grado di dirvi molto sulle capacità di retinatura del modellizzatore.
      AC3D supporta un gran numero di formati di file di input, compresi i file DXF e Lightwave. È in grado di produrre output per POV, RIB, VRML oltre che per qualche altro formato ancora. Poiché il modellizzatore si basa sull'uso di vertici (piuttosto che su primitive come sfere o cubi) è abbastanza facile manipolare forme semplici rendendole complesse. Ciò può costituire uno svantaggio per coloro che sono abituati alle presentazioni CSG di SCED o per gli utenti di POV-Ray, ma non ci vuole molto ad impadronirsi delle sue modalità di funzionamento. Sebbene il modellizzatore basi la gestione delle sue forme sui vertici, viene fornita una buona collezione di forme base come: disco, linea, parallelepipedo, sfera e rete che ne rappresentano un campionario. Queste forme vengono visualizzate con un numero preassegnato di vertici. Il numero dei vertici può essere configurato ed è possibile, se necessario, aggiungere ulteriori vertici.
     
      Una delle caratteristiche più interessanti è la capacità di estrarre da una figura 2D una figura tridimensionale. Vediamo un esempio di come ciò si possa realizzare. Innanzitutto si selezioni la funzione per il disegno dell'"ellisse" dal pannello di controllo e si crei un'ellisse allungata nel piano di vista XY.
AC3D
Figura 2: Un'ellisse
      Successivamente nel pannello di controllo si passi, nel comando Edit, alla modalità "vertex" e si selezionino tutti i vertici sulla metà più bassa dell'ellisse (ma non quelli all'estremità). Si cancellino quindi con la funzione "delete" del pannello di controllo questi stessi vertici. Si selezionino quindi i due verici più bassi e si inseriscano alcuni nuovi vertici (come mostrato in Figura 3).
AC3D
Figura 3: L'ellisse è stata divisa a metà e sono stati aggiunti nuovi vertici.
      La parte che segue è un po' più complessa. A questo punto, infatti, vanno selezionati i vertici alle estremità dell'oggetto e vanno spostati, uno per volta, fintanto che non si ottiene un leggero effetto di arrotondamento. Si selezionino quindi 4 o 5 dei vertici sulla parte posteriore della figura (lato sinistro della Figura 4) e li si stiri un po', al fine di appiattire il bordo portante delle ali. Ci si liberi quindi dei vertici in più, lungo la parte bassa del bordo dell'ala, selezionandoli ed utilizzando la funzione "delete" del pannello di controllo. Il risultato dovrebbe somigliare a quello di Figura 4.
AC3D
Figura 4: Lo spigolo laterale prende forma
      Quanto ottenuto non è male, ma un'ala dovrebbe essere più liscia sulla parte alta e sui bordi, si modifichi allora nel comando Edit la voce "Object" selezionando l'ala. Si usi poi l'opzione "Spline Surfaces" (Ndt: superfici approssimate) del menu a tendina Object. Con tale operazione si aggiungono un po' di nuovi vertici all'oggetto e si crea una linea arrotondata intorno all'ala.
AC3D
Figura 5: Arrotondamento del bordo laterale.
      Si prenda ora questa semplice figura e la si trasformi in 3D. Ci si assicuri che Edit sia ancora in modalità "Object" e si selezioni il bordo dell'ala. Ora ci si deve spostare alla finestra di vista XZ. Finora abbiamo utilizzato il punto di vista XY. Si clicchi sull'opzione "Extrude" all'interno del menu Mouse nel pannello di controllo. Si prenda l'oggetto nel piano XZ e lo si trascini. I punti originali restano selezionati ed un nuovo insieme di punti viene spostato ovunque ci si rechi. Non appena si lascia il pulsante del mouse si vedranno i nuovi punti connessi con i corrispondenti punti dell'oggetto originale. Si noti che le linee di connessione non sono rette. Ciò non andrebbe bene per un'ala reale per cui le raddrizzeremo.
AC3D
Figura 6: Il bordo laterale viene proiettato in 3D.
      Nella figura che segue il pannello di controllo è utilizzato per cambiare la modalità di Edit in "vertices" e vengono selezionati i vertici sul nuovo lato dell'oggetto proiettato. Una volta selezionati i vertici, l'opzione "move" nel menu Mouse consente di spostarli tutti come un unico gruppo. Quando questi vertici vengono spostati le linee che li collegano al lato opposto vengono ridisegnate. Ci si può divertire un po' con questo effetto fino ad ottenere il risultato che le linee di collegamento divengano rettilinee. Si noti che non è assolutamente necessario allineare perfettamente i due lati dell'oggetto proiettato, ma anche questa può essere una soluzione se lo si ritiene necessario.
AC3D
Figura 7: I lati dell'oggetto proiettato vengono allineati.
      Ora nel comando Edit si torni indietro ad "object" e si selezioni l'oggetto. Il parallelepipedo di contorno (in verde) ha dei punti di presa (maniglie) che possono essere utilizzati per trascinare il parallelepipedo stesso e modificare le dimensioni dell'oggetto. Si usino le maniglie media, alta e bassa per rendere più grande l'oggetto disegnato nel piano di vista XZ.
AC3D
Figura 8: Stiriamo un po' l'oggetto.
      Infine si ritorni alla modalità "vertices" di Edit e si selezionino i vertici su un'estremità dell'oggetto. Si selezioni l'opzione "Create Surface" di Functions nel pannello di controllo. Se la superficie (come appare nella finestra di vista 3D) non appare solida si selezioni "Poly", una voce del menu Surface per creare una superficie solida al fine di chiudere l'estremità dell'oggetto. Si ripeta lo stesso processo sull'altra estremità dell'oggetto.

      Voila! Si è ottenuta una superficie solida di ala, proprio come quella di Figura 9. (La griglia è un'opzione della finestra di vista 3D che non fa parte dell'immagine). Naturalmente questo è solo un semplice esempio ma fornisce una buona idea di come sia facile creare immagini usando AC3D. Naturalmente occorre soltanto esportare il file in formato POV o RIB ed aggiungere un qualche retino per rendere più realistico e rifinire il progetto.

AC3D
Figura 9: La superficie solida di ala.

      Quando ho iniziato ad analizzare modellizzatori usavo SCED, un interessante modellizzatore di Stephen Chenney. Una delle caratteristiche più interessanti di SCED, è che si basa sui vincoli - si possono congiungere oggetti utilizzando CSG e quindi vincolarli a dei punti fissi predefiniti. Ciò può consentire ad esempio di creare un braccio che si può piegare solo fino al gomito. AC3D si comporta in maniera analoga nel senso che si può ruotare ogni insieme di punti intorno ad un singolo punto all'interno di una delle finestre di vista. Se avessi creato un braccio, ad esempio, potrei selezionare "Rotate" dal pannello di controllo ed usare il mouse per ruotare il braccio intorno ad un singolo punto, quale potrebbe essere il gomito, in una delle finestre di vista bidimensionali. Se avessi voluto muoverlo nello spazio tridimensionale avrei dovuto effettuare lo stesso tipo di rotazioni in due o più delle finestre di vista bidimensionali. Questo procedimento è un po' diverso rispetto a quanto accade con SCED, che può spostare oggeti nello spazio, ma il risultato è lo stesso. Infatti, talvolta, può essere un po' più facile ottenere certi movimenti utilizzando rotazioni multiple in due dimensioni.
      Poiché non ho mai utilizzato nessuno dei modellizzatori disponibili per gli altri sistemi (quali modellizzatori di alto calibro per SGI o alcuni modellizzatori per sistemi Microsoft o Mac) non sono in grado di fornirvi elementi di paragone con AC3D. So che ho trovato abbastanza semplice imparare ad usare il modellizzatore, ma vorrei fornire argomentazioni più solide rispetto a giudizi folcloristici. AC3D dovrebbe forse fornire un maggior aiuto on line (ad es. qual è la differenza tra "Poly" e "Polyline") ed in generale una documentazione più dettagliata. Sarebbe anche auspicabile che si possa rendere visibili gli oggetti selezionati anziché tutti gli oggetti nascosti. Andy mi ha detto che sta per uscire una nuova versione del software che fornirà la possibilità di specificare l'esatta dimensione di un oggetto selezionato o di un insieme di vertici. La vedo come una caratteristica molto importante. Io ho la tendenza a usare i modellizzatori per creare oggetti individuali e quindi ad utilizzare i costrutti condizionali di POV-Ray per replicarli e posizionarli ove desiderato, esempio al riguardo possono essere alberi, rocce o case. Avendo la possibilità di predefinire la grandezza di un oggetto risulta più facile piazzarlo e modificarne le dimensioni mediante POV-Ray.
      Di tutti i modellizzatori che ho provato AC3D è probabilmente il più semplice da utilizzare. La sua abilità nell'importare formati quali i DXF gli dà una marcia in più rispetto a SCED, sebbene debba confessare che quest'ultimo mi attrae molto. Non penso ci si debba preoccupare più di tanto del fatto che AC3D non è disponibile con i sorgenti, per quanto mi riguarda sono interessato esclusivamente ad utilizzarlo piuttosto che a svilupparne nuove caratteristiche. Sarebbe anche auspicabile che ci fosse un'interfaccia plug-in, ma non sono ancora un utilizzatore così ferrato da averne un bisogno disperato. Al di là della mancanza di documentazione dettagliata e di un po' di tasti che sono già usati da fvwm, trovo che il modellizzatore AC3D valga molto di più del suo prezzo di registrazione.

indent

Approfondimenti su IRTC...


      La competizione è iniziata ai primi di Maggio/Giugno del 1996. L'argomento all'ordine del giorno era allora il tempo ma ci fu una valanga di iscrizioni. In Luglio/Agosto abbiamo avuto meno prenotazioni, ma, si sa, l'estate ha, da questo punto di vista, effetti negativi. In Settembre/Ottobre abbiamo proposto il tema della Fantascienza. In questa fase abbiamo avuto più di 200 iscrizioni. C'è una bella differenza con le 20-30 registrazioni inviate durante la gara originaria di Matt. Fortunatamente molto del lavoro di visualizzazione, votazione e tabulazione delle informazioni è stato automatizzato. La competizione è stata meravigliosa ed è stata accompagnata da discussioni accalorate sulla mailing-list associata: irtc-l.
      Sfortunatamente c'è sempre qualcuno che vuole rovinare a tutti i costi la festa degli altri. Abbiamo avuto alcuni concorrenti che hanno inviato immagini belle ed interessanti ma che non hanno vinto, essi hanno allora inviato voti multipli. Un voto consiste di punteggi per tutte le immagini con valori compresi tra 1 e 20 in ciascuna delle 3 categorie - facile a dirsi ma che richiede un po' per essere chiarito. Ogni voto che non conteneva punteggi per tutte le immagini non era conteggiato nel punteggio finale. I voti multipli sono stati redatti essendo scollegati (il che era consentito) ed inviati da differenti indirizzi e-mail. Le immagini degli artisti hanno pertanto ricevuto punteggi molto alti, gli altri molto più bassi (in un intervallo molto ristretto). Essi hanno poi chiesto ad alcuni loro amici di fare altrettanto. Oltre a questo, altri hanno inviato numerosi temi che avevano realizzato precedentemente (prima della gara) e che casualmente ricadevano nei tremi proposti (quanti artisti 3D, per diletto o per profitto, non hanno mai realizzato qualche scena?) quasi a far divenire la gara una loro galleria personale. Per qualcuno, quindi, lo spirito della competizione è andato perduto, mi dispiace.
      Io non ho realizzato alcuno dei programmi di automatizzazione delle procedure, né, tantomeno, ho lavorato alla realizzazione del sito web della gara. Ma ho avuto l'opportunità di vedere Chip e Bill al lavoro. È frustrante sapere quale mole di lavoro e quali sforzi essi abbiano dovuto sopportare, cercando in ogni modo non di trarne un vantaggio per sé o per altri, quanto piuttosto di rendere la gara divertente per tutti, e vedere, nel contempo, qualcuno che cerca di raggirare gli altri. Perché? Per una coppia di CD? Ricordate quando Internet era un luogo di amicizia e onestà?
      Ma la gara continua ed il gruppo di amministrazione sta lavorando per far sì che la gara resti divertente, aperta alla partecipazione, e onesta. Molto probabilmente per il futuro si deciderà di utilizzare un nuovo server per la competizione. Walnut Creek, l'host attuale, sembra voler limitare le connessioni ftp mentre lo spazio disco richiesto per contenere 200 o più immagini potrebbe essere maggiore.
      Se vi divertite nella creazione di immagini 3D dovete concedervi un'occhiata, anche veloce, all'IRTC. E' bello vedere come le proprie immagini stagliano sulle altre. Molti votanti forniscono anche commenti sulle immagini, commenti che possono tornare molto utili per le immagini future che si vogliono realizzare. Provate il nostro Sito Web IRTC esaminatelo e raggiungeteci!

indent

[ La pagina della Musa ] [ Indice ]


Per l'articolo originale: © 1997 Michael J. Hammel - Pubblicato sul n. 13 della Linux Gazette
Per l'edizione italiana: © 1997 A. Cartelli - Pubblicato sul n. 3 anno II di LGEI a cura del LUGBari