TUTORIAL CAPITOLO 1. CREAZIONE & MODIFICAZIONE DELL'OGGETTO Prima che tu inizi a studiare questi esercizi, ricorda che quasi tutti gli esempi includono un risultato finito. Ne sarai informato nel seguente modo: Esempio di sostegno: Examples/.... Il che vorrà dire che puoi confrontare il risultato dell'esercizio sostituendo il progetto corrente (usa il menù Project/Project/Replace) con il file dato, che troverai nella directory 'Examples' nel cassetto Real 3D. Se hai sperimentato con il Capitolo 4 'Iniziando' dell'INTRODUZIONE allora hai già creato delle sfere, ed avrai anche visto diversi altri oggetti osservando il progetto 'Intro'. Questo primo Capitolo vuole fare una panoramica dell'interfaccia utente del programma. Ti abituerà all'uso della gerarchia ed alle funzioni di base della creazione e modificazione. 1.1 AVVIARE IL PROGRAMMA Real 3D può essere attivato da Workbench, attivandone l'icona 'Real' o dalla shell/cli con il comando . Se vuoi modificare un progetto già iniziato, potrai aprirlo cliccando sulla sua stessa icona come è descritto nel manuale di interfaccia utente di Amiga. Lo stesso vale per tutte le strutture di dati create dal programma. Per esempio, potresti avviare il programma cliccando su icone di differenti ambienti operativi, invece che da quella del programma, conformemente al tipo di modellazione che prevedi di fare. Se lo scopo fosse di creare una animazione, carica il programma direttamente nell'ambiente operativo delle animazioni; se vuoi fare della modellazione molto accurata di tipo CAD, attiva un tipo di ambiente a tre finestre con molte griglie. L'interfaccia di Real 3D è molto flessibile e la puoi configurare per rispondere al meglio alle tue esigenze. Il cassetto 'Environments' contiene alcuni esempi di ambienti operativi. Nota: Se avvii il programma da CLI, accertati che la dimensione dello stack sia sufficiente. Noi raccomandiamo che lo stack sia di almeno 40000 bytes. Puoi usare il comando stack nella CLI per determinarne le dimensioni. Mentre studiamo questo capitolo, dovresti usare l'ambiente standard, e quindi avviare il programma dalla sua icona. 1.2 LE FINESTRE Quando il programma è avviato dalla sua icona, apre l'ambiente che è memorizzato nel file s:real-startup. L'ambiente originale contiene una interfaccia di base composta da tre finestre in cui tutte le funzioni di creazione e modificazione possono essere compiute. La finestra più grande, quella di visualizzazione, mostra l'oggetto che si sta costruendo. Di norma l'oggetto è visto frontalmente come proiezione parallela. La costruzione degli oggetti è fatta nella finestra di visualizzazione usando il mouse. Puoi vedere in essa un simbolo _+_. Esso indica il punto chiave delle ultime coordinate date per la posizione nello spazio.. Puoi spostare il punto di riferimento cliccando semplicemente nel nuovo punto desiderato. Il terzo valore delle coordinate per i punti, che l'utente stabilisce con il mouse, è determinato dalla posizione del punto chiave, poichè cliccando con il mouse si definiscono solo due coordinate per volta. Il bordo superiore della finestra mostra alcune utili informazioni. La prima identifica il nome della finestra. La seconda, il tipo di proiezione rappresentata nella vista: parallela o prospettica. Infine, sono mostrate due funzioni selezionate, quella corrente e la successiva nella lista FIFO della vista. La finestra nell'angolo superiore destro dello schermo è chiamata Finestra di Selezione. In questa sono mostrati i nomi degli oggetti che hai costruito. Puoi selezionare un oggetto cliccando sul suo nome in questa finestra. La multi-selezione avviene tenendo premuto il tasto e cliccando contemporaneamente sui nomi, oppure tramite il PSM operando una selezione estesa nella finestra di selezione. I nomi saranno evidenziati per confermare la loro selezione. La finestra di selezione è una parte importante dell'ambiente operativo. L'uso estensivo della gerarchia degli oggetti è uno dei principi più importanti di Real 3D. La terza finestra, nell'angolo inferiore destro dello schermo, è quella degli strumenti. Contiene icone strumentali con cui attivare le funzioni. E' possibile modificarne i contenuti ed aggiungere icone definite dall'utente. 1.3 IL MOUSE Quando si usa Real 3D, il mouse rimane lo strumento di controllo primario, e le azioni che possono essere compiute possono essere divise in due categorie nel modo seguente: - Il PDM è udsato per la selezione dei menù. inoltre, alcune procedure per la creazione di oggetti possono essere annullate con questo tasto. - Tutte le altre azioni, come il disegno, sono compiute dal PSM. Ricorda: il pulsante sinistro del mouse è abbreviato PSM e quello destro PDM. La maggior parte delle azioni che possono essere effettuate dalla selezione del menù operano in conformità con le definizioni dell'interfaccia utente di Workbench: seleziona una voce del menù, premendo il PDM evidenzia la funzione necessaria e rilascia il pulsante. Puoi provare con Extras/Refresh/Wire-frame: Il programma risponderà ridisegnando lo schermo. Inoltre, la multi-selezione dei menù è supportata: per attivare diverse voci di menù contemporaneamente, tieni premuto il PDM e seleziona le voci evidenziate che ti interessano con il PSM. Le azioni saranno eseguite nell'ordine di selezione (FIFO). Nota che ogni tipo di finestra ha il suo proprio sistema di menù, che può essere diverso da quello delle altre, ed alcune possono avere alcune voci disattivate. P.e. non è possibile selezionare View/Render/Window quando la finestra di selezione è attiva; dovrà prima essere attivata una finestra di visualizzazione. In questo manuale i menù sono scritti come: - Menù/Voce - Menù/Voce/Sotto_funzione P.e.: Create/Visibles/Sphere.Invece dei menù la maggior parte delle funzioni può essere attivata usando i tasti chiave o le icone strumentali equivalenti. Usando il PSM bisogna cliccare rapidamente e non tenerlo premuto spostandolo: questa tecnica di trascinamento è usata per altre funzioni di selezione di certi punti. P.e. modellando un rettangolo clicca sul vertice in alto a sinistra e rilascia subito il pulsante. Quindi potrai liberamente muovere l'indicatore o anche selezionare un menù, oppure andare a berti una tazza di caffè... Quando sei sicuro della posizione dell'angolo inferiore destro del rettangolo, clicca una seconda volta nel punto desiderato. Quando si modellano oggetti con coordinate esatte, può essere difficile essere esatti nella selzione dei punti con il mouse; in tali situazioni sarà conveniente usare sia lo stack vettoriale oppure la finestra di misurazione invece del mouse: ciò sarà descritto in seguito. Il trascinamento con il PSM ha delle funzioni speciali in Real 3D. Se lo usi nella finestra di visualizzazione, noterai che un riquadro è disegnato conformemente ai movimenti del mouse. Di norma, la media viene proiettata sul piano di immissione, che è il piano nello spazio 3D in cui le coordinate vengono aggiornate con i movimenti del mouse. Se vuoi considerare solo i punti degli oggetti selezionati invece dell'intera scena, tieni premuto contemporaneamente al trascinamento il tasto [Alt]. Le altre importanti combinazioni di tasti nel trascinamento sono: - [Maiuscole] PSM, che spinge i punti contenuti nel riquadro di trascinamento nello stack vettoriale. Questa operazione non proietta la media nel piano di immissione dati. - [Maiuscole] [Ctrl] PSM, che crea un gruppo punti per la loro edizione negli oggetti di forme libere. Sebbene l'operazione di media sia semplice, è anche molto utile. Usando questa caratteristica, puoi facilmente bloccare le coordinate del mouse su qualsiasi punto esistente mentre modifichi o crei un oggetto; devi solo trascinare il riquadro attorno ad un singolo punto. Gli esempi che seguono illustrano come è possibile usare il metodo di trascinamento. Prova queste funzioni se hai già fatto esperienza del programma, oppure tornaci quando sarai più esperto nell'uso delle funzioni basilari. Per allungare un cilindro: 1. Attiva il cilindro e seleziona la funzione Extend. 2. Fai una selezione estesa dei punti di un vertice del cilindro (disegna un riquadro attorno a questi con il PSM). 3. Ripeti il punto precedente per l'altro vertice. 4. Allunga l'oggetto. Per creare un cerchio precisamente nel mezzo di un altro cerchio: 1. Seleziona la funzione per creare un cerchio. 2. Trascina un riquadro di selezione attorno ai punti del cerchio: questo definisce il punto centrale del nuovo cerchio. 3. Definisci il raggio. Per muovere un triangolo affinchè il suo vertice sia posto nel mezzo di un lato di un rettangolo, posto che i due oggetti non riposino originalmente sullo stesso piano: 1. Attiva il triangolo e seleziona la funzione Move. 2. Per accertarsi che questa operazione sia eseguita correttamente in tutte e tre le dimensioni premi [Maiuscole] e trascina un riquadro attorno al punto di vertice di un triangolo; questo pone il punto nello stack (archivio) vettoriale. 3. Premi i tasti DAM [.]: questo estrae le coordinate 3D reali del vertice del triangolo dallo stack vettoriale. 4. [Maiuscole] PSM per creare un rettangolo di trascinamento che selezioni i due vertici del segmento del lato del rettangolo desiderato. 5. Premi il tasto DAM. 1.4 TERMINOLOGIA DI BASE Il termine 'oggetto' è usato in Real 3D per definire tutto ciò che è contenuto nella gerarchia. Gli oggetti assumono differenti forme, conformemente al loro scopo. Non tutti gli oggetti hanno forme a gabbia, e non tutti quelli che ne hanno una, hanno una superficie visibile quando vengono resi. Alcuni oggetti non possono essere visti del tutto, ad eccezione di un nome nella finestra di selezione. C'è una classe speciale di oggetti, che devi conoscere, definita come 'Primitivi'. Un primitivo è un oggetto molto essenziale. Nell'universo Real 3D, un primitivo non può essere diviso in sotto-oggetti. Essi sono un po' come degli elementi fondamentali della materia. Gli oggetti possono essere composti da primitivi o persino da altri oggetti. Un ulteriore punto della terminologia: un primitivo è un oggetto, ma non tutti gli oggetti sono primitivi. Se nessun tasto speciale viene tenuto premuto durante il trascinamento, il programma calcola la media di tutti i punti della scena nel volume di trascinamento, e muove il punto chiave al punto medio. Vi sono sei classi principali, ma tu sperimenterai solo le prime quattro in questo capitolo. La maggioranza di questi tipi, ha anche delle sotto-classi. -Visibili: questi sono primitivi che producono una superficie visibile quando è resa, se non si alterino le loro qualità normali. -Strutture: questi primitivi non hanno una forma a gabbia e non sono resi, ma nonostante questo essi sono tra i più importanti nella gerarchia. Le strutture determinano come gli altri primitivi sono manipolati e attivati da tutte le diverse funzioni di Real 3D. -Controlli: Sebbene questi abbiano una forma a gabbia, essi non hanno superficie e quindi non possono essere resi. Come implica il loro nome, essi sono usati per controllare varie azioni di altre funzioni di Real 3D. -Forme libere (Freeforms): una collezione di punti che descrive una linea o superficie di una forma libera è definita nella terminologia di Real 3D come 'freeform'. Ciò può sembrarti inizialmente alquanto confuso, ma seguendo gli esercizi, il come, il quando ed il dove ognuno di questi oggetti dev'essere usato di diverrà chiaro. 1.5 TUTORIAL -ESEMPIO 1: FINESTRE DI SELEZIONE E GERARCHIA Tutti gli oggetti creati da real 3D sono composti da primitivi. Questi sono i componenti e gli strumenti con cui costruire oggetti più complessi. Per creare un rettangolo primitivo: 1. Seleziona il menù Create/Visibles/Rectangle. 2. Muovi l'indicatore del mouse in una posizione desiderata e clicca con il pulsante sinistro. 3. Ora puoi formare il rettangolo muovendo l'indicatore. 4. Clicca con il PSM e Real 3D creerà un rettangolo primitivo. Ora la finestra di visualizzazione mostra una gabbia rettangolare. Puoi osservare il rettangolo da diverse angolazioni usando i tasti cursore, o DAM [x] per la vista frontale, DAM [y] per quella laterale e DAM [z] per la vista in pianta. Essendo il rettangolo un piano la sua vista laterale sarà una linea. Puoi anche osservare un segno perpendicolare al rettangolo il cui scopo è spiegato nel contesto delle operazioni Buleane. Ricorda: DAM [x] significa che prima premi il tasto destro Amiga, poi il tasto x, per rilasciare infine il tasto Amiga. Puoi vedere la struttura logica del tuo oggetto nella finestra di selezione. La tua scena 'Root' consiste di un singolo primitivo, 'rectangle'. Se ora selezioni con l'indicatore e premi il PSM sulla parola 'Root', vedrai il nome evidenziato nella finestra per indicarne la selezione. (FIGURA T1-1: FINESTRA DI SELEZIONE) I nomi 'Root' e 'rettangolo' sono digitati con diversi stili di testo nella finestra di selezione: 'Root' è scritto in grassetto, mentre 'rectangle' in modo normale: ciò sta ad indicare che i due oggetti sono di tipo diverso. Il grassetto indica un oggetto composto che ha una struttura subordinata, mentre il rettangolo non ha una gerarchia sottoposta. Il tipo di oggetto che 'Root' rappresenta è chiamato in Real 3D un livello. Il programma usa dei livelli per raggruppare parti di un oggetto. E' quindi possibile selezionare e modificare livelli molto complessi senza dover trattare le strutture subordinate. Per esempio, se hai raggruppato tutte le parti di un braccio robotico in un singolo livello 'robot arm', potrai allora ruotare l'intero braccio, e non sarà necessario considerare ogni singolo elemento che lo compone. Un ben noto esempio di questo tipo di controllo dei dati gerarchico ci è fornito dal sistema operativo: il livello 'Root' corrisponde nel DOS alla directory, mentre 'rectangle' corrisponde al file contenuto in essa. 1.5.1 IL LIVELLO CORRENTE Esamineremo ora le funzioni basilari della finestra di selezione: per farlo ci serve una struttura gerarchica un po' più complessa: 1. Seleziona il menù Create/Structure/Level. Un nuovo livello apparairà nella finestra di selezione: Root rectangle level Il nuovo livello è stato inserito dopo il rettangolo, allo stesso livello gerarchico di quest'ultimo. Ciò accade perchè 'Root' è il così detto livello corrente. Ogni finestra di selezione memorizza l'informazione per il suo livello corrente, ed il programma inserisce i nuovi oggetti sotto al livello corrente nella finestra di selezione che è stata usata per ultima. Questo livello di inserimento globale dell'oggetto è definito come livello corrente; è molto semplice comprenderlo dopo un po' di pratica. Per cambiare il livello corrente: 2. Muovi l'indicatore del mouse sul nome 'level' nella finestra di selezione e clicca due volte con il PSM. Il contenuto della finestra dovrebbe ora mostrare solo il contenuto di 'level'. Ora questo è il nuovo livello corrente, che può essere visto nel modo seguente: 3. Seleziona il menù Create/Visible/Sphere, clicca una volta al centro della vista, forma un cerchio e clicca nuovamente con il PSM. Questo aggiunge un nuovo primitivo alla tua gerarchia. La finestra di selezione ora mostra: level ellipsoid Ciò vale a dire che la sfera è stata inserita sotto a 'level', e non immediatamente sotto a 'Root'. L'intera gerarchia è: Root / \ rectangle level | ellipsoid La stessa struttura può essere descritta usando l'allineamento: Root rectangle level ellipsoid o tramite una rappresentazione grafica: (FIGURA T2-1 GERARCHIA OGGETTO SEMPLICE) Tutti e tre i metodi di rappresentazione gerarchica sono usati nel manuale, conformemente alla convenienza. Se clicchi due volte con il PSM sul nome 'rectangle' il risultato sarà di evidenziare lo stesso nella finestra di selezione. Ciò accade poichè l'oggetto 'rectangle' è al più basso livello gerarchico, e non esiste una struttura subordinata ad esso. Per tornare al livello 'Root': 4. Clicca due volte con il PSM sul nome che sta più in alto nella finestra di selezione, in questo caso 'level'. Ora i contenuti di 'Root' saranno mostrati nuovamente. Se ora ti trovi al vertice della struttura gerarchica degli oggetti, e se clicchi due volte su 'Root' nulla accadrà. Se 'Root' fosse stato parte di un oggetto più ampio, saresti potuto risalire di un livello gerarchico, e Real 3D ti avrebbe mostrato tutti gli oggetti allo stesso livello gerarchico di 'Root'. 1.5.2 MULTI-SELEZIONE DEGLI OGGETTI Otra sperimenteremo la modificazione di un oggetto. Ma prima, dato che stiamo per esaminare la multi-selezione, continuiamo con il precedente esempio creando un altro primitivo (accertati che il livello corrente sia 'Root'): 1. Seleziona Create/Visibles/Cube e modella un cubo proprio come avevi creato il rettangolo. La dimensione e la posizione non sono determinanti per questo esempio. Così ora hai il seguente archivio gerarchico: Root rectangle level ellipsoid cube Per muovere il cubo in un'altra posizione dello spazio: 1. Seleziona il cubo con il PSM cliccando sul suo nome nella finestra di selezione. Nota: Dopo aver creato il cubo, dovrebbe essere selezionato automaticamente, a meno che la funzione Settings/Creation/Auto_selected sia disabilitato. Cliccando nuovamente su quest'ultimo per riselezionarlo non può far danno. 2. Seleziona il menù Modify/linear/Move. 3. Muovi l'indicatore, p.e. al centro del cubo, e clicca il PSM. 4. Muovi il cubo nella nuova posizione e clicca il PSM. Nota: Il PDM annulla la modificazione. Ora sperimenta con la multi-selezione: 5. Muovi l'indicatore su 'rectangle' nella finestra di selezione, premi il PSM e tenendolo premuto muovilo verso il basso sinchè tutti e tre i nomi sotto a 'Root' sono evidenziati, e quindi rilascia il pulsante. 6. Ripeti la funzione Move e verifica che tutti e tre gli oggetti che hai selezionato stiano muovendosi. La multi-selezione può essere attivata anche nel modo seguente: 7. Clicca nella finestra di selezione sotto a tutti i nomi per disselezionarli tutti. I nomi evidenziati torneranno normali. 8. Premi il tasto [Maiuscole] e tienilo premuto. 9. Clicca su 'rectangle'. 10. Clicca su 'level'. 11. Clicca su 'cube'. 12. Rilascia il tasto [Maiuscole]. Questa volta hai selezionato gli stessi tre oggetti, ma uno per volta. Il testo seguente spiega un altro utile trucco: 13. Tieni premuto il tasto [Maiuscole]. 14. Clicca su 'level'. 15. Rilascia il tasto [Maiuscole]. Questo disselezionerà 'level': così sarà possibile escludere da una selezione multipla un oggetto selezionato erroneamente, senza dover ricominciare tutto da capo. Per finire, esegui il seguente: 16. Multi-seleziona i tre oggetti in 'Root' come hai fatto precedentemente. 17. Seleziona Modify/Structure/Delete. Hai così cancellato la scena di un rettangolo, sfera e cubo. Nota: Non puoi cancellare l'oggetto d'origine (Root). Sommario: Real 3D usa un albero gerarchico per descrivere e controllare la struttura della scena. Vi sono due concetti importanti in relazione all'albero gerarchico: - Il Livello Corrente, sotto a cui ogni nuovo oggetto viene inserito - La Lista degli Oggetti Selezionati, che definisce l'obbiettivo per la modificazione degll'oggetto. 1.6 TUTORIAL -ESEMPIO2: MODELLAZIONE 3D In questo esempio creeremo un semplice tavolo: esso dimostrerà come usare la gerarchia degli oggetti, e specialmente i principi della modellazione 3D. Il tavolo è costituito da un piano e da una base, e quest'ultima è a sua volta costruito da due rialzi e da una traversa. Lo creeremo utilizzando solo cubi. La seguente immagine illustra la struttura del tavolo: (FIFURA T1-3: TAVOLO) Puoi continuare a modellare questo esempio dalla situazione in cui l'esempio precedente era terminato, oppure cominciare da uno nuovo. Hai la configurazione standard di 3 finestre e nessun oggetto ancora costruito. Puoi anche selezionare Project/Project/New oppure riavviare il programma. Inizieremo il tavolo creando il livello gerarchico, che contiene tutte le parti del tavolo: 1. Seleziona Create/Structure/Level. 2. Seleziona il menù Modify/Properties/Name. Si aprirà una finestra di richiesta. 3. Digita il nome 'table' e premi il tasto di ritorno o seleziona OK. (FIGURA T1-4: IL RIQUADRO D'IMMISSIONE DEL NOME) Per creare il piano del tavolo: 4. Apri una finestra palette: usa Project/Windows/Palette o premi i tasti DAM [p]. 5. Scegli un colore gradevole per il ripiano premendo il PSM sul cursore della finestra palette. Quando trovi un colore che ti piace rilascia il PSM e clicca sul pulsante OK, quindi chiudi la finestra con il pulsante standard di chiusura. 6. Per assicurarsi un posizionamento accurato, seleziona View/Grid/Snap to Grid. Da ora in poi, le coordinate del mouse sono aggiornate ad intervalli appropriati, e diviene facile allineare gli oggetti. 7. Attiva la finestra di visualizzazione cliccando su di essa e premi DAM [e]: ora hai ottenuto la vista frontale standard. 8. Premi i tasti DAM [z]: ora hai attivato la vista in pianta; ora clicca al centro della vista. Ciò porterà il punto di riferimento al centro ed assicura che la terza coordinata (coordinata-z) sia corretta quando farai la modellazione nella vista frontale (hai cioè definito l'immissione della coordinata z). 9. Ritorna alla vista frontale premendo DAM [x]. 10. Seleziona Create/Visibles/Cube, e modella un cubo ampio ma basso per rappresentare il ripiano come visto frontalmente. (FIGURA T1-5: VISTA FRONTALE DEL RIPIANO DEL TAVOLO.) 11. 'Cube' non è un nome appropriato per il ripiano del tavolo, quindi cambialo: seleziona il menù Modify/Properties/Name; digita il nome 'cover' e premi il tasto di ritorno. Ora hai creto un tavolo costituito dal solo ripiano; creiamo dunque un altro oggetto 'base': 12. Seleziona Create/Structure/Level. 13. Seleziona il menù Modify/Properties/Name, immetti il nome 'base' e premi il ritorno. Il tuo tavolo è ora costituito da un ripiano ed una base, ma ricordati che dobbiamo istruire il programma affinchè inserisca i nuovi oggetti sotto il livello 'base': 14. Clicca due volte con il PSM sul nome 'base' nella finestra di selezione. Questo cambia il Livello Corrente a 'Base', mentre i contenuti di questo livello vengono mostrati. Come dimostrato nel paragrafo precedente, sinchè il livello corrente rimane 'base', ogni nuovo oggetto o primitivo che creerai sarà parte di questo livello. Ora la gerarchia è: Root / \ cover base La base è un livello gerarchico in cui per ora non è contenuto nulla. Per creare un sostegno per il tavolo: 15. Seleziona Create/Primitives/Cube e modella uno stretto ed alto cubo per rappresentare un sostegno verticale, come mostrato: (FIGURA T1-6: VISTA FRONTALE DOPO IL PASSO 15.) 16. Rinomina il nuovo cubo selezionando Modify/Properties/Name e digita 'stand1'. I sostegni del tavolo sono identici, quindi puoi creare il secondo duplicando semplicemente il primo: 17. Seleziona il menù Modify/Structure/Duplicate, avendo il primo sostegno come oggetyto selezionato. 18. Sposta la copia con Modify/Linear/Move. (FIGURA T1-7: VISTA FRONTALE DOPO IL PASSO 18.) Come hai visto Real 3D assegna dei nomi ai primitivi conformemente al loro tipo. Ciò è comodo quando crei un oggetto relativamente piccolo, ed è quindi semplice identificarne le parti. E' comunque consigliabile usare dei nomi per ogni parte che descriva il suo scopo. Quindi: 19. Seleziona Settings/Creation/Qry Prim.Name. 20. E' meglio creare la traversa di sostegno del tavolo usando la vista laterale, quindi premi i tasti DAM [y]. 21. Modella uno stretto ed alto parallelepipedo nel mezzo del sostegno (vedi figura). Quando Real 3D ti richiede il nome digita 'brace'. (FIGURA T1-8: VISTA LATERALE DOPO IL PASSO 21.) 22. Inoltre il ripiano del tavolo dev'essere allargato rispetto ai sostegni. La vista laterale è appropriata per questa operazione: cambia il livello corrente a 'root' e seleziona 'cover'; seleziona poi Modify/Linear/Move e sposta leggermente il ripiano (p.e. di due unità della griglia) verso sinistra. 23. Ora il ripiano è troppo stretto, perciò seleziona Modify/Linear/Extend, quindi clicca sull'angolo superiore sinistro del ripiano e poi su quello superiore destro- muovendo il mouse, vedrai che la larghezza del ripiano si modificherà concordemente: muovi il mouse p.e. di 4 unità della griglia verso la destra dall'angolo superiore destro, in modo che il bordo sulla destra si estenda all'esterno quanto il bordo sinistro. (FIGURA T1-9: MODIFICARE IL RIPIANO.) Ora la vista laterale mostra la forma corretta, ma ci sono altre manipolazioni da fare: 24. Premi DAM [x] per attivare la vista frontale. Il cubo 'brace' probabilmente non è esattamente collocato tra i sostegni, quindi: 25. Seleziona l'oggetto traversa di nuovo usando la finestra di selezione. 26. Muovi 'brace' così che il suo bordo sinistro coincida con il lato interno del sostegno sinistro. 27. Estendi la traversa allo stesso modo del ripiano, sino ad incontrare il sostegno destro (Vedi Fig. T1-3). 28. Usa i tasti cursore per ottenere un angolo di visuale appropriato e seleziona View/Render/Window oppure usa i tasti DAM [r]. Ora il tavolo è pronto. La struttura gerarchica finale del tavolo è come segue: Root | table / \ cover base / | \ / | \ stand1 stand2 stand3 Supporto all'esempio: Examples/Objects/Table. Nell'esempio abbiamo usato dei nomi che indicavano la funzione degli oggetti, per facilitarne l'identificazione. Se il tuo oggetto contiene diversi elementi con lo stesso nome, li puoi identificare concordemente all'ordine in cui li hai creati; il primo oggetto è quello che sta in alto nella lista della finestra di selezione. Se non ricordi quale hai creato per primo, c'è un altro modo per selezionare i primitivi: fai una selezione estesa tenendo premuto [Maiuscole] che comprenda i punti dei primitivi che desideri. Questa operazione spinge i punti racchiusi nel riquadro di selezione nell'archivio vettoriale di Real 3D. Se il trascinamento ha avuto successo, dovresti vedere i punti segnati da un simbolo a croce; premi poi DAM [Spazio], ed avverrà la selezione. Puoi verificare quale oggetto è quello attivo premendo il tasto [Help]: la gabbia dell'oggetto selezionato lampeggerà. Nel prossimo paragrafo, modificheremo il tavolo in modi diversi così che potrai avere un'idea del potente metodo di costruzione relativo alla gerarchia dell'oggetto di Real 3D. 1.7 MODIFICARE Ora tu già conosci come usare alcune funzioni di modificazione. Sai anche che le manipolazioni avvengono sugli oggetti selezionati. Puoi selezionare qualunque parte del tavolo e modificarla, indipendentemente dalla complesità della manipolazione. Possiamo continuare a modificare il tavolo dell'esempio precedente (ora puoi caricare il file Project/Project/Replace Examples/Objects/Table). Per muovere la traversadel tavolo: 1. Seleziona 'brace'. 2. Scegli il menù Modify/Linear/Move e sposta la traversa. Per spostare l'intera base:ù3. Seleziona 'base'. 4.Premi il tasto 'm' (move) che è il tasto chiave per la funzione Move e sposta la base. Se il tavolo sembra troppo alto: 5. Seleziona 'table'. 6. Seleziona Modify/Linear/Stretch, con il PSM clicca sull'angolo superiore sinistro del tavolo, quindi clicca su quello inferiore destro; muovi poi il mouse sino ad ottenere la forma desiderata. Puoi anche ruotare il tavolo utilizzando la funzione Modify/Linear/Rotate, o ridimensionarlo con Modify/Linear/Size. La funzione Mirror (Specchio) inverte l'oggetto proiettandolo su un asse da te definito. Se il risultato non ti soddisfa: - Seleziona Extras/Undo o premi i tasti DAM [u]. La funzione Undo (Disfa) riporta la situazione alla condizione precedente all'ultimo cambiamento. Veramente la brofondità del buffer di cancellazione è predisposta a 3, quindi puoi disfare sino a 3 modificazioni precedenti. E' anche possibile modificare la profondità usando la funzione Settings/Undo/Set depth, ma rammenta che più alto è il valore e maggiore sarà la memoria richiesta. Puoi anche ricollocare il tavolo scegliendo Modify/Linear/Move COG. Questa muove l'obbiettivo della modificazione ad un punto dato utilizzando il così detto COG (Centre Of Gravity) o centro di gravità dell'oggetto stesso. Ogni primitivo che crei ha un valore COG predefinito; p.e., il COG di una sfera è il suo centro. Puoi anche modificare il COG utilizzando la funzione Modify/Properties/COG. Per muovere un sostegno verticale del tavolo nell'angolo inferiore sinistro della finestra: 1. Seleziona un sostegno. 2. Seleziona Modify/Linear/Move COG. 3. Clicca nella vista accanto al punto desiderato. 4. Muovi l'indicatore al punto scelto e clicca con il PSM. Per modificare il colore del ripiano: 1. Seleziona il ripiano. 2. Apri la finestra palette (DAM[p]). 3. Seleziona in questa il menù Project/Fetch. Il colore del ripiano viene letto e rappresentato nel riquadro colore sopra al pulsante OK, mentre i cursori RGB si sposteranno conformemente. 4. Modifica la componente Rossa a 100 spostando il cursore R. 5. Clicca su OK per attivare il colore corrente. 6. Attiva la finestra di visualizzazione e seleziona Modify/Properties/Colour. Questo riscrive il colore modificato sul ripiano. Move, Rotate, Colour, e Stretch sono funzioni che modificano solo la struttura fisica dell'oggetto. Ora vedremo delle funzioni che modificano la struttura gerarchica: difatti tu già ne conosci un paio, cioè le funzioni Delete (Cancella) e Duplicate (Duplica). La struttura gerarchica del tavolo creato nell'esempio precedente sembra alquanto logica. I sostegni fanno parte della base, mentre il ripiano no; è comunque possibile spostare gli oggetti nell'albero gerarchico proprio come si fa nel sistema DOS con i files e le directories. Se vuoi che il ripiano faccia parte della base: 1. Seleziona il ripiano 'cover'. 2. Scegli Modify/Structure/Cut. 3. Fai un doppio click sul livello 'base' nella finestra di selezione, affinchè divenga il livello corrente. 4. Seleziona Modify/Structure/Paste. Hai modificato la gerarchia del tuo tavolo nel modo seguente: Root table base stand1 stand2 brace cover Se invece non vuoi che alcuna parte appartenga alla base: 1. Fai una multi-selezione di stand1, stand2, brace e cover. 2. Seleziona Modify/Structure/Cut. 3. Fai doppio click sul nome 'base' al vertice della finestra di selezione: in questo modo la finestra cambia il livello corrente a quello superiore (parent) 'table'. 4. Seleziona Modify/Structure/Paste. Se ora volessi muovere la base, nessuna parte del tavolo si sposterebbe, dato che 'base' è vuota, e la struttura è ora particolare: Root table stand1 stand2 brace cover base Come esempio finale per la modificazione della gerarchia degli oggetti, consideriamo l'uso di due finestre di selezione. Come è stato menzionato, ogni finestra di selezione ha il suo livello corrente privato, che diventa il livello corrente globale attivandola. Puoi utilizzare questa caratteristica nel modo seguente: 1. Apri una seconda finestra di selezione. 2. Setta il livello corrente della finestra di selezione originale a 'base'. 3. Setta il livello corrente della nuova finestra a 'table'. 4. Attiva la nuova finestra di selezione. 5. Usa Create/Visibles/Sphere per creare un nuovo primitivo. Apparirà nella gerarchia sotto al livello 'table'. 6. Attiva la finestra di selezione originale e crea un'altra sfera. Nella gerarchia apparirà sotto a 'base'. 7. Usando la nuova finestra di selezione, fai una selezione multipla degli oggetti sotto a 'table' che sono ancora mostrati. 8. Seleziona Modify/Hierachy/Cut. 9. Attiva la vecchia finestra di selezione. 10. Seleziona Modify/Hierachy/Paste : gli oggetti sono ora posti sotto 'base'. Come vedi, puoi usare diverse finestre di selezione per accedere rapidamente a differenti parti nella gerarchia. 1.8 SALVATAGGIO E CARICAMENTO Un oggetto, o le sue parti, che hai precedentemente creato e salvato su disco, può essere ricaricato ed essere nuovamente usato. Per esempio, per salvare il tavolo che hai creato prima nella directory 'Objects' del cassetto R3D2: 1. Seleziona 'table'. 2. Scegli Project/Objects/Save. Una finestra apparirà sullo schermo dove potrai definire tutti i nomi ed i percorsi che Real 3D richiede per il salvataggio ed il caricamento dei dati. In essa potrai vedere una directory DOS; usando il mouse potrai selezionare qualunque nome, risalendo nell'albero delle directory sino a giungere a quella desiderata. Quindi potrai digitare un nome nel riquadro File nella parte inferiore della finestra. Naturalmente potrai anche selezionare un file esistente, nel qual caso il file sarà riscritto. Similmente potrai digitare nel riquadro qualunque nome con il suo percorso, indipendentemente dalla directory mostrata. Continua il salvataggio nel modo seguente: 3. Clicca sul cassetto chiamato 'Objects' nel selettore dei files, a meno che 'Objects' non sia già selezionato: controlla nel riquadro Drawer. 4. Real 3D già propone il nome 'table' nel riquadro File, quindi premi OK. Analogamente potresti voler inserire il nome e l'oggetto 'table' in una scena dalla directory 'Objects' di R3D2: 1. Rendi l'oggetto in cui vorresti inserire il tavolo (p.e. un set da giardino) il livello corrente. 2. Seleziona Project/Objects/Insert. 3. Seleziona il cassetto 'Objects' ed il file 'table' dalla finestra di richiesta e premi OK. Se l'oggetto viene trovato, diverrà una parte del set da giardino. Il tavolo sarà ora l'oggetto attivo, così che lo potrai modificare in vari modi, p.e. spostandolo nel punto appropriato. Nota: Se decidi di salvare un oggetto con un nome già esistente Real 3D ti avvertirà onde evitare di riscriverlo per errore, a meno che Settings/General/Confirm_save sia disattivato. La terza voce nel menù Project/Objects: Replace, sostituisce l'intera gerarchia degli oggetti iniziando dalla originale (Root) con il nuovo caricato da disco, mentre Insert inserisce il nuovo oggetto nella struttura gerarchica esistente. La maggioranza dei menù IO (Input Output) include un gruppo di funzioni simili: Insert, Replace e Save. Operano allo stesso modo: Save serve per salvare su disco, Insert aggiunge nuovi dati al progetto, e Replace sostituisce i dati correnti con quelli caricati da disco. Nota: Il formato binario di Real 3D è una raccolta tipo IFF di diverse sezioni di dati. Ciò vale a dire che un file contiene sia oggetti che materiali, ma tu potrai caricare solo gli oggetti usando Objects/Replace o Insert. Quando sostituisci Projects, puoi definire le sezioni che intendi sostituire con il file. Per esempio, selezionando Project/Project/Replace da un file che non contiene una sezione ambientale, non perderai la tua corrente definizione di interfaccia. Inoltre puoi specificare quali sezioni vuoi sostituire usando la funzione Project/Project/Replace Sections. Creando oggetti è consigliabile comporli ragionevolmente di parti subordinate. Sebbene ciò significhi un lavoro maggiore iniziale, ti permetterà di creare delle raccolte di oggetti riutilizzabili. 1.9 VISIBILI Gli esempi dati precedentemente hanno già spiegato come creare alcuni 'visibili' di base. Le classi principali dei visibili sono le seguenti: - Piani semplici visibili - Visibili poligonali - Cilindri - Coni - Ellissoidi - Iperboliche visibili Real 3D include una varietà di strumenti per generare questi visibili; inoltre sono aggiunti anche strumenti per la creazione di sezioni di quasi tutti i visibili. infine, i così detti strumenti composti combinano i visibili per creare forme più complesse. Questo capitolo introduce alcuni nuovi visibili, mentre il resto è descritto nella sezione di riferimento. 1.9.1 POLIGONO/POLIEDRO/POLIRAMIDI Con lo strumento poligono, puoi creare dei poligoni piani nel modo seguente: 1. Seleziona Create/Visibles/Polygon. 2. Usa il PSM per aggiungere nuovi punti vertice mentre tracci il poligono. 3. Puoi cancellare i punti uno ad uno usando il tasto [Del]. 4. Il PDM termina la funzione. 5. Il tasto [Spazio] cancella la funzione. Osserva che la linea curva del poligono viene chiusa automaticamente. La creazione di un poliedro, cioè un poligono estruso, avviene esattamente in modo simile. I poliramidi sono leggermente diversi: un poliramide è una forma di tipo piramidale con un vertice molto acuto. Un poliramide tagliato (Cut) ha la stessa forma, ma tronca; usa quest'ultimo nel modo seguente: 1. Seleziona il menù Create/Visibles/Cut polymid. 2. Prima definisci la forma intersecante dell'oggetto, vale a dire la forma del piano di base: puoi farlo nello stesso modo dello strumento poligonale. Usa il PDM per terminare la definizione. 3. Clicca con il PSM sulla posizione in cui vuoi porre il primo punto del poligono che forma il lato superiore dell'oggetto. 4. Ora puoi dare forma alla sezione superiore muovendo il mouse, e quando la dimensione è appropriata, clicca il PSM. 1.9.2 SETTORI VISIBILI Come esempio dei settori visibili, creeremo un settore cilindrico, che è una forma utile diciamo per la forma 3D di uno schema statistico. 1. Seleziona Create/Sectors/Cylinder. 2. Clicca sul punto centrale del cilindro. 3. Muovi il mouse sino a raggiungere la corretta distanza dal punto centrale. Inoltre la linea che la funzione traccia definisce un lato del settore, quindi dirigila concordemente,ed infine clicca con il PSM di nuovo. 4. Ora ruota il mouse in senso antiorario sino ad ottenere l'angolo desiderato per il settore. Poi clicca PSM. 1.10 STRUMENTI COMPOSITI Real 3D include un insieme speciale di strumenti per facilitare la creazione di oggetti particolari, come quelli prodotti su di un tornio. Oggetti composti da diversi primitivi possono essere creati facilmente e rapidamente con questi strumenti speciali. Gli strumenti compositi hanno alcuni vantaggi rispetto ai metodi di creazione basati su forme libere: - Producono certe forme più facilmente e rapidamente - Creano modelli efficienti di memoria - Gli oggetti formati con gli strumenti compositi sono più rapidi nella resa - Una reale rappresentazione dei volumi viene prodotta - Eccellente qualità di resa Lo svantaggio sta nelle inerenti restrizioni geometriche, sebbene ciò sia parzialmente compensato da un ampio numero di strumenti compositi disponibili. Nella parte seguente saranno introdotti alcuni di questi strumenti. Il resto opera in modo simile: dettagli precisi possono essere trovati nella sezione riferimenti del manuale. 1.10.1 TORNIO Per usare lo strumento tornio: 1. Seleziona Create/Compound Tools/Lathe. 2. Definisci la direzione dell'asse del tornio selezionando due punti nello spazio con il mouse. 3. Quindi clicca sul punto iniziale e definisci la direzione della superficie verso quel punto disegnando un segmento. Clicca di nuovo quando la direzione ti sembra appropriata. 4. Ora puoi formare una curva. Quando la forma è quella desiderata, clicca con il PSM e disegna la curva successiva. 5. Se vuoi fare un angolo acuto, usa il PDM per annullare la formazione curva presente e quindi definisci la nuova direzione. 6. A volte il profilo uniforme di una curva si interrompe a causa di difficoltà di calcolo. Ciò può essere evitato definendo la forma in segmenti brevi. 7. Quando la forma desiderata è stata definita, la tornitura può essere terminata cliccando due volte PDM. (FIGURA T1-10: PORTACANDELE TORNITI.) 1.10.2 STRUMENTI TUBOLARI Con questi strumenti puoi creare un tubo continuo, o p.e. dei caratteri 3D. Gli strumenti tubolari sono divisi in sotto-classi conformemente alle seguenti caratteristiche: - Vertici smussati o acuti (Opzione 'Rounded') - Radio costante o variabile (Opzione 'Conical') - Forma d'intersezione circolare o rettangolare ('Circular/Rectangular') - Suddivisione automatica o nessuna suddivisione (Opzione 'Subdivided') Gli strumenti tubolari usano diversi primitivi quali cilindri, poliedri e sfere per creare il tubo da te definito. P.e. per usare lo strumento tubolare arrotondato circolare: 1. Seleziona Create/Compound Tools/Rounded Circular 2. Definisci il diametro del tubo formando un cerchio. 3. Disegna il tubo lungo quanto desideri e quindi taglialo con il PDM. Come seconda illustrazione degli strumenti tubolari consideriamo un tubo conico (Conical): con questo strumento possiamo creare sfere connesse a coni; il risultato sarà un tubo con raggio variabile e con giunture smussate. P.e. questo strumento è adatto per creare le dita di un robot: 1. Seleziona Create/Compound Tools/Conical 2. Forma tanti cerchi quanti ritieni necessari: essi definiscono le articolazioni di un dito. 4. Termina la definizione delle giunture cliccando il PDM. Se provi lo stesso con lo strumento tubolare 'Conical Subdivided' otterrai più giunture ed un risultato più smussato. Prova il precedente esempio con un fattore di suddivisione di 5, per vedere la differenza. (FIGURA T1-11: GLI STRUMENTI TUBOLARI.) Fila in alto: Circular Subdivided, Rounded Circular Subdivided, Sharp Circular, Rounded Circular. Seconda fila: Conical, Conical Subdivided. Fila in basso: Rectangular, Rectangular Subdivided, Rectangular Conical, Rectangular Conical Subdivided. 1.10.3 POLIGONI E POLIEDRI ARROTONDATI Gli strumenti compositi includono funzioni per creare poligoni e poliedri con angoli arrotondati. Possono essere utili per esempio per la creazione di logotipi. Puoi usare tutti e quattro gli strumenti in modo simile come quando hai creato il poligono, ma lo strumento arrotonderà automaticamente gli angoli. Gli strumenti 'Rounded' hanno un raggio massimo di arrotondamento, mentre gli 'Ellipsed' arrotondano gli angoli partendo da un punto medio del lato. La figura seguente illustra le forme create con questi strumenti. (FIGURA T1-12: POLIEDRO 'ROUNDED' (sinistra) ed 'ELLIPSED' (destra). 1.10.4 STRUMENTO OGGETTO-PIXEL Questo strumento è un collegamento molto potente tra le grafiche bi e tridimensionali computerizzate. L'idea è di ottenere facilmente e rapidamente oggetti solidi complessi 3D sostituendo i pixels bidimensionali di una immagine con oggetti tridimensionali, come per esempio delle sfere. Utilizzando questo strumento l'utente può definire quale oggetto andrà a sostituire i pixels. Di questi solo quelli con un colore diverso dal colore di fondo 0 (solitamente il nero) verranno sostituiti, mentre il colore degli oggetti sarà lo stesso del pixel. Con immagini a 24 bit o in HAM tutti i colori saranno sostituiti. Per esempio puoi creare un testo 3D usando i soliti font 2D. Ci sono molti tipi di font disponibili, ed inoltre, c'è un infinito numero di oggetti che possono essere definiti per sostituire i pixels. Per l'utente creativo questo è uno strumento che offre un metodo eccellente per produrre immagini ed animazioni 3D. E' particolarmente indicato per la creazione di gruppi particellari o animazioni di particelle, come p.e. un testo che esplode etc. Per creare un testo con lo strumento pixel: 1. Avvia un programma grafico, seleziona un font appropriato, scrivi la parola 'Real', definisci un pennello contenente la parola e salvalo, p.e. in RAM. 2. Crea in Real 3D p.e. una piccola sfera; accertati che sia selezionata. 3. Seleziona Create/Compound Tools/Object-Pixel Tool. Ora sarà mostrata una finestra di ricerca, in cui potrai selezionare il pennello salvato in RAM. 4. Quindi potrai decidere la posizione e la dimensione del testo dando forma ad un rettangolo nella finestra di visualizzazione. 5. Quando l'oggetto è creato, probabilmente non avrai più bisogno della sfera originale, perciò cancellala. (FIGURA T1-13: TESTO CREATO CON LO STRUMENTO OBJECT-PIXEL. Nota: Lo strumento pixel tende a creare oggetti molto densi. Per esempio un pennello di 30 volte 30 pixels in un programma grafico sembrerà piuttosto piccolo, ma include 900 pixels. Un pennello leggermente più grande, diciamo 80 volte 80 pixels, include già 6400 pixels. Ciò può portare ad avere dei limiti di memoria! 1.11 SORGENTI DI LUCE Una sorgente di luce è un oggetto che irradia luce del suo stesso colore. Se il primitivo fosse nero, non irradierà luce per nulla. Uno bianco irradierà tutte le componenti R,G, e B di luce nella stessa intensità. Nella vita reale è molto difficile osservare degli oggetti luminosi che abbiano una sola lunghezza d'onda. Inoltre non esistono oggetti che riflettano una sola lunghezza d'onda. In Real 3D tutto ciò è possibile, quindi devi essere cauto quando stabilisci il colore delle sorgenti luminose. Per esempio un oggetto totalmente rosso non sarà visibile per nulla in un ambiente illuminato d'azzurro, dato che non rifletterà alcuna luce azzurra; un oggetto viola apparirà rosso se illuminato da una luce gialla. Di solito è consigliabile creare un'illuminazione bianca, così che tutti gli oggetti siano resi nei loro propri colori. Sebbene il numero delle sorgenti luminose sia illimitato, si deve essere discriminanti. Il tempo richiesto per la resa è fortemente influenzato dal numero di sorgenti di luce. Nel prossimo esempio, proveremo diverse sorgenti di luce. L'esempio include un cilindro fluttuante su di un piano, e due luci che proiettano ombre sul pavimento. 1. Setta nuovamente la finestra di visualizzazione attivandola e premendo i tasti DAM [e]. 2. Apri una vista in pianta con DAM [z]. 3. Crea un rettangolo (Create/Visibles/Rectangle) che riempia quasi la finestra. 4. Crea un cilindro (Create/Visibles/Cylinder) in mezzo al rettangolo. 5. Seleziona un colore appropriato per la sorgente di luce usando la finestra palette. Bianco puro (255,255,255) è una buona scelta. 6. Seleziona Create/Light-sources/Point e clicca sul lato sinistro del cilindro. 7. Seleziona Create/Light-sources/Wall e modella un piccolo quadrato sul lato destro del cilindro. 8. Torna alla vista frontale con DAM [x]. 9. Tutti gli oggetti giacciono sullo stesso piano: seleziona il rettangolo e muovilo verso il fondo, seleziona il cilindro e muovilo sopra al rettangolo. Seleziona le sorgenti di luce e muovile ben sopra al cilindro. 10. Premi DAM [s] per aprire la finestra di richiesta dei settings di resa, e setta Mode a Normal; premi OK. 11. Aggiusta l'angolo di visuale con i tasti cursore e premi DAM [r] per rendere l'immagine. Ora dovresti vedere le ombre del cilindro proiettate sul pavimento. Entrambe le ombre proiettate dalle luci sono nette. Per ottenere un cono di penombra fai il seguente: 12. Apri nuovamente la finestra dei settings di resa (lo puoi fare anche mentre il programma sta ancora lavorando sulla resa!) e sposta il cursore Lightsamples sulla destra della finestra sino al valore 1. Quindi premi OK. 13. Premi DAM [r] per rendere la vista. Esempio di Supporto: Examples/Objects/lightsources Questa volta, una delle ombre ha un bordo sfumato. Il tempo di resa è più lento (circa 4 volte), ma probabilmente il maggior realismo vale l'attesa. Puoi anche aggiustare l'ampiezza della penombra aumentando la dimensione della sorgente luminosa a muro. Ciò non di meno, potresti dover accrescere rispettivamente il livello Lightsemples, che rallenterà la resa ulteriormente. Quindi più è sfumata l'ombra, più saranno i calcoli ed il tempo richiesti per la resa. (FINESTRA T1-14: SCENA DI PROVA DI SORGENTE LUMINOSA.) 1.11.1 INTENSITÀ DELLE SORGENTI LUMINOSE Quando crei delle sorgenti luminose, non devi preoccuparti della loro intensità: il programma la adatterà ad un livello adatto, ed un controllo fine può essere raggiunto settando il modello solido. La lucentezza relativa può essere controllata assegnando alle sorgenti di luce diversi colori. Una lampada con bassi valori RGB sarà meno intensa di un'altra che ha dei valori alti. Queste diversità saranno mantenute nel ridimensionamento automatico. Il ridimensionamento delle intensità luminose automatico può essere considerato analogo a quello delle funzioni di esposizione automatica di una fotocamera, dove il livello di esposizione è calcolato sulla luminosità dell'immagine. Osserva che se posizioni una luce vicino ad un oggetto, ci sarà una maggiore differenza di intensità nell'illuminazione, cioè maggior contrasto. Se la luce fosse proiettata da un punto distante, la luce sarà diffusa più uniformemente. Un buon esempio di questo fenomeno è dato dal paragone tra la luce del sole e quella di una lampada. Se posizioni quest'ultima vicino ad un oggetto come luce spot, ed un'altra più distante come luce ambiente, quest'ultima dovrà avere una intensità maggiore rispetto alla precedente per avere un effetto visibile. Le sorgenti di luce non sono mostrate direttamente nelle immagini ombreggiate. Quindi, se vuoi vedere delle lampade o riflessioni della sorgente di luce su superfici specchianti dovrai porre una copertura fatta di vetro opaco attorno alla sorgente di luce: proprio come nella realtà! Potresti trovar conveniente il salvataggio di alcune sorgenti di luce appropriate come oggetti, così che le potrai riutilizzare nei momenti appropriati. comunque, se vorrai produrre una immagine ray-traced di un oggetto, non sempre dovrai creare una sorgente di luce. L'unità di resa di Real 3D include alcuni modi di resa rapida in cui una sorgente luminosa è creata automaticamente. Per maggiori informazioni vedi il capitolo sul Rendering. 1.12 MACRO La funzione Macro, una importante caratteristica di Real 3D, è molto utile quando devi ripetere le stesse operazioni di manipolazione su un ampio numero di oggetti. Un comando Macro è una sequenza di operazioni definibile dall'utente conformemente alle sue necessità. I Macro possono essere salvati su disco, collegati a dei tasti chiave, ed assegnati ad icone con strumenti definibili. Essi possono poi essere attivati con qualunque oggetto. Quando il Macro è stato definito completamente, la memorizzazione può essere interrotta selezionando ancora 'Record'. Un esempio di Macro: 1. Crea un oggetto. 2. Seleziona Project/Macros/Record. Un segno di verifica apparirà nel menù mostrando che la memorizzazione del Macro è attivata. 3. Appiattisci l'oggetto usando la funzione Stretch. 4. Ruota la funzione con Rotate. 5. Muovi l'oggetto con Move. 6. Seleziona nuovamente Project/Macros/Record. Così hai creato un Macro che contiene tre diverse operazioni. Per eseguire un Macro: 1. Seleziona l'oggetto da modificare. 2. Seleziona Project/Macros/Execute Current. Se vuoi eseguire un Macro 20 volte: 1. Seleziona l'oggetto da modificare. 2. Seleziona Project/Macros/Repeat Current. 3.Digita 20 nel riquadro di richiesta, poi clicca su OK. Questo è un metodo molto potente per la creazione di oggetti simmetrici. Come esmpio, creiamo un set di sfere: 1. Crea una sfera di dimensioni adatte e ponila in alto nella finestra di visualizzazione. 2. Seleziona il menù Project/Macros/Record. 3. Modify/Structure/Duplicate la sfera. 4. Modify/Linear/Rotate la sfera attorno al punto centrale della vista. 5. Seleziona Project/Macros/Record. 6. Seleziona Project/Macros/Repeat Current. 7. Valuta il numero delle sfere necessario a formare l'intero set ed immetti il numero. (FIGURA T1-15: MACRO SET DI SFERE.) Diffondi il Macro è un'altra caratteristica utile: diffonde il comando sugli oggetti selezionati, incrementando il numero delle ripetizioni del Macro di uno dopo aver processato ogni oggetto selezionato. Prova il seguente con le sfere che hai creato precedentemente: 1. Fai una selezione multipla di tutte le sfere. 2. Seleziona Modify/Linear/Move COG, e clicca due volte al centro della vista. Il risultato sarà che tutte le sfere si raccoglieranno nella stessa posizione. 3. Seleziona Project/Macros/Record. 4. Sempre mantenendo tutte le sfere selezionate, muovile verso destra, di metà del diametro di una sfera. 5. Seleziona Project/Macros/Record per terminare il Macro. 6. Scegli Project/Macros/Spread Current. Se hai seguito correttamente i passi dovresti aver ottenuto una fila di sfere. Puoi salvare il Macro usando la funzione Project/Macros/Current to Named (o copiando/rinominando t:macro.rpl con un nome appropriato. Il macro corrente è un file ASCII memorizzato temporaneamente nella directory di sistema t:. E' un piccolo programma RPL, e lo puoi editare con qualunque editore di testo. Puoi anche selezionare qualsiasi programma/macro RPL ed eseguirlo utilizzando il menù Project/Macros/Execute_Named. C'è inoltre una funzione Named_to_Current, che rende un dato macro il corrente (attivo), così che potrai usarlo con le funzioni di ripetizione e diffusione.