Sei sulla pagina 1di 172

1

ALGORITMI GENERATIVI
con GRASSHOPPER
ZUBIN KHABAZI
Edizione Italiana a cura di Antonino Marsala,
www.mandarinoblu.com
antonio@mandarinoblu.com
2010 Zubin Mohamad Khabazi uesto libro ! "rodotto e "ubblicato in #ormato di$itale "er uso "ubblico. %on ! consentita la
ri"roduzione totale o "arziale senza il "ermesso dell&autore, eccetto "er le re'isioni. (er 'edere $li ultimi a$$iornamenti o in caso di
chiarimenti, 'isitate il mio sito web,
www.M)*(+),E%E-I-M.com
zubin..habazi@$oo$lemail.com
2
Introduzione
A'ete mai $iocato con il /E,) Mindstorms %01 robotic set2 3ene, la modellazione associati'a ! 4ualcosa
del $enere. -e tutto inizia a di'entare al$oritmico e "arametrico, "erch! non anche l&architettura2
5urante il mio master 6Emer$ent 1echnolo$ies and 5esi$n 7Em1ech86 "resso l&Architectural Association 7AA8,
ho deciso di condi'idere l&es"erienza nell&ambito de$li Al$oritmi ,enerati'i e nella modellazione
"arametrico9associati'a con ,rassho""er, che tro'o essere una "iatta#orma molto "otente "er 4uesto ti"o
di "ro$ettazione.
In 4uesta seconda edizione, cos: come ho modi#icato il nome da 6Modellazione Al$otmica6 a 6Al$oritmi
,enerati'i6, ho "ro'ato ad a$$iornare alcuni es"erimenti e temi 'iste le modi#iche che sono state a""ortate
al "ro$etto di ,rassho""er, ancora in e'oluzione. -"ero che 4uesti tutorial 'i "ossano aiutare "er ca"ire
me$lio ,rassho""er e $li al$oritmi $enerati'i. Mi sarebbe "iaciuto a$$iornarli, ma biso$na considerare che
la ma$$ior "arte de$li es"erimenti e de$li esem"i sono stati #atti su una 'ersione "recedente del "lu$9in,
4uindi se tro'ate delle di##erenze "otrebbe di"endere da 4uesto.
;redo che il libro necessiti di re'isioni editoriali, 'isto "er< che si tratta di un un "rodotto non9"ro#it e non
commerciale, 'i "re$o di "erdonarmi "er 4uesta mancanza. -ono molto soddi#atto dal #atto che, da 4uando
ho "ubblicato 4uesto libro, ho tro'ato $randi amici in tutto il mondo. ;onsiderate'i dun4ue liberi di
contattarmi "er o$ni richiesta e s"ie$azioni tecniche.
3uon la'oro e buona #ortuna=
*in$raziamenti
(rima di tutto 'orrei rin$raziare 3ob Mc%eel "er il suo aiuto con,rassho"er>5 e 5a'id *utten "er
l&is"irazione, oltre che "er il suo su""orto. -ono anche #elice di ri$razione i direttori del AA?Em1ech e i tutor,
Mi.e @einstoc., Michael +ensel, oltre che Achim Men$es che ha 'eri#icato i miei concetti "arametrici e
com"utazionali. Ancora un rin$raziamento "er -tAlianos 5ritsas 7AA?K(B8 , 5r.1oni Kotni. 7AA?E1+8 "er i
loro corsi di calcolo, scri"tin$ e $eometria a'anzata. -ono estremamente $rato a$li studenti, architetti e
"ro$ettisi che mi hanno contattato e hanno condi'iso le loro conoscenze e mi hanno #atto notare $li errori
"resenti.
Zubin M Khabazi
Marzo 2010
%ota del traduttore
Innanzitutto 'orrei rin$raziare Zubin Khabazi "er a'er "rima condi'iso 4uesto testo, e "oi "er a'er accettato la
mia "ro"osta di collaborazione.
5urante i miei anni di la'oro con *hinoceros ho a""reso tanto da chi, come Zubin, ha messo a dis"osizione le
"ro"rie es"erienze e conoscenze che mi hanno "ermesso non solo di utilizzare il "ro$ramma, ma anche di ca"ire
cosa c&! dietro o$ni sin$ola scelta, in modo da inse$narlo e trasmetterlo ai miei studenti.
+o cercato di essere "iC #edele "ossibile al testo ori$inale a$$iornandolo dalla 'ersione 0.D 7sulla 4uale ! stata
#atta le seconda edizione8 all&attuale 0.E. .
;ome dice lo stesso autore "er la 'ersione ori$inale, anche la traduzione necessiterebbe di una re'isione
editoriale "iC accorta. Abbiamo "er< "re#erito anche 4ui "ri'ile$iare la "ubblicazione, lasciandoci a"erta la
"ossibilitF di ra##inare la scorre'olezza del testo. In'ito 4uindi tutti coloro che hanno dei su$$erimenti o dei dubbi
a contattarmi "er s"ie$are me$lio alcuni "assa$$i che "otrebbero non risultare com"letamente chiari.
Antonino Marsala G Bebbraio 2011
3
;ontenuti
Capitolo_1_AlgoritmiGenerativi ......................................................................6
1H1HAl$oritmi ,enerati'i ..............................................................................................................D
Capitolo_2_L'inizio ......................................................................9
2H1H Metodo ................................................................................................10
2H2H;onoscenze di base ................................................................................................10
2H2H1HInter#accia, area di la'oro ................................................................................................10
2H2H2H;om"onenti ................................................................................................10
2H2H>H;ombinazione di dati I.............................................................................................1E
2H2HJH+el" "er i com"onenti 7menC contestuale8 .............................................................20
2H2HKH *icerca e a$$iunta di un com"onente tramite tastiera I...................................................20
Capitolo_3_Insiemi di dati e Matematica ..........................................................21
>H1HInsiemi di dati numerici ...............................................................................................22
>H2H(unti e $ri$lie di "unti ...............................................................................................2J
>H>HAltri insiemi numerici ...............................................................................................2D
>HJHBunzioni ...............................................................................................2E
>HKH5ati 3ooleani ...............................................................................................>1
>HDH;ull list ...............................................................................................>2
>HLH/iste di dati ...............................................................................................>J
>HEH(attern "er $eometrie "lanari ...............................................................................................>E
Capitolo_!_"ras#ormazioni ........................................................................$%
JH1HMettori e (iani ................................................................................................K1
JH2H;ur'e e $eometrie lineari ................................................................................................K2
JH>HEs"erimento combinatoN -wiss *e ....................................................................................KE
JHJHAttrattori ................................................................................................DD
Capitolo_$_&pazio 'arametrico ..............................................................(6
KH1H-"azio "arametrica monodimensionale ........................................................................LL
KH2H-"azio "arametrico bidimensionale ....................................................................................LE
KH>H1ransizioni tra $li s"azi ................................................................................................LO
KHJH;om"onenti "arametrici di base ....................................................................................E0
KHJH1HMalutazione di cur'e ................................................................................................E0
KHJH2HMalutazione di su"er#ici ................................................................................................E1
KHJH>H(unto "iC 'icino alla cur'a e alla su"er#icie .............................................................E>
KHKH(roli#erazione di o$$etti nello s"azio "arametrico .............................................................E>
KHDHAlberi di dati ................................................................................................O1
Capitolo 6_)e#ormazioni e morp*ing ...................................................1%%
DH1H5e#ormazioni e mo"rhin$ ..............................................................................................101
DH2H(annellizzazione ..............................................................................................10>
4
DH>HMani"olazioni di micro li'ello ..............................................................................................10D
DHJHModulazione reatti'a ..............................................................................................10O
Capitolo_(_&+per#ici ,-./& e Mes*............................................................116
LH1H-u"er#ici %P*3- "arametriche ..............................................................................................11L
LH2H,eometria e 1o"olo$ia ..............................................................................................12J
LH>HMesh ..............................................................................................12K
LHJHAnalisi cromatica ..............................................................................................1>J
LHKHMani"olazione delle mesh come metodo "ro$ettuale ...............................................1>L
Capitolo_0_1a22ricazione ......................................................................1!%
EH1H5atasheet ..............................................................................................1J1
EH2H1a$li laser e mani#atturazione basata sul ta$lio ...........................................................1K2
Capitolo_9_&trategia di design ...............................................................16(
/i2liogra#ia ......................................................................1(1
5
1_1_ Algoritmi Generativi
-e $uardiamo all&architettura come ad un o$$etto ra""resentato nello s"azio, "er com"renderlo
a""ieno e "er "ro$ettarlo, dobbiamo sem"re ra$ionare con la $eometria e un "o& di matematica.
%ella storia dell&architettura, di'ersi stili architettonici hanno "resentato di'erse ti"olo$ie di
$eometria e lo$iche di articolazione, e o$ni "eriodo ha tro'ato un modo di dialo$are con le sue
"roblematiche e le sue domande inerenti la $eometria. 5a 4uando i com"uter hanno iniziato ad
aiutare $li architetti, simulando lo s"azio e le articolazioni $eometriche, 4uesti sono di'entati uno
strumento inte$rante del "rocesso "ro$ettuale. /a ,eometria com"utazionale ! di'enuta
un&interessante materia di studio e la combinazione di "ro$rammazione al$oritmica con la
$eometria, ha "rodotto delle $eometrie al$oritmiche note come Al$oritmi ,enerati'i. -ebbene $li
a""licati'i >5 abbiano aiutato a simulare "arte di o$ni s"azio 'isualizzato, ! stata la nozione di
Al$oritmo ,enerati'o che ha "ortato le attuali "ossibilitF di "ro$ettazione, come la Q"ro$ettazione
"arametricaR, nel re$no dell&architettura.
,li Architetti hanno iniziato ad usare cur'e #ree #orm e su"er#ici "er dise$nare e "ro$ettare $li s"azi
andando oltre le limitazioni della $eometria con'enzionale dello Qs"azio euclideoR. E& stata una
combinazione tra Architettura e 5i$itale che ha "ortato Qi blobR alla ribalta, #acendoli
ulteriormente "ro$redire. %onostante la crescita del calcolo sia estremamente 'eloce,
l&architettura ha "ro'ato a tenere il "asso di 4uesto 'eloce ritmo di$itale.
5o"o l&era del QblobR, l&architettura contem"oranea sembra essere "iC chiara ri$uardo a 4uesto
ar$omento. /a "ro$ettazione architettonica ! stata in#luenzata dalle "otenzialitF delle $eometrie
al$oritmiche com"utazionali, con $erarchie multi"le e alto li'ello di com"lessitF. (ro$ettare e
modellare su"er#ici #ree #orm e cur'e come se #ossero elementi di costruzioni associati con di'ersi
com"onenti e a'enti "attern multi"li, non ! un la'oro #acile da "ortare a'anti con metodi
tradizionali. /a "otenza de$li al$oritmi e de$li scri"t che s"ostano in alto l&asticella della
"ro$ettazione, ! "ro"rio 4uesta. E& o''io che anche solo "er "ensare a $eometrie com"lesse
abbiamo biso$no di strumenti a""ro"riati, s"ecialmente a""licati'i ca"aci di simulare le $eometrie
e controllarne le "ro"rietF. ;ome risultato, $li architetti sono interessati ora ad usare -warms,
;ellular Automata o ,enetic Al$orithms "er creare "ro$etti al$oritmici ed andare oltre $li attuali
limiti di #orme e s"azio. All&orizzonte si "ro#ila un catalo$o "ieno di com"lessitF e molte"licitF che
combina insieme creati'itF e ambizione.
Bi$.1.1 Modellazione "arametrica "er QE'olutionarA ;om"utation and ,enetic Al$orithm, Zubin
Mohamad .habazi, Emer$ence -eminar, AAR tenuto da Michael @einstoc. , Autunno 200E
Bacendo un "asso a'anti, ora sembra "ossibile incor"orare le "ro"rietF dei sistemi materiali in una
"ro$ettazione al$oritmica con il concetto "arametrico. ,uardando a$li e##etti materiali e alle loro
6
reazioni all&ambiente os"itante nella #ase "ro$ettuale, ora la innate "otenzialitF dei com"onenti e
dei sistemi "ossono essere a""licate ai modelli "arametrici "er la "ro$ettazione. %on solo 4uesti
al$oritmi $enerati'i dialo$ano con la $enerazione della #orma, ma "alesano anche un $rande
"otenziale "er incor"orare la lo$ica dei materiali.
Q/a lo$ica di base della "ro$ettazione "arametrica, "u< essere 4ui strumentalizzata come un
metodo "ro$ettuale alternati'o, uno in cui il ri$ore $eometrico della modellazione "arametrica
"u< essere distribuito "rima "er inte$rare i 'incoli della mani#attura, le lo$iche del monta$$io e le
caratteristiche del materiale nella de#inizione di sem"lici com"onenti, e "oi "er la ri"roduzione dei
com"onenti dentro costruzioni e sistemi "iC $randi. uesto a""roccio im"ie$a l&es"lorazione di
'ariabili "arametriche "er ca"ire il com"ortamento di un ti"o di sistema e 4uindi usa 4ueste
conoscenza "er studiare una strate$ia di ris"osta al sistema "er le condizioni ambientali e le #orze
esterneR 7+ensel, Men$es, 200E8
(er la'orare con o$$etti com"lessi, il "rocesso "ro$ettuale "arte da un "rimo sem"lice li'ello, a cui
'en$ono a$$iunti nuo'i stratiS le #orme com"lesse sono com"oste da $erarchie di##erenti, o$nuna
associata con la "ro"ria lo$ica e "ro"ri detta$li. uesti li'elli sono anche tra loro interconnessi, e i
loro membri in#luiscono l&uno con l&altro. In 4uesto senso 4uesto metodo 'iene de#inito
Qassociati'oR.
In $enerale, la modellazione associati'a si ri#erisce ad un metodo in cui $li elementi "ro$ettuali
sono costruiti $radualmente in $erarchi multi"le e ad o$ni li'ello, alcuni "arametri di 4uesti
elementi sono estratti "er $enerare altri elementi in un altro li'ello e 4uesto "rocedimento 'a
a'anti, "asso do"o "asso "er "rodurre la $eometria com"lessi'a. uindi il "unto estremo di una
cur'a "u< esser il centro di una circon#erenzaN o$ni cambiamento nella cur'a com"orta un
cambiamento associato della circon#erenza. Bondamentalmente 4uesto metodo di "ro$ettazione
dialo$a con una $rande 4uantitF di dati e di calcoli e a''iene attra'erso il #lusso de$li al$oritmi.
Pna cosa #ondamentale ! che tutte 4ueste $eometrie sono #acilmente re$olabili do"o il "rocesso. I
"ro$ettisti hanno sem"re accesso a$li elementi di desi$n del "rodotto, dal "unto di "artenza #ino ai
detta$li. E##etti'amente, "oichT il desi$n del "rodotto ! #rutto di un al$oritmo, $li in"ut
dell&al$oritmo "ossono essere modi#icati e il risultato "u< essere a$$iornato di conse$uenza. E ora
dun4ue "ossibile #are uno schizzo di$itale di un modello e $enerare centinaia di 'ariazioni,
re$olando i "iC sem"lici "arametri $eometrici. E& inoltre "ossibile incor"orare le "ro"rietF dei
sistemi materiali, i 'incoli di #abbricazione e le lo$iche di assembla$$io in "arametri. E& inoltre
"ossibile ris"ondere all&ambiente ed essere associati'i in senso lar$o. Q I il desi$n "arametrico
"ermette il riconoscimento dei modelli del com"ortamento $eometrico, e la relati'a ca"acitF
"er#ormati'a e le tendenze del sistema. In un riscontro continuo con l&ambiente esterno, 4ueste
tendenze com"ortamentali "ossono 4uindi in#ormare lo s'ilu""o onto$enetico di uno s"eci#ico
sistema attra'erso la di##erenziazione "arametrica dei sotto$ru""iR 7+ensel, Men$es, 200E8.
7
Bi$.1.2.*icerca nel cam"o delle membrane e delle su"er#ici minime, modello #isico, Mo'imento di
membrane di 3. modellate con ,rassho""er Zubin Mohamad Khabazi, Em1ech ;ore9-tudio, AA,
tenuto da Michael +ensel and Achim Men$es, Autunno 200E
,rassho""er ! una "iatta#orma che attra'erso *hinoceros "ermette di ra""ortarsi con $li al$oritmi
$enerati'i e le tecniche di modellazione associati'a. I "rossimi ca"itoli sono "ensati "er combinare
le tematiche $eometriche con $li al$oritmi "er indirizzare alcune "roblematiche "ro$ettuali
architettoniche 'erso un metodo &Al$oritmico&. ,li esem"i sono "ensati allo sco"o di allar$are la
tematica della $eometria e di usare "iC comandi "ossibile.
8
CA'I"3L3_2_L'inizio
9
2_1_Metodo
uesta nuo'a edizione del "recedente QModellazione Al$oritmicaR chiamato ora QAl$oritmi
$enerati'iR ! stata #atta $razie alle richieste dei miei amici di ,rassho""er s"arsi "er il mondo, in
conse$uenza ai cambiamenti che sono stati #atti al "lu$in.
Misto che ,rassho""er ! un "ro$etto in e'oluzione che 'iene modi#icato e inte$rato in maniera
'eloce, mi ! sembrato necessario a$$iornare il libro in 4uesto momento 7e non sono totalmente
con'into che nel momento in cui lo le$$erete, non saranno necessari nuo'i a$$iornamenti8.
;onsiderate che la ma$$ior "arte de$li es"erimenti sono stati #atti con una 'ersione "recedente
del "lu$in, ma ho "ro'ato ad a$$iornarli do'e necessario e sono con'ito che se tro'erete 4ualche
di##erenza, non sarF tro""o di##icile andare a'anti da soli.
/&obietti'o "rinci"e del libro ! 4uello di #ocalizzare l&attenzione su alcune "roblematiche
$eometriche e architettoniche, sui "ro$etti, e sullo s'ilu""o della com"rensione de$li al$oritmi
$enerati'i e della modellazione "arametrica, basata su es"erimenti "ro$ettuali in'ece che su di
una descrizione di ti"o matematica o $eometrica. (er #are ci<, nella ma$$iora "arte dei casi,
"resumer< che 'oi conosciate $li in$redienti di base della discussione e non entrer< nella
de#inizione di $rado della cur'a, se non in alcuni casi in cui lo riterr< necessario.
,rassho""er cresce 'elocemente e sta di'entato una "iatta#orma ade$uata "er la "ro$ettazione di
architetture. (iC che uno strumento o un a""licati'o, "resenta un modo di "ensare la
"ro$ettazione, un metodo chiamato "arametrico, o associati'o. uesto metodo di sta s'ilu""ando
attra'erso $li utenti di tutto il mondo come un esem"io "ratico di intelli$enza distribuita. (oich!
4uesti s'ilu""i di metodi a''en$ono costantemente, e ci sono sem"re a$$iornamenti nel so#tware,
oltre che discussioni interessanti, ti consi$lio di controllare la "a$ina di ,rassho""er. In o$ni caso
in 4uesto ca"itolo 'orrei discutere bre'emente le "roblematiche $enerali dell&area di la'oro e le
basi di ci< che do'remo conoscere 4uello che do'remo conoscere in antici"o.
htt"N??www.,rassho""er>d.com?
2_2_Conoscenze di 2ase
2_2_1_Inter#accia 4 area di lavoro
Accanto ai menu ti"ici di @indows, ci sono altri due "arti im"ortanti nell&inter#accia di
,rassho""erN il "annello dei com"onenti e il ;an'as. Il "annello dei com"onenti #ornisce tutti $li
elementi di cui necessitiamo "er i nostri "ro$etti, mentre il ;an'as ra""resenta l&area di la'oro
do'e inserire i com"onenti e im"ostare i nostri al$oritmi. (otete cliccare su 4ualun4ue o$$etto dai
"annelli e cliccare ancora sul can'as "er "ortarli nell&area di la'oro, o""ure trascinarli. /e altri zone
10
dell&inter#accia sono #acili da es"lorare e di'enteranno #amiliari con l&utilizzo. Ma$$iori in#ormazioni
"otrete tro'arle 4ui
htt"N??en.wi.i.mcneel.com?de#ault.as"U?Mc%eel?EU"licit+istorA(lu$inInter#aceEU"lained.html
Bi$.2.1. (annello dei com"onenti e ;an'as
2_2_2_Componenti
In ,rassho""er 'i sono di'ersi ti"i di o$$etti, "annelli e com"onenti, menu che useremo "er
"ro$ettare. /i "otrai tro'are sotto dieci di##erenti tabelle chiamateN (arams, Math, -ets, Mector,
;ur'e, -ur#ace, Mesh, Intersect, 0Borm
)$ni scheda contiene di'ersi "annelli e altrettanti o$$etti. I comandi sono ordinati all&interno di
4uesti "annelli. ;i sono o$$etti che dise$nano $eometrie 4uali linee, cerchi e ci sono inoltre di'ersi
comandi "er s"ostare, scalare, di'idere e de#ormare 4ueste $eometrie.
uindi alcuni o$$etti dise$nano e $enerano dati, alcuni modi#icano $eometrie o dati esistenti. I
"arametri sono o$$etti che ra""resentato i dati come un "unto o una linea. /i "otete dise$nare dai
"arametri attinenti o li "otete de#inire manualmente da un o$$etto dise$nato direttamente su
11
*hinoceros. I com"onenti sono in'ece o$$etti che #anno 4ualcosa, come muo'ere, orientare o
scom"orre. -olitamente abbiamo biso$no di "ro''edere a recu"erare i dati "ertinenti "er #arli
#unzionare.
;ome ho $iF detto, ad o$ni #unzione corris"onde un o$$etto che "u< essere "ortato sul can'as. In
4uesto manuale user< il termine com"onente "er "arlare di o$ni o$$etto "resente nel "annello dei
com"onenti "er sem"li#icare le cose. Pser< la dicitura VW "er nominarli, in modo che sia #acile
indi'iduarli nel testo. (er esem"io "er indicare il com"onente che $enera un "unto, usero V"ointW.

;om"onente V"ointW 7"unto8
;liccando con il tasto destro su un com"onente, a""arirF un menu che contiene alcuni as"etti di
baseN 4uesto menu ! chiamato Qmenu contestualeR
Menu contestuale
5a ora in "oi do'rete tro'are i com"onenti $iusti dai "annelli ed im"ostare le connessione tra
4uesti com"onenti "er "oter $enerare il 'ostro al$oritmo "ro$ettuale, in modo da 'edere i
risultati nell&area di la'oro di *hinoceros. -e lo scri"tin$ ra""resentauna 'ersione astratta e
codi#icata de$li al$oritmi, con ,rassho""er, il can'as di'enta luo$o di ra""resentazione 'isuale
de$li al$oritmi, come un dia$ramma di #lusso che tra le mani del "ro$ettista risulta "iC sensibile e
#lessibile.
12
Bi$.2.2 5ia$ramma di #lusso 's Al$oritmo di ,rassho""er
5e#inizione delle $eometrie esterne
/a ma$$ior "arte delle 'olte, "artiremo con l&im"ortazione sul can'as di ,rassho""er di o$$etti
dise$nati su *hino. (otrF trattarsi di un "unto, una cur'a o una su"er#icie #ino ad o$$etti multi"li e
com"lessi. -i$ni#ica che "otremo usare i nostri o$$etti creati manualmente, o""ure o$$etti
$enerati tramite scri"t da *hinoceros su ,rassho""er come sor$ente esterna. (oichT o$ni
$eometria di ,rassho""er necessita di un com"onente nel can'as "er "oterci la'orare, dobbiamo
de#inire le nostre $eometrie esterne nel can'as attra'erso i $iusti com"onenti. (er 4uesta moti'o
"ossiamo $uardare nella scheda (arams, nel "annello ,eometrA. ;&! una lista di di'erse ti"i di
$eometrie che "otete usare "er de#inire un o$$etto esterno dall&area di la'oro di *hinoceros.
5o"o a'er "ortato il com"onente $eometrico a""ro"riato, de#iniamo l&o$$etto di rhino cliccando
con il tasto destro sul com"onente e sce$liendo Qset one...?set multi"le...R 7im"osta un....?im"osta
multi"li.....8 "er asse$nare $li o$$etti ai com"onenti. )ra a'ete biso$no di selezionare la 'ostra
$eometria su *hinoceros. Im"ortando uno o "iC o$$etti con un com"onente, 4uesti di'entano
o$$etti di ,rassho""er e "ossono ora essere usati "er o$ni sco"o.
Bi$.2.> I di'ersi ti"i di $eometria in (aramsW,eometrA
13
Bacciamo un sem"lice esem"io
Abbiamo tre "unti nella #inestra di *hinoceros e 'o$liamo dise$nare un trian$olo "assante "er
4uesti tre "unti in ,rassho""er. ;ome "rima cosa dobbiamo im"ortare 4uesti "unti in
,rassho""er. Abbiamo biso$no di tre com"onenti V"ointW che "ossiamo tro'are in
(aramsW,eometrAW(oint e "er o$nuno "ossiamo andare sul menu contestuale 7tasto destro8 e
selezionare &set one "oint& 7im"osta un "unto8 e 4uindi selezione il "unto dalla #inestra di rhino.
7Bi$. 2.J8
Bi$.2.J. Im"ostare il "unto da *hinoceros attra'erso un com"onente di ,rassho""er
Bi$. 2.K. Il can'as di ,rassho""er e i tre "unti de#initi che di'entano delle croci 7U8 rosse nella
#inestra di rhino. +o rinominato i com"onenti con il nome (oint A?3?; tramite la "rima 'oce del
menu contestuale, in modo da riconoscerli #acilmente sul can'as.
14
;onnessione di com"onenti
;i sono di'erse azioni che "ossiamo a""licare ai com"onenti. ,eneralmente un com"onente
"rende dei dati da una o da "iC sor$enti e restituisce dei risultati. Abbiamo biso$no di connettere
dei com"onenti che includano i dati in in$resso 'erso dei com"onenti che li "rocessino e colle$are
a loro 'olta i risultati ad altri com"onenti che necessitano di 4uesti risultati e cos: 'ia.
1ornando all&esem"io, se andiamo nella scheda delle ;ur'e, nel "annello (rimiti'e, tro'erete il
com"onente VlineW. (ortatelo sul can'as. ;onnettete 4uindi V"oint AW all&in$resso A di VlineW e
V"oint 3W all&in$resso 3 7"er connettere i com"onenti, cliccate sem"licemente sul semicerchio
nella "arte destra di V"ointW e trascinatalo 'erso l&altro semicerchio sul com"onente destinazione
7l&in$resso A?3 di VlineW8. A 4ueste "unto 'ederete che *hinoceros ha dise$nato una linea tra i due
"unti.
Bi$.2.D ;onnessione del com"onente V"ointW al com"onente VlineW trascinando dall&uscita del
V"oint 3W all&in$resso di VlineW.
)ra a$$iun$ete un altro com"onente VlineW "er il V"oint 3W e V"oint ;W. -tessa cosa tra V"oint ;W
e V"oint AW con il terzo com"onente VlineW. Eh si= ;&! un trian$olo nella #inestra di *hino.
Bi$. 2.L. ;om"onente VlineW dise$nato tra due com"onenti V"ointW. ;ome 'edete o$ni
com"onente "u< essere usato "iC di una 'olta come sor$ente di in#ormazione "er altre azioni
15
Bi$. 2.E -e ora cambiate manualmente la "osizione dei "unti direttamente su *hino, la "osizione
dei "unti su ,rassho""er 74uelli con la 08 e il trian$olo risultante 'erranno modi#icati di
conse$uenza, ma le linee tra i "unti 7il trian$olo8 rimarranno e si a$$iorneranno.
;ome 'edete in 4uesto "rimo esem"io, la tecnica associati'a rende "ossibile mani"olare i "unti,
mantenendo la $eometria del trian$olo #atto di "unti senza che siano necessarie ulteriori
modi#iche. /&idea ! 4uindi di "re"arare $li o$$etti 7&alimentare& $li in"ut de$li al$oritmi8, im"ostare
le relazioni tra $li o$$etti e a$$iun$ere altre mani"olazioni 7le #unzioni de$li al$oritmi8 e $enerare il
"ro$etto 7risultato dell&al$oritmo8. /a'oreremo ancora su 4uesto concetto "er s'ilu""are la
com"rensione de$li al$oritmi.
In"ut?)ut"ut
;ome $iF detto, o$ni com"onente di ,rassho""er ha dei connettori in in$resso 7in"ut8 e in uscita
7out"ut8, il che si$ni#ica che il com"onente "rocessa i dati in in$resso e li restituisce in uscita. /a
"orta di In"ut si tro'a sulla "arte sinistra del com"onente, mentre 4uella di out"ut si tro'a a
destra. I dati arri'ano da o$ni sor$ente colle$ata alla sezione In"ut del com"onente e in )ut"ut
abbiamo il risultato che il com"onente $enera attra'erso una s"eci#ica #unzione.
(er sa"erne di "iC 7testo in in$lese8
htt"N??en.wi.i.mcneel.com?de#ault.as"U?Mc%eel?EU"licit+istorAMolatile5ataInheritance.html
E& sem"re necessario sa"ere di che ti"o di in"ut a'ete biso$no "er 4uella s"eci#ica #unzione e
cosa si otterrF do"o il "rocesso. (arleremo ancora in se$uito dei di'ersi ti"i di dati che do'remo
"rocurarci. (er a'ere ma$$iori s"ie$azioni, 'i su$$erisco di tenere il mouse so"ra o$ni connettore
in in$resso o uscitaN a""arirF una nota in cui "otrete le$$ere il nome, il ti"o di dato necessario, se !
stato im"ostato un 'alore "rede#inito o no, e so"rattutto la #unzione del com"onente.
Bi$.2.O /asciando il "untatore del mouse so"ra il connettore in"ut?out"ut del com"onente a""are
una #inestra di su$$erimento.
16
;onnessioni Multi"le
A 'olte ! necessario connettere ad un com"onente "iC di una sor$ente di dati. Imma$inate,
nell&esem"io se$uente, di 'oler tracciare due linee dal V"oint AW al V"oint 3W e "oi "er il V"oint ;W.
(otete usare due di'ersi com"onenti VlineW o""ure usare un com"onente VlineW connettendo
entrambi il "unto 3 e il "unto ; alla lettera 3 del com"onente VlineW. (er #are ci<, ! necessario
"remere il tasto -hi#t nel momento in cui si connette la seconda sor$ente di dati al com"onente.
-enza 4uesto accor$imento ,rassho""er sostituirF il secondo connettore al "rimo. uando si
"reme -hi#t, sul "untatore a""are una circon#erenza 'erde con una "iccola icona 7X8 che
normalmente ! $ri$ia. (otete anche usare ;trl "er disconnettere un com"onente da un altro
7normalmente ! "ossibile #arlo anche usando il menu contestuale8. In 4uesto caso la circon#erenza
attorno al "untato 'errF mostrata in rosso con una "iccola icona 798
Bi$. 2.10 ;onnessione multi"la "er un com"onente usando il tasto -hi#t
Il codice dei colori
-u ,rassho""er esiste un sistema di codici dei colori il cui sco"o ! mostrare lo QstatoR del
com"onente.
Bi$. 2.11 Il codice dei colori
Pn com"onente di colore $ri$io indica che non ci sono "roblemi e il ti"o di dato de#inito ! $iusto o
comun4ue il com"onente la'ora in maniera corretta. /&arancio indica in'ece che dobbiamo #are
attenzione= ;&! almeno un "roblema che do'e essere risolto a##inch! il com"onente continui a
#unzionare. Il com"onente rosso indica una errore e non "u< #unzionare in 4uesta situazione. /a
sor$ente di errore de'e essere sco"erta e risolta "er consentirne l&utilizzo. (otrete tro'are un
"rimo aiuto ri$uardante l&errore nel menu contestuale del com"onente 7menu contestualeW
*untime warnin$?error8 e 4uindi controllare i dati in in$resso "er ca"ire il moti'o del "roblema. Il
colore 'erde si$ni#ica in'ece che il com"onente ! selezionato. /a $eometria associata al
17
com"onente stesso di'enta anch&essa 'erde nella #inestra di *hinoceros 7mentre tutte le $eometrie
"rede#inite su ,rassho""er sono rosse8.
Ante"rima
1utti i com"onenti che "roducono un o$$etto in *hinoceroshanno un&o"zione di 'isualizzazione di
ante"rima
nel "ro"rio menu. /a "ossiamo usare "er nascondere o mostrare le $eometrie nell&area di la'oro.
)$ni ante"rima non selezionata 7out"ut nascosto8 #a si che il nome del com"onente di'enti
retinato. -olitamente usiamo l&o"zione di ante"rima "er nascondere $eometrie non desiderate,
4uali "unti di base e le linee in modelli com"lessi, "er e'itare distrazioni. uesta o"zione, in
modelli com"lessi, consente di "rocessare i dati in maniera "iC 'eloce, "erci< ! me$lio nascondere
le $eometrie di base 4uando non ! necessario 'ederle.
2_2_3_ Com2inazione di dati
(er tanti com"onenti di ,rassho""er, ! sem"re "ossibile indicare una lista di dati anzichT un solo
in"ut. -i tratta, in "ratica, di creare una lista di "unti, "er esem"io, e connetterli ad un com"onente
VlineW "er ra""resentare "iC linee contem"oraneamente anzichT una sola. (rocurandoci le
in#ormazioni necessarie sarF dun4ue "ossibile dise$nare centinaia di o$$etti "artendo da un solo
com"onente.
,uardiamo il se$uente esem"ioN
+o due di'ersi insiemi, o$nuno dei 4uali contenente sette "unti. +o usato due com"onenti V"ointW
e ho im"ostato &set multi"le "oint& 7im"osta "unti multi"li8 "er immettere tutti i "unti "iC alti in un
$ru""o e tutti i 4uelli "iC bassi nell&altro. ;ome 'edete, connettendo 4uesti due $ru""i di "unti ad
un com"onente VlineW, 'en$ono $enerate sette linee "assanti "er i "unti. (ossiamo 4uindi
$enerare "iC di un o$$etto da ciascun com"onente. 7#i$. 2.128
Bi$.2.12 Im"ostazione di "unti multi"li tramite i 4uali 'en$ono $enerate delle linee
Ma cosa "otrebbe succedere se nei due insiemi il numero di "unti non ! lo stesso 2
%ell&esem"io che se$ue, ho sette "unti nella ri$a su"eriore e dieci in 4uella in#eriore. Abbiamo
dun4ue biso$no dun4ue di introdurre il concetto di amministrazione dei dati in ,rassho""er,
chiamato combinazione 7o incrocio8 dei dati. -e date un&occhiata al menu contestuale del
com"onente, "otrete 'edere che ci sono tre o"zioni chiamate
18
-hortest list 7lista "iC corta8
/on$est list 7lista "iC lun$a8
;ross *e#erence 7ri#erimento incrociato8
5ate un&occhiata alle di##erenze mostrate in #i$ura 2.1>
E& e'idente che shortest list "rodurrF come risultato una serie di linee "ari al numero dei dati della
lista "iC corta, mentre la lon$est list creerF un numero di linee "ari al numero di dati "resenti nella
lista "iC lun$a, combinando l&ultimo 'alore della lista "iC corta "iC di una 'olta. /&o"zione ;ross
*e#erence connette tutti i "unti secondo tutte le "ossibili combinazioni. E& un&o"zione ad alto
consumo di memoria e 4ualche 'olte ! "ossibile sia necessario un "o& di tem"o "erch! la scena
'en$a a$$iornata.
Misto che le imma$ini sono chiare, mi #ermo 4ui con la descrizione. (er ma$$iori in#ormazioni
consultate il se$uente lin. 7testo in in$lese8
htt"N??en.wi.i.mcneel.com?de#ault.as"U?Mc%eel?EU"licit+istorA5ata-treamMatchin$Al$orithms.html
Bi$. 2.1> combinazione di dati AN shortes list, 3N lon$est list e ;N cross re#erence
19
2_2_! 5elp per i componenti 6men7 contest+ale8
;onsiderando che non ! utile s"ie$are tutti i com"onenti, la cosa mi$liore ! 4uella di "ro'arli e
ca"ire come usarli $radualmente durante $li es"erimenti. -u$$erisco dun4ue di $iocarci, sce$liere
un com"onente, andare sul menu contestuale dello stesso 7tasto destro8 e le$$ere l&+el" che sarF
di $rande aiuto "er ca"ire come 4uesto #unzioni, 4uale ti"o di dati siano necessario e che ti"o di
dati in uscita "roduce. ;i sono altre utili caratteristiche nel menu che 'edremo "iC a'anti.
Bi$. 2.1J Menu contestuale e "arte relati'a all&+el" del com"onente
2_2_$ .icerca e aggi+nta di +n componete tramite tastiera
(er tro'are ra"idamente un com"onente di cui conosciamo il nome, anzichT "erdere tem"o
all&interno delle schede dei com"onenti, ! "ossibile #are do""io clic. sul can'as e scri'ere il nome
del com"onente stesso "er "ortarlo nell&area di la'oro. (er coloro che sono soliti usare la tastiera
"er la'orare, 4uesto "otrebbe essere un bel trucco.
Bi$. 2.1K *icerca del com"onente VlineW nel menu contestuale. (er
atti'arlo ! necessario #are do""io clic. sul can'as, e di$itare il nome.
Il com"onente 'errF in 4uesto modo "ortato nell&area di la'oro.
20
;A(I1)/)H>H Insiemi di dati e Matematica
21
Capitolo_3_ Insiemi di dati e Matematica
-ebbene ne$li a""licati'i "er il >5 "ossiamo selezionare le $eometrie dai menu e dise$narle in
maniera es"licita senza "ensare a$li as"etti matematici che stanno dietro, "er "oter la'orare con
$li al$oritmi $enerati'i, come su$$erisce il nome, dobbiamo "ensare ai dati e alla matematica "er
creare dei 'alori in entrata "er alimentare l&al$oritmo e $enerare o$$etti. (oichT non 'o$liamo
dise$nare tutto a mano, abbiamo biso$no di alcune sor$enti di dati come in$redienti di base "er
alimentare l&al$oritmo in modo da #arlo la'orare "iC di una 'olta "er "rodurre "iC di un o$$etto.
Il modo in cui l&al$oritmo la'ora 7il #lusso di la'oro8 ! sem"lice. (re'ede che ci siano dei dati in
in$resso, il "rocesso di 4uesti dati, e un risultato in out"ut. uesto "rocesso a''iene in tutto
l&al$oritmo o, se $uardiamo attentamente, in o$ni sua sin$ola "arte. uindi in'ece di usare il
metodo di dise$no con'enzionale, abbiamo biso$no di "rocurarci le in#ormazioni, le 4uali 'erranno
"rocessate attra'erso un al$oritmo e 'errF creata una $eometria come risultato #inale. ;ome $iF
detto, "er esem"io, anzichT co"iare un elemento "er &100 'olte& nella &direzione della U "ositi'a&
una distanza di &>& "ossiamo dire all&al$oritmo di co"iare l&elemento &100 'olte& in una &direzione
"ositi'a di 0& con un inters"azio di >. (er #are ci< de#iniamo &100& come numero di co"ie, &U "ositi'a&
come direzione e &>& come distanza e l&al$oritmo #arF il la'oro "er 'oi automaticamente.
1utto ci< che #acciamo in $eometria ha un minimo di matematica alle s"alle. (ossiamo usare
4ueste sem"lici #unzioni matematiche nei nostri al$oritmi con i numeri come o$$etti, "er $enerare
in#inite combinazioni $eometriche. -i "arte con numeri e insiemi di dati numerici.
5iamo un&occhiata, ! molto "iC #acile di 4uanto sembri=
3_1_ Insiemi di dati n+merici
1utta la matematica e $li al$oritmi iniziano con i numeri. I numeri sono il codice nascosto
dell&uni'erso= (er iniziare, "rima di tutto abbiamo biso$no di dare un&occhiata ai com"onenti
numerici, "er 'edere come ! "ossibile $enerare di'ersi insiemi di dati numerici in ,rassho""er, e
4uindi il modo in cui li "ossiamo usare "er dise$nare 4ualcosa.
-in$olo 'alore numerico
Il $eneratore di numeri "iC usato ! il com"onente V%umber sliderW 7(aramsW-"ecialW%umber
slider8 che $enera un numero modi#icabile manualmente. (u< essere un intero, reale, "ari o dis"ari
con dei limiti in#eriori o su"eriori. ueste im"ostazioni "ossono essere re$olate dalla 'oce &Edit& del
menu contestuale.
(er im"ostare un sin$olo 'alore numerico "otete andare su (aramsW(rimiti'eWInte$er ? %umber
"er im"ostare un 'alore intero o reale attra'erso il menu contestuale di VIntW?V%umW
-erie di numeri
22
(ossiamo "rodurre una lista di numeri attra'erso il com"onente VseriesW 7-etsW-e4uenceWseries8
uesto com"onente "roduce una lista di numeri che ! "ossibile modi#icare attra'erso il "rimo
numero 7-8, il "asso 7%8, e il numero di 'alori della serie 7;8
0, 1, 2, >, I , 100
0, 2, J, D, I , 100
10, 20, >0, J0, I , 1000000
*an$e di numeri
(ossiamo di'idere un ran$e numerico tra un 'alore minimo e massimo con il numero di ste" e
"rodurre un ran$e numerico. 5obbiamo de#inire un inter'allo "er de#inire il limite in#eriore e
su"eriore oltre che il numero di ste" in cui ! di'iso 7-etsW-e4uenceW-eries8
)$ni inter'allo numerico 7"er esem"io da 1 a 108 "u< essere di'iso in un numero in#inito di "arti
1, 2, >, I , 10
1, 2.K, K, I , 10
1, K, 10
23
5omain 7Inter'als8
5omain 7&Inter'al& nelle 'ersioni "recedenti8 crea un ran$e di numeri reali tra un 'alore in#eriore e
su"eriore. Esistono domini monodimensionali e bidimensionali di cui si tratterF in se$uito. E&
"ossibile de#inire un dominio "re#issato usando il com"onente (aramsW(rimiti'eW 5omain ?
5omain
2
o "ossiamo andare in MathW5omainW5omain ? 5omain
2
"er $enerare un $ru""o di
com"onenti "er la'orare in maniera "iC #lessibili.
I domini da soli non "roducono numeri. -olo solo de$li estremi, con un limite su"eriore e in#eriore.
;ome sa"ete, o$ni due numeri reali ne esistono in#initi. (ossiamo usare di'erse #unzioni "er
di'iderli e usare i #attori di di'isioni come 'alori numerici. (er 'edere le di##erenze e $li usi,
"ro'iamo altri esem"i.
3_2_ '+nti e griglie di p+nti
I "unti sono tra $li elementi di base "er le $eometrie e $li al$oritmi $enerati'i. I "unti se$nano
"osizioni "recise nello s"azio, "ossono essere usati come "unti di "artenza "er le cur'e, centri di
circon#erenze, ori$ini di "iani o s'ol$ere altri ruoli. In ,rassho""er "ossiamo $enerare "unti in
di'ersi modiN
9 (ossiamo sem"licemente sce$liere un "unto o una serie di "unti dalla scena e im"ortarli dentro
lo s"azio di la'oro attra'erso il com"onente V"ointW 7(aramsW,eometrAW"oint8 ed usarli "er
4ualun4ue sco"o 7uesti "unti "ossono essere modi#icati s"ostandoli manualmente sulla scena di
rhino, e incidere sull&intero "ro$etto G ;ontrollate $li esem"i nel ca"itolo 28.
9 (ossiamo inserire i "unti attra'erso il com"onente V"oint UAzW 7'ectorW"ointW"oint UAz8 e
alimentare le coordinate dei "unti attra'erso dei numeri, o""ure alimentarli da di'ersi insiemi di
dati, in base alle nostre necessitF.
9(ossiamo creare una $ri$lia di "unti attra'erso i com"onenti V$rid heUa$onalW e V$rid
rectan$ularW
9(ossiamo estrarre i "unti da altri $eometrie in di'ersi modi, 4uali "unti #inali, "unti centrali etc
7)-%A(8
91al'olta "ossiamo usare i "iani 7ori$ini8 e i 'ettori 7estremitF8 come "unti di "artenze "er altre
24
$eometrie e 'ice'ersa.
A'ete 'isto i "rimi esem"i "er la creazione di "unti nel ca"itolo 2, ma "ossiamo dare un&occhiata a
delle modalitF che "roducano sistemi di "unti attra'erso i com"onenti VseriesW, Vran$eW e
Vnumber sliderW e altri strumenti che $enerano dati numerici.
Bi$. >.1 Alimentazione di un com"onente V"oint UAzW o V"tW attra'erso tre Vnumber sliderW "er
$enerare un "unto, inserendo manualmente le coordinate "er U,A e z
Bi$. >.2 ,enerazione di una $ri$lia di "unti attra'erso i com"onenti VseriesW e V"tW. Mentre il
Vnumber sliderW controlla la distanza attra'erso i "unti 7dimensione dello ste"8 e il secondo
controlla il numero di "unti nella $ri$lia attra'erso il numero di 'alori del com"onente VseriesW 7/a
combinazione dei dati di V"tW ! im"ostata su cross re#erence "er creare una $ri$lia, ma "otete
"ro'are tutte le combinazioni8.
Bi$. >.> 5i'isione di un ran$e numerico da 0 a 1 attra'erso un numero 7K8 controllabile
manualmente e alimentazione di un com"onente V"tW con la combinazione &lon$est list&. In 4uesto
caso abbiamo di'iso il ran$e "er K, creando D "unti tra il "unto di ori$ine 70,08 e 71,18 sulla #inestra
di *hinoceros7! "ossibile modi#icare il limite in#eriore o su"eriore del ran$e "er modi#icare le
coordinate dei "unti. (er #are ci< ! necessario cliccare con il tasto destro nel connettore 5 del
com"onente 7indicante il dominio8 e modi#icarlo8. In se$uito 'edremo altri modi "er la'orare con
$li inter'alli e e modi#icarli.
(oichT il nostro "rimo es"erimento sembra #acile, "ossiamo andare a'anti, ma do'ete "ro''edere
25
a s"erimentare il #unzionamento di 4uesti com"onenti "er conto 'ostro, creando di##erenti $ri$lie
di "unti con di##erenti "osizioni e distanze
3_3_ Altri insiemi n+merici
-et di numeri casuali
Mo$liamo ora creare una distribuzione casuale di numeri "er di'ersi sco"i. ;i< di cui abbiamo
biso$no, ! un set di numeri casuali al "osto dei com"onenti VseriesW e V"tW. -elezioni 4uindi un
com"onente VrandomW 7casuale8 da -etW-e4uenceW*andom. Pn com"onente VrandomW $enera
una lista di numeri casuali di cui "ossiamo controllare il dominio. Il com"onente VrandomW
"roduce dun4ue un insieme di numeri casuali, ma noi non 'o$liamo a'ere $li stessi 'alori "er U,A e
z. (er e'itare $li stessi 'alori, o$ni direzione de'e a'ere dei numeri casuali indi"endenti. Abbiamo
4uindi biso$no o di mischiare la lista con i numeri, o""ure di tre liste di numeri casuali, create da
tre com"onenti VrandomW con di##erenti seeds 7il seed, seme, ! la "arte che &innesca& la
$enerazione di numeri casuali8.
Attra'erso l&alimentazione del com"onente VrandomW "er la sua "orta - con numeri di'ersi,
$eneriamo di'ersi numeri casualiN se non #acessimo in 4uesto modo, tutti i com"onenti random,
$enererebbero $li stessi 'alori.
Bi$. >.J ,enerazione un set di "unti casuali. Il com"onente VrandomW "roduce 10 numeri casuali
che sono controllati da un Vnumber sliderW. /a lista ! 4uindi mischiata dal com"onente VYitterW
7-etsW-e4uenceWZitter8 "er le coordinate delle [, e ancora un&altra 'olta "er le coordinate Z.
Molendo ! "ossibile 'edere altri ordinamenti di "attern all&interno della $ri$lia 7connettendo un
VrandomW alla U, A e z del V"tW senza usare VYitterW8. /a combinazione di dati ! im"ostata su lon$est
list.
In #i$ura >.J tutti i "unti sono distribuiti in uno s"azio com"reso tra 0 e 1 in o$ni direzione del
sistema di ri#erimento. (er modi#icare l&area di distribuzione, "ossiamo modi#icare il dominio
numerico, nel 4uale il com"onente VrandomW "roduce numeri. uesto ! "ossibile im"ostando
manualmente il &dominio del ran$e numerico casuale& direttamente su *hinoceros cliccando con il
tasto destro sulla "orta * 7random numbers domain ? dominio dei numeri casuali8 del
com"onente o de#inendo il dominio dell&inter'allo modi#icando i 'alori attra'erso $li slider 7#i$. >.K8
26
Bi$. >.K Im"ostazione di un dominio attra'erso il com"onente VdomainW "er modi#icare l&area di
distribuzione dei "unti 7date un&occhiata alla densitF delle $ri$lia in scena ris"etto a 4uella della #i$.
>.J8
-erie di Bibonacci
;he ne dite di creare una $ri$lia con una s"aziatura non uni#orme2 5iamo un&occhiata ai
com"onenti che abbiamo a dis"osizione. E& necessario dotarsi di una serie di numeri che crescano
ra"idamente e ancora, sotto la scheda -ets e il "annello -e4uence, "ossiamo tro'are il
com"onente V#ibonacciW
uesto ra""resenta una serie di i numeri in cui i "rimi due numeri de#initi 70 e 18 e il numero
successi'o, sono la somma dei due "recedenti.
%708\0, %718\1, %728\1, %7>8\2, %7J8\>, %7K8\K, I , %7i8\%7i928X%7i918
5i se$uito alcuni numeri della serieN 0, 1, 1, 2, >, K, E, 1>, 21, >J, KK, EO, I
;ome "otete 'edere i numeri crescono 'elocemente
In 4uesto caso ho usato una serie V#ibonacciW 7-etsW-e4uenceWBibonacci8 "er "rodurre numeri
incrementali che alimentino il com"onente V"tW
Bi$. >.D Psando una serie V#ibonacciW "roduciamo un incremento delle distanza 7con una
s"aziatura 'ariabile8 "er $enerare dei "unti. Il numero dei "unti "u< essere controllato con un
Vnumber sliderW
27
3_!_1+nzioni
I com"onenti "rede#initi contenuti su ,rassho""er, "otrebbero non essere sem"re il modo
mi$liore "er dise$nare. (otreste a'ere biso$no di $enerare dei dati "articolari o almeno
mani"olare 4uelli dei com"onenti esistenti. (er #are ci<, ! necessario utilizzare #unzioni
matematiche e modi#icare la "otenza, le distanze,....di numeri. Il com"onente #unzione ! dun4ue
un o$$etto ca"ace di ese$uire #unzioni matematiche su ,rassho""er. Esistono #unzioni con di'erse
'ariabili 7MathW-cri"t8. 1al'olta "otrebbe essere necessario alimentare le #unzioni con dati
"ertinenti 7non sem"re numeri, ma anche 'alori booleani, strin$he etc8 che 'erranno ese$uite in
base a$li in"ut. (er de#inire una #unzione ! "ossibile cliccare con il tasto destro sulla "orta B del
com"onente e di$itarla direttamente o usare l&editor di es"ressioni matematiche. uesto editor, ha
tante #unzioni "rede#inite e una libreria di #unzioni matematiche come aiuto.
E& im"ortante "orre attenzione al nome delle 'ariabili da usare nelle es"ressioni e i dati associati
che "ossono essere combinati nel com"onente delle #unzioni.
Bunzioni matematiche
;ome $iF scritto, usare un com"onente "rede#inito non ! sem"re basta, ma "er ottenere i risultati
aus"icati "ossiamo usare le #unzione matematiche "er modi#icate i set di dati e alimentarli "er
$enerare $eometrie.
Bi$. >.L ;erchio "arametrico creato tramite #unzione matematica. (ossiamo tro'are sia la #unzione
VsinW 7seno8 e VcosW 7coseno8 in MathW1ri$. 7B7U8\U]2(i8
Bi$. >.E Altri es"erimenti. -erie di "unti in cui si ! de#inita una serie V#ibonacciW e sem"lici #unzioni
matematiche 7UN B7U8\U?100, AN B7U8\U?108. /a #unzione selezionata in 'erde B7U8 ! una #unzione che
a$$iun$e 2 al 'alore del Vnumber sliderW 7B7U8\UX28 "er creare 'alori di una serie e4ui'alenti ai
numeri di Bibonacci 7la serie di #ibonacci ha altri due "rimi 'alori8. /&obietti'o ! di mostrare com&!
sem"lice mani"olare 4uesti set di dati e $enerare di conse$uenza di'erse $eometrie.
28
Bi$. >.O Pn Vran$eW di numeri da 0 a 2 molti"licato "er 2(i con VBunctionW che crea un ran$e
numerico da 0 a J(i. uesto ran$e ! di'iso in D0 "arti. Il risultato alimenta il com"onente V"tW
attra'erso la se$uente #unzione matematicaN
0\t ] -in7t8, [\t ] ;os7t8
/a conoscenza tri$onometriche "er i com"onenti VsinW e VcosW ! data "er scontata . (er a""licare
t]sin?cos ho usato il com"onente Vmulti"licationW da MathW)"erators. ui sarF "ossibile tro'are
$li strumenti adatti "er ulteriori o"erazioni matematiche.

Bi$. >.10. Eccone una com"lessa= Al$oritmo creata da due s"irali in'ertite create da due insiemi di
"unti. Il dominio del com"onente Vran$eW 'a da 0 a J, ed ! di'iso in J00 "unti e 4uindi molti"licato
attra'erso la #unzione che alimenta i due "untiN
(rimo V"tWN 0N B7U8 \ U ] -in7U]2 (i8, [N B7U8 \ U ] ;os7U ] 2 (i8
Il secondo V"tW ha la stessa #unzione ma in'ertita
29
Bi$. >.11 Moebius da un insieme di "unti. VuW e V'W sono com"onenti Vran$eW successi'amente
rinominati. Il dominio numerico di o$nuno "u< essere letto nella scena. /a #unzione matematica
che $enera un Moebius ! la se$uente
0\ -in7u8]792X']sin7u?288
[\ ;os7u8]792X']sin7u?288
Z\ '];os7u?28
,iocherellare con le #unzioni matematiche "u< "ortare 'ia un&in#initF di tem"o= (otrete tro'are
tante risorse matematiche da combinare i 'ostri insiemi numerici. /a cosa im"ortante ! che a'ete
la "ossibilitF di mani"olare i dati ori$inali e $enerare di'ersi 'alori numerici, e con 4uesti
alimentari altri com"onenti.
;ome a'ete 'isto da sem"lici set di dati numerici, ! "ossibile "artire "er $enerare $eometrieN
4uesto mostra come #unzionano $li al$oritmi. 5a ora in a'anti, abbiamo biso$no di costruire la
nostra conoscenza basata su di'ersi concetti $eometrici con il metodo de$li al$oritmi, "er
a##rontare i "roblemi e le situazioni "ro$ettuali, come 4uesta s"lendida su"er#icie Enne"er 7dal
"lu$in Math #unction di rhino8
30
3_$_ )ati /ooleani
I dati non si limitano ai soli numeri. ;i sono altri ti"i di dati che sono utili "er di##erenti sco"i nella
"ro$rammazione al$oritmica. Misto che stiamo trattando al$oritmi, do'remo sa"ere che il loro
"ercorso non ! sem"re lineare. 1al'olta abbiamo biso$no di decidere 4uando #are 4ualcosa e
4uando #are altro. I "ro$rammatori chiamano 4uesta costruzione &costrutto condizionale.& Il
risultato del costrutto decisionale ! un sem"lice si o no. (er $li al$oritmi usiamo i dati booleani
"er ra""resentare 4uesto ti"o di ris"osta. I dati booleani ra""resentano solo il 1*PE? ME*) e il
BA/-E?BA/-). -e il costrutto ris"ecchia i criteri, il res"onso sarF 1*PE, altrimenti BA/-E. ;ome
'edremo in se$uito, 4uesto ti"o di dato ! 'eramente utile in di'erse situazioni, so"rattutto 4uando
! necessario decidere relati'amente a 4ualcosa, selezionare de$li o$$etti secondo un criterio,
ordinare o$$etti etc.
Bi$. >.12 -ono stati $enerati dieci 'alori VrandomW e, attra'erso il com"onente Vlar$erW 7"iC
$rande8 7MathW)"eratorsW/ar$er8, 'o$lio 'edere se 4uesti numeri sono in#eriori ad un determinato
Vu""erHlimitW 7limite su"eriore8 7'alore stabilito tramite un Vnumber sliderW8 o""ure no. ;ome
'edete, se i numeri ris"ecchiano i criteri 7cio! che sono "iC "iccoli del limite su"eriore8, il
com"onente restituirF &1*PE& o""ure &BA/-E& se non li ris"ecchia. +o usato il com"onente V"anelW
da (aramsW-"ecial "er mostrare il contenuto di VrandomW e il risultato del com"onente Vlar$erW.
Bi$. >.1> (er il "rossimo "asso, ho $enerato >0 'alori con il com"onente VseriesW. +o usato il
com"onente VmodulusW 7MathW)"eratorsWModulus8 "er cercare il resto della di'isione dei numeri
"er tre e ho "assato il risultato al com"onente Ve4ualsW 7u$uale8 "er 'edere se il risultato ! u$uale
a zero o""ure no. ;ome "uoi 'edere il risultato ! un altro V"anelW con i 'alori 1*PE?BA/-E
;ome "otete 'edere ne$li esem"i, ci sono di'ersi "ossibilitF di controllare i criteri attra'erso i 'alori
31
numerici ed a'ere dei 'alori booleani come risultati. Ma tal'olta ! necessario sa"ere se le
situazioni 'anno incontro ad altri criteri, e 'o$liamo decidere in base ai risultati. (er esem"io, in
base all&es"erimento "recedente, 'o$liamo 'edere 4uando un 'alore ! in#eriore ad un determinato
limite su"eriore e allo stesso tem"o se ! di'isibile "er tre. (er conoscere il risultato, abbiamo
biso$no di o"erare sul risultato di entrambe le #unzioni, il che si$ni#ica che dobbiamo o"erare con
un 'alore booleano. -e controllate sotto la scheda Math nel "annello 3oolean, sco"rirete che ci
sono di'ersi com"onenti che la'orano con i dati di ti"o booleano.
Bi$. >.1J ;ombinazione di entrambi i concetti. E& stato usato il com"onente V,ate AndW
7MathW3ooleanW ,ate And8 e ho colle$ato entrambe le #unzioni "er creare una con$iunzione tra
loro. ;ome 'edete, 4uesti 'alori numerici, che sono in#eriori di un limite su"eriori e di'isibile "er
tre, 'anno incontro ai criteri e "assano il 'alore 1*PE alla #ine.
%el "annello 3oolean, "ossiamo tro'are di'ersi o"eratori booleani, che "otete usare in maniera
combinata "er costruire i 'ostri criteri decisionali, e costruire i 'ostri "ro$etti basati su 4ueste
res"onsi. 5iscuteremo ancora in se$uito su come usare i 'alori booleani.
3_6_ C+ll list
;i sono molte ra$ioni "er cui "ossiamo "ossiamo a'ere la necessitF di selezionare alcuni o$$etti da
un dato insieme e non a""licare una stessa #unzione a tutti. (er #are 4uesto, abbiamo biso$no sia
di selezionare alcuni elementi s"eci#ici da una lista, sia di ometterne altri. 1ra le innumere'oli
strade a dis"osizione "ossiamo iniziare con 4uella che ci "orta ad omettere ? #iltrare le liste di dati.
Al momento esistono tre com"onenti di ti"o VcullW "er #iltrare una lista di dati su ,rassho""er.
Mentre Vcull %thW tralascia un elemento o$ni % di una lista data, Vcull "atternW "rende un "attern
di ti"o booleano 71*PE?BA/-E8 e #iltra una lista di dati basata su 4uesto "attern. uesto si$ni#ica
che o$ni elemento associato ad un 'alore 1rue nella lista booleane "assa, mentre 4uelli associati a
Balse, 'en$ono omesso dalla lista stessa. V;ull indeUW in'ece, #iltra una lista di dati attra'erso de$li
indici numerici.
-e i numeri dei 'alori nella lista di dati e nella lista booleana sono $li stessi, o$ni elemento della
lista di dati 'iene 'alutato dal corris"ondente elemento nella lista booleana. Ma ! "ossibile de#inire
32
un sem"lice "attern di 'alori booleani 7".e. BA/-E?BA/-E?1*PE?1*PE $iF "rede#initi nei
com"onenti8 e il com"onente VcullW rie"eterF lo stesso "attern "er tutte $li elementi della lista di
dati.
(er ca"ire me$lio, 'o$liamo 4ui introdurre alcuni modi "er "oter selezione le nostre $eometrie
desiderate 7in 4uesto caso "unti8 #uori da un insieme di dati "rede#inito.
Esem"io della distanza
(ensiamo di selezionare alcuni elementi da un insieme costituito di "unti, in base alla distanza da
un altro "unto 7ri#erimento8. -ia i set di "unti che il "unto di ri#erimento sono de#initi da un
com"onente V"ointW. (rima di tutto necessitiamo di un com"onente VdistanceW
7MectorW(ointW5istance8 che misuri le distanze tra i "unti e il ri#erimento, ottenendo come
risultato una lista di numeri 7distanze8. ;om"ariamo 4ueste distanze attra'erso un numero
de#inito dall&utente 7Vnumber sliderW8 con un com"onente VB2W 7MathW-cri"tW#2 ? #unzione a due
'ariabili8. uesto con#ronto $enererF dei 'alori booleani 71rue?Balse8 "er mostrare sia che il 'alore
sia "iC "iccolo 7true8 o "iC $rande 7#alse8 del limite su"eriore B\UWA 7cio! la stesso andamento del
com"onente V/ar$erW8. Pser< "er 4uesto sco"o, i 'alori booleani "er alimentare il com"onente
Vcull "atternW.
;ome $iF ri#erito, Vcull "atternW "rende una lista di dati $enerici e una lista di dati booleani e
elimina 4uei membri della lista $enerica di dati associata con &Balse& . In 4uesto caso il risultato del
com"onente Vcull "atternW ! un $ru""o di "unti associati al 'alore 1*PE. ;i< si$ni#ica che sono "iC
'icini al ri#erimento ris"etto al numero s"eci#icato nel VnumberHsliderW "erchT la #unzione UWA
restituisce sem"re un 'alore 1*PE "er tutti i numeri "iC "iccoli di [, il che si$ni#ica distanze minori
7A\distance8. (er 'edere me$lio li ho solo connessi al "unto di ri#erimento attra'erso un sem"lice
com"onente VlineW
Bi$. >.1K -elezione di "unti "resi da un insieme attra'erso la distanza da un ri#erimento attra'erso
il com"onente Vcull "atternW.
Esem"io to"o$ra#ico
A'endo "ro'ato la "rima distanza lo$ica, 'o$lio selezione alcuni "unti che sono associate alla cur'a
di li'ello su un modello to"o$ra#ico in base loro altezza.
33
Fig. 3.16 Topografia con punti associati alle curve di livello
;i< che ho 4ui, ! un insieme di "unti de#initi da un com"onente V"ointW 7chiamato to"o$ra#ia8. +o
biso$no dell&altezza dei "unti e con la stesso lo$ica dell&esem"io sulla distanza, "osso selezione $li
o$$etti desiderati. +o dun4ue usato un com"onente V5ecom"oseW 7MectorW(ointW5ecom"ose8
"er ottenere il 'alore Z delle coordinate dei "unti 7altezza8. Il com"onente Vdecom"oseW mi
restituisce le coordinate 0,[, e Z di o$ni "unto di In"ut. +o com"arato 4uesti 'alori con un dato
numero 7dal Vnumber sliderW8 con un com"onente Vlar$erW "er creare una lista 'alori booleani
associati'i. Il com"onente Vcull "atternW "assa i "unti associati con il 'alore 1*PE, cio! i "unti
selezionati saranno "iC alti di 4uelli de#initi dall&utente "er l&altezza.
Bi$. >.1L I "unti selezionati hanno un&altezza su"eriore a J.LKK0 unitF 7im"ostato come 'alore
dell&utente8. uesti "unti sono ora "ronti "er "iantare i 'ostri (ini=
3_(_ Liste di dati
E& ora 4uasi chiaro che uno de$li al$oritmi #ondamentali ! la lista di dati. /a lista di dati "otrebbe
contenere o$ni sorta di o$$etti, 4uali numeri, "unti, $eometrie e cos: 'ia. -correndo la scheda
-ets, sotto il "annello /ist, ci sono di'ersi com"onenti che mani"olano liste di dati. (ossiamo
estrarre un elemento attra'erso il loro indice numerico, "ossiamo estrarre "arte di una lista
attra'erso un indice in#eriore e su"eriore. ueste liste $estiscono $li elementi, aiutandoci ad
ottenere una insieme di dati "er i nostri sco"i "ro$ettuali.
34
Bi$. >.1E /ista di "unti. Mo$liamo selezionare i "unti con i 'alori di U "iC bassi. ;ome $iF detto
"rima, il com"onente V"oint decom"oseW ci restituisce la coordinate di "unti stessi. ;i< di cui
abbiamo biso$no ! di tro'are il 'alore "iC basso di 0 tra tutti 4uesti "unti. (er "ermettere 4uesto,
ho biso$no "rima di ordinare tutte i 'alori di 0 , e "oi tro'are il minore. uesto ! 4uanto Vsort listW
#arF "er noi. Bondamentalmente il com"onente VsortW, ordina una o "iC liste di dati, in base ad una
lista di dati numerici , come se #ossero chia'i ordinabili. uindi 4uando 4ueste chia'i sono
ordinate, lo saranno anche i dati associati. ui sono stati dun4ue ordinati tutti i 'alori di 0 come
dati chia'e. ;i< di cui abbiamo ora biso$no, ! di selezionare il "rimo elemento della lista. (er #are
ci< ! necessario un com"onente VitemW 7elemento 8 il cui com"ito ! di estrarre un elemento
attra'erso il suo indice numerico. Misto che il "rimo elemento 7ad indice zero8 ha il 'alore minore di
0, 'iene estratto l&indice in modo da ottenere come risultato un "unto il cui 'alore di 0 sia 4uello
minimo dell&insieme,.
Mediamo altri esem"i
1rian$oli
-'ilu""iamo ora i nostri es"erimenti con un $estore di dati. Imma$iniamo di a'ere una rete di
"unti e di 'oler dise$nare delle linee "er creare dei trian$oli se$uendo il "attern mostrato in #i$ura
>.1O. uesto concetto ! utile "er la $enerazione delle mesh, nella "annelizzazione e in altre
situazioni, ma "er 4uesta 'olta ! im"ortante essere ca"aci di "rodurre i concetti di base.
Bi$. >.1O ,enerazione di trian$oli attra'erso una rete di "unti.
35
Il "rimo "asso ! 4uello di creare una $ri$lia di "unti attra'erso i com"onenti VseriesW e V"tW. Il
"asso successi'o "re'ede in'ece di tro'are i "unti $iusti "er tracciare delle linee. )$ni 'olta
abbiamo biso$no di una linea che "arta da un "unto e termini nel "unto successi'o della stessa
ri$a e colonna successi'a, e "oi un&altra linea che 'ada da 4uest&ultimo "unto alla colonna
"recedente e alla ri$a successi'a ed una linea #inale che torni indietro al "unto di "artenza. (er
#arlo sarebbe me$lio #are tre liste di "unti, una "er o$ni &"rimo "unto&, una "er o$ni &secondo
"unto& e un&altra "er o$ni &terzo "unto& e 4uindi dise$nare delle linee.
E& "ossibile usare il "unto ori$inale come la lista "er tutti i "unti di "artenza. Il "rimo &secondo
"unto& ! il secondo "unto nel $ru""o di "unti e 4uindi la lista 'a a'anti, uno alla 'olta. uindi "er
selezione il &secondo "unto& ho solo s"ostato la lista ori$inale tramite il com"onente Vshi#t listW
7-etsWlistW-hi#t list8 con una distanza di s"ostamento "ari a 1, il che si$ni#ica che il secondo
elemento della lista 7indice 18 di'enta il "rimo elemento 7indice 08 e il resto della lista "rocede allo
stesso modo. uesta nuo'a lista ! la lista del &secondo "unto&
I &terzo "unto& dei trian$oli sono nella stessa colonna dei &"rimo "unto& ma nella ri$a successi'a. In
termini di indici numerici, se la $ri$lia contiene % colonne, il "rimo "unto della seconda ri$a ha
l&indice "ari all&indice del "rimo "unto 708X%
In una $ri$lia con D colonne, l&indice del "rimo "unto della seconda ri$a ! D. +o 4ui s"ostato ancora
la lista ori$inale di "unti con una distanza di s"ostamento "ari al numero delle colonne, in modo da
ottenere il "rimo "unto della ri$a successi'a 7la distanza di o##set di"ende dal Vnumber sliderW che
indica il numero di colonne8 "er tro'are tutti i terzi "unti.
Bi$. >.20 /&elemento selezionato ! il "unto s"ostato attra'erso una distanza di s"ostamento "ari al
numero di colonne che "roducono tutti i &terzo "unto& dei trian$oli.
(er com"letare l&o"erazione abbiamo biso$no di mani"olare 4uesta lista un "o& di "iC, 4uindi
concentrate'i ancoraN
1. (rima di tutto, nella lista &"rimi "unti& i "unti dell&ultima colonna non "otranno mai essere i
"rimi "unti della lista &secondo "unto&.
2. Anche i "unti della "rima colonna non "otranno mai essere &secondo "unto&, abbiamo
4uindi biso$no di eliminarli dalla lista &secondo "unto&.
>. -tessa cosa "er i &terzo "unti&, do'e i "unti nell&ultima colonna non "otranno mai essere i
terzi "unti.
36
-e combiniamo tutte 4ueste tre "arti, li imma$iniamo e li dise$niamo, ca"iremo che in tutte
4ueste tre liste, i "unti dell&ultima colonna non "otranno essere usati.
Bondamentalmente, abbiamo 4uindi biso$no di omettere l&ultima colonna da ciascuna lista di dati.
Ed ! "er 4uesto che abbiamo colle$ato tutte le liste di "unti ad un com"onente V;ull %thW.
uesto com"onente, elimina un elemento o$ni % numeri di una lista di dati ed % 'iene chiamata
#re4uenza di raccolta 7cull #re4uencA8 7Bi$ >.208. In 4uesto caso tutte le liste di dati sono #iltrate
attra'erso il numero di colonne. uesto "erch!, "er esem"io, se abbiamo D colonne, elimina o$ni
un elemento o$ni sei, cio! l&elemento dell&ultima colonna. Il risultato sarF dun4ue una nuo'a lista
con le ultime colonne eliminate.
Abbiamo 4uindi connesso il Vnumber sliderW che de#inisce il numero di colonne ad o$ni
com"onente Vcull nthW "er stabilire la #re4uenza di raccolta.
Bi$. >.21 Psiamo Vcull nthW "er eliminare le ultime colonne dalle "rime, seconde e terze liste di
"unti.
/&ultimo "asso ! 4uello di alimentare i com"onenti VlineW e connettere i "rimi "unti ai secondi,
4uindi i secondi con i terzi e "er #inire, i terzi con i "rimi.
Bi$. >.22 ;reazione delle linee tramite le connessione dei "unti della lista #iltrata al com"onente
VlineW. %on dimenticate di im"ostare l&o"zione cross re#erence "er il com"onente V"tW , e lon$est
list "er il com"onente VlineW .
37
Bi$. >.2> )ra modi#icando il Vnumber sliderW ! "ossibile a'ere di'erse $ri$lie di "unti che
"roducono 4uesti trian$oli.
-ebbene ci siano ancora di'ersi "roblemi con il nostro "ro$etto, sa""iamo che non 'orremo #ar
"artire alcun trian$olo dai "unti dell&ultima ri$a 7e do'remo eliminarli dalla lista dei &"rimi "unti&8,
ma il concetto ! chiaro....andiamo a'anti. 1orneremo indietro a 4uesto concetto 4uando "arleremo
delle $eometrie mesh e "ro'eremo a limare i concetti. /&idea "rinci"ale ! 4uella di 'edere come i
dati "ossono essere $enerati e mane$$iati. (orteremo a'anti i concetti attra'erso altri es"erimenti.
3_0_ 'attern per geometrie planari
I "attern $eometrici sono tra le tematiche "iC interessanti da trattare con $li al$oritmi $enerati'i in
,rassho""er. Abbiamo il "otenziale "er dise$nare dei moti'i e 4uindi #arli crescere come "attern
che "ossono essere usati come base "er altri "rodotti "ro$ettuali. %el caso di "ro$ettazione di
"attern, "ossiamo dare un&occhiata al nostro "ro$etto?modello ed estrarre la lo$ica che "roduce
l&intera #orma nel momento stesso in cui 'iene ri"etuta. Attra'erso il dise$no della $eometria di
base, "ossiamo co"iarla "er "rodurre i "attern delle dimensioni 'olute7Bi$. >.228
38
Bi$. >.2J Estrazione del concetto del "attern da $eometrie sem"lici.
;ontinuiamo ad insistere sul la'orare attra'erso $li insiemi di dati e sulle sem"lici #unzioni
matematiche, in'ece di usare altri utili com"onenti "ro"rio "er 'edere come 4ueste sem"lici
o"erazioni e $li insiemi di dati numerici abbiano un $rande "otenziale "er $enerare #orme, anche
$eometrie classiche.
Bi$. >.2K ,eometrie com"lesse nella Moschea -hei.h /ot#ollah in Iran. /e mattonelle sono #ormate
da "attern sem"lici, che sono create attra'erso calcoli matematico?$eometrico.
(attern lineari sem"lici
+o 4ui deciso di "ro$ettare un "attern con alcuni "unti di base e linee. /&obbietti'o ! 4uello di
usare concetti sem"lici come 4uelli in #i$ura >.2D
39
Bi$. >.2D ;oncetti di base "er $enerare "attern
(rima di tutto 'o$liamo $enerare alcuni "unti di base come $eometrie di "artenza e 4uindi
dise$nare le linee tra 4uesti "unti. +o iniziato la mia de#inizione, tramite una VseriesW che rende
"ossibile il controllo dei 'alori numerici 7numero di "unti8, la dimensione del "asso 7 distanza tra
"unti8. Attra'erso 4uesta VseriesW ho $enerato un insieme di "unti con solo 'alori sulla 0 7con A e z
"ari a zero8.
Bi$. >.2L -ono stati $enerati il "rimo set di "unti con i com"onenti VseriesW e V"tW. A$$iun$iamo
4ui un com"onente Vrecei'erW che "ossiamo tro'are in (aramsW-"ecialW*ecei'er. uesto
com"onente "rende i dati da un altro com"onente e li "assa ad un altro rimuo'endo i ca'i di
connessione dal can'as. In "ro$etti com"lessi, 4uando si 'o$lia usare una sor$ente di dati "er tanti
com"onenti, ci aiuta a ri"ulire l&area di la'oro in modo da e'itare distrazioni do'ute alle tracce
delle connessioni. ;ome "otete 'edere nella seconda #i$ura, il com"onente Vrecei'erW, rice'e i dati
da VseriesW.
Bi$. >.2E (er creare una #orma a zi$ za$ abbiamo biso$no di due ri$he di "unti come $eometria di
base. E& stato usato un altro Vrecei'erW "er a'ere dati da una VseriesW e con un altro V"tW ! stato
$enerata la seconda ri$a di "unti a'enti 'alori A, "ro'enienti da un Vnumber sliderW
40
Bi$. >.2O %ei "assi successi'i, dobbiamo eliminare alcuni "unti da o$ni lista "er "rocurarci i "unti
"er il "attern a zi$ za$. ui sono stati eliminati i "unti attra'erso un Vcull "atternW, in una ri$a
usando il "attern booleano 1*PE?BA/-E e nell&altra usando BA/-E?1*PE
Bi$. >.>0 )ra se connette entrambi i com"onenti VcullW ad un com"onente V"olA lineW da
;ur'eWs"lineW(olAline che dise$na cur'e lineari "assanti "iC 'ertici anzichT solo due, 'edrete come
risultato delle linee che #ormano una Z. uesto "erch! i "unti non sono ordinati e de'ono essere
"osizionati in una lista in 4uesta se4uenzaN "rimo "unto della "rima ri$a, "rimo "unto della
seconda ri$a, secondo "unto della "rima ri$a, secondo "unto della seconda ri$a.
41
Bi$. >.>1 Il com"onente che ordina i "unti nel modo descritto ! il Vwa'eW 7-etsWlistW@a'e8. (rende
i dati da di'erse #onti e li ordina in base ad un "attern che do'rebbe essere de#inito nella sua "orta
( 7come sem"re, le$$ete l&hel" del com"onente "er 'edere le in#ormazioni "iC detta$liate8. Il
risultato sarF una lista di elementi ordinati che una 'olta connessi ad com"onente V"lineW
mostreranno il "rimo zi$za$.
Bi$. >.>2 ;on lo stesso concetto, ! stata $enerata la terza ri$a di "unti, e con un altro com"onente
Vwea'eW e V"lineW, ! stata dise$nata una seconda linea a zi$9za$
42
Bi$. >.>> -ebbene ci siano dei modi "iC 'eloci "er $enerare 4ueste linee, anche 4ui ho usato lo
stesso concetto "er i "unti e "olilinee della terza ri$a. E& stata deselezionata l&o"zione "re'iew
7ante"rima8 "er V"tW, VcullW e Vwea'eW 7dal loro menu contestuale8 "er nascondere tutti i "unti e
'edere la sola "olilinea.
Bi$. >.>J -e si co"ia ancora lo stesso "rocesso e 4uesta 'olta in'ertiamo il 'alore di [ del
com"onente V"tW in ne$ati'o, 7"ossiamo usare lo stesso Vnumber sliderW con una #unzione di ti"o
#7U8\9U8 si otterrF un $ru""o di "olilinee s"ecchiate. )ra, mani"olando le distanze, ! "ossibile a'ere
dei "attern con scale e #orme di'erse.
Bi$. >.>K E& "ossibile cambiare il modo con cui $enerate i "unti di base o #iltrate dati delle liste. Il
risultato "otrebbero essere "attern di'ersi, di sem"lici intersezioni di linee, ma "otrebbe essere
una $eometria $enerati'a "er "rodurre modelli com"lessi.
Bi$. >.>D uesto ! il "rimo risultato del "ro$etto. Il moti'o 'iene ri"etuto in maniera sem"lice e il
43
risultato "u< essere usato in o$ni modo, in base alle 'arie necessitF.
Bi$. >.>L uesto ! solo uno de$li esem"i tra le centinaia di "ossibilitF "er usare i "attern come
base di s'ilu""o "er i "ro$etti. In se$uito a'rete le "otenzialitF "er di##erenziare i "attern di base e
"er modi#icare i risultati dei "ro$etti.
(attern circolari
/a modellazione associati ci "ermette di in#inite "ossibilitF "er creare moti'i e "attern. /a #i$. >.>E
mostra altri moti'i in cui i dise$ni sono basati sulla $eometria circolare anzich! che 4uella lineare.
(oich! 'i sono di'erse cur'e a'enti tutte la stessa lo$ica, 'errF descritta una "arte de$li al$oritmi
mentre il resto s"etterF a 'oi.
Bi$. >.>E (attern $eometrico circolare.
Il "unto di "artenza di 4uesto "attern ! un insieme di dati che "roduce una serie di "unti lun$o una
circon#erenza, come l&esem"io #atto in "recedenza. uesti dati "ossono essere scalati dal centro
"er creare di'erse circon#erenze concentriche. uesto set di "unti 'errF #iltrato allo stesso modo
44
dell&ultimo esem"io. uindi 'errF $enerato un "attern zi$ za$ ri"etiti'o tramite 4uesti "unti scalati,
i 4uali, una 'olta connessi l&uno con l&altro, dise$neranno una cur'a a #orma di stella. /a
so'ra""osizione di 4ueste stelle "otrebbe creare una "arte di 4uesto moti'o.
Bi$. >.>O ;reando un ran$e da 0 a 2(i e usando le #unzioni di seno e coseno, creiamo il "rimo
$ru""o di "unti in una $eometria circolare. +o usato 4uesta #unzione con due 'ariabili "er
molti"licare il risultato di seno e coseno attra'erso un altro Vnumber sliderW "er cambiare il ra$$io
di una circon#erenza.
Bi$. >.J0 Incremento di seno e coseno, $razie alla molti"licazione attra'erso da un Vnumber sliderW
e creazione del secondo insieme di "unti con un ra$$io ma$$iore. ;ome "otete 'edere il risultato
di 4uesta sezione ! un set di due "unti. I com"onente V"tW sono stati rinominati.
45
Bi$. >.J1 /a "rima e la seconda circon#erenza di "unti
(er "oter #iltrare i "unti, "ossiamo sem"licemente usare il Vcull "atternW "er i "unti e usare
1*PE?BA/-E come nell&ultimo esem"io. Ma come ! "ossibile ordinare la lista di "unti2 -e anche !
"ossibile usare lo stesso metodo, 4ui ho deciso di o"tare "er un altro, in modo da usare un altro
concetto relati'o all&ordinamento, che crediamo "ossa usare utile in se$uitoN 'o$liamo ordinare i
"unti in base al loro indice numerico nell&insieme.
(rima di tutto abbiamo biso$no di $enerare un indice di numeri. Misto che abbiamo "rodotto un
com"onente Vran$eW di numeri reali, abbiamo biso$no di un com"onente VseriesW "er "rocurarci
numeri interi come indici dei "unti nella lista. ,li % "arametri del Vran$eW de#iniscono il numero
dei "assi o delle di'isioni, 4uindi il com"onente Vran$eW "rodurrF %X1 numeri. Ed ! "er 4uesto che
necessitiamo di un VseriesW con %X1 'alori "er essere $li indici dei "unti.
Bi$. >.J2 ,enerazione dell&indice numerico "er i "unti 7la lista di numeri interi "arte da 08
46
Bi$. >.J> A 4uesto "unto ho biso$no di sce$liere i "unti e $li indici come nell&esem"io "recedente.
+o 4uindi usato il com"onente VMer$eW 7-etsW1reeWMer$e8 "er $enerare una lista di dati
entrambe le liste VcullW. /&o"erazione ! stata a""licati sia ai "unti che a$li indici. -ebbene il
risultato dell&unione delle VseriesW "rodurrF ancora i numeri dell&intero set di dati, l&ordine non sarF
lo stesso e sarF "iC 'icino a 4uello dei "unti. )ra attra'erso l&ordinamento de$li indici come chia'i
ordinate, "ossiamo ordinare allo stesso modo anche i "unti.
47
Bi$. >.JJ I "unti sono ordinati con un com"onente VsortW mentre la loro chia'e di ordinamento !
l&indice. Miene dise$nata una "olilinea tra i "unti ordinati.
Bi$. >.JK ,li indici "rima e do"o l&ordinamento, e i "unti ordinati e associati che $enerano una
"olilinea a #orma di stella
/a stessa lo$ica "otrebbe essere usate "er creare $eometrie "iC com"lesse con una sem"lice
$enerazione di set di altri "unti, #iltrati e connessi "er "rodurre i "attern desiderati. Il trucco !
4uello di sce$liere il mi$lior $ru""o di "unti e il modo di connetterli ad altri set.
48
Bi$. >.JD E& "ossibile "ensare ad altre "ossibilitF di "attern e di $eometrie lineari e loro a""licazioni
come "er esem"io, le "roiezioni su altre $eometrie.
-ebbene abbia insistito "er $enere tutti i "recedenti modelli attra'erso set di dati e sem"lici
#unzioni matematiche, 'o$liamo 'edere altri sem"lici com"onenti che rendono "ossibile ridurre
l&intero "rocesso o modi#icare il modo in cui recu"eriamo i dati. /i discuteremo tutti insieme
Bi$. >.JL Modello Binale
49
CA'I"3L3 !_ "ras#ormazioni
50
Capitolo !_ "ras#ormazioni
/e tras#ormazioni sono o"erazioni essenziali, sia nella modellazione che nella $eometria
$enerati'a. (ermettono in#atti di ottenere 'ariazioni da sem"lici o$$etti iniziali, aiutandoci a
scalare, orientare, muo'ere, co"iare o s"ecchiare le nostre $eometrie. Esistono di'ersi ti"i di
tras#ormazioni, ma "er classi#icarle le "ossiamo di'idere in $ru""iN la "rima di'isione che "ossiamo
indicare ! 4uella tra tras#ormazioni lineari e tras#ormazioni s"aziali. /a tras#ormazione lineare !
attuata in uno s"azio 25, mentre 4uella s"aziale a''iene in uno >5.
Pn altro modo "er classi#icare le tras#ormazioni, "otrebbe essere 4uello di di'iderle in base allo
stato iniziale dell&o$$ettoN tras#ormazioni 4uali traslazioni, rotazioni, ri#lessioni, manten$ono la
#orma ori$inale, mentre la scalatura e l&inclinazione la modi#icano. Esistono anche della
tras#ormazioni non lineari. In a$$iunta alla traslazione, rotazione e ri#lessione, abbiamo di'ersi ti"i
di de#ormazioni e scale non uni#orme nello s"azio >5, oltre che tras#ormazioni s"irali#ormi o a
#orma di elica e "roiezioni che creano 'ariazioni nello s"azio tridimensionale.
(er "oter tras#ormare, dobbiamo muo'ere o orientare $li o$$etti 7 o loro "arti, 4uali 'ertici o
an$oli 8 nello s"azio, e "er #are ci< abbiamo biso$no di usare 'ettori e "iani come basi "er 4ueste
o"erazioni matematico?$eometriche. %on discuteremo le basi della $eometria o della lo$ica
matematica, ma daremo un&occhiata ai 'ettori e ai "iani, "erch! ci ser'iranno "er il nostro la'oro.
Bi$. J.1 /e tras#ormazioni "alesano $randi "otenziali nelle $enerazioni di #orme com"lesse
"artendo da 4uelle sem"lici. /a natura "resenta nelle sue o"ere $randi esem"i di tras#ormazioni.
!_1_ 9ettori e 'iani
Il 'ettore ! un o$$etto matematico che "resenta un modulo 7o lun$hezza8, una direzione ed un
'erso. (arte da un "unto, "rocede in direzione di un altro in una s"eci#ica direzione. I 'ettori hanno
una am"io ra$$io di utilizzo e sono usati, oltre che "er le tras#ormazioni, in di'ersi cam"i della
scienza e della $eometria.
51
Bi$. J.2 Elementi base di un 'ettoreS s"ostamento di un "unto tramite un 'ettore
-e abbiamo un "unto ed un 'ettore, 4uesto 'ettore "u< tras"ortare il "unto alla distanza data dal
modulo e 'erso una direzione stabilita, in modo da creare una nuo'a "osizione #inale "er il "unto
stesso. Pseremo 4uesto sem"lice concetto "er $enerare, muo'ere, scalare e orientare le
$eometrie con il nostro metodo associati'o.
I "iani sono un altro $ru""o di $eometrie utili e "ossono essere descritti come su"er#ici "iatte e
in#inite, a'enti un "unto di ori$ine. I "iani di costruzioni di *hino, ra""resentano 4uesto ti"o di
o$$etto. (ossiamo usare 4uesti "iani "er inserirci le nostre $eometrie, a""licare determinate
tras#ormazioni basate sul loro orientamento e ori$ine. (er esem"io, nello s"azio >5, non "ossiamo
orientare un o$$etto su un solo 'ettore, ma abbiamo biso$no di due 'ettori "er creare un "iano
ca"ace di contenere la $eometria.
I 'ettori hanno una direzione e un modulo mentre i "iani hanno un orientamento ed un&ori$ine
ra""resentati da 0, [ e Z 4uali 'ettori unitari e i "iani 0[, 0Z e [Z. %ei "rossimi esem"i tratteremo
di altri di'ersi com"onenti che li "roducono e li modi#icano. Iniziamo dun4ue i nostri es"erimenti
"ro$ettuali "artendo con uno de$li usi "iC sem"lici "er i nostri 'ettori, "er "oi andare a'anti "asso
do"o "asso.
!_2_C+rve e geometrie lineari
Abbiamo $iF #atto es"erimenti con i "unti che sono $eometrie a dimensione 0, "ossiamo ora
iniziare a "ensare alle cur'e come a de$li o$$etti monodimensionali. ;ome i "unti, le cur'e
"ossono essere la base "er costruire di'ersi ti"i di o$$etti. (ossiamo estrudere una cur'a lun$o
un&altra "er creare una su"er#icie, "ossiamo collocare di'erse cur'e insieme "er creare su"er#ici e
4uindi solidi, "ossiamo distribuire o$ni o$$etto lun$o una cur'a con uno s"eci#ico inter'allo o
"ossiamo "ensare tanti altri modi "er s#ruttare 4uesta $eometria come base "er $enerare altri
o$$etti.
52
-"ostamenti
%el ca"itolo >, abbiamo $enerato di'erse $ri$lie di "unti attra'erso i com"onenti VserisW e V"tW,
ma ora ! $iunto il momento di introdurre un altro com"onente, chiamato V$rid rectan$ularW
7MectorW,ridsW,rid rectan$ular8 che "roduce una $ri$lia di "unti. (ossiamo controllare sia le
distanze tra i "unti 7u$uali in entrambe le direzioni8 che la 4uantitF sia in direzione 0 che [.
Bi$. J.> Pn sem"lice com"onente V$rid rectan$ularW con i suoi 'alori "rede#initi.
E& "ossibile cambiare la dimensione della $ri$lia attra'erso un Vnumber sliderW connesso all&in"ut
7-8 indicante la distanza. (ossiamo inoltre anche modi#icare l&orientamento dei "unti. (er #are ci<
abbiamo biso$no di un "iano su cui inserire la $ri$lia. Abbiamo introdotto il com"onente V0[
"laneW 7MectorW(laneW0[ "lane8 che ra""resenta un "iano in#inito nell&orientamento "rodotto
da$li assi 0 e [ e lo abbiamo s"ostato lun$o l&asse Z, attra'erso il com"onente VZ unitW
7MectorWMectorWZ Pnit8 che ra""resenta un 'ettore "arallelo all&asse Z con la lun$hezza "ari a uno.
(ossiamo modi#icare l&altezza di 4uesto s"ostamento attra'erso la dimensione del 'ettore
colle$andolo ad un Vnumber sliderW connesso con l&in"ut del com"onente Vz unitW. Modi#icando
la "osizione del VUA "laneW lun$o l&asse Z, sarF "ossibile cambiare la "osizione della $ri$lia
Bi$. J.J /e $ri$lie 7selezionate in 'erde8 sono modi#icate da un Vnumber sliderW che scala la
distanza tra i "unti, e da un altro slider connesso ad un Vz unitW e un VUA "laneW "er modi#icare le
coordinate dei "unti della $ri$lia sull&asse Z.
53
uindi, se date un&occhiata al risultato di una V$rid rectan$ularW ! "ossibile 'edere che abbiamo
accesso a tutti i "unti delle celle della $ri$lia e i centri delle celle.
(er 4uesto es"erimento, cerchiamo un insieme di linee che "artono dal centro delle celle della
$ri$lia, ed escono 'erso lo s"azio. (ossiamo sem"licemente connettere i "unti dai due com"onenti
V$ridW attra'erso la "orta M al com"onente VlineW "er $enerare un $ru""o di linee. uindi
cambiando le dimensioni della seconda $ri$lia 'erranno dise$nate delle linee con direzioni di'erse.
Il "roblema ! dato dalla lun$hezza delle linee, che in 4uesto caso sarF di'ersa una dall&altra,
mentre noi 'o$liamo dise$nare linee della stessa lun$hezza. (er #are ci< abbiamo biso$no di
un&altra strate$ia ed ! "er 4uesto che andremo ad usare il com"onente Vline -5/W.
Pn com"onente Vline -5/W dise$na una linea "artendo da un "unto 7-8, con una direzione 758 ed
una lun$hezza 7/8. uindi la lun$hezza delle linee ! controllabile. Esattamente ci< di cui abbiamo
biso$noS abbiamo sia il "unto di "artenza 7centro della cella8 che la lun$hezza della linea
74ualun4ue sia8. E "er 4uanto ri$uardo la direzione2 Mo$liamo usare il "unto centrale delle celle
della seconda $ri$lia 4uale secondo "unto delle linee, 4uindi la direzione delle mie linee sarF la
direzione delle linee connesse al "unto centrale della $ri$lia. (er de#inire 4ueste direzioni abbiamo
biso$no di 'ettori. Ed ! "er 4uesto che creiamo un set di 'ettori con 4ueste due "unti "er creare le
direzioni "er il mio com"onente Vline -5/W.
Bi$. J.K ;reazione di 'ettori dal "unto centrale della "rima $ri$lia 'erso il "unto centrale della celle
della seconda $ri$lia attra'erso il com"onente V'ector 2"W 7MectorWMectorW'ector 2"t8. uesto
com"onente crea dei 'ettori attra'erso il suo "unto di "artenza e di arri'o.
Bi$. J.D Il com"onente Vline -5/W $enera di'erse linee dal "unto centrale di una $ri$lia che si
muo'e 'erso lo s"azio a causa della ma$$ior distanza della seconda $ri$lia. E& "ossibile cambiare la
lun$hezza di linee attra'erso il Vnumber sliderW ed ! "ossibile cambiare la loro direzione
cambiando la dimensione della seconda $ri$lia.
54
(er il "asso successi'o 'o$liamo a$$iun$ere un "oli$ono alla #ine di ciascuna linea ed estruderlo
'erso il "unto di inizio delle linee "er 'edere il "otenziale $enerati'o. (er $enerare i "oli$oni
abbiamo a$$iunto di'ersi "iani ai "unti #inali delle linee come "iano base "er "oter creare dei
"oli$oni.
Bi$. J.L Psando il com"onente Vend "ointW 7;ur'eWAnalAsisWEnd (oint8 e usando 4uesto "unto
#inale 4uale "unto di ori$ine "er un set di "iani ! "ossibile $enerare i "iani di base. E& stato 4ui
usato il com"onente V(lane %ormalW 7MectorW(laneW(lane %ormal8 che "roduce una "iano "er un
"unto di ori$ine 7"unti #inali delle linee8 e un 'ettore di direzione Z normale al "iano 7un 'ettore
normale, ! un 'ettore "er"endicolare al "iano8. Abbiamo 4ui usato $li stessi 'ettori delle linee
come direzioni normali "er i "iani.
Bi$. J.E A$$iunta di un com"onente V"olA$onW e uso dei "iani $enerati come "iani di base "er i
"oli$oni, 4uesto "rodurrF un set di "oli$oni alla #ine di o$ni linea e "er"endicolare alle linee stesse.
;ome "otete 'edere 4uesti "oli$oni hanno la stessa dimensione, ma 'o$liamo a""licare un sistema
di di'ersi#icarne le misure "er a'ere una #orma smussata alla #ine.
55
Bi$. J.O ;on un com"onente Vlist len$htW otteniamo i numeri delle linee, mentre il com"onente
successi'o V#unctionW il 4uale ! una radice 4uadrate dell&in"ut 7B7U8\-4rt7U88, calcola il numero
delle linee "er o$ni ri$a. E& stato usato un com"onente VseriesW con il "unto di "artenza con la
dimensione del "asso "ari a 0.1, mentre il numero dei 'alori "ro'iene dal numero delle ri$he. E&
stata 4uindi $enerata una lista di numeri che crescono $radualmente, in numero "ari a 4uello dei
"oli$oni di ciascuna ri$a. (er "oter usare 4uesti 'alori "er tutti i "oli$oni, sono stati du"licate le
liste di dati con il 'alore delle colonne 7in 4uesto caso u$uale a 4uello delle ri$he8 e colle$ate
all&In"ut del ra$$io dei "oli$oni. ;ome "otete 'edere nel modello, ad o$ni ri$a, le dimensioni dei
"oli$oni $radualmente si modi#ica e 4uesto "attern si ri"ete #ino all&ultimo.
Bi$. J.10 %ell&ultimo "asso, ! stato usato un com"onente VeUtrude "ointW
7-ur#aceW#ree#ormWEUtrude (oint8 e colle$ato il "unto iniziale della linea 4uale "unto 'erso il 4uale
'o$lio 'en$a estruso il mio "oli$ono.
56
Bi$. J.11 Psando il &*emote control "anel& cio! il "annello di controllo in remoto, si "u< #acilmente
cambiare il 'alore dei numeri "er di'erse o"zioni e controllare l&as"etto #inale del modello e
selezionare il mi$liore. %on dimenticate di deselezionare l&ante"rima "er $li o$$etti non necessari.
57
Bi$. J.12 Modello #inale
!_3 :sperimento com2inato; &<iss .e
)$$i$iorno ! molto comune "ro$ettare il concetto delle torri con il metodo della modellazione
associati'a. uesto "ermette ai "ro$ettisti di $enerare modelli di##erenziati, in maniera #acile e
'eloce. Il "otenziale "er di##erenziare i "ro$etti ! molto 'asto e i risultati mi$liori "ossono essere
ottenuti 'elocemente. Abbiamo deciso di modellare una torre, e la Q-wiss *eR di QBoster and
(artnerR sembra essere abbastanza so#istica "er un es"erimento di modellazione.
Innanzitutto diamo un&occhiata al "ro$etto
58
Bi$.J.1> -wiss *e +, >0 -t MarA AUe, /ondon, PK, 1OOL9200J, Boto$ra#ie "ro'enienti dal sito web
di Boster and (artners , htt"N??www.#osterand"artners.com.
Innanzitutto l&ideaN stiamo "er dise$nare delle circon#erenze "er identi#icare l&in$ombro della torre
e co"iarli in modo tale da #ormare i "iani nei 4uali la #acciata cambi cur'atura. -caleremo i "iani
"er #arli combaciare alla #orma, e 4uindi costruiremo il ri'estimento usando i "iani. (er concludere,
a$$iun$eremo delle sezioni "oli$onali "er $li elementi strutturali della #acciata. (er #are 4uesto
i"otizzer< sia le dimensioni che le "ro"orzioni e mi occu"er< del modello con $eometrie sem"lici
in modo da rendere "iC #acile il "rocesso.
(artiamo con i "iani. -a""iano che i "iani della -wiss *e sono delle circon#erenze che hanno alcuni
ta$li a #orma di M, ma 4ui abbiamo usato una sem"lice circon#erenza come "ro#ilo. ;o"iamo 4uesti
"iano ad una certa altezza, il che renderF "ossibile "oter $iocare 'isualmente con le "ro"orzioni.
;ome $iF detto, 4uesti "unti sono "osizionati nei "unti in cui cambia la cur'atura della #acciata.
Bi$. J.1J ;om"onente VcircleW con un Vnumber sliderW come ra$$io esterno della torre. uesta
circon#erenza ! co"iata "er sei 'olte lun$o la direzione Z "ositi'a, $razie al com"onente Vmo'eW,
attra'erso un 'ettore Vz unitW . uesti numeri sono #orniti attra'erso l&im"ostazione manuale &set
59
multi"le numbers& e sono assunti 4uali distanze delle di'erse "arti della torre 7#atta sulla base della
dimensione della circon#erenza di "artenza8.
-ebbene siano state $enerate 4ueste circon#erenze di base tutte u$uali, sa""iamo che i "iani non
hanno la stessa dimensione, e abbiamo 4uindi biso$no di riscalarli. -e diamo un&occhiata alla
sezione della torre, 'edremo che dalla base le circon#erenze iniziano a crescere #ino ad una certa
altezza, riman$ono costanti nella "arte centrali e 4uindi iniziano a decrescere #ino alla "unta della
torre. Anche 4ui i"otizzeremo i #attori di scala "er i "iani. -arF "ossibile modi#icare 4uesti 'alori "er
'eri#icare che il "ro$etto risulti simile a 4uello ori$inale.
Bi$. J.1K Abbiamo biso$no di un com"onente VscaleW 70#ormWA##ineW-cale8 "er ridimensionare i
"iani di ri#erimento. Il com"onente VscaleW necessita di una $eometria da modi#icare, un "unto di
ri#erimento ed un #attore di scala. Abbiamo 4uindi biso$no di alimentare la "arte $eometrica
attra'erso i nostri "iani o circon#erenze che risulteranno essere l&out"ut del com"onente Vmo'eW.
Il centro "rede#inito "er la scalatura ! il "unto di ori$ine ma se scaliamo tutti i "iani attra'erso lo
stesso centro, 4uesti 'erranno s"ostati nello s"azio "oichT 'errF scalata anche la loro altezza.
Abbiamo 4uindi biso$no che il centro di scalatura della torre sia allo stesso li'ello di o$ni "iano.
5o'rebbe esserci uno "er o$nuno ed esattamente al centro del "a'imento.
(er 4uesto moti'o abbiamo usato il com"onente VcentreW 7;ur'eWanalAsisWcenter8 che ci
restituisce il centro delle circon#erenze. ;onnettendolo al VscaleW "otremo 'edere che tutte le
circon#erenze saranno scalate al loro li'ello senza s"ostamenti. *icordiamo che i #attori di scala
sono "resunti, "ro"rio come 4uelli delle altezze #atte in "recedenza. uesti 'alori "ossono essere
cambiati "er 'edere 4uale combinazione calza me$lio alla 'isuale totale. -ono tutti im"ostati da un
com"onente VnumberW.
60
Bi$. J.1D -e ora a""lichiamo una su"er#icie lo#t a 4uesti "iani 7attra'erso un com"onente Vlo#tW
7sur#aceW#ree#ormWlo#t88, a""arirF la "rima imma$ine della torre. (iano "iano, do'remo
deselezionare l&o"zione di ante"rima dai "unti $enerati in "recedenza "er ri"ulire la scena.
A 4uesto "unto "ossiamo iniziare $li elementi di #acciata.
,li elementi strutturali della #acciata sono di #orma elicoidale, ed hanno una sezione com"osta da
due trian$oli interconnessi, ma "er sem"li#icare modelleremo solo la "arte 'isibile, la 4uale
somi$lia ad un trian$olo in "iano. Pseremo il lo#t tra 4ueste sezioni "er creare il loro 'olume.
Mo$liamo $enerare 4ueste sezioni trian$olari sulla #acciata. (er #are ci<, abbiamo "rima biso$no di
tro'are la "osizione di 4uesti trian$oli sulla #acciata. (enso che se creiamo una cur'a sulla
su"er#icie della #acciata e le di'idiamo, "otrebbe risultare in un "osto accettabile "er "osizionare
tutti i trian$oli "rima di o$ni tras#ormazione.
Bi$. J.1L Abbiamo usato il com"onente Vend "ointW "er a'ere i "unti iniziale?#inale dei miei "iani
cam"ione. ;olle$ando 4uesti "unti come 'ertici di un com"onente Vinter"olateW
7cur'eWs"lineWinter"olate8 sarF "ossibile a'ere una cur'a "osizionata nella #acciata.
61
Bi$. J.1E. ui sono state di'ise le cur'e Vinter"olateW in J0 "arti. Il numero delle di'isioni aiuta alla
smussatura de$li elementi 4uando 'orremo re$olare la #acciata.
Bi$. J.1O )ra i "unti di di'isione di'entano "unti di base "er $enerare i V"olA$onW sulla #acciata.
-ono state im"ostati tre lati "er $enerare trian$oli e la loro dimensione, la "arte &*& 7ra$$io8 !
controllabile attra'erso un Vnumber sliderW
Bi$. J.20 ,li elementi della #acciata strutturale sono s"irali che $irano attorno alla "elle, #ino alla
"unta su"eriore della torre. (er "ermettere 4uesto, dobbiamo ruotare le sezioni trian$olari
$radualmente. Mo$liamo usare il com"onente VrotateW e "er 4uesto abbiamo biso$no de$li an$oli
di rotazione. ;ome detto, $li an$oli di razione do'rebbero essere una lista di numeri che crescono
62
$radualmente. Il com"onente VseriesW $enera i nostri an$oli di rotazione e contiene elementi in
numero "ari al com"onente Vdi'ideW 7"unti9trian$oli8. ;ome risultato tutte le sezioni trian$olari
ruotano attorno alla #acciata.
Bi$. J.21 )ra dobbiamo creare un lo#t tra tutti i trian$oli, e 'edremo a""arire un sin$olo elemento
di #acciata. /&an$olo di rotazione e le dimensione de$li elementi saranno controllabili in modo da
#ar combaciarli con la #acciata nel suo modo mi$liore.
5omains
;ome $iF detto il 5ominio ! un inter'allo numerico. -ono numeri reali che 'anno da un limite
in#eriore ad uno su"eriore. (oichT abbiamo "arlato di numeri reali, si$ni#ica che tra due numeri
a""artenenti a 4uesto insime, abbiamo in#initi numeri, il che "ermette di'ersi ti"i di utilizzo "er
4uesti domini numerici. ;ome $iF s"erimentato "rima, "ossiamo di'idere il ran$e numerico ed
a'ere le di'isioni e4uamente distribuite attra'erso due estremi.
Mo$liamo dun4ue distribuire $li elementi della #acciata attorno alla circon#erenza di base. (er #are
ci< abbiamo biso$no di un inter'allo "er co"rire l&intera circon#erenza di base.
63
Bi$. J.22 Pn com"onente VdomainW 7MathW5omainW5omain 8 ! stato usato "er de#inire un ran$e
numerico da 0 a >D0. uesto inter'allo numerico ! di'iso attra'erso un com"onente Vran$eW in 10
"arti e il risultato ! usato come #attore an$olare "er un com"onente VrotateW. uindi come
mostrato nell&imma$ine, $li elementi di #acciata sono distribuiti nella circon#erenza di base.
Bi$. J.2> -e #acciamo un VmirrorW 7s"ecchio870#ormWEuclidianWMirror8 attra'erso un V0[ "laneW
7MectorW(laneW[Z "lane8 delle $eometria, a'remo $li elementi della #acciata in una #orma elicoidale
s"ecchiata che alla #ine "rodurrF un reticolo attorno alla torre.
Bi$. J.2J Ecco un&altra ante"rima della #acciata che mostra una ra""resentazione non ri#inita della
Q-wiss reR con una tecnica associati'a.
64
Bi$. J.2K (er $enerare la $eometria su *hino, selezioniamo i com"onenti che creano le $eometria
desiderata, e 4uindi o"tiamo "er &ba.e selected obYect&, dalla barra so"ra il can'as o dal menu
contestuale del com"onente.
Bi$. J.2D Modello #inale. -ebbene non sia identico all&ori$inale, "er essere un modello di "artenza e
creato in "oco tem"o, #unziona bene.
65
Bi$. J.2L In mezzo a$li elementi strutturali "rinci"ali, ci sono altri "iccole strutture che "otete
modellare da soli. Imma$ini dell&autore
!_!_ Attrattori
&/&attrattore ! un insieme di stati 'erso il 4uale tende ad e'ol'ere un sistema #isico dinamico, senza
tener conto delle condizioni di "artenza del sistema. Pn "unto attrattore ! un attrattore che
consiste in un sin$olo stato. (er esem"io, una "allina che rotola in una tazza si #ermerF alla #ine,
sem"re nel "unto "iC basso, al centro in#erioreS lo stato #inale della "osizione una 'olta terminato il
moto ! un "unto di attrazione& 75ictionarA.com?-cience 5ictionarA8.
Bi$.J.2E. -tran$e Attractor
7Illustrazione "resa da
htt"N??www.cs.swan.ac.u.?^cstonA?research?star?8
66
%el caso della "ro$ettazione e della $eometria, $li attrattori sono elementi 7solitamente "unti ma
"otrebbero essere anche cur'e o o$ni altra $eometria8 che "roducono e##etti su altre $eometrie
nello s"azio, cambiando il loro com"ortamento #acendoli s"ostare, ri9orientare, riscalare etc.
(ossono articolare lo s"azio attorno a loro stessi e introducono il cam"o del ra$$io di attrazione.
,li attrattori hanno di'ersi a""licazioni nel desi$n "arametrico, "oichT hanno il "otenziale di
modi#icare tutti $li o$$etti costantemente. 5e#inendo un cam"o, $li attrattori "ossono inoltre
in#luenzare $li a$enti di un sistema con di'erse azioni. /e modalitF di in#luenza e la "otenza de$li
attrattori, di"endono da "arametri re$olabili. Medremo il concetto di attrattori in di'erse occasioni,
4uindi iniziamo subito con i "rimi sem"lici esem"i.
(unti di attrazione
Abbiamo una $ri$lia di "unti e 'o$liamo $enerare un set di "oli$oni a "artire da 4uesti "unti.
Abbiamo inoltre un "unto chiamato Vattractor 1W a cui abbiamo dise$nato attorno un VcircleW,
$iusto "er renderlo "iC chiaro. Mo$lio che il mio VattractorH1W in#luenzi tutti i miei V"olA$onW nel
suo cam"o di azione. -i$ni#ica che, in base alla distanza tra o$ni V"olA$onW e il VattractorH1W e nel
dominio di VattractorH1W o$ni V"olA$onW ris"onde all&attrattore modi#icando la sua dimensione.
Bi$. J.2O 3ase di V"ointH$ridW con V"olA$onW e VattractorH1W
/&al$oritmo ! 'eramente sem"lice. In base alla VdistanceW tra VattractorH1W e il V"t9$ridW 'o$liamo
in#luenzare il ra$$io del "oli$ono, in modo che la realzione tra $li attrattori e i "oli$oni sia de#inita
in base alla distanza.
%ecessitiamo di un com"onente VdistanceW "er misurare la distanza tra VattractorH1W e il centro
del "oli$ono o la V"tH$ridW. A causa del numero che "otrebbe essere tro""o $rande, abbiamo
biso$no di Vdi'ideW 7MathW)"eratorsW5i'ision8 la distanza con un numero dato da un Vnumber
sliderW "er ridurre la "otenza di VattractorH1W a mio "iacimento.
67
Bi$. J.> /a V5istanceW 'iene di'isa con un numero "er controllare la "otenza del com"onente
VattractorH1W. -ebbene abbiamo creato un $ru""o attra'erso VattractorH1W e la sua circon#erenza,
sembra che la nuo'a 'ersione di ,rassho""er non accetti "iC i cluster, ed ! 4uindi consi$liabile
usare un sem"lice V"tW come VattractorH1W
-e ora connettiamo il com"onente Vdi'W al ra$$io 7*8 del "oli$ono, "otremo 'edere che la scala del
"oli$ono aumenta 4uando ci a''iciniamo all& VattractorH1W. -ebbene 4uesto "ossa sembrare un
buon risultato, 'o$liamo controllare il ra$$io massimo del "oli$ono, altrimenti andando oltre, c&! il
rischio che di'entino tro""o $randi, intersecandosi uno con l&altro 7! la stessa cosa che succede se
la "otenza de$li attrattori ! tro""o $rande8. 5obbiamo 4uindi a'ere un controllo manuale del
ra$$io del "oli$ono.
Bi$. J.>1 Psando un com"onente VminimumW 7MathWPtilWminimum8 ed un numero de#inito
dall&utente, creiamo un costrutto decisionale che dice all&al$oritmo di sce$liere il 'alore dal
com"onente Vdi'W se ! "iC "iccolo del numero che abbiamo de#inito come ra$$io massimo
attra'erso il Vnumber sliderW. ;ome "otete 'edere dalle imma$ini, 4uesti "oli$oni che crescono
"er di'entando "iC $randi del VmaUHradW riman$ono costanti, e "ossiamo dire che non sono sotto
l&azione del cam"o di attrazione.
-e nell&area di la'oro di *hino, cambiamo manualmente la "osizione del VattractorH1W, "ossiamo
'edere che tutti i "oli$ono a'ranno il loro ra$$io in accordo con la "osizione di VattractorH1W
68
Bi$. J.>2 E##etti dell&attrattore su tutti i "oli$oni. /o s"ostamento de$li attrattori, in#luenza o$ni
"oli$ono
Bi$. J.>> ;on la stessa modalitF, "ossiamo s"ostare i "oli$oni in direzione Z, in base al numero che
arri'a da VminW o cambiando le #unzioni matematiche, se necessario. uindi l&utilizzo de$li
attrattori non ! solo le$ato alle dimensioni.
-em"lice ===. (ossiamo a""licare 4ualun4ue #unzione su 4uesti "oli$oni, "er ruotarli, cambiare il
colore, etc. Ma "ro'iamo ora a "ensare cosa "otrebbe succedere se a'essimo due attrattori nel
cam"o. ;reiamo un altro cluster, il che si$ni#ica un altro "unto su *hinoceros associato al V"ointW e
al VcircleW su ,rassho""er.
/a "rima "arte dell&al$oritmo risulta la stessa. Ancora una 'olta, abbiamo biso$no di misurare la
distanza tra 4uesto VattractorH2W e il centro del "oli$ono o il V"tH$ridW e 4uindi di'iderlo "er lo
stesso Vnumber sliderW 4ui rinominato VattH"owerW "er controllare la "otenza dell&attrattore
69
Bi$. J.>J Introduzione di un secondo attrattore e a""licazione dell&al$oritmo.
)ra abbiamo due di'erse liste di dati che includono la distanza del "oli$ono da o$ni attrattore.
Misto che l&attrattore "iC 'icino "u< in#luenzare ancora di "iC il "oli$ono, dobbiamo tro'are 4uale !
"iC 'icino e usarlo come sor$ente di azione. Pseremo un VminW "er tro'are 4uale distanza !
minore e di conse$uenza 4uale "unto ! "iC 'icino.
Bi$. J.>K 1ro'are l&attrattore "iC 'icino. 5o"o a'er tro'ato 4uello "iC 'icino attra'erso il
com"onente VminW, il resto del "rocesso continuerF in 4uesto modo. )ra tutti i "oli$oni, sono
in#luenzati dai due attrattori.
Bi$. J.>D E& "ossibile cambiare nuo'amente la "osizione de$li attrattori e 'edere come i "oli$oni
rea$iscono di conse$uenza.
70
A$$iun$iamo altri attrattori, con l&obbietti'o di tro'are 4uello "iC 'icino ad o$ni "oli$ono e
a""licare $li e##etti "rede#initi. uesto concetto ! utile "er dialo$are con le "roblematiche di
"ro$ettazione con un lar$o numero di elementi di "iccola scala.
;ur'a attrattoreN "ro$etto del muro
(oichT in di'ersi casi necessitiamo di articolare il cam"o de$li o$$etti con attrattori lineari anzichT
"untuali, com"letiamo il discorso con un altro esem"io, ma in 4uesto caso attra'erso una cur'a
usata come attrattore.
Il nostro obietti'o ! 4uello di "ro$ettare un muro tra#orato "er uno s"azio interno, "er a'ere una
'ista incorniciata 'erso l&altro lato. uesta "arte di la'oro "otrebbe essere ta$liata da #o$li
materiali. %el mio s"azio "ro$ettuale abbiamo un #o$lio "iano 7il muro8, due cur'e e una serie di
"unti distribuiti casualmente come "unti di base "er #orme di ta$lio. Abbiamo deciso di $enerare
alcuni rettan$oli attra'erso 4uesti "unti, ta$liarli dai #o$li "er creare un muro tra#orato. Inoltre
'o$liamo or$anizzare i rettan$oli attra'erso le due cur'e date in modo che alla #ine, non risultino
solo dei rettan$oli s"arsi, ma distribuiti in maniera casuale in base alle cur'e che hanno un li'ello di
or$anizzazione in una macro scala ma 'en$ono controllate in micro scala.
;i< di cui abbiamo biso$no ! di $enerare 4uesta serie di "unti casuali e s"ostarli 'erso le cur'e, in
base alla "otenza che rice'ono da 4ueste. +o inoltre deciso di s"ostare i "unti lun$o entrambe le
cur'e in modo da non a'ere biso$no di selezionare 4uello "iC 'icino. )ra ho biso$no di $enerare i
miei rettan$oli oltre 4uesti "unti "er de#inire, in#ine, la dimensione di 4uesti rettan$oli in relazione
alla loro distanza da$li attrattori.
Bi$. J.>L ,enerazione una lista di "unti distribuiti casualmente, e introduzione de$li attrattori
attra'erso due com"onenti Vcur'eW 7(aramsW,eometrAW;ur'e8 nello s"azio del #o$lio. +o usato un
com"onente VdomainW "er de#inire l&inter'allo tra lo zero 7de#inito manualmente8 e il Vnumber
sliderW "er il ran$e dei "unti casule. Abbiamo rinominato il V"tW in V*ndH(tH,ridW.
71
Bi$. J.>E uando l&attrattore ! un "unto, "otete s"ostare la $eometria 'erso di loro. Ma 4uando
l&attrattore ! una cur'a, do'ete tro'are un "unto relati'o sulla cur'a e s"ostare la 'ostra
$eometria, lun$o 4uesto s"eci#ico "unto. E 4uesto "unto de'e essere unico "er o$ni $eometria.,
"erch! ci de'e essere una sola relazione tra $li attrattori e o$ni $eometria. -e imma$iniamo un
attrattore come una calamita, 4uesto "otrF attirare la $eometria, dal suo "unto "iC 'icino
all&o$$etto. uindi, #ondamentalmente ci< di cui abbiamo biso$no all&inizio ! di tro'are il "unto "iC
'icino al V*ndH"tH$ridW su entrambi $li attrattori. uesti "unti sono 4uelli "iC 'icini a$li attrattori,
"er o$ni membro del V*ndH(tH,ridW se"aratamente. +o usato il com"onente V;ur'e ;(W
7;ur'eWAnalAsisW;ur'e ;(8 che restituiscono il "unto "iC 'icino della cur'a al mio V*ndH(tH,ridW.
Bi$. J.>O (er "oter s"ostare i "unti 'erso $li attrattori, ho biso$no di de#inire un 'ettore "er o$ni
"unto in V*ndH(tH,ridW, dal "unto al suo "unto "iC 'icino su$li attrattori. (oichT ho il "unto di
"artenza e il "unto #inale del 'ettore, uso il com"onente V'ector 2(tW. Il secondo "unto del 'ettore
7"orta 3 del com"onente8 ! il "unto "iC 'icino sulla cur'a.
72
Bi$. J.J0 )ra ho connesso tutti i miei V*ndH(tH,ridW ai due com"onenti Vmo'eW "er s"ostarli
'erso $li attrattori. Ma se uso i 'ettori che ho creato nell&ultimo "assa$$io, 4uesto s"osterF tutti i
"unti sulle cur'e, ma non ! 4uello che 'o$lio. -e $uardate il com"onente V;ur'e ;(W "ossiede un
out"unt che restituisce la distanza tra o$ni "unti e il "unto rile'ante "iC 'icino sulla cur'e. 3ene=
%on abbiamo biso$no di misurare la distanza da$li altri com"onenti. +o a""ena usato un
com"onente VBunctionW e l colle$ato la distanza alla 0 e un Vnumber sliderW alla [ "er di'idere
0?/o$?7A8 in modo da controllare il #attore di s"ostamento 7/a #unzione lo$aritmica modi#ica la
relazione lineare tra le distanza e i #attori risultanti8.
)ra ho biso$no di modi#icare la dimensione dei miei 'ettori, in base ai nuo'i #attori creati. +o
biso$no di un com"onente "er modi#icare la dimensione dei 'ettori ed ! "er 4uesto che ho usato
un com"onente Vmulti"lAW 7MectorWMectorWMulti"lA8 che lo #a "er me, 4uindi ho colle$ato il
V'ector 2(W come base di 'ettori ed ho cambiato la loro dimensione attra'erso il #attore
dimensione e ho colle$ato i 'ettori risultanti al com"onente Vmo'eW che s"osta il V*ndH(tH,ridW
in relazione alla loro distanza da$li attrattori, e 'erso di loro.
73
Bi$. J.J1 Il Vnumber sliderW cambia la "otenza con cui o$ni attrattore s"osta $li o$$etti 'erso di loro
Bi$. J.J2 I/ "asso successi'o ! 4uello di $enerare dei rettan$oli. +o colle$ato i "unti s"ostati, usati
come "unti di base, al com"onente rettan$olo 7cur'eW"rimiti'eWrectan$le8. Ma come $iF detto,
'o$lio cambiare la dimensione dei rettan$oli in base alla loro distanza da o$ni attrattore. +o 4uindi
usato $li stessi 'alori numerici che ho usato "er il modulo del 'ettore e li ho modi#icati attra'erso
due #unzioni. +o di'iso 4uesti #attori "er K sul 'alore di 0 dei rettan$oli e li ho di'isi "er 2K nella
loro dimensione di [. ;ome "otete 'edere i rettan$oli hanno dimensioni di'erse, in base alla loro
distanza ori$inale da$li attrattori, ma hanno tutti le stesse "ro"orzioni a causa del #attore di
di'isione a""licato. (otete cambiare 4uesto #attore 7K, 2K8 a 4ualun4ue 'alore o usare lo slider "er
modi#icarli $radualmente "er 'edere 4uale "ro"orzione ! 4uella "iC delicata "er il 'ostro $usto.
74
Bi$. J.J> Mani"olando le 'ariabili otterremo di'ersi modelli tra i 4uali "otremo sce$liere il mi$liore
"er i nostri sco"i "ro$ettuali.
Bi$. J.JJ Modello del "ro$etto #inale di un sistema di muri
tra#orati. I di'ersi e##etti di ombre$$iatura "ossono essere
considerati come #attori "er controllare la dimensione
delle a"erture.
75
;a"itolo KH -"azio (arametrico
76
Capitolo_$_&pazio 'arametrico
Il nostro studio delle $eometria osser'a $li o$$etti nello s"azio, la ra""resentazione di$itale delle
#orme e della tettonica, la di'ersa articolazione de$li elementi e i "rocessi multi"li di $enerazione
di #ormeS delle idee classiche di simmetria e "attern #ino alle %P*3- e alle ME-+.
-tiamo dun4ue dialo$ando con $li o$$etti. uesti o$$etti "ossono essere "arallele"i"edi, s#ere,
coni, su"er#ici o 4ualun4ue loro articolazione. In termini di loro ra""resentazione nello s"azio,
$eneralmente sono $eneralmente di'isi in "unti zero dimensionali , cur'e monodimensionali,
su"er#ici bidimensionali e solidi 4uali o$$etti a > dimensioni. Bormuliamo lo s"azio attra'erso un
sistema di coordinate "er identi#icare alcune "ro"rietF di base 4uali "osizione, direzione e misure.
Il sistema di coordinate cartesiane ! uno s"azio tridimensionale che ha un "unto di ori$ine
)\70,0,08 e tre assi che in 4uesto "unto che creano le direzioni 0, [ e Z. Ma do'remo considerare
che 4uesto sistema tridimensionale di coordinate, include anche sistemi bidimensionali 7s"azi
"iatti 7U,A88 e monodimensionali 7s"azi lineari 7U88. ;i< che conosciamo come "ro$etto "arametrico
comunica con 4uesti s"azi. (er dise$nare cur'e #ree #orm e su"er#ici in maniera "arametrica,
abbiamo biso$no di andare oltre 4uesti s"azi. Misto che il dise$no "arametrico si s"osta tra 4uestii
s"azi, abbiamo biso$no di ca"irli come s"azi "arametrici.
$_1_&pazio parametrico monodimensionale
/&asse 0 ! una linea in#inita che contiene alcuni numeri associati, occu"anti di'erse "osizioni.
-em"licemente 0\0 indica l&ori$ine e U\2.>K un "unto nella direzione della 0 "ositi'a che dista 2.>K
unitF dall&ori$ine. uesta sem"lice sistema di coordinate monodimensionale "u< essere
"arametrizzato con di##erenti "osizioni, ma anche una cur'a nello s"azio contiene la "ossibilitF di
essere "arametrizzata attra'erso una serie di numeri reali che mostrano una di##erente "osizione
nella cur'a. %el nostro s"azio "arametrico 15, 4uando si "arla di "unti, 4uesti "otrebbero essere
descritti attra'erso dei numeri reali che sono associati ad un "unto s"eci#ico in una cur'a "resa in
considerazione.
/a cosa im"ortante da sa"ere ! che, "oichT non stiamo la'orando "iC sull&asse 0, o$ni cur'a ha il
suo "ro"rio s"azio "arametrico e 4uesti "arametri non combaciano esattamente con il sistema di
misura uni'ersale. )$ni cur'a in ,rassho""er ha uno s"azio "arametrico che "arte da zero e
termina in un numero reale "ositi'o 7#i$. K.18
Bi$. K.1. -"azio "arametrico monodimensionale di una cur'a . Ad o$ni 'alore di &t& ! associato un
numero reale con una "osizione nella cur'a.
77
uindi "arlando di cur'e e la'orando e ri#erendoci ad alcuni "unti s"eci#ici, non abbiamo l&obbli$o
di con#rontarci sem"re con "unti nello s"azio >5 con "\7U,A,z8 ma "ossiamo richiamare un "unto su
una cur'a attra'erso un "arametro s"eci#ico "\t. Ed ! o''io che "ossiamo sem"re con'ertire
4uesto s"azio "arametrico in un "unto in un sistema coordinate $enerale $lobali 7Bi$. K.28
Bi$. K.2 -"azio "arametrico e con'ersione in unsistema di coordinate >5
$_2_&pazio parametrico 2idimensionale
5ue assi, 0 e [ in un sistema di coordinate $enerale $lobale, dialo$ano con i "unti di una in#inita
su"er#icie "iatta nella 4uale, ad o$ni "unto di 4uesto s"azio ! associato con una co""ia di numeri
"\7U,A8. uasi come in uno s"azio 15, "ossiamo imma$inare che tutti i 'alori di uno s"azio 25
"ossono essere tracciati non solo in un sistema $enerale di coordinate di una su"er#icie "iana, ma
anche in o$ni su"er#icie s"aziale. uindi "ossiamo "arametrizzare un sistema di coordinate su una
su"er#icie cur'a nello s"azio, e nominare i di'ersi "unti attra'erso una co""ia di numeri 4ui
chiamati s"azio PM, nei 4uali o$ni "unto ( sulla su"er#icie ris"onde a (\7u,'8. Ancora una 'olta,
non abbiamo biso$no di la'orare con tre 'alori (\7U,A,z8 come in uno s"azio >5 "er tro'are i "unti,
ma, "ossiamo la'orare con i "arametri PM sulla su"er#icie 7Bi$. K.>8.
Bi$. K.> -"azio "arametrico PM e 25
78
uesti &"arametri& sono s"eci#ici "er o$ni su"er#icie e non sono dei dati $enerici come il sistema di
coordinate $lobale, ed ! "er 4uesto che li chiamiamo "arametrici= Abbiamo accesso allo s"azio >5
e alle coordinate e4ui'alenti "er o$ni "unto sulla su"er#icie 7Bi$. K.J8
Bi$. K.J. E4ui'alenza del "unto "\7u,'8 in un sistema di coordinate $enerali "\7U,A,z8
$_3_ "ransizione tra gli spazi
Pna "arte #ondamentale nel "ensare un "ro$etto "arametrico, ! 4uella di conoscere esattamente
di 4uale sistema di coordinate o di s"azio "arametrico abbiamo biso$no "er "oter "ro$ettare.
/a'orando con cur'e #ree #orm e su"er#ici, abbiamo biso$no di "rocurarci dei dati "er la creazione
o la tras#ormazione di altre $eometrie. ;on lo scri"tin$ risulta "iC com"licato, ma con l&inter#accia
'isuale di ,rassho""er, ris"etto al codice, ! "ossibile identi#icare sem"licemente 4uale ti"o di dati
necessitiamo "er centrare i nostri sco"i "ro$ettuali.
%otiamo che "er richiamare una $eometria con $li Al$oritmi ,enerati'i e ,rassho""er, non sem"re
ci< di cui abbiamo biso$no ! un "arametro, o un 'alore in un sistema di coordinate, ma 4ualche
'olte abbiamo biso$no solo di un indice numerico. -e stessimo la'orando con un $ru""o di "unti,
linee o 4uant&altro, e #ossero $enerate come un $ru""o di o$$etti, come una nu'ola di "unti,
"oichT o$ni o$$etto ! associato con un numero naturale che mostra la "osizione in una lista di
o$$etti, a'remo solo biso$no di nominare i numeri de$li o$$etti come indici al "osto di un sistema
di coordinate. /&indicizzazione dei numeri, come delle serie 'ariabili in "ro$rammazione ! un
sistema di calcolo basato sullo zero.
Bi$. K.K Indicizzare numericamente in un
$ru""o di o$$etti ! il modo "iC sem"lice
di nominarli. uesto ! un sistema di
calcolo basato sullo zero, si$ni#ica che i
numeri "artono da zero.
79
uindi, come "recedentemente menzionato, nella modellazione associati'a, $eneriamo le nostre
$eometrie "asso do"o "asso come alcuni o$$etti relazionati e "er 4uesto moti'o usiamo lo s"azio
"arametrico "er o$ni o$$etto, in modo da estrarre in#ormazioni s"eci#iche sullo s"azio e usarle
come base di dati "er i "assi successi'i. uesta "otrebbe "artire da un sem"lice cam"o di "unti
come $eneratori di base e terminare ai detta$li sottili del modello risultante.
$_!_ Componenti parametrici di 2ase
$_!_1 9al+tazione di c+rve
Il com"onente Ve'aluateW ! la #unzione che tro'a i "unti su una cur'a o su una su"er#icie, in base
al "arametro "assato. Il com"onente Ve'aluate cur'eW 7;ur'eWAnalAsisWE'aluate cur'e8 "rende
una cur'a ed un "arametro 7un numero8 e restituisce un "unto su una cur'a in base a 4uesto
"arametro.
Bi$.K.D Il "unto 'alutato su Vcur'eW in base ad un "arametro s"eci#ico, che "ro'iene da un
Vnumber sliderW
Bi$. K.L (ossiamo usare 4ualun4ue Vcur'eW dise$nata su *hinoceroso su ,rassho""er "erch!
'en$a 'alutata. E "ossiamo usare una VseriesW di numeri come "arametrici "er Ve'aluateW al "osto
di un "arametro. %ell&esem"io "recedente, a causa di alcuni numeri del com"onente VseriesW che
sono "iC $randi del dominio della cur'a, ! "ossibile che il com"onente Ve'aluateW restituisce un
warnin$ 7attenzione=8 e di'enti arancione "oichT i i "unti sono "osizionati nell&imma$inaria
continuazione della cur'a
80
Bi$. K.E -ebbene l&out"ut &5& di un com"onente Vcur'eW restituisca il dominio di una cur'a
7"arametri minimo e massimo di una cur'a8 alternati'amente "ossiamo "assare una cur'a esterna
7(aramsW,eometrAWcur'e8 e nel suo menu contestuale "ossiamo sce$liere &re"arameterize&
7ri"arametrizza8. uesto im"osta il dominio della cur'a in 'alori com"resi tra zero ed uno.
Bondamentalmente "ossiamo dun4ue scorrere tutte le cur'e attra'erso un Vnumber sliderW o
insieme numerico com"reso tra zero e uno, e non essere "reoccu"ati che i "arametri "ossano
andare oltre il dominio numerico della cur'a stessa.
;i sono altri com"onenti utili "er lo s"azio "arametrico in ;ur'eWAnalAsis ? di'ision di cui
"arleremo in se$uito
$_!_2 9al+tazione di +na s+per#icie
-e "er 'alutare una cur'a abbiamo biso$no di un numero come "arametro 7"erch! la cur'a ha uno
s"azio monodimensionale8 "er le su"er#ici abbiamo biso$no di una co""ia di numeri come
"arametri 7u,'8 mediante i 4uali "ossiamo 'alutare uno s"eci#ico "unto su una su"er#icie. (ossiamo
usare il com"onente Ve'aluate sur#aceW 7-ur#aceWAnalAsisWAnalAsis8 "er 'alutare un "unto su una
su"er#icie con un "arametro s"eci#ico.
(ossiamo usare un com"onente V"ointW "er 'alutare la su"er#icie usandolo come in"ut "er PM del
com"onente Ve'aluate sur#aceW 7i$norerF la dimensione Z8 e sarF "ossibile scorre i "unti sulla
su"er#icie solo con la "arte 0 e [ del "unto, 4uale "arametri P e M.
81
Bi$. K.O Pn "unto 'alutato su una su"er#icie, basato sui "arametri P e M, "ro'enienti da Vnumber
sliderW, con un com"onente V"ointW che crea una co""ia di numeri. Ancora, come con le cur'e !
"ossibile sce$liere il &re"arameterize& sul menu contestuale della su"er#icie e im"ostare il dominio
della su"er#icie com"reso tra zero e uno in entrambe le direzioni P e M. ;ambiate P e M attra'erso
un Vnumber sliderW e osser'ate come 4uesti "unti 'alutati si muo'ono sulla su"er#icie 7+o
rinominato $li in"ut 0,[,Z, dei com"onenti in P e M8
Bi$. K.10 "oichT abbiamo biso$no di V"ointsW "er 'alutare una Vsur#aceW come 'edete, "ossiamo
usare o$ni metodo che abbiamo trattato "er $enerare. /e nostre o"zioni non sono limitate solo ad
una co""ia di "arametri "ro'enienti da un Vnumber sliderW, e "ossiamo scorrere una su"er#icie in
tanti modi.
Bi$. K.11 (er di'idere una su"er#icie 7come nell&esem"io "recedente8 in alcune ri$he e colonne,
"ossiamo anche usare il Vdi'ide sur#aceW o, se c&! biso$no di alcuni "iani che incrocino alcune ri$he
e colonne di una su"er#icie "ossiamo usare Vsur#ace #rameW entrambi dal menu -ur#ace, sotto il
"annello Ptil.
82
$_!_3_ '+nto pi7 vicino alla c+rva e alla s+per#icie
Ma non sem"re usiamo "arametri "er cercare i "unti, tal'olta abbiamo il "unto e 'o$liamo sa"ere
i suoi "arametri "er altri usi. uesto succede 4uando entra in $ioco la "roblematica di tro'are il
"unto "iC 'icino. I com"onenti Vcur'e ;(W e Vsur#ace ;(W 7"unto "iC 'icino alla cur'a?su"er#icie8
sono due com"onenti che ci aiutano a #are 4uesto.
Bi$. K.12 V;ur'e ;"W e V-ur#ace ;"W ci aiutano a tro'are il "arametro di un "unto su una cur'a o su
una su"er#icie. Esistono anche altri com"onenti che ! necessario alimentare con altri "arametri.
$_$ 'roli#erazione di oggetti nello spazio parametrico
(er di'erse ra$ioni di desi$n, i "ro$ettisti usano delle su"er#ici "er ri"rodurci 'elocemente so"ra,
altre $eometrie. /e su"er#ici sono o$$etti bidimensionali #lessibili e continui che ra""resentano
delle basi adatte a 4uesto sco"o. Esistono tanti metodi che dialo$ano con le su"er#icie come la
(annellizzazione. In o$ni caso 'o$lio iniziare con uno dei metodi "iC sem"lici, mentre de$li altri
discuteremo "iC a'anti.
Abbiamo una su"er#icie #ree9#orm e una $eometria sem"lice, come "er esem"io un
"arallele"i"edo. /a domanda ora !N come #accio a riem"ire la su"er#icie con un certo numero di
"arallele"i"edi, in modo da a'ere su"er#ici di##erenziate 7come "er esem"io un in'olucro8, "er il
4uale dobbiamo a'ere il controllo della macro scala 7su"er#icie8 e della micro scala
7"arallele"i"edo8 se"aratamente, ma in maniera associati'a2 Ecco il metodoN "er "oter "ortare a
termine l&o"erazione, do'remo di'idere la su"er#icie nella "arti desiderate e $enerare i nostri
"arallele"i"edi su 4ueste "osizioni s"eci#iche della su"er#icie e rimodi#icarle in modo da a'ere
mani"olazioni locali di 4uesti o$$etti.
Indi'iduare i "osizionamenti desiderati sulla su"er#icie ! sem"lice. (ossiamo di'idere la su"er#icie
o "ossiamo $enerare alcuni "unti basati su un dato insieme numerico. (er 4uanto ri$uarda la
mani"olazione locale delle $eometrie, abbiamo ancora biso$no di set di dati che "ossono essere
usati "er le tras#ormazioni 4uali rotazione, s"ostamenti locali, ridimensionamenti, correzioni etc.
83
Bi$. K.1> Pna su"er#icie #ree #orm ri"arametrizzata, 'alutata attra'erso un inter'allo numerico che
"arte da zero a uno, di'iso "er >0 elementi attra'erso un Vnumber sliderW in entrambe le direzioni
P e M 74ui "ossiamo usare Vdi'ide sur#aceW, ma ho "re#erito usare il com"onente V"ointW "er
ricordare che tutte le tecniche "er la $enerazione di "unti dal ca"itolo 2 sono o"zioni "ossibili "er il
nostro es"erimento8.
Bi$. K.1J ;ome "otete 'edere il com"onente Ve'aluateW restituisce un &normal& 7normale8 e un
&"lane& 7"iano8 "er o$ni "unto 'alutato sulla su"er#icie. +o usate 4uesti "iani o cornici "er $enerare
serie di "arallele"i"edi 7VboUW8 sulla su"er#icie #inch! le loro dimensioni sono state controllate
attra'erso Vnumber sliderW. Il com"onente VboUW 7-ur#aceW"rimiti'eWcenter boU8 necessita di un
centro "er il "arallele"i"edo e della sua lun$hezza in 0, [, Z.
(er "oter modi#icale localmente i "arallele"i"edi, ho deciso di ruotarli. Mo$lio im"ostare ll&asse di
rotazione "arallelo alla direzione P della su"er#icie e in base alla situazione di 4uesta sem"lice
su"er#icie, sce$lier< il "iano 0Z, come base "er la loro rotazione 7#i$. K.1K8
84
Bi$. K.1K *otazione locale di un "arallele"i"edo
Bi$. K.1D Il com"onente VrotateW necessita di tre in"ut. Il "rimo ! la $eometria, cio! i
"arallele"i"edi. Il secondo elemento ! l&an$olo di rotazione. /i 'o$lio ruotare con dei 'alori casuali
7! "ossibile ruotarli $radualmente o in 4ualun4ue modo8. Mo$lio 4uindi $enere un $ru""o di
numeri casuali 7VrandomW8 il cui numero sarF "ari a 4uello dei "arallele"i"edi. uindi ho usato un
com"onente Vlist len$htW "er ca"ire 4uanti sono i "arallele"i"edi e l&ho colle$ato alla "orta % del
com"onente VrandomW e colle$ato i 'alori casuali come an$oli di razione al com"onente VrotateW.
In#ine, "er de#inire il "iano dell&asse, ho $enerato un V0Z "laneW su o$ni "unto che ho 'alutato sulla
su"er#icie e l&ho colle$ati al com"onente VrotateW
(er mi$liorare le "er#ormance del "rocesso, "rima di $enerare $li o$$etti, non scordate di
deselezionare l&ante"rima 7&"re'iew&8
85
Bi$. K.1L ,eometria #inale
Bi$. K.1E (ro'ate a combinare concetti di##erenti sui 'ostri "ro$etti. ui, anzichT usare 'alori
casuali "er le rotazioni dei "arallele"i"edi, ho usato un attrattore "unti#orme e ho im"ostate la sua
distanza da o$ni "arallele"i"edo come #attore di rotazione e come 'edete, i risultati sono mostrati
in #i$ura. ueste sono tecniche di mani"olazione locale dei "arallele"i"edi, ma sa"ete che "otete
a""licare modi#iche anche alla scala $lobale.
86
Pso non uni#orme della 'alutazione
5urante un "ro$etto mi ! 'enuto in mente che non c&! moti'o di usare una distribuzione uni#orme
dei "unti sua una su"er#icie. Mi sono chiesto se ! "ossibile im"ostare alcuni criteri e 'alutare la
su"er#icie in base a 4uesto e selezionare "osizioni s"eci#iche sulla su"er#icie. (oichT usiamo i
"arametri P e M, lo s"azio e l&insieme di dati incrementali 7o loo" incrementali nello scri"tin$8, mi
sono anche chiesto se siamo sem"re limitati ad una di'isione rettan$olare di una su"er#icie.
Esistono di'ersi domande ri$uardo l&indi'iduazione delle tracce su una su"er#icie, ma 4ui sto "er
cimentarmi in un sem"lice esem"io "er mostrare come in situazioni s"eci#iche "ossiamo usare
alcuni dei "arametri P e M di una su"er#icie "er crearci so"ra una $ri$lia rettan$olare non
uni#orme.
/&esem"io delle colonne
+o due su"er#ici #ree #orm "er co"rire uno s"azio e sto "ensando di creare uno s"azio sociale
a"erto in mezzo. Mo$lio a$$iun$ere alcune colonne tra le su"er#ici ma, 'isto che sono #ree #orm e e
non 'o$lio creare una $ri$lia di colonne, ho deciso di limitare la lun$hezza della colonne e
a$$iun$erne il "iC "ossibile in determinate "osizioni con s"eci#ici limiti di altezza. Mo$lio inserire in
4uesto s"azio due coni come colonne, in'ertiti e intersecati, "er creare una #orma sem"lice.
Bi$. K.1O +o inserito due $eneriche su"er#ici in ,rassho""er, attra'erso Vsr# Hto"W e Vsr#HbottomW
come s"azio co"erto l&ho ri"arametrizzato. +o inoltre $enerato un inter'allo numerico com"reso
tra zero e uno, di'iso attra'erso un Vnumber sliderW e usando il com"onente V"ointW ho 'alutato
4ueste su"er#ici ai "unti.
87
Bi$. K.20 In se$uito, ho $enerato una serie di VlineW tra tutti 4uesti "unti, ed ho inoltre misurato la
distanza tra o$ni co""ia di "unti.
Bi$. K.21 )ra ho biso$no di estrarre le mie linee desiderate dalla lista. +o usato un com"onente
Vdis"atchW 7-etsW/istW 5is"atch8 "er selezionare le linee dalla lista. Pn com"onente Vdis"atchW
necessita di dati booleani associati con i dati della lista, "er mandare 4uelli associati a 1*PE 'erso
l&out"ut A e 4uelli associati a BA/-E, 'erso l&out"ut 3. I dati booleani arri'ano da una sem"lice
#unzione di com"arazione. In 4uesta #unzione ho com"arato la lun$hezza delle linee con dei
numeri dati come lun$hezza massima della linea 7UWA, U\Vnumber sliderW, A\VdistanceW8. )$ni
lun$hezza di linea minore del Vnumber sliderW creano un 'alore 1*PE, attra'erso la loro #unzione e
li "assano attra'erso il com"onente Vdis"atchW all&out"ut A. uindi se uso le linee "ro'enienti da
un out"ut A di Vdis"atchW, sono sicuro che saranno minori di una certa lun$hezza, saranno 4uindi
le mie colonne.
88
Bi$. K.22 /a $eometria della colonne ! com"osta da due coni in'ertiti uno ris"etto all&altro, che si
intersecano nella sommitF. (oichT 4ui ho l&asse delle colonne, 'o$lio dise$nare due circon#erenze
nei "unti terminali de$li assi e estruderli 'erso i "unti sulle cur'e, in modo da rendere "ossibile
l&intersezione.
Bi$. K.2> Psando il com"onente Vend "ointW "osso a'ere entrambe le estremitF delle colonne.
uindi "osso connettere 4uesti "unti e usarli come "unti base "er creare delle circon#erenze con
un ra$$io dato. A'ete $iF a""reso che 4ueste circon#erenze sono "iane mentre le nostre su"er#ici
non lo sono. +o 4uindi biso$no di "roiettarle attra'erso il com"onente V"roYectW
7;ur'eWPtilW(roYect8 "er 4uesto moti'o. /a "arte 3 di V"roYectW sarF connessa alle su"er#icie
in#eriore e su"eriore.
89
Bi$. K.2J /&ultimo "asso ! 4uello di estrudere 4ueste circon#erenze "roiettate 'erso "unti s"eci#ici
sull&asse della colonna 7Bi$. K.2>8. +o usato il com"onente VeUtrude "ointW e l&ho 4uindi colle$ate
alle circon#erenze "roiettate come cur'e di base. (er l&estrusione 'erso un "unto, ho colle$ato tutti
a$li assi delle colonne al com"onente Vcur'eW, li ho ri"arametrizzati, 4uindi 'alutati in due
"arametri s"eci#ici distanti 0.D dalla cima e 0.J dalla "arte in#eriore.
Bi$. K.2K -ebbene in 4uesto esem"io ho usato ancora il tracciamento basato sulla $ri$lia su una
su"er#icie, ho usato ulteriori criteri "er sce$liere alcuni "unti e non tutti in maniera uni#orme.
90
Bi$. K.2D Modello #inale

/&idea di usare s"azi "arametrici delle cur'e e delle su"er#ici "er "roli#erare o$$etti sulle stesse
su"er#ici, com"orta di'erse o"zioni e metodi. %on #ermate'i ad uno solo, ma "ro'atene di'ersi.
Mediamo ancora 4ualcos&altro.
$_6_Al2eri di dati
(arlando di s"azi "arametrici e usando i com"onenti relati'i, ! ora di a"rire un nuo'o ca"itolo
ri$uardo l&amministrazione dei dati su ,rassho""er, chiamato &data tree& 7albero dei dati8 che, "oco
alla 'olta, "otrebbe ser'ir'i 4uando la'orate con modelli com"lessi, s"ecialmente nello s"azio
"arametrico di cur'e e su"er#ici.
/e $randi "otenzialitF de$li al$oritmi $enerati'i consentono di creare e $o'ernare centinaia di
o$$etti tra loro associati'i. /a'orando con un $rande numero di o$$etti, tal'olta abbiamo biso$no
di a""licare dei comandi a tutti $li o$$etti contem"oraneamente e, tal'olta, abbiamo biso$no di
estrarre un elemento a cui a""licare un comando. Abbiamo 4uindi biso$no di a'ere accesso ai
nostri o$$etti e $estire i nostri dati 7o$$etti8 in maniere di##erenti.
Imma$iniamo di a'ere K cur'e nel nostro s"azio "ro$ettuale e do'erle di'idere in 10 "arti. )ra
'o$liamo estrarre tutti i secondi "unti su 4ueste cur'e e connetterli insieme con una cur'a
inter"olata.
91
Bi$. K.2L Il com"onente Vcur'eW im"orta K cur'e dentro ,rassho""er, tutte di'ise in 10 "arti. -e
selezioniamo l&indice numerico 1 attra'erso il com"onente VitemW dai "unti di di'isione, 'edrete
che non 'errF selezionato solo il secondo "unto della "rima cur'a, ma tutti 4uelli che hanno indice
1 7cio! tutti i secondi "unti di tutte le cur'e83ene= Ma se colle$hiamo 4uesti "unti ad un
com"onente Vinter"olateW, "er dise$nare una cur'a, 'edrete che il com"onente mostrerF un
errore e non dise$nerF niente.
(er ca"ire il "roblema, introduciamo un com"onente molto utile e osser'iamo la situazione.
uesto com"onente ! il V"aram 'iewerW da (aramsW-"ecial. ;om"ariamo i risultati
Bi$. K.2E Il com"onente V"aram 'iewerW mostra all&interno del com"onente in#ormazioni
interessanti sui dati, che ci #anno ca"irela ra$ione dell&errore del com"onente.
;i< che 'edete in V"aram 'iewerW ! il concetto del data tree in ,rassho""er. ;ome si e'ince dalla
#i$ura K.2E, il com"onente Vcur'eW contiene K elementi, ma mentre 4ueste cur'e sono di'ise e
$enerano alcuni "unti "er o$ni cur'a, i "unti sono elencati in una lista di dati di##erenti, chiamati
&*ami& 7branches8. uesto si$ni#ica che il risultato del com"onente Vdi'ideW non ! solo una lista di
dati contenente KK "unti, ma ora abbiamo cin4ue liste di dati o$nuna con 11 "unti all&interno.
uesto si$ni#ica che il tree 7albero8 ! stato di'iso in branches 7rami8 in modo da #acilitare usi #uturi
e renderli accessibili in maniera "iC sem"lice nei nostri "ro$etti. (erci<, 4uando selezioniamo
VitemW indice 1, 'en$ono selezionati $li elementi di indice 1 di o$ni lista
92
Bi$. K.2O V"aram 'iewerW con l&o"zione &data tree& atti'ata dal menu contestuale, il cui com"ito !
di mostrare la di##erenza tra i rami di dati in o$ni com"onente. ;hiediamoci ora "erch! il
com"onente Vinter"olateW non dise$na una cur'aN do'&! il "roblema2 5iamo un&occhiata
ra''icinata alle in#ormazioni tratte dalla nostra situazione.
Bi$. K.>0 V(aram 'iewerW e V(anelW di AN cur'e e 3N selezioni dei "unti di indice 1
93
%ella "rima imma$ine della #i$ura K.>0 V(aram MiewerW del com"onente Vcur'eW mostra uno dei
rami "rinci"ali. -e date un&occhiata al suo "annello, 'edrete che c&! una lista di cur'e sotto il titolo
di _0`. ui in ,rassho""er la notazione _ ` ra""resenta il simbolo dell&albero dei dati, e mostrano i
rami in cui sono "osizionati $li o$$etti. uindi tutte le cur'e nella "rima imma$ine sotto _0` sono
situate nel ramo "rinci"ale. -e tornate indietro alla #i$. K.2E 'edrete che i V"aram 'iewerW "er le
cur'e indicano 7(aths\18 che si$ni#ica che abbiamo un solo ramo di dati e in 4uesto ramo _0` 7%\K8
abbiamo K elementi. Ma nella seconda imma$ine della Bi$. K.>0 "ossiamo 'edere che i dati nel
com"onenti VitemW inseriti nella lista sotto K di'ersi rami e 4uando 'en$ono tras#eriti dentro un
Vinter"olateW, sono se"arati l&uno dall&altro e il com"onente Vinter"olateW non "u< dise$nare le
"olilinea attra'erso K "unti se"arati. ;ome "ossiamo risol'ere il "roblema2
Bi$. K.>1 (er risol'ere il "roblema ho usato il com"onente V#lattenW
7-etsW1ree8 che, come dice il nome, con'erte i dati da rami#icazioni
multi"le in un unico ramo, 'isibile in V"aram 'iewerW. ;ome "otete
'edere nel secondo V"anelW ora abbiamo K "unti sotto il ramo _0` e il
com"onente Vinter"olateW "u< dise$nare una "olilinea attra'erso
4uesti cin4ue "unti.
(er riassumere il concetto dobbiamo ca"ire che, la'orando con o$$etti multi"li a li'elli di##erenti, i
dati si dis"on$ono in una struttura $erarchica in rami, e o$ni ramo di dati ha il "ro"rio "ercorso e
indice numerico che mostra il suo indirizzo uni'oco del ramo 7".e. _0S1`8. E& im"ortante sa"ere che
la'orando con i com"onenti che $estiscono le liste, 4uesti do'ranno sottostare alle re$ole
la'orando su o$ni ramo come se #ossero liste se"arate. (otremo a'ere biso$no, inoltre, sia di
$enerare rami di dati "er conto nostro sia #ar con'er$ere le rami#icazioni di dati in un unico #lusso,
o altri trattamenti dei dati. %e$li es"erimenti successi'i ho "ro'ato a mettere in "ratica 4ueste
situazioni.
94
Bi$. K.>2 *ami#icazione di dati su un &data tree&
(er concludere con 4uesta tematica, 'ediamo un altro esem"io.
Il nostro sco"o ! 4uello di "ro$ettare una su"er#icie #orata come 4uella schizzata in #i$. K.>> basata
su una data su"er#icie. Il "rocesso sarF a##rontato in maniera 'eloce "er 'edere subito il risultato
#inale.
Bi$. K.>> -chizzo della su"er#icie desiderata.
(er dise$nare 4uesta su"er#icie #orata, 'o$lio $enerare tante "iccole linee nel bordo su"eriore e
in#eriore della su"er#icie e unirle attra'erso un lo#t. uesto creerF tante "iccole su"er#ici che, tutte
95
insieme, daranno l&idea della mia su"er#icie #orata. 5o'rei #are attenzione alla direzione delle linee
"er "oter controllare le $raduali modi#iche delle su"er#ici e 4uindi del risultato #inale.
Bi$. K.>J +o introdotto una $enerica Vsur#aceW nel can'as e l&ho es"losa attra'erso V3re"
;om"onentsW 7-ur#aceWAnalAsisW3re" ;om"onents8 "er a'ere accesso ai suoi bordi. uindi ho
selezionato i bordi su"eriori ed in#eriori con VitemW attra'erso l&indice 0 e 2.
Bi$. K.>K. +o a""licato una distanza di o##set al bordo in#eriore e ho anche modi#icato la direzione
del bordo su"eriore con V#li"W 7;ur'eWPtilWBli"8 "erch! so che i due bordi non hanno la stessa
direzione. A 4uesto "unto ho usato il com"onente Vdi'ideW "er di'idere 4uesti bordi e a'ere un
insieme di "unti da $estire 7(ossiamo anche usare un solo com"onente Vdi'ideW ma ora
"re#eriscono non renderlo "iC com"lesso8.
96
Bi$. K.>D Il com"onente VlineW ! stato usato "er connettere i "unti della "arte in#eriore ai "unti che
stanno sulla cur'a distanziata dal bordo in#eriore. Pn altro com"onente VlineW ! usato "er
connettere tutti i "unti a""artenenti al bordo su"eriore con il loro "unto successi'o della lista
7shi#t o##set\18
Bi$. K.>L -e ora uso i com"onenti VlineW "er #are un lo#t, 'edremo che 'iene $enerata una
su"er#icie, ma non 4uella che 'o$lio io. Anche l&utilizzo del com"onente Vwa'eW non aiuta.
97
Bi$. K.>E -e $uardiamo il V"aram 'iewerW dei com"onenti VlineW, 'edremo che entrambi hanno un
solo ramo di dati e 4uindi il lo#t non ! stato a""licato a co""ie se"arate di linee, ma ad un unico
blocco. ;hiaramente 'o$lio che le linee 'en$ano inserite in liste di##erenti "er essere trattate come
dati sin$oli e 4uando usate "er il lo#t, di'entino co""ie di linee.
Bi$. K.>O (er risol'ere 4uesto "roblema ho usato un com"onente molto utile, il V,ra#tW
7-etsW1reeW,ra#t 1reeW. ;ome "otete 'edere, come risultato abbiamo che le liste di dati in
entrambi i com"onenti VlineW sono stati di'isi in rami, un ramo "er o$ni elemento della lista. )ra il
com"onente Vlo#tW "u< creare la su"er#icie da o$ni linea della "rima lista di dati ad una linea
associata nella seconda lista di dati. A 4uesto "unto "ossiamo 'edere che il risultato ! la $eometria
schizzata in "recedenza.
ui, a di##erenza del "rimo esem"io, dobbiamo ordinare i nostri dati in rami di##erenti "er "oter
$eometrie multi"le come risultato , altrimenti a'remo a'uto una sola su"er#icie continua.
98
Bi$. K.J0 Mi ricordo che se 'olete dise$nare una cur'a inter"olata "assante "er "unti s"eci#ici,
"ro'enienti da una su"er#icie 'alutata, dobbiamo &s"ianare& la lista di dati con il com"onente
V#lattenW, creando un ramo di dati "er i "unti e "assarli alla cur'a inter"olata. uesto "erch! tutte
4ueste su"er#ici sono inserite in rami di'ersi cos: come i "unti 'alutati. 5obbiamo dun4ue ca"ire
che in com"onenti di'ersi e situazione "ro$ettuali, dobbiamo "rocessare i dati in uno o "iC rami. I
com"onenti che ci "ossono aiutare, li tro'iamo in -etsW1ree
Bi$. K.J1 Modello #inale della
su"er#icie.
99
CA'I"3L3_ 6_)e#ormazioni e Morp*ing
100
6_1_)e#ormazioni e Morp*ing
/a $eometria non ! sem"re #atta di o$$etti "uri. (er "oter realizzare alcuni ti"i di "ro$etti, abbiamo
biso$no di cambiare le "orzioni e le condizioni $enerali dei 'olumi e di altri "rodotti $eometrici. /a
de#ormazione e il mor"hin$ sono tra le #unzioni "iC "otenti nel cam"o del desi$n #ree #orm.
Attra'erso le de#ormazioni, "ossiamo torcere, inclinare, "ie$are le $eometrie e attra'erso il
mor"hin$ "ossiamo tras#ormare le $eometrie da una condizione limite all&altra.
5iamo un&occhiata ad una de#ormazione sem"lice. -e abbiamo un o$$etto, come la -#era,
sa""iamo che esiste un "arallele"i"edo limite 7$abbia8 attorno, la cui mani"olazione de#orma
l&intera $eometria.
Bi$. D.1 5e#ormazione di un o$$etto attra'erso il "arallele"i"edo limite.
In base al ti"o di tras#ormazione 7se #atta attra'erso un an$olo, s"ostamento etc8, "ossiamo
chiamarla inclinazione, "ie$atura o de#ormazione libera. (er o$ni #unzione di de#ormazione,
"otremo a'ere biso$no dell&intero "arallele"i"edo limite, o solo uno dei suoi lati come "iano
o""ure uno dei suoi "unti. -e controllate i di'ersi com"onenti "er le de#ormazioni, "otrete
#acilmente tro'are la il costruzioni $eometriche di base "er ottenere la de#ormazione.
%el cam"o dell&animazione il termine mor"hin$ indica il "rocesso di transizione da un&imma$ine ad
un&altra in maniera le$$era e scorre'ole. I com"onenti di Mor"hin$ in ,rassho""er, la'orano allo
stesso modo. (er esem"io 4ui il com"onente V3oU Mor"hW 70#ormWMor"hW3oU Mor"h8 de#orma
un o$$etto attra'erso un "arallele"i"edo di ri#erimento 7(arallele"i"edo limite8, in un
"arallele"i"edo destinazione 7tar$et boU8, mentre il com"onente V-ur#ace mor"hW la'ora con una
su"er#icie di base sulla 4uale ! "ossibile, nel dominio s"eci#icato, de#ormare le 'ostre $eometrie e
l&altezza dell&o$$etto.
%ella scheda 0#orm tro'erete V3oU Mor"hW, V-ur#ace Mor"hW e altri com"onenti a$$iunti'i che
"ossono "ro''edere alla raccolta di dati. ;onsiderato che abbiamo di'ersi comandi che de#ormano
un "arallele"i"edo, se usiamo 4uesti "arallele"i"edi de#ormati come "arallele"i"edi di bersa$lio,
allora "ossiamo de#ormare o$ni $eometria in ,rassho""er attra'erso la combinazione del
com"onente 3oU Mor"h.
;ome 'edete in #i$ura D.2, abbiamo un o$$etto im"ortato su ,rassho""er attra'erso il
101
com"onente V$eometrAW. uesto o$$etto ! inscritto in un "arallele"i"edo limite che ho dise$nato
io solo "er mi$liorare la 'isualizzazione. +o inoltre dise$nato un altro "arallele"i"edo con 'alori
inseriti manualmente.
Bi$. D.2 /&o$$etto iniziale 7s#era8 e il "arallele"i"edo im"ostato manualmente.
Bi$. D.> Pn com"onente V3oU mor"hW 70#ormWMor"hW3oU Mor"h8 de#orma un o$$etto da un
"arallele"i"edo di ri#erimento ad un "arallele"i"edo di bersa$lio. Misto che ho un solo o$$etto, l&ho
colle$ato sia come $eometria che come "arallele"i"edo di ri#erimento 7in caso di "iC $eometrie
"otete usare il com"onente V3oundin$ boUW 7-ur#aceW(rimiti'eW3oundin$ boUW88. +o
deselezionato l&ante"rima del VboUW "er 'edere me$lio la $eometria tras#ormata.
102
Bi$. D.J )ra, cambiando la dimensione del "arallele"i"edo bersa$lio "otete 'edere la $eometria
modi#icata.
Bi$. D.K ui "ossiamo 'edere che al "osto di un "arallele"i"edo, se "roduco una serie di
"arallele"i"edi "osso iniziare a modi#icare i miei o$$etti con il Mor"h "iC di una 'olta. ;ome
'edete, i "arallele"i"edi di##erenzianti attra'erso il com"onente VseriesW nella loro dimensione [,
"ro'ocano di##erenziazioni ne$li o$$etti modi#icati.
6_2_ 'annelizzazione
Pna delle a""licazioni "iC comuni del mor"hin$ ! la "annellizzazione. uesta idea "ro'iene dalla
di'isione di una su"er#icie #ree #orm in "iccole "arti, s"ecialmente a sco"o "rodutti'o. -ebbene le
su"er#ici #ree #orm sono lar$amente usate nell&industria automobilistica, non ! #acile tras#erirle in
cam"o architettonico "er $li usi su scala ma$$iore. I 'anta$$i della "annallizzazione sono 4uelli di
di'idere una su"er#icie in "iccole "arti 7chiamate com"onenti8 rendendo "iC sem"lice il "rocesso
di #abbricazione e il tras"orto, rendendoli anche "iC controllabili in termini di "recisione #inale del
"rodotto. E& inoltre "ossibile, tal'olta, di'idere una su"er#icie cur'a in "iccole "arti "iatte e 4uindi
ottenere la cur'atura totale dall&assembla$$io delle $eometrie "iane che "ossono essere "rodotte
da #o$li di materiale. ;i sono di'ersi moti'i che ri$uardano la dimensione, la cur'atura, le
re$olazioni etc, di cui "ro'eremo a discutere.
103
Iniziamo con una su"er#icie sem"lice ed un com"onente come modulo "er "annellizzare la
su"er#icie.
Bi$. D.D Pna $enerica su"er#icie a do""ia cur'atura "ronta "er la "annellizzazione.
Bi$. D.L I/ com"onente che 'o$lio usare "er "o"olare la su"er#icie....niente di s"eciale, solo un
esem"io.
Bi$.D.E (rima di tutto ho biso$no di im"ortare la su"er#icie e l&o$$etto da ri"etere come
com"onente di ,rassho""er. Bacendo ri#erimento ai com"onenti dis"onibili in ,rassho""er,
"ossiamo $enerare di'ersi "arallele"i"edi sulla su"er#icie e usarli come o$$etti di bersa$lio, ed
a""licar$li modulo tras#ormato. +o 4uindi im"ortato un VboU mor"hW e ho usato il modulo come
$eometria e come "arallele"i"edo limite. )ra ho biso$no di $enerare il "arallele"i"edo bersa$lio
"er #are il Mor"h del com"onente.
104
Bi$ D.O Il com"onente di cui ho biso$no "er creare il "arallele"i"edo bersa$lio, ! Vsur#ace boUW
70#ormWMor"hW-ur#ace 3oU8. uesto com"onente $enera "arallele"i"edi so"ra una una su"er#icie,
in base all&inter'allo indicato dal dominio della su"er#icie e all&altezza del "arallele"i"edo. ,li ho
4uindi connesso la su"er#icie e il risultato sarF il bersa$lio "er il com"onente VboU mor"hW. +o
biso$no di di de#inire il dominio dei "arallele"i"edi, o""ure di'idere l&inter'allo numerico della
su"er#icie nelle sue direzioni P e M, "er creare i "arallele"i"edi.
Bi$. D.10 (er "oter di'idere il dominio della su"er#icie, ho usato Vdi'ide inter'al2W che dice al
Vsur#ace boUW, 4uante di'isioni in P e M sono necessarie. Pn altro Vnumber sliderW, de#inisce
l&altezza del "arallele"i"edo bersa$lio, cio! dei com"onenti tras#ormati.
uindi #ondamentalmente l&idea ! sem"lice. ;reiamo un modulo 7un com"onente8 e dise$niamo la
nostra su"er#icie. uindi $eneriamo la 4uantitF di "arallele"i"edi so"ra 4uesta su"er#icie 7come
"arallele"i"edo bersa$lio8 e 4uindi mor#izziamo il modulo dentro "arallele"i"edi. 5o"o 4uesto
"assa$$io, sarF "ossibile modi#icare il numeri di elementi in entrambe le direzioni P e M e
cambiare anche il modulo e a'ere sem"re un a$$iornamento dinamico sulla su"er#icie.
105
Bi$. D.11 -u"er#icie #inale creata con il nostro modulo.
6_3_Manipolazioni di micro livello
-ebbene sia #antastico $estire un modulo su una su"er#icie, "otrebbe sembrare che 4uesto sia un
modo $enerico di "ro$ettare. -a""iamo che "ossiamo modi#icare il numero dei moduli, o
cambiare il modulo stesso, ma il risultato sarF una $enerica su"er#icie e non a'remo un controllo
locale del nostro sistema.
-to 4uindi "ensando di creare un sistema basato sui com"onenti con cui "otremo a'ere ma$$ior
controllo e "ermettere di "ro$ettare su"er#ici $eneriche che non ris"ondono a nessuno criterio di
micro scala.
(er "oter introdurre il concetto, "artiamo "rima con un esem"io sem"lice, "er "oi "rocedere 'erso
uno "iC "ratico. Abbiamo usato l&idea de$li attrattori "er a""licare mani"olazioni locali ad un
$ru""o di o$$etti. -to "ensando di a""licare lo stesso metodo "er "ro$ettare un sistema basato sui
com"onenti con mani"olazioni locali date da un attrattore. /&idea ! 4uella di cambiare la
dimensione del com"onente 7in 4uesto caso l&altezza8 in base a$li e##etti di un "unto attrattore.
106
Bi$. D.12 5iamo un&occhiata a$li in$redientiN una su"er#icie a do""ia cur'atura im"ortata attra'erso
un VbaseHsr#W, un cono im"ortato come Vcom"onentW in ,rassho""er, un Vdi'ide inter'al2W "er la
di'isione della su"er#icie, e un Vboundin$ boUW come "arallele"i"edo di ri#erimento. (iC tardi,
cambiando la dimensione del "arallele"i"edo limite, "otr< cambiare la dimensione di tutte i miei
com"onenti sulla VbaseH-r#W $razie al cambiamento del "arallele"i"edo di ri#erimento.
/&in"ut altezza del com"onente Vsur#ace boUW richiede l&altezza del "arallele"i"edo nel dato
inter'allo. /&idea ! 4uella di usare altezze relati'e al "osto di 4uelli costanti. uindi, al "osto di
numeri, "otremo creare della relazioni tra le "osizioni di o$ni "arallele"i"edo e i "unti attrattori e
$enerare numeri di'ersi come altezze associati'a.
;i< di cui ho biso$no ora ! di misurare la distanza tra o$ni "arallele"i"edo e l&attrattore. Il
"roblema tecnico ! che ancora non c&! alcun "arallele"i"edo $enerato, 4uindi ho biso$no di un
"unto sulla su"er#icie, che di'errF "oi centro di o$ni "arallele"i"edo, "er misurare la distanza.
Bi$. D.1> ui ho usato lo stesso Vdi'ide inter'al2W che 'o$lio usare "er Vsur#ace boUW, "er un
com"onente VisotrimW 7-ur#aceWPtilWIsotrim8. uesto com"onente di'ide la su"er#icie in sub9
su"er#ici. Attra'erso 4ueste sub9su"er#ici "osso usare un altro com"onente V3re" AreaW
7-ur#aceWAnalAsisW3*e" area8 "er usare il sotto"rodotto di 4uesto com"onente, cio! il &;entroide
dell&area& "er o$ni sub9su"er#icie. +o misurato la distanza tra 4uesti "unti 7centroidi8 da$li
VattractorW "er usarla come #attore di ri#erimento "er l&altezza del "arallele"i"edo bersa$lio nel
com"onente Vsur#ace boUW
107
Bi$. D.1J )ra ho di'iso la distanza misurata con un numero "reso dal un Vnumber sliderW "er
controllare l&e##etto dell&attrattore e ho usato il risultato come in"ut "er l&altezza, in modo da
$enerare "arallele"i"edi bersa$lio con il com"onente Vsur#ace boUW. /a su"er#icie "ro'iene da
VbaseH-r#W, il Vdi'ideHinter'al2W restituisce il dominio della su"er#icie, mentre l&altezza ! data dalla
relazione tra la "osizione del "arallele"i"edo e dell&attrattore. ;ome 'edete, le altezze dei
"arallele"i"edi sono di##erenti, in base alla "osizioni del "unto VattractorW.
Bi$. D.1K (er la "arte rimanente, connettete il Vcom"onentW, i "arallele"i"edi scalati e la Vsur#ace
boUW al com"onente Vmor"h boUW che "rodurrF i com"onenti sulla su"er#icie. ;ambiando il #attore
di scala, "otete cambiare la dimensione di tutti i com"onenti e come sem"re, la "osizione de$li
attrattori, sarF controllabile manualmente.
108
Bi$. D.1D Modello #inale
;ome 'edete, la dimensione dei com"onenti inizia ad accettare mani"olazioni locali, basate su
"ro"rietF esterne che sono i "unti attrattori. -ebbene l&idea sia basata su un sem"lice attrattore, il
risultato "otrebbe essere interessante e l&idea ! 4uella di mostrare che "ossiamo di##erenziare i
"arallele"i"edi ed ottenere risultati di'ersi. )ra sa""iamo che il concetto di mor"hin$ e di
"annellizzazione non sono necessariamente $enerici. A'endo "ro'ato il concetto, "rose$uiamo con
un altro es"erimento "ratico.
6_!_ Mod+lazione reattiva
(er il nostro es"erimento "ro$ettuale, l&idea ! 4uella di modulare una su"er#icie data con un
controllo su o$ni modulo, che si$ni#ica che o$ni modulo di 4uesto sistema de'e ris"ondere ad
alcuni determinati criteri. uindi ancor "iC della di##erenziazione locale dei moduli, 4ui 'o$lio a'ere
un controllo s"eci#ico sul mio sistema, attra'erso dei dati criteri che "ossono essere ambientali,
#unzionali, 'isuali o o$ni altro com"ortamento associati'o a cui 'o$liamo che il nostro modulo
ris"onda.
%el "rossimo esem"io, "er "oter rendere l&in'olucro di un edi#icio, reatti'o all&ambiente in cui si
tro'a, 'o$lio usare un sistema che ris"onde in base alla luce solare.
%ei 'ostri es"erimenti, la 'ariabile, "otrebbe essere il 'ento, la "io$$ia o le #unzioni interne o o$ni
altro criterio di cui a'ete biso$no, nonchT la combinazione di 4uesti.
+o 4ui una su"er#icie sem"lice come l&in'olucro di un edi#icio che 'o$lio co"rire con due di'ersi ti"i
di com"onenti.
Il "rimo ! chiuso e non "ermette la "enetrazione della luce solare, mentre l&altro ha delle a"erture.
uesti com"onenti do'rebbero "roli#erare sull&in'olucro in base alla direzione "rinci"ale della
109
luce solare nel sito. +o usato un an$olo de#inito dall&utente "er dire all&al$oritmo che "er una
determinato $rado di incidenza delle luce solare do'remo a'ere un com"onente chiuso, e "er $li
altri, uno a"erto.
/a de#inizione di ,rassho""er non contiene niente di nuo'o, ma il concetto mi "ermette di creare
della 'ariazioni sull&in'olucro in'ece di creare una su"er#icie $enerica. Bondamentalmente 4uando
la su"er#icie ! di ti"o #ree #orm, si muo'e e ha di'ersi orientamenti, la luce solare la col"isce da
entrambe le direzione "er di'ersi $radi di incidenza. In base alla di##erenza di an$olo tra la
su"er#icie e la luce solare, 4uesta 'ariazione nel com"onente a''iene nel sistema
Bi$. D.1L (rimi schizzi del modulo reatti'o su un sistema di #acciata
In$redientiN
Bi$. D.1E -u"er#icie esterna di un edi#icio
come in'olucro che dobbiamo
"annellizzare
110
Bi$. D.1O I due di'ersi ti"i di com"onenti "er la "annellizzazione
Bi$. D.20 Il "rimo "asso ! simile a 4uello "recedente. +o introdotto una Vsur#aceW e ho usato
Vdi'ide inter'al2W "er di'iderla nelle direzioni P e M. +o $enerato dei "arallele"i"edi bersa$lio
attra'erso Vsur#ace boUW. +o anche usato VisotrimW con lo stesso inter'allo dei "arallele"i"edi "er
tro'are la "osizione de$li stessi sulla su"er#icie e ho inserito un V3re" areaW "er tro'are il
centroide di 4uesta area 7selezionata in 'erde8. Allo stesso tem"o ho usato un com"onente
Vcur'eW "er im"ortare l&an$olo "rinci"ale della luce solare del sito e con i suoi Vend "ointsW ho
creato un V'ector 2"tW che s"eci#ica la direzione della luce solare. (otete mani"olare e cambiare
4uesta cur'a "er 'edere l&e##etto della luce solare sui com"onenti nelle di'erse direzioni.
;ome "otete 'edere dalla "rima imma$ine, c&! una su"er#icie G l&in'olucro 9 di'isa in "arti "er
$enerare i com"onenti ed ! "resente anche un 'ettore "er la luce solare. Mo$lio conoscere l&an$olo
tra 4uesto 'ettore e la su"er#icie nella "osizione di o$ni com"onente. 5e'o a'ere un unico risultato
"er il calcolo dell&an$olo e il modo mi$liore ! 4uello di usare la normale alla su"er#icie che ! unica
"er o$ni "unto. Pna normale ! un 'ettore "er"endicolare alla su"er#icie in un "unto s"eci#ico,
(osso 4uindi usarlo "er controllare l&an$olo "er o$ni com"onente.
111
Bi$. D.21 (er "oter 'alutare l&an$olo tra la luce solare e la su"er#icie, 'o$lio misurare 4uesto ancolo
tra la luce solare e la normale alla su"er#icie nella "osizione di o$ni com"onente. (osso 4uindi
decidere "er o$ni inter'allo di an$oli, che ti"o di com"onente "u< andare bene. uindi, do"o a'er
$enerato i "unti centrali, ho biso$no delle normali alla su"er#ici e usare 4uesti "arametri "er
Ve'aluateW la su"er#icie in 4uesti "unti "er "oter a'ere le normali delle su"er#icie in 4uesti "unti.
Bi$. D.22 )ra ho usato un com"onente Van$leW 7MectorW'ectorWan$le8 "er 'alutare l&an$olo tra la
direzione del sole e la #acciata. +o 4uindi con'ertito 4uesto an$olo in $radi e ho usato una
V#unctionW "er 'edere se 4uesto an$olo ! "iC $rande del VmaU an$leW o""ure no. uesta #unzione
7UWA8 restituisce dati booleaniN 1*PE "er $li an$oli "iC "iccoli, e BA/-E "er 4uelli "iC $randi
112
Bi$. D.2> In base ai dati booleani "ro'enienti dalla com"arazione de$li an$oli, ho creato un
com"onente Vdis"atchW che s"edisce i dati che sono i "arallele"i"edi bersa$lio 7+o di'ersi
"arallele"i"edo bersa$lio, come "unti centrali e normali, 4uindi "osso usare il "arallele"i"edo al
"osto dei "unti8. uindi ho di'iso in miei "arallele"i"edi bersa$lio in due $ru""i di##erenti in cui la
di##erenza ! l&an$olo che rice'ono dalla #onte luminosa.
Il resto dell&al$oritmo ! sem"lice e simile a 4uello "recedente. +o solo biso$no di mor#izzare i miei
com"onenti in un "arallele"i"edo "arallele"i"edo bersa$lio, che 4ui sono due di'ersi.
113
Bi$. D.2J +o 4ui introdotto due com"onenti di'ersi come $eometria unica ed ho usato due
com"onenti Vmor"h boUW, o$nuno associato con una "arte dei dati s"editi 7con Vdis"atchW8 "er
$enerare i com"onenti V;HcloseW o V;H)"enW sulla #acciata.
Bi$. D.2K -e ora $uardiamo da "iC 'icino, "otremo 'edere che le di'erse "arti della #acciata e in
base alla sua cur'atura e direzione, $enera di'ersi ti"i di com"onenti.
Bi$. D.2D Modello #inale. /a bi#orcazione del "arallele"i"edo bersa$lio 7e dei com"onenti8 "otrebbe
essere "iC com"lessa e non com"osta da solo due al$oritmi. 5i"ende dal nostro "ro$etto e dai
criteri utilizzati.
114
(ossiamo "ensare ad una #acciata basata sui com"onenti, nella 4uale alcuni di loro sono chiusi e
altri sono a"erti. uelli a"erti hanno delle "arti re$olabili che sono orientate ris"etto a delle #orze
esterne e ri#lettono anche le #unzioni interne dell&edi#icio e cos: 'ia. (otete 'edere che l&idea !
4uella di a'ere un controllo sulla micro scala sul sistema e "ermette "ro$ettazioni $eneriche. Ed !
anche chiaro che abbiamo ancora un controllo $lobale 7la su"er#icie8 e locale 7i com"onenti8.
115
CA'I"3L3 ( &+per#ici ,-./& e Mes*
116
(_1 &+per#ici ,-./& parametric*e
%el ca"itolo "recedente, abbiamo #atto di'ersi es"erimenti con le su"er#ici trattando lo strumento
/o#t "er la loro creazione. Abbiamo anche usato su"er#ici %P*3- #ree #orm. In molti casi la
$enerazione delle su"er#ici di"ende da altre $eometrie di base, come le cur'e o i "unti. All&interno
di ,rassho""er, esistono di'ersi com"onenti "er $enerare 4ueste $eometrie, e "er chi di 'oi ha un
minimo di es"erienza nella modellazione tradizionale con *hinoceros, 4uesti do'rebbero essere
noti.
/e su"er#ici $eometriche sembrano essere il "rodotto #inale del nostro "ro$etto, in 4uanto
ra""resentano #acciate, muri, etc ed ! "er 4uesto che abbiamo biso$no di tanta la'oro "er
$enerare dati come "unti e cur'e che ci ser'ono come $eometrie di base. +o 4ui deciso di
dise$nare un edi#icio in maniera schematico e molto sem"lice, solo "er indicare che i numere'oli
com"onenti di ,rassho""er hanno il "otenziale di dise$nare di'ersi o$$etti con delle sem"lici
costruzioni. -o che il "rocesso "ro$ettuale da solo "otrebbe non essere soddis#acente, ma 4ui
'o$lio solo concentrarmi sull&uso dei nuo'i com"onenti.
1orre "arametrica
%ell&area "ortuale del 1ami$i a /ondra, 'icino al ;anarA @ar#, do'e "ossono essere costruiti edi#ici
molto alti, ci sono le "otenzialitF "er costruire delle torri. I"otizziamo di crearne uno insieme, in
maniera 'eramente sem"lice e schematica solo "er testare alcuni delle idee di base "er la'orare
con su"er#ici #ree #orm.
5iamo un&occhiata all&area
Bi$. L.1 Mista dell&area, ;anarA @ar#, /ondra 7imma$ineN www.ma"s.li'e.com, Microso#t Mirtual
Earth8.
Il sito che ho scelto "er il "ro$etto ! nella s"onda del 1ami$i, con una 'ista molto "resti$iosa sul
#iume e 'icino alla "iazza di in$resso dell&area centrale di ;anarA @ar# 7@est#errA *oad8. %on 'o$lio
essere tro""o s"eci#ico sul sito, 4uindi diamo $iusto un&occhiata al luo$o do'e sto "er "ro"orre il
"ro$etto e continuiamo con le tematiche $eometriche.
117
Bi$. L.2 Area "er la "ro"osta di 1orre.
5ise$no a mano

Esistono di'ersi modi "er iniziare 4uesta bozza. (osso dise$nare il "iano terra e co"iarlo in alto,
iniziare a mani"olarlo e a$$iun$ere detta$li. +o deciso di usare alcuni com"onenti "er le su"er#ici,
4uindi la tecnica "otrebbe non essere a""ro"riata ma lo sco"o ! 4uello di es"andere i nostri
es"erimenti, anche "erch! sono sicuro che a'ete $iF cercato sul web e a'uto $iF in mente di'erse
idee "ro$ettuali "er la'orare sulla torre in maniera associati'a.
/&idea che ho in mente non ! ben de#inita, ma so che la mia torre a'rF una su"er#icie $enerale di
'etro, co"erta da alcuni elementi lineari in #acciata. Misto che non mi "iace "ro$ettare una torre
con'enzionale, 'o$lio anche a'ere alcuni s"azi ca'i nel suo in'olucro esterno, s"arsi lun$o la
#acciata. uesti 'olumi do'rebbero intersecarsi con $li elementi lineari in modo da ta$liarli. Mo$lio
anche dise$nare uno s"azio "ubblico 'icino al #iume e connetterlo alla torre con $li stessi elementi
della #acciata, in moda da creare una continuitF dalla torre 'erso l&ansa del #iume.
;ome 'edete in #i$ura L.> ho dise$nato le mie cur'e di base manualmente su rhino. ueste cur'e
corris"ondono con le s"eci#iche del sito, "er le limitazione nell&altezza e "er la #orma e bordi del. /a
"rima cur'a ! stata dise$nata e 4uindi s"ecchiata nell&an$olo successi'o e ancora s"ecchiata "er
4uello successi'o e cos: 'ia. Altre due cur'e sono state dise$nate come bordi dello s"azio "ubblico,
che "artono da terra e 4uindi sal$ono #ino ad essere "aralleli ai bordi della torre. 1enete conto che
4ueste sono cur'e s"erimentali e che otete dise$nare 4ualun4ue cosa 'o$liate e andare a'anti "er
la "arte mancante.
118
Bi$. L.> /inee di base "er il sito della torre
Elementi di base "er la #acciata
Bi$. L.J come "rimo "asso, ho im"ortato 4ueste 4uattro cur'e in ,rassho""er attra'erso un
com"onente Vcur'eW e le ho 4uindi di'ise con Vdi'ide cur'eW in J0 "arti come i "iani della torre.
;ome 'edete, i "unti risultanti dalla di'isione sono ordinati in di##erenti rami di dati.
Bi$. L.K )ra de'o dise$nare le cur'e di base con 4uesti "unti di di'isione, "er realizzare $li elementi
della #acciata stessa. Mo$lio dise$nare linee dai "unti di di'isione "er o$ni cur'a, #ino al "unto
corris"ondente della cur'a successi'a. (er #are ci<, ho usato un VeU"lode treeW rinominandolo
V3an$=W 7-etsW1reeWEU"lode tree8 "er accedere ai di'ersi rimani se"aratamente. +o a$$iunto delle
119
linee da tutti i "unti dei rami a 4uelli successi'i.
Bi$. L.D In 4uesto ste" ho a$$iunto $li s"azi ca'i "er la #acciata, con una distribuzione casuale. -ono
de$li ellissoidi im"ortanti tutti insieme su ,rassho""er con il com"onente V$eometrAW. +o inoltre
unito tutte le linee $enerate "recedentemente, tramite il com"onente Vmer$eW.
Bi$. L.L In 4uesto "asso ho ta$liato 7com"onente VtrimW8, e unito 7Vmer$eW8 le linee con 4ueste
$eometrie. Il com"onente VtrimW restituisce le "arti ta$liate all&interno e all&esterno dell&area di
ta$lio. ui ho usato la "arte esterna. +o estruso 4ueste "arti come $li elementi lineari della
#acciata.
120
Bi$. L.E uesta ! una cur'a chiusa che connette 4uattro lati della "ianta della torre. Misto che ho
biso$no di creare su"er#ici di##erenti, ho es"loso la cur'a 7VeU"lodeW8 "er ottenere i se$menti e ho
inoltre usato V$ra#tW "er $enerare un ramo "er o$ni cur'a. (oichT ho una sezione "lanare e due
cur'e di bordo che de#iniscono il imite della #acciata "er o$ni lato, 'o$lio usare il com"onente
Vswee" 2W "er creare la su"er#icie di #acciata con lo swee" a 2 binari.
Bi$. L.O +o inserito un com"onente Vswee" 2W "er $enerare le su"er#ici di #acciata. +o usato le
cur'e "lanari innestate con V$ra#tW come cur'e di sezione "er lo swee". I binari saranno i bordi
delle cur'e. Il com"onente Vrecei'erW ! connesso alle cur'e di bordo. /e ho 4uindi innestate
7V$ra#tW8 una 'olta e s"ostate 7Vshi#tW8 e ancora innestate 7V$ra#tW8 "er $enerare tutte le "rime e le
seconde cur'e di binario associate alle cur'e "lanare di sezione.
==,ota; se non ottenete lo stesso ris+ltato dell'immagine4 l'ordine della c+rve di 2ordo 62inari8
non > associato correttamente all'ordine delle c+rve planari 6c+rve di sezione8 e dovete ?+indi
cam2iarne l'ordine delle c+rve di 2ordo nella lista4 o man+almente riassegnandole al
121
componente @c+rveA in ordine diverso opp+re spostando la lista in Grass*opper
Bi$. L.10 In 4uesto "asso 'o$lio sottrarre $li s"azi ca'i V,eoW dalla #acciata "recedentemente
$enerata. (oich! la direzione delle normali delle su"er#ici ! #ondamentale "er 4uesto comando, ho
in'ertito 7VBli"W8 le normali della su"er#ici e il risultato ! la su"er#icie "rinci"ale con il V,eoW che !
stato rimosso.
Bi$. L.11 ;on lo stesso "rocedimento, ho im"ortato entrambe le cur'e dello s"azio "ubblico, le ho
di'ise, es"lose e dise$nato tra loro altre linee. (osso connettere 4uesti com"onenti VlineW allo
stesso com"onente VeUtrudeW 4uale elemento di #acciata "er $enerare $eometrie identiche.
Bi$. L.12 5o"o le $enerazione delle $eometrie, cucinate 7ba.e8 i com"onenti Vdi##ernceW e
VeUtrudeW.
122
Bi$. L.1> 3ozza #inale del modello.
123
(_2_ "opologia e Geometria
Bino ad ora abbiamo usato di'ersi com"onenti e la'orato con su"er#ici %P*3-. Ma, come $iF detto,
esistono altri ti"i di su"er#ici che in altri contesti, risultano utili. %on sem"re 'o$liamo ottenere la
bellezza e la dolcezza delle %P*3-, ma "otremo a'ere biso$no di un controllo "iC "reciso, di
"rocessi "iC sem"lici o e4uazioni "iC #acili. )ltre la classica su"er#icie di ri'oluzione, ri$he o tubi,
abbiamo di'erse su"er#ici #ree #orm come 4uelle di 3ezier, o le 39-"line. 1ratteremo ora la tematica
delle mesh, che ra""resentano un altro ti"o di su"er#icie.
/e mesh ra""resentano un altra ti"olo$ia di su"er#ici #ree #orm, com"oste di "iccole "arti 7#acce8la
cui accumulazione crea l&intera su"er#icie. %on esiste 4uindi alcuna #unzione matematica interna o
nascosta che $eneri la #orma della su"er#icie, la 4uale 'iene in'ece de#inita dall&insieme delle #acce.
)sser'ando le mesh, concentriamoci sulle #acce. ueste "ossono essere trian$olari, rettan$olari o
esa$onali. ,uardandole "iC attentamente, "ossiamo 'edere la $ri$lia di "unti che le crea. uesti
"unti sono elementi di base della su"er#icie mesh. )$ni "iccolo $ru""o di 4uesti "unti 7"er
esem"io o$ni tre nelle mesh trian$olari8 creano una #accia, che con il resto della $eometria di'enta
una su"er#icie. uesti "unti sono connessi tra di loro da linee dritte.
;i sono due concetti #ondamentali che ri$uardano le meshN la "osizione di 4uesti "unti e la loro
connessione. /a "osizione dei "unti ! colle$ata alla $eometria delle mesh e la connessione dei
"unti ! colle$ata alla to"olo$ia.
,eometria 's 1o"olo$ia
Mentre la $eometria ha a che #are con la "osizione de$li o$$etti nello s"azio, la 1o"olo$ia ri$uarda
la loro relazione. Matematicamente "arlando, la to"olo$ia ra""resenta le "ro"rietF de$li o$$etti
che le tras#ormazioni e le de#ormazioni non "ossono modi#icare. uindi "er esem"io una
circon#erenza ed un&ellisse sono to"olo$icamente identiche, e hanno solo di##erenze $eometriche.
)sser'iamo la #i$. L.1J. ;ome 'edete ci sono 4uattro "unti connessi tra loro. %ella "rima
imma$ine, entrambi A e 3 hanno la stessa to"olo$ia "erch! hanno la stessa relazione tra i loro
"unti 7stessa connessione8. -ono "er< $eometricamente di'ersi a causa dello s"ostamento di un
"unto. %ella seconda imma$ine la $eometria dei "unti ! la stessa mentre la loro connessione !
di'ersa e non sono to"olo$icamente e4ui'alenti.
Bi$. L.1J 1o"olo$ia e ,eometria
Il concetto di to"olo$ia ! molto im"ortante "er le mesh. )$ni #accia in un o$$etto mesh, ha dei
"unti an$olari e 4uesti "unti sono connessi l&uno con l&altro con un identico ordine "er tutte le
#acce dell&o$$etto mesh. (ossiamo 4uindi a""licare o$ni tras#ormazione ad un o$$etto mesh e
s"ostarne i 'ertici in uno s"azio anche se non uni#ormemente, ma la connessione dei 'ertici
124
do'rebbe essere "reser'ata "er "reser'are le #acce, altrimenti crollerF.
Bi$. L.1K Entrambe le su"er#icie rosse e $ri$ie sono mesh con le stesse #acce e 'ertici. In 4uella
$ri$ia i 'ertici sono s"ostati, creando una di'ersa con#i$urazione $eometrica delle mesh, ma la
connetti'itF delle mesh non cambia ed entrambe le su"er#ici sono to"olo$icamente u$uali.
-a""iamo dun4ue l&im"ortanza de$li as"etti to"olo$ici nelle mesh, le 4uali sono $eometrie molto
"otenti #in tanto che abbiamo di'ersi "unti e abbiamo biso$no di un ti"o di su"er#icie "er
ra""resentarli come s"azio continuo. (ossiamo a""licare alle mesh di'ersi ti"i di al$oritmi che
la'orano con i "unti "oichT ne "reser'ano la to"olo$ia. (er esem"io, usando elementi #initi di
analisi o a""licazioni s"eci#iche come dAnamic relaUation, e sistemi "articellari, ! "iC sem"lice
la'orare con le mesh che con altri ti"i di su"er#ici "oichT la #unzione "u< la'orare con i 'ertici delle
mesh.
/e mesh sono sem"lici da mi$liorare e 'eloci da la'orare ma "ossono contenere dei buchi e delle
discontinuitF nella loro $eometria. ;i sono tanti al$oritmi "er ri#inire le mesh e creare delle
su"er#ici "iC lisce. (oichT #acce di##erenti "ossono a'ere inizialmente di'ersi colori, le mesh sono
buone "er la ra""resentazione a sco"i di analisi 7"er colore8.
%ella scheda &Mesh& "ossiamo tro'are di'ersi com"onenti che la'orano con 4uesto ti"o di
$eometria.
(_3_Mes*
+o un $ru""o di "unti e 'o$lio creare, attra'erso $li stessi, una su"er#icie. In 4uesto esem"io il
$ru""o di "unti ! sem"li#icato in una struttura a $ri$lia. -to "ensando ad una $ri$lia 'erticale che
ra""resenti i "arametri di base di una su"er#icie, la 4uale ! sotto"osta all&e##etto di un 'ento
imma$inario. Mo$lio 4uindi s"ostare 4uesti "unti in base al #attore 'ento 7o ris"etto ad o$ni #orza
che "u< essere ra""resentata da un 'ettore8, e ra""resentare la su"er#icie de#ormata risultante.
uindi, cambiando il #attore del 'ento, "ossiamo 'edere come il risultato di 4uesta su"er#icie
rea$isca di conse$uenza.
125
Bi$. L.1D Il "rimo "asso ! sem"lice. Psando un com"onente VseriesW con un numero di "unti
$estito dallo slider V%H"tWe una distanza tra loro de#inita da VdistanceH"tW 7ancora uno slider8, ho
$enerato una $ri$lia di "unti creati con il ri#erimento incrociato.
/a "ressione di 4uesto 'ento imma$inario, in#luenza tutti i "unti della $ri$lia. Bacciamo "er< #inta
che la #orza del 'ento aumenti 4uando andiamo in alto, 4uindi la "ressione del 'ento aumenta con
'alori di Z "iC alti. Allo stesso tem"o, la #orza del 'ento, in#luenza i "unti interni "iC dei "unti 'icini
ai bordi. I "unti sul bordo della sezione "iana non si muo'ono "er niente 7"unti #issi8.
Bi$. L.1L 5ia$ramma del 'ento che in#luenza la su"er#icie. AN sezioneS e##etto 'erticale della #orza,
3N "iantaS e##etto orizzontale.
Bondamentalmente ho biso$no di due di'ersi meccanismi "er modellare 4uesti e##etti, uno "er il
dia$ramma in sezione, e un altro "er la "ianta. +o sem"li#icato le e4uazioni solo "er imitare il
modo in cui 'o$liamo che le #orze a$iscano. (er 4uesto "rimo meccanismo im"ostiamo una
sem"lice e4uazione matematicaS ho usato 70a28 do'e 0 ! il 'alore di Z del "unto sotto"osto alla
126
#orza. uindi "er o$ni "unto ho biso$no di estrarre le coordinate di Z del "unto.
(er sem"li#icare il tutto, ho #atto #inta che la direzione della #orza sia 4uella della [, ris"etto al
sistema $lobale delle coordinate. uindi "er o$ni "unto della $ri$lia, ho biso$no di $enerare un
'ettore nella direzione [ e ho im"ostato la #orza attra'erso il numero che ho rice'uto dalle
coordinate Z del "unto.
(er il secondo dia$ramma abbiamo biso$no di 4ualcosa di "iC di un&e4uazione. 5iamo un&occhiata
alla "rima "arte.
Bi$. L.1E ;oordinate Z dei "unti estratti attra'erso il com"onente Vdecom"oseW e 4uindi atti'ati da
una #unzione 0a2 e di'ise "er un numero "assato da un Vnumber sliderW "er controllare il
mo'imento $enerale. Il risultato ! un #attore che molti"lica 7Vmulti"lAW8 il 'ettore #orza
7MectorW'ectorWMulti"lA8 che ! un sem"lice 'ettore Vunit [W ris"etto al sistema $lobale.
Bi$. L.1O -"ostando i "unti con 4uesti 'ettori "otete 'edere la $ri$lia di "unti risultanti che soddis#a
il "rimo "asso di 4uesto "rocesso.
Mediamo ora la seconda "arte delle #orze descritteN nella sezione "lanare i "unti sui bordi
riman$ano #issi, mentre i "unti nel mezzo si s"ostano "iC de$li altri. /a Bi$. L.20 mostra 4uesto
s"ostamento "er o$ni ri$a della $ri$lia dei "unti.
127
Bi$. L.20 -"ostamento dei "unti in ri$a 7'ista "lanare8.
(oichT "er o$ni "unto ho i 'ettori #orza, de'o controllarli e im"ostare ancora una 'olta il 'alore,
"er essere sicuro che il loro s"ostamento nella sezione "lanare incontri anche il secondo criterio.
uindi "er o$ni ri$a di "unti nella $ri$lia 'o$lio $enerare una #attore che controlli il modulo del
'ettore. ui ho assunto che, "er i "unti nel mezzo, i 'ettori #orza saranno al massimo, mentre "er i
"unti sui bordi di'entano zero, cio! uno s"ostamento nullo. ,li altri "unti un 'alore di #orza e
4uindi di s"ostamento intermedio.
Bi$. L.21 (er il secondo meccanismo, ho biso$no di un Vran$eW com"reso tra e 0 e 1 da a""licare
ad o$ni "unto. 0 "er il bordo e 1 "er il centro. +o biso$no dun4ue di un ran$e da 0 a 1
s"ostandomi dal bordo al centro e uno che 'aria da 1 a 0 dal centro al bordo. +o biso$no che
4uesto com"onente Vran$eW $eneri 'alori in 4uantitF "ari al numero di "unti "er o$ni ri$a.
+o im"ostato il V%H"tW in modo da $enerare solo numeri "ari e li ho di'isi "er 2, 4uindi ho
sottratto 1 7"erch! il com"onente Vran$eW "rende i numeri di 4ueste di'isioni e non i numeri dei
'alori8. Medete che il "rimo V"anelW nostra J numeri com"resi tra 0 e 1 "er la "rima metF dei "unti.
+o 4uindi in'ertito una lista e l&ho colle$ato all&altra. ;ome 'edete nel secondo "annello, ho
$enerato una lista da 0 a 1 a 0 e i il numeri dei 'alori nella lista ! lo stesso dei numeri dei "unti in
o$ni ri$a.
/&ultimo "asso ! 4uello di $enerare 4uesti elementi "er tutti i "unti nella $ri$lia. +o 4uindi
du"licato 7Vdu"licateW8 i "unti in 4uantitF "ari a V%H"tW 7i numeri delle ri$he e delle colonne sono
$li stessi8. )ra ho un #attore "er tutti i "unti della $ri$lia, basato sulla loro "osizione nella loro ri$a.
128
Bi$. L.22 )ra ho biso$no di molti"licare 7Vmulti"lAW8 ancora i 'ettori #orza "er i nuo'i #attori. -e
s"osto i "unti con 4uesti nuo'i 'ettori, "ossiamo 'edere come due di##erenti meccanismi a$iscano
sull&intera $ri$lia di "unti.
In realtF, 4uesta "arte di esem"io necessita di un&analisi "iC attenta. I metodi come 4uelli di
(article -"rin$ -Astems 7-istemi di "articelle a molla8 o Binite Element AnalAsis 7Analisi de$li
elementi #initi8 usano il concetto che tutti i 'ettori in#luenzano i "unti dell&insieme e i "unti si
in#luenzano l&uno con l&altro. uindi, 4uando a""licate le #orze tutti i "unti 'en$ono in#luenzati e
4uesti "unti si in#luenzano l&uno con l&altro simultaneamente. uesto "rocesso do'rebbe essere
calcolato in loo" iterati'i, in modo da calcolare la "osizione di ri"oso dell&intero sistema. ui 'o$lio
solo #are un sem"lice esem"io senza 4uesti e##etti, e 'o$lio solo mostrare una sem"lice
ra""resentazione di un ti"o di sistema che dialo$a con #orze multi"le. +o usato e4uazioni
matematiche molto sem"lici, che nella realtF sono un "o& "iC com"licate=
/&idea ri$uarda la ra""resentazione mesh del "rocesso, 4uindi 'ediamo la "arte relati'a alla
$enerazione di mesh
Mesh
Bi$. L.2> ,enerazione delle mesh. )ra "otete sem"licemente a$$iun$ere un com"onente VmeshW
7MeshW(rimiti'eWMesh8 nel can'as e connettere tutti i "unti che sono stati s"ostati ai suoi 'erticiN
'edrete che nella scena non succede niente. Abbiamo biso$no di de#inire la #acce della $eometria
mesh da $enerare. /e #acce delle mesh sono serie di numeri che de#iniscono il modo in cui i "unti
129
sono interconnessi "er creare delle #acce "er o$ni su"er#icie. uindi i 'ertici sono "arti
$eometriche delle mesh, ma ora abbiamo biso$no della de#inizione to"olo$ica delle mesh, "er
"oterle $enerare.
)$ni J "unti an$olari della $ri$lia, si de#inisce una #accia del 4uadrante "er l&o$$etto mesh. -e
$uardiamo alla $ri$lia di "unti, 'edremo che ci sono de$li indici numerici "er o$ni "unto della
$ri$lia. ;onosciamo o$ni "unto attra'erso il suo indice, e sa""iamo che 4uesto sostituisce le
coordinate in modo da "oter dialo$are con la sua to"olo$ia.
Bi$. L.2J Indice numerico dei "unti nella $ri$lia
(er de#inire le #acce della mesh, abbiamo biso$no di etichettare i J "unti an$olari che riteniamo
essere una #accia, metter$li insieme e "assar$li il com"onente VmeshW in modo da creare la
su"er#icie.
Bi$. L.2K In una data $ri$lia di "unti,
una sem"lice 4uadrante 'iene
de#inito attra'erso una se4uenza di
"unti che, connessi mediante una
cur'a, creano una #accia. /a cur'a
"arte da un "unto della $ri$lia, si
muo'e 'erso il "unto successi'o,
4uindi su 4uello della ri$a successi'a,
torna indietro di una colonna
rimanendo sulla stessa ri$a, e si
chiude tornando al "rimo "unto.
Mediamo che la "rima #accia, nella
sua de#inizione ! com"osta dai "unti
b0,1,D,Kc. /a seconda #accia ha
b1,2,L,Dc e cos: 'ia.
130
(er de#inire le #acce dell&intera mesh, do'remo tro'are la relazione tra 4uesti "unti e 4uindi creare
un al$oritmo che $eneri la re$ola "er la creazione della #acce.
-e $uardiamo la matrice delle #accia, 'ediamo che "er o$ni "rima "rimo "unto, "ossiamo de#inire il
secondo come 4uello successi'o nella $ri$lia. uindi, "er o$ni "unto 7n8 nella $ri$lia, il "unto
successi'o sulla #accia ! 7nX18. -em"lice=
Andando a'anti, sa""iamo che si s"osta sem"re di una ri$aN 4uindi se a$$iun$iamo il numero delle
colonne 7c8 all&indice 7n8 del "unto, "otremo ottenere il "unto nella seconda ri$a 7nXc8. uindi, "er
esem"io, nel suddetto esercizio, abbiamo K colonne 7c\K8 e "er il "unto 718 il "unto successi'o
della #accia della mesh ! 7nXc8 cio! il "unto 7D8. uindi "er o$ni "unto 7n8 come "rimo "unto, il
terzo sarF 7nX1Xc8. ;i siamo=
/&ultimo "unto, ! sem"re localizzato un una colonna dietro il terzo "unto. uindi, "er o$ni "unto
7nX1Xc8 come terzo "unto, il "unto successi'o sarF 7nX1Xc918 il che si$ni#ica 7nXc8. uindi "er
esem"io, "er il "unto 7D8 come terzo "unto, il "unto successi'o di'enta 7K8
.iass+mendo; per ogni p+nto 6n8 nella griglia4 la #accia c*e inizia da ?+esto p+nto singolo avrB
come p+nti nella lista dei vertici la seg+ente com2inazione ; Cn4nD14nD1Dc4nDcE dove 6c8 > il
n+mero di colonne nella griglia.
Bi$. L.2D 5o"o a'er de#inito tutte le #acce della mesh, la su"er#icie "u< essere $enerata.
,uardando i 'ertici della mesh, 'ediamo che c&! ancora 4ualcosa da considerare. -e ricordate
l&esem"io del &1rian$olo& del ca"itolo >, a'e'amo trattato il "roblema della selezione dei "unti che
"ote'ano essere considerati &"rimo "unto& della $ri$lia. -e $uardiamo la $ri$lia dell&esem"io
a""ena trattato, 'edremo che i "unti dell&ultima colonna e dell&ultima ri$a non "ossono essere
"unti di "artenza "er le #acce. uindi oltre all&al$oritmo "er $enerare #acce, abbiamo biso$no
anche un "o& di mane$$iare i dati "er $enerare i "rimi "unti dell&intera $ri$lia e "assare 4uesti
"rimi "unti all&al$oritmo e 4uindi $enerare le #acce delle mesh. Bondamentalmente, nella lista di
"unti, do'remo omettere i "unti dell&ultima ri$a e dell&ultima colonna e 4uindi iniziare a $enerare
la #accia matrice. (er $enerare la lista di #acce, abbiamo biso$no di $enerare una lista di numeri
come indici dei "unti.
131
Bi$. L.2L ,enerazione di un indice numerico dei "rimi "unti nella $ri$lia con un com"onente
VseriesW . Il numero dei 'alori delle serie, deri'a da %"tW come numero delle colonne 7alcune come
ri$he8 a attra'erso l&utilizzo della #unzione VU]7U918W 'o$lio $enerare una serie di numeri come
Vcolumns]7rows918 "er $enerare l&indice "er tutti i "unti nella $ri$lia omettendo l&ultima ri$a. Il
"asso successi'o ! 4uello di selezionare 7VcullW8 l&indice della lista attra'erso il numero di colonne
7V%H"tW8 "er eliminare l&indice dei "unti anche nell&ultima colonna.
Bi$. L.2E Indice numerico #inale del "ossibile "rimo "unto della #accia mesh nella $ri$lia 7con E
"unti in o$ni colonna8.
132
Bi$. L.2O Il com"onente Vmesh 4uadW 7MeshW(rimiti'eWMesh 4uad8 ha il com"ito di $enerare le
#acce. +o colle$ato la lista dei "rimi numeri al "rimo "unto del V4uadW
)ra ! il momento di $enerare la lista di indici "er le #acce.
Bi$. L.>0 Mentre 7n8 ! l&indice del "rimo "unto e 7c8 ! il numero delle colonne, il secondo "unto
sarF 7nX18, il terzo 77nX18Xc8 7l&indice del secondo "unto "iC il numero delle colonne8, e l&ultimo
"unto sarF 77nX1Xc8918 7l&indice del terzo "unto meno 18.
133
Bi$. L.>1 /a mesh risultante.
(_! Analisi cromatica
(er concludere l&esem"io, diamo un&occhiata a come "ossiamo ra""resentare la nostra mesh
#inale, attra'erso l&uso dei colori come strumento di analisi. ;i sono di'ersi com"onenti in
,rassho""er che ci danno una ra""resentazione cromatica e 4uesti colori sono ade$uati "er i
nostri sco"i di analisi.
%ell&esem"io, ancora "er mostrare me$lio il concetto, ho i"otizzato che alla #ine 'o$liamo 'edere il
'alore di de'iazione della nostra su"er#icie #inale dal "unto iniziale 7su"er#icie 'erticale8. Mo$lio
a""licare un $radiente di colori che "arta dai "unti che riman$ono #issati al il #ondo colorandosi
#ino ai "unti che hanno il 'alore massimo di de'iazione dalla "osizione 'erticale con il "iC alto
colore del $radiente.
-em"licemente, "er tro'are la 4uantitF di de'iazione, ho biso$no di misurare lo stato #inale di o$ni
"unto dal suo stato ori$inale. uindi "osso usare 4uesti 'alori "er asse$nare il colore alle #acce
della mesh in base alla loro distanza.
Bi$. L.>2 1ornando indietro ho il "unto iniziale della $ri$lia $enerato nel "rimo "assa$$io e ho
inoltre lo s"ostamento #inale che ho usato "er $enerare i 'ertici della mesh. (osso usare un
com"onente VdistanceW "er misurare la distanza tra la "osizione iniziale dei "unti e la loro
"osizione #inale "er 'ederne la de'iazione.
134
Bi$. L.>> (er i nostri sco"i analitici, 'o$lio usare un com"onente V$radientW
7(aramsWs"ecialW,radient8 "er asse$nare un $radiente di colore alla mesh. +o colle$ato i 'alori
VdistanceW all&in"ut 7t8 di V,radientW e l&ho colle$ato all&in"ut colore 7c8 della mesh.
Ma "er com"letare il "rocesso, ho biso$no di de#inire il limite in#eriore e su"eriore del ran$e del
$radiente 7/0 e l18. Il limite in#eriore ! il 'alore minimo nella lista mentre limite su"eriore ! il 'alore
massimoN $li altri 'alori sono di'isi nei $radienti intermedi. (er a'ere i 'alori in#eriori e su"eriori
della lista delle de'iazioni, ho biso$no di ordinare i dati e ottenere il "rimo e l&ultimo 'alore del
ran$e numerico.
Bi$. L.>J Psando un com"onente VsortW "er ordinare le distanze, otten$o il "rimo elemento della
lista di dati 7indeU\08 come limite in#eriore e l&ultimo 7indice \ Vlist len$htW 918 come limite
su"eriore del set di dati 7'alori di de'iazione8 "er connettere il com"onente V$radientW "er
asse$nare i colori in base al loro ran$e.
135
Bi$. L.>K ;liccando sulla "iccola icona colorata nell&an$olo del com"onente V$radientW "ossiamo
cambiare i colori dei $radienti.
Bi$. L.>D ;liccando con tasto destro sul com"onente, sul menu contestuale a'rete "iC o"zioni "er
mani"olare il 'ostro o$$etto risultante e di'ersi ti"i di $radienti colorati "er soddis#are le
ra""resentazioni $ra#iche "er l&analisi.
136
Bi$. L.>L 5i'erse so$lie di $radienti.
(_$ Manipolazione delle mes* come metodo progett+ale.
In base a$li o$$etti e a$li sco"i della modellazione, "ersonalmente "re#erisco ottenere la mesh
attra'erso la mani"olazione di sem"lici $eometrie, in'ece che $enerare le mesh "artendo da una
bozza #ino alla de#inizione del set di "unti e alla #accia matrice che non sem"re risultano sem"lici
sem"lice. Attra'erso la mani"olazione, "ossiamo usare un sem"lice o$$etto mesh, estrarre i suoi
com"onenti e modi#icarli e 4uindi ancora #are una mesh con s'ariati 'ertici e #acce. %on ho 4uindi
biso$no di $enerare "unti come 'ertici e matrici di #acce.
5iamo un&occhiata a 4uesto sem"lice esem"io.
Bi$.L.>E In 4uesto esem"io ho usato un com"onente Vmesh "laneW e ho estratto i suoi dati usando
un Vmesh com"onentW "er a'er accesso ai suoi 'ertici e #acce. +o 4uindi s"ostato i 'ertici lun$o la
direzione Z con dei 'alori casuali atti'ati da un Vnumber sliderW a ancora l&ho colle$ato ad un
com"onente VmeshW "er $enerare altre mesh. +o inoltre usato un com"onente Vcull "atternW
7seleziona "attern8 ed ho omesso alcune delle #acce delle mesh ori$inali e le ho 4uindi usate come
nuo'e #acce "er creare altre mesh. /a mesh risultante ha di##erenze $eometriche e to"olo$iche
dalla sua mesh iniziale e "u< essere usato "er altri sco"i di desi$n.
/&idea di mani"olare $eometricamente i 'ertici e cambiare to"olo$icamente le #acce "resenta tante
di'erse "ossibilitF che "ossono essere usate ne$li es"erimenti "ro$ettuali. (oichT le mesh "ossono
trascurare alcune delle loro #acce rimanendo sem"re una su"er#icie, l&idea di creare una su"er#icie
"ermeabile "u< essere "erse$uita in modi di'ersi.
137
Bi$. L.>O *isultato di mesh mani"olate 7solo una situazione casuale8
Bi$. L.J0 3ozze di mesh mani"olate.
1rian$olazioni
138
Bi$. L.J1 Esem"io di com"onenti trian$olati
;i sono tanti com"onenti sotto il "annello &1rian$ulation& nella scheda Mesh, che conten$ono utili
al$oritmi come il 5elaunaA o il Moronoi o il ;on'eU hull. uesti al$oritmi interni "ossono essere utili
"er dise$nare o$$etti com"lessi e, cosa "iC im"ortante, 4uesti "ossono usare insiemi di "unti "er
$enerare le loro $eometrie. %on 'o$lio a""ro#ondire la 4uestione, anche "erch! 4uesti
com"onenti sono molto sem"lici da es"lorare e "otete tro'are tantissimi esem"i on9line.
139
CA'I"3L3_0_ 1a22ricazione
140
Capitolo_0_ 1a22ricazione
)$$i$iorno c&! un interesse crescente nella "ratica della mani#attura assistita dal com"uter e sulla
#abbricazione di$itale. A causa dei cambiamenti e delle nuo'e mode nel "rocesso di desi$n,
sembra essere di'entata una scelta cruciale e uno dei &must&, 4uello di s"ostarsi all&interno del
territorio della #abbricazione di$itale. )$ni decisione "ro$ettuale nello s"azio di$itale, "u< essere
testata in scale di##erenti "er mostrare l&abilitF di #abbricazione e assembla$$io. (oichT ! o''io che
4uesto nuo'o "rocesso "ro$ettuale e $li al$oritmi non rientrano nella tradizionali tecniche di
costruzione, i "ro$ettisti "ro'ano ora ad usare le moderne tecnolo$ie di #abbricazione e adattano i
loro "rodotti "ro$ettuali "er 'enire incontro a 4ueste necessitF. 5al momento in cui le macchine
;%; hanno iniziato a ser'ire l&industria delle costruzioni #ino ad adesso, si ! instaurata una $rande
relazione tra il "ro$etto di$itale e la #abbricazione #isica. -ono stati in'entati tanti macchinari e
s'ilu""ate tante tecnolo$ie "er "oter s'ol$ere 4uesto ti"o di o"erazione.
Allo sco"o di "ro$ettare e #abbricare elementi di edi#ici, necessitiamo di a'ere una conoscenza
concisa del "rocesso di #abbricazione "er i di'ersi ti"i di materiali e sa"er "re"arare i nostri
"ro$etti allo sco"o. In base a$li o$$etti che "ro$ettiamo, ad i materiali usati, alle lo$iche di
assembla$$io, tras"orto, scala etc, abbiamo biso$no di dati o""ortuni dai nostri "ro$etti e ottenere
i risultati desiderati "er #ar #unzionare i macchinari. -e i metodi tradizionali nella realizzazione dei
"ro$etti richiede'ano "iante, sezioni e detta$li, o$$i, abbiamo biso$no di dati e codici da tras#erire
alle macchine "er realizzare i "ro$etti.
Il "unto ! dun4ue che i desi$ner de'ono essere coin'olti nel &ri#ornimento& dei dati richiesti,
"oichT 4uesta #ase ! strettamente le$ata con l&o$$etto "ro$ettuale. I desi$ner 4ualche 'olta
do'rebbero tenere conto dei riscontri della "re"arazione dei dati "er la #abbricazione "er le
correzioni del "ro$etto. 1al'olta l&obietti'o del desi$ner do'rebbe cambiare "er tener conto dei
limiti dei macchinari o dell&assembla$$io.
Bino a 4ui, $iF conosciamo le di'erse "otenzialitF che "ro"one ,rassho""er nella modi#ica dei
"ro$etti, e 4ueste 'ariazioni di desi$n "otrebbero essere a$e'olare la #abbricazione, al "ari de$li
altri criteri usati. Mo$lio a"rire l&ar$omento e toccare alcuni "unti in relazione alla #ase di
"re"arazione dei dati, "er dare un&occhiata alle "ossibilitF di estrazione di dati dai "ro$etti di
desi$n "er la #abbricazione. -a""iamo che 4uesto ar$omento ! a"erto a di'erse tecniche,
macchinari, materiali etc.
0_1_ )atas*eet
Allo sco"o di "re"arare i dati "er realizzare un o$$etto, tal'olta abbiamo sem"licemente biso$no di
una serie di misure, an$oli, coordinate o $enericamente, dati numerici. ;i sono di'ersi com"onenti
all&interno di ,rassho""er "er com"utare misure, distanze, an$oli etc. Il "unto im"ortante ! la
corretta e "recisa selezioni dei "unti di cui abbiamo biso$no "er indirizzarli ad uno sco"o "reciso.
5o'remo essere attenti ad o$ni com"lessitF $eometrica che che il nostro "ro$etto "resenta, in
modo da sce$liere la "osizione desiderata "er la misurazione. Il "asso successi'o ! 4uello di
tro'are le "osizione che ci diano i dati corretti "er le nostre "roduzioni ed e'itare di $enerare
numeri che "otrebbero risultare dei man$ia tem"o senza utilitF. Alla #ine abbiamo biso$no di
es"ortare i dati dal so#tware >5 ai #o$li di calcolo e tal'olta abbiamo biso$no di mani"olare 4uesti
dati in base alle esi$enze.
141
(ro$etto #atto con strisce di carta
(er continuare a in'esti$are 4ueste tematiche, le strisce di carta mi sembrano un&ottima soluzione.
(er ca"ire la lo$ica dell&assembla$$io, ho iniziato con sem"lici combinazione "er il "rimo li'ello e
ho "ro'ato ad a$$iun$ere sem"lici combinazioni insieme al secondo li'ello di assembla$$io.
All&inizio ! stato interessante, ma si ! ca"ito subito che non a'rei ottenuto i risultati "re'isti. Alla
#ine ho "ro'ato ad essere "iC "reciso "er con#rontarmi con la $eometria com"lessa.
Bi$. E.1 -trisce di cartaN "rimo esem"io
%el "asso successi'o ho "ro'ato ad iniziare con una sem"lice situazione "er ca"ire la lo$ica
$eometrica e usarla come base "er la modellazione di$itale. +o assunto che, attra'erso l&uso del
modello di$itale non sarei stato ca"ace di #are un modello #isico ed ero sicuro che a'e'o biso$no di
#are dei test con la carta "er i "rimi "assi.
Il mio obietti'o era 4uello di usare tre strisce di carta e connetterle insiemeN una al centro e altre
due ad entrambi i lati ris"etto a 4uella centrale, ma con una lun$hezza ma$$iore e ristretti nella
"arte #inale. uesto "otrebbe essere il modulo di base da ri"etere e $enerare assembla$$i "iC
$randi.
Bi$. E.2 -em"lice combinazione di strisce di carta "er ca"ire le connessioni e la lo$ica.
142
Modellazione di$itale
Mo$lio modellare le strisce di carta di$italmente do"o a'er ca"ito le basi del modello #isco. 5al
"unto di "artenza ho biso$no di una sem"lice cur'a mediana, che #un$a da base del "ro$etto.
uesta de'e "oter essere di'isa e i "unti di di'isione de'ono "oter essere selezionati 7attra'erso i
'alori booleani 1*PE?BA/-E dati da un Vcull "atternW8N i "unti che ris"ondo al 'alore 1*PE de'ono
essere mossi "er"endicolarmente alla cur'a centrale e de'ono essere usati 7sia 4uelli s"ostati che
4uelli ris"ondenti al BA/-E8 come 'ertici "er due cur'e inter"olate che "osso modellare in maniera
simile a 4uelle che ho descritto con le strisce di carta .
Bi$. E.> (rimo metodo di modellazione con la striscia centrale e le cur'e inter"olate come strisce
laterali.
Ma cos: sembra tro""o sem"lice e lineare. +o 4uindi deciso di a$$iun$ere una di##erenziazione di
dimensione $raduale nei "unti di connessione in modo da #ar risultare una $eometria un "o& "iC
com"lessa. )ra andiamo su ,rassho""er e continuiamo la nostra discussione sulla modellazione.
Mo$lio "ro'are a descri'ere in maniera succinta la de#inizione e andare 'erso la "arte relati'a ai
dati.
Bi$. E.J Il com"onente Vcur'eW ! la striscia centrale, ra""resentata su *hinocerosda una sem"lice
cur'a. /&ho ri"arametrizzata e ora 'o$lio 'alutarla in inter'alli decrescenti. +o usato un
com"onente Vran$eW e l&ho colle$ato ad un com"onente V$ra"h ma""erW 7(aramsW-"ecialW,ra"h
ma""er8 "er $enerare i "arametri di 'alutazione. Pn V$ra"h Ma""erW 7ma""atore $ra#ico8 rima""a
un set di numeri in tanti modi di'ersi, attra'erso la scelta di un "articolare ti"o di $ra#ico. ;ome
'edete, ho 'alutato la cur'a con V$ra"h ma""erW con il $ra#ico ti"o "arabola e i "unti risultanti
nella cur'a sono chiari. (otete cambiare il ti"o di $ra#ico "er modi#icare la ma""atura del ran$e
143
numerico 7"er ulteriori in#ormazioni 'isita l&hel" del com"onente8. 5o"o 4uesto ho 'alutato 4uesti
"arametri sulla cur'a iniziale 7ho connesso Vrecei'erW con la Vcur'eW8.
Bi$. E.K 5o"o a'er rima""ato i dati numerici e 'alutato i "unti, 'o$lio tro'are i "unti centrali o$ni
due "unti del set "recedente. 5e'o 4uindi tro'are i "arametri delle cur'e, tra o$ni "unto di base e
4uello successi'o, da 'alutare. (oichT ho i "arametri di o$ni "rimo "unto, ho s"ostato 7Vshi#tW8 i
dati "er tro'are i "unti successi'i. +o inoltre usato un VcullW con la #re4uenza data dalla lun$hezza
della lista 7Vlist len$htW8 "er escludere l&ultimo elemento della lista "rinci"ale in modo da a'ere $li
stessi elementi come la lista s"ostata. Il com"onente V#unctionW tro'a il "arametro intermedio
7#7U8\7UXA8?28. (otete 'edere i "arametri risultanti essere 'alutati 7il Vrecei'erW connesso con
Vcr'W8.
Bi$. E.D )ra 'o$lio s"ostate il "unto medio e creare dei 'ertici de'iati della striscia laterale. uesti
"unti de'ono sem"re s"ostarsi in una direzione "er"endicolare alle cur'a centrale. uindi "er
"oterli s"ostare, ho biso$no di 'ettori, "er"endicolari alla cur'a centrale nella "osizione di o$ni
"unto. ;on il com"onente Ve'aluateW otten$o anche un 'ettore tan$ente ad o$ni "unto ma
abbiamo biso$no di 4uello "er"endicolare.
-a""iamo che il "rodotto 'ettoriale di due 'ettori ! ancora un 'ettore, sem"re "er"endicolare ad
entrambi 7Bi$. E.L8. (er esem"io il 'ettore unitario Z, "otrebbe essere il "rodotto 'ettoriale dei
144
'ettori unitari 0 e [. /a nostra cur'a centrale ! una cur'a "lanare 4uindi sa""iamo che il 'ettore Z
in o$ni "unto della cur'a sarF sem"re "er"endicolare al "iano della cur'a. Il 'ettore tan$ente ad
o$ni "unto della cur'a, ! situato anch&esso nel "iano della cur'a. uindi se tro'o il "rodotto
'ettoriale del 'ettore tan$ente e del 'ettore unitario Z di o$ni "unto, il risultato do'rebbe essere
un 'ettore "er"endicolare alla cur'a intermedia che a""artiene sem"re al "iano della cur'a. +o
usato la tan$ente del "unto dal com"onente Ve'aluateW e il 'ettore Vunit ZW "er tro'are il loro
V0"rodW 7"rodotto 'ettoriale8 che so essere "er"endicolare alla cur'a anche se la modi#ico
manualmente.
Altro trucco= +o usato i 'alori di V$ra"h ma""erW come #attori di "otenza di 4uesti 'ettori Z, in
modo da aumentare il mo'imento dei "unti. uindi, ma$$iore sarF la distanza tra i "unti, "iC
$rande sarF il loro s"ostamento.
Bi$. E.L (rodotto 'ettoriale. Il 'ettore A e 3 sono nel "iano di base. Il 'ettore ; ! il "rodotto
'ettoriale di A e 3 ed ! "er"endicolare al "iano di base e di conse$uenza ai 'ettori A e 3.
Bi$. E.E )ra ho i "unti di base 7i "rimi "unti 'alutati8 e i "unti s"ostati. /i ho intrecciati 7Vwea'eW8
insieme "er a'ere una lista ordinata di dati. )ra se uso 4uesti "unti "er $enerare una cur'a
inter"olata, "otrete 'edere la cur'a di base della striscia laterale.
145
Bi$. E.O Psando un com"onente Vmirror cur'eW 70#ormWMor"hWMirror cur'e8 "osso s"ecchiare la
cur'a inter"olata usando la cur'a intermedia connessa al Vrecei'erW. In 4uesto modo a'r< 4uindi
entrambi i lati con strisce di carta modulate sullo stesso concetto
Bi$. E.10 -e ora connetto la cur'a intermedia e le cur'e laterali ad un com"onente VeUtrudeW "osso
'edere la mia "rima combinazione di strisce di carta, con uno s"azio 'uoto decrescente tra i "unti.
Bi$. E.11 (osso iniziare a modi#icare la strisce intermedia e 'edere come ,rassho""er a$$iorna le
tre strisce di carta che sono connesse l&una con l&altra, o "osso modi#icare i 'alori de$li slider e
controllare la $eometria risultante "er selezionare 4uello "iC 'icino al modello #isico.
146
5o"o a'er tro'ato la con#i$urazione "er le mie strisce di carta, ho biso$no di estrarre le dimensioni
e i "osizionamenti "er costruire il mio modello basato su 4uesti dati. -ebbene sia #acile modellare
tutte 4ueste strisce su #o$li di carta e ta$liarle con il laser, 4ui 'o$lio creare un "rocesso "iC
$enerale ed ottenere i dati iniziali necessari in modo da non essere limitato ad una s"eci#ica
macchina e ad uno s"eci#ico metodo di mani#attura. (otete usare 4uesti dati come $enerici codici
"er la "roduzione.
Bacendo un sem"lice modello di carta so che ho biso$no della "osizione dei "unti di connessione
sulle strisce ed ! o''io che 4uesti "unti di connessione a'ranno una lun$hezza di'ersa nella striscia
sulla "arte sinistra ris"etto alla striscia della "arte destra nonchT ris"etto a 4uella intermedia.
uindi se otten$o la lun$hezza di di'isione da ,rassho""er, "ossono se$narla sulle strisce.
(oichT le strisce sono cur'e il com"onente VdistanceW non mi aiuta "er 4uesta misura. +o biso$no
di una distanza tra un "unto a un&altro o dal "unto iniziale della striscia ma ris"etto alla cur'a, in
modo che 4uando lo uso sulla carta stesa mi "ossa dare la "osizione corretta.
(er ottenere 4uesta lun$hezza ho biso$no di tro'are i "arametri dei "unti di connessione sulle
strisce 7cur'e8 e 'alutare la loro "osizione. ,li stessi com"onenti mi restituiranno la distanza di
4uesti "unti da un "unto iniziale della cur'a.
Bi$. E.12 ;ome 'edete ho usato il "rimo $ru""o di "unti 'alutati che ho chiamato "unti della cur'a
"rinci"ale 7main cur'e "oints8 nelle striscia centrale 7cur'a iniziale8. /&out"ut / del com"onente mi
restituisce la distanza dei "unti 7"unti di connessione8 dal "unto di "artenza della striscia "er la
striscia intermedia. +o anche usato 4uesti "unti "er tro'are i loro "arametri su un lato della cur'a.
+o 4uindi usato un com"onente Vcur'e c"W "er tro'are i "arametri di o$ni "unto sulla cur'a 7t8.
uesti "arametri sono stati utilizzati "er 'alutare la cur'a e tro'are la loro distanza dai "unti
iniziali. Morrei #are lo stesso "er la "arte successi'a delle striscia.
Assicurate'i che la direzione di tutte le cur'e sia la stessa e controllate do'&! il "unto di "artenza
della cur'a 7ori$ine della misurazione8.
147
Es"ortazione di dati
Bi$. E.1> ;liccate con il tasto destro sul com"onente V"anelW e selezionate &stream content&. ;on
4uesta o"zione sarete in $rado di sal'are i 'ostri dati in di'ersi #ormati ed usarli come $enerici dati
numerici. ui li ho sal'ati con un sem"lice #ormato .tUt "er "oterli usare in Microso#t EUcel.
Bi$. E.1J -u un #o$lio di EUcel, cliccate su una cella 'uota e selezionate la scheda 5ata sotto &,et
EUternal 5ata& . -ce$liete a 4uesto "unto &#rom teUt&. -elezionate il #ile sal'ato in tUt dal "ercorso in
cui l&ho a'ete "osizione e se$uite le istruzioni di EUcel. uesti "assi 'i "ermetteranno di
amministrare di'ersi ti"i di dati ri$uardanti, "er esem"io, come di'idere i 'ostri dati in di'erse
celle e colonne etc.
148
Bi$. E.1K )ra "otete 'edere i 'ostri dati "osizionati su un #o$lio di calcolo di eUcel. (otete #are lo
stesso "er le strisce rimanenti
Bi$. E.1D 1a'ola delle distanza dei "unti di connessione lun$o la striscia.
-e a'ete una lista di coordinate >5 di "unti e le 'olete es"ortare su EUcel, a'ete di'erse o"zioni a
dis"osizione. -e es"ortate le coordinate >5 con il metodo so"ra descritto, 'edrete che ci sono
tante "arentesi e 'ir$ole non necessarie che do'rete cancellare. (otete anche a$$iun$ere delle
colonne cliccando sul tasto im"ort teUt su eUcel e mettere in altre colonne le 'ir$ole e le "arentesi
"er "oi cancellarle ancora.
149
In alcuni casi raccomando di decom"orre i "unti nei loro com"onente ed es"ortarli se"aratamente.
%on ! $ran "roblema es"ortare tre liste di dati anzichT una.
Bi$. E.1L Psando il com"onente Vdecom"oseW "er a'ere le coordinate 0, [ e Z in maniera se"erata
"er "oi es"ortarle in 4uesto modo 'erso un #o$lio di calcolo.
Mi raccomando #ortemente di la'orare in maniera "ro#essionale con EUcel o altri #o$li di calcolo,
"erch! ci aiutano nella $estione dei dati.
;on la modellazione ci siamo= +o usato i dati "rocurati "er se$nare le mie strisce di carta e
connetterle insieme e creare dei sem"lici modelli. (er "ro'are anche a me stesso, ho #atto 4uesto
"rocesso a mano, "er dimostrare che la #abbricazione non necessariamente si$ni#ica macchine da
ta$lio laser ma, come ha detto un 'olta Achim Men$es 71utor AA di Em1ech8, 4ualche 'olta il ;AM
"u< essere sostituito dal +AM cio! Mani#attura Manuale 7+and Aided Mani#acturin$=== ,iusto "er
ridere8. +o "assato un&ora a ta$liare tutte le strisce mentre il "rocesso di assembla$$io ha "reso un
"o& "iC di tem"o ma ! stato comun4ue #atto a mano.
150
Bi$. E.1E (ro$etto #inale di strisce di carta.
151
0_2 "agli laser e mani#att+razione 2asata s+l taglio
(er #abbricare $eometrie com"lesse o$$i$iorno 'iene usata comunemente l&idea di ta$liare #o$li di
materiali attra'erso il laser. Esistono di'ersi modi in cui "ossiamo usare 4uesta "ossibilitF "er
#abbricare o$$etti. I ta$li laser 'anno bene "er o$$etti costruiti con su"er#ici s'ilu""abili o "ie$ate.
E& "ossibile distendere su un "iano una $eometria di$itale e sem"licemente rita$liarla da un #o$lio
e "ie$are il materiale "er costruirla. (er le $eometrie com"lesse, "u< anche risultare a""ro"riato
ridurle in "ezzi se"arati di su"er#ici "ianeN l&intero modello "u< essere disassemblato in di'erse
"arti se"arate, annidate in #o$li "iani e "ossono essere a$$iunte le "arti so'ra""oste "er le
connessione 7incolla$$io "er esem"io8 e "er il ta$lio al #ine di un assembla$$io #isico. E& anche
"ossibile #abbricare o$$etti a do""ia cur'atura con 4uesto metodo. -ono stati #atti di'ersi
es"erimenti "er tro'are le di'erse sezioni di un o$$etto a #orma di &blob&. ueste sezioni ta$liano
l&o$$etto in almeno due direzioni e una 'olta assemblate, 'en$ono unite 7solitamente imbri$liate8 a
creare la #orma della $abbia del modello.
(oichT $li incisori laser sono de$li strumenti $enerici, ci sono 'ari metodi, ma "er tutti la cosa
im"ortante ! tro'are il modo "er ridurre la $eometria ad elementi "iatti in modo da ta$liarla da un
#o$lio di materiale 7non im"orta se carta o metallo, cartone o le$no8 e alla #ine assemblarli insieme.
5ei i di'ersi modi discussi 4ui, 'o$lio testarne uno su ,rassho""er. -ono sicuro che "otrete
#acilmente s"erimentare $li altri "er conto 'ostro
Babbricazione di su"er#ici #ree #orm
+o deciso di #abbricare una su"er#icie #ree #orm "er #are es"erimenti, "re"arando e nidi#icando i
"ezzi de$li o$$etti #ree #orm da ta$liare e tutte le altre cose di cui abbiamo biso$no.
Bi$. E.1O ui abbiamo la su"er#icie che im"ortata su ,rassho""er attra'erso il com"onente
V$eometrAW. uesto "er mostrare che ! "ossibile introdurre o$ni $eometria che a'ete "ro$ettato
o usare o$ni o$$etto di ,rassho""er che a'ete $enerato.
%er'ature delle sezioni
(er "oter #abbricare 4ueste #orme #ree #orm $eneriche, 'o$lio creare le sezioni di 4uesta su"er#icie,
annidarle su un #o$lio e "re"arare i #ile "er essere ta$liati con un incisore laser. -e l&o$$etto su cui
state la'orando ha un certo s"essore che "otete ta$liare, il modello ! "iatto, a'ete 4uindi biso$no
di a$$iun$ere uno s"essore "er ta$liare le "arti.
152
Bi$. E.20 %el "rimo "asso ho usato un com"onente Vboundin$ boUW 7"arallele"i"edo limite8 "er
tro'are l&area su cui 'o$lio la'orare. +o usato anche un com"onente V3oU cornersW
7-ur#aceWAnalAsisW3oU corner8 "er tro'are $li an$oli o""osti del "arallele"i"edo e usarli come
limite del ran$e che 'o$lio "er $enerare le ner'ature lun$o la $eometria. uindi $razie al calcolo
della lun$hezza e dell&altezza del "arallele"i"edo, ho "otuto usare 4uesti 'alori come domini che
'o$lio di'idere attra'erso un com"onente Vran$eW. Bondamentalmente, usando un Vnumber
sliderW, "osso di'idere la lun$hezza e l&altezza del "arallele"i"edo nelle "arti desiderate.
Bi$. E.21 Il mio obietti'o ! di $enerare "iani accanto la lun$hezza e lar$hezza del "arallele"i"edo
in 4uantitF "ari a 4uella delle ner'ature di cui ho biso$no. (rima di tutto ho $enerato due "iani,
uno VUA "laneW e l&altro VUz "laneWNil "rimo "er"endicolare alla lun$hezza del "arallele"i"edo e il
secondo "er"endicolare alla lar$hezza. +o $enerato entrambi nel "rimo 'ertice del
"arallele"i"edo connettendoli all&out"ut A del VboU cornerW. )ra "osso $enerare i 'ettori Vunit 0W
e Vunit [W di #ianco la lun$hezza e la lar$hezza del "arallele"i"edo e attra'erso la connessione del
com"onente Vran$eW, "osso creare dei 'ettori "er tutti i "unti di di'isione. (osso 4uindi s"ostare
7Vmo'eW8 i "iani 0Z e [Z con 4uesti 'ettori e $enerare serie di armature lun$o la lun$hezza del
"arallele"i"edo limite.
153
Bi$. E.22 Armature $enerate lun$o la direzione della lun$hezza e della lar$hezza del "arallele"i"edo
limite dell&o$$etto, "er"endicolarmente al bordo.
Bi$. E.2> )ra se tro'o le intersezioni di 4uesti "iani con la su"er#icie, "osso e##etti'amente
$enerare le ner'ature arri'ando a metF strada del nostro "rocesso di #abbricazione delle su"er#ici.
ui ho usato il com"onente V3re" d (laneW 7IntersectWMathematicalW3re" d (lane8 "er risol'ere il
"roblema. +o usato V,eometrAW 7la mia su"er#icie iniziale8 come 3re" e i "iani dei "assi
"recedenti, come "iani "er alimentare i com"onenti della sezione.
154
Bi$. E.2J Intersezioni tra le armature e le su"er#ici, che creano una di serie di cur'e sulla su"er#icie.
Annidamento
Il "asso successi'o ! 4uello di annidare 4ueste cur'e di sezione su un #o$lio "iatto "er "re"ararle al
"rocesso di ta$lio. +o dise$nato un rettan$olo in *hinoceroscon il mio #o$lio. +o co"iato 4uesto
rettan$olo "er $enerare tanti #o$li so'ra""osti l&uno con l&altro e ho dise$nato una su"er#icie che
co"ra tutti 4uesti rettan$oli.
Bi$. E.2K Bo$li di carta e su"er#ici sottostanti "er ra""resentarle su ,rassho""er
Pser< il com"onente VorientW 70#ormWEuclidianW)rient8 "er annidare le mie cur'e in una
su"er#icie che ra""resenti i #o$li "er i ta$li. )sser'ando il com"onente VorientW "otete 'edere che
abbiamo biso$no del "iano di ri#erimento dell&o$$etto e il "iano destinazione che do'rebbe essere
sul #o$lio. uindi do'rei $enerare 4uesti "iani "er annidare i miei o$$etti di ta$lio. (oichT ho usato
4uesti "iani "er intersecare la su"er#icie iniziale e $enerare le cur'e di sezione, "ossono usarli
ancora come "iani di ri#erimento, ho 4uindi solo biso$no di $enerare i "iani di destinazione.
155
Bi$. E.2D +o im"ortato la su"er#icie di ta$lio su ,rassho""er e ho usato un com"onente Vsur#ace
#rameW 7-ur#aceWPtilW-ur#ace #rames8 "er $enerare serie di strutture tras'ersali alla su"er#icie.
(ossiamo $enerare "iani, 4uanti ne necessita la $eometria.
Bi$. E.2L )rientamento. +o connesso le cur'e di sezione come $eometrie di base e i "iani che ho
usato "er $enere 4ueste sezione come $eometria di ri#erimento "er il com"onente VorientW. Ma !
ancora necessaria una "iccola modi#ica al "iano di destinazione. -e osser'ate i risultati del Vsur#ace
#rameW, 'edrete che di'idendo la direzione P "er 1, 'erranno $enerate 2 colonne "er di'idere la
su"er#icie. +o 4uindi un numero di "iani su"eriore alle mie necessitF. Ed ! "er 4uesto che ho di'iso
la lista 7Vs"litW8 del "iano di destinazione con i numeri che "ro'en$ono dal numero di cur'e di
ri#erimento. +o 4uindi usato "iani in 4uantitF "ari alle cur'e "resenti e li ho s"ostati di una unitF in
direzione 0 "er "ermettere la so'ra""osizione con i bordi dei #o$li. )ra "ossono connettere 4uesti
"iani al com"onente VorientW. A 4uesto "unto "ossiamo 'edere che tutte le cur'e sono annidate
nel "iano di ta$lio.
156
Bi$. E.2E cur'e annidate nel #o$lio di ta$lio
,enerazione delle ner'ature
Bi$. E.2O 5o"o a'er annidato le cur'e nei #o$li di ta$lio, 'isto che i nostri o$$etti non hanno
s"essore, abbiamo biso$no di "ro''edere a tal re4uisito "er "oterli ta$liare. A 4uesto sco"o ho
creato un Vo##setW delle cur'e con il 'alore dell&altezza desiderata e ho anche a$$iunto delle linee
ad entrambe le estremitF di 4ueste cur'e e di 4uelle &o##settate& in modo da chiudere l&intero
dise$no ed a'ere la ner'atura com"leta "er il ta$lio.
,enerare le $iunture 7imbri$liatura8
Il "asso successi'o ! 4uello di $enerare le ner'ature nelle altre direzione e creare le $iunture "er
assemblare do"o il ta$lio. -ebbene abbia usato lo stesso metodo di di'isione dell&altezza del
157
"arallele"i"edo limite "er $enerare "iani e 4uindi sezioni, "osso $enerarli manualmente in o$ni
"osizione desiderata. uindi, se non 'olete di'idere entrambe le direzioni e $enerare le sezioni,
"otete usare altri metodi.
Bi$. E.>0 ;ome 'edete in 4uesto caso, al "osto dei "iani "recedentemente $enerati, ho usato "iani
de#initi manualmente "er le sezione nelle altre direzioni delle su"er#ici. Pn "iano ! stat" $enerato
attra'erso un 'alore di 0 direttamente da un Vnumber sliderW ed un altro "iano "ro'eniene da un
"iano s"ecchiato sull&altro lato della su"er#icie 7lun$hezza della su"er#icie 7A8 G number slider 7U88.
/e sezione di 4uesti due "iani e su"er#ici sono calcolate "er i "assi successi'i.
)ra "osso orientare 4ueste nuo'e cur'e su un altro #o$lio da ta$liare, usando lo stesso "rocesso
"recedente. ,eneriamo 4uindi le $iunture "er l&assembla$$io della "arti.
Bi$. E.>1 (oichT abbiamo le cur'e nelle due direzioni, "ossiamo tro'are i loro "unti di intersezione
"er dise$nare le $iunture nella "osizione corretta. A 4uesto sco"o ho usato il com"onente V;;0W
7IntersectW(hAsicalW;ur'ed;ur'e8 "er tro'are le "osizioni di intersezione tra 4ueste cur'e cio! le
"osizioni delle $iunture 7Il com"onente V;;0W ! im"ostato in modalitF ri#erimento incrociato 7cross
re#erence88.
158
+o biso$no di dise$nare dise$nare 4ualcos&altro "er "re"arare la $iunture al ta$lio. +o intenzione
di usare un&imbri$liatura e ho 4uindi biso$no di ta$liare metF di o$ni ner'atura nella "osizione di
$iuntura "er "oter unirle alla #ine. (er "rima cosa ho biso$no di tro'are 4ueste intersezioni nelle
ner'ature nidi#icate e 4uindi dise$nare la linea di ta$lio.
Bi$. E.>2 -e osser'ate la "orta di out"ut del com"onente V;;0W "otrete 'edere che restituisce il
"arametro in cui o$ni cur'a si interseca con l&altra. (osso 4uindi 'alutare le cur'e nidi#icate o
orientate con 4uesti "arametri "er tro'are la "osizione di $iuntura sui #o$li di ta$lio.
Bi$. E.>> )ra che abbiamo la "osizione delle $iunture, dobbiamo dise$narle. (er "rima cosa ho
dise$nato le linee con il com"onente Vline -5/W con il "unto di $iunzione 4uale "unto di "artenza,
direzione Vunit [W e ho usato mezza altezza della ner'atura come 'alore "er la lun$hezza. )ra
"ossiamo 'edere che "unto sulla cur'a nidi#icata ha una linea sottile associata.
159
Bi$. E.>J (asso successi'o, dise$nate una linea in direzione 0 dal "unto #inale della "recedente
linea con la lun$hezza del VsheetHthi.nessW 7s"essore del #o$lio, che di"ende dal materiale8.
Bi$. E.>K (er dise$nare la terza linea ho biso$no di tro'are il "unto do'e 4uesta linea si connette
alla cur'a di base "erch! non conosco esattamente la lun$hezza. In 4uesto "assa$$io, ho a$$iunto
un altra Vlinea -5/W con direzione [ ma se$no ne$ati'o "er dise$nare la terza linea, ma "iC lun$a di
4uanto necessario, "er intersecare la cur'a di base in un "unto. Il Vrecei'erW ! connesso alla cur'a
orientata. +o 4uindi usato V;/0W 7IntersectWMathematicalW;ur'edline8 "er tro'are l&intersezione
con la cur'a di base. +o &a""iattito& 7V#lattenW8 e a$$iunto delle linee, ancora dal "unto #inale della
seconda linea a 4uesto "unto di intersezione. ;ome risultato, ora le connessioni sono com"lete.
5e'o com"letare il la'oro "er entrambi i lati di $iunzione.
160
Bi$.E.>D Psando un com"onente VYoin cur'esW 7;ur'eWPtilWZoin cur'es8, come
"otete 'edere ho una scanalatura 7chiamata VYoin cur'eW8 che "ossono usare "er
ta$liare, come imbri$liatura dentro la struttura. A""lichiamo lo stesso metodo "er
l&altra estremitF della cur'a 7seconda serie di $iunzioni sull&altro lato della cur'a
orientata8.
Bi$. E.>L %er'ature con il "unto di $iunzione dise$nato su entrambe le estremitF. (osso ta$liare la
"arte sottile della cur'a di base dentro la $iuntura, ma, 'isto che non modi#ica la $eometria, la
"osso lasciare.
Etichettatura
Mentre stiamo la'orando nella #ase di #abbricazione, "otrebbe non essere una $rande idea,
ta$liare centinaia di "iccole "arti e lasciarle senza nome e indicazioni. Misto che stiamo andando ad
161
assemblarle, sarebbe o""ortuno indicarne l&ordine "er sa"ere 4uale 'a "er "rima. E& o''io che
'isto che tutte le "arti sono di'erse, abbiamo biso$no di etichettarle "er "oterle assemblare
#acilmente.
/&etichetta "u< essere sem"licemente ra""resentata da un numero o da una combinazione di
numeri e testi utili a collocare i "ezzi. -e l&o$$etto ! com"osto da una serie di "iccoli "ezzi di'is,
"ossiamo dare un nome alle "arti "rinci"ali e usare il nome o le iniziali con i numeri "er collocare i
"ezzi 7".e. le#tHwin$H01 G alaHsinistraH018. (ossiamo usare anche delle lo$iche $erarchiche "er
"oter nominare anche le "arti 7".e. laAerH01H"HJK8.
+o dun4ue biso$no di una serie di numeri "er mostrare la "osizione delle ner'ature nella lista.
(osso usare il com"onente VteUt ta$W "er "oter a$$iun$ere il testo alla mia $eometria e "er #are
ci<, ho biso$no di indicare la "osizione e l&altezza del testo.
Bi$. E.>E ;ome ricorderete, ho una serie di "iani che usati come "iani di destinazione "er orientare
le cur'e di sezione sul #o$lio. Andr< 4uindi ad usare i "iani "er creare le "osizione "er il testo.
(oichT i "iani sono esattamente a$li an$oli dellener'ature, li de'o "rima s"ostare.
Bi$. E.>O +o s"ostato $li an$oli dei "iani di una unitF in direzione 0 e di mezza unitF in direzione [
7come somma 7VsumW8 di 'ettori8 ed ho usato 4uesti "iani "er la "osizione delle etichette testuali.
ui ho usato VteUt ta$ >5W e ho $enerato una serie di elementi "ari al numero delle ner'ature e li
user< come testo. (er con'ertire 12.0 in 12 ho usato il com"onente Vinte$erW ma ! "ossibile #arlo
anche con una #unzione. ;ome risultato "otete 'edere tutte $li elementi che "resentano un unico
numero nel loro an$olo sinistro.
162
Bi$. E.J0 )ra "otete cambiare i #attori di di'isione delle su"er#ici di ta$lio "er com"rimere le
ner'ature, in modo da e'itare di s"recare materiale. ;ome 'edete nell&esem"io "recedente, dal
"unto di "artenza del #o$lio > 7sheetH>8, le ner'ature iniziano ad essere "iC "iatte e 4uesto
consente di a'ere "iC s"azio tra loro. ui "otete suddi'idere le 'ostre ner'ature in due di'erse
su"er#ici da ta$liare e cambiare i "unti di di'isione, "er com"rimerli in base alla loro #orma. Ma se
non state tenendo conto di alcune "arti "otete #are 4uesto ti"o di cose manualmente su rhinoN non
! necessario che tutte le "arti siano #atte in maniera associati'a= )ra ho le ner'ature in una
direzione e "osso #are le stessa cosa nell&altra direzione. /&unico cosa da considerare ! la direzione
dei $iunti in'ertita, 4uindi mentre sta'o la'orando con la $eometria orientata nella "arte
"recedente, 4ui de'o la'orare con 4uella creata dall&Vo##setW
1a$lio
uando tutte le $eometrie di'entano "ronte "er essere ta$liate, ho biso$no di &cucinarle& 7ba.e8 e
modi#icarle un altro "o& sui #o$li. ;ome 'edete in #i$. E.J1 $li o$$etti sono tutti nidi#icati in tre #o$li.
+o $enerato tre #orme di'erse "er le ner'ature nella direzione della lar$hezza dell&o$$etto "er
'eri#icarle. Il materiale ! ora "ronto "er essere ta$liato.
Bi$. E.J1 %er'ature annidate, "ronte "er essere ta$liate.
163
Bi$. E.J2 Esem"i di ner'ature, "ronte "er essere assemblate.
Assembla$$io
%el nostro caso, l&assembla$$io, ! relati'amente sem"lice. 1al'olta sarF necessario controllare
ancora il #ile "er a'ere un aiuto nell&assemblare le "arti con di'ersi metodi di #abbricazione. ui
abbiamo tutte le su"er#ici #atte con i #o$li di carta.
164
Bi$. E.J> Modello #inale
/a #abbricazione ! un ar$omento di discussione molto 'asto. 5i"ende "rinci"almente su cosa si
'uole #abbricare, 4ual&! il materiale, 4ual&! la macchina da utilizzare, come le "arti #abbricate
'anno assemblate e cos: 'ia. ;ome $iF detto, in base al "ro$etto su cui si intende la'orare, a'rete
biso$no di recu"erare i dati "er "er le #asi di #abbricazione. ualche risulterF "iC im"ortante a'ere
la lo$ica di assembla$$io, "er esem"io 4uando state la'orando con com"onenti sem"lici che
creano "osi una $eometria com"lessa come risultato dell&assembla$$io.
165
Bi$. E.JJ /o$ica di assembla$$ioN i materiali e i $iunti sono sem"lici. (osso la'orare sulla lo$ica di
assembla$$io e usare i dati "er #are i miei modelli.
166
CA'I"3L3_9_ &trategia di )esign
167
9_&trategia di )esign
,li al$oritmi $enerati'i sono al$oritmi e ra""resentano modalitF associati'o?"arametrico di
o"erare sulla $eometria nelle "roblematiche "ro$ettuali. ;on il metodo al$oritmico, me$lio che
con che con $li o$$etti $eometrici con'enzionali, "ossiamo a'ere tutte le "ossibilitF date dalla
$eometria com"utazionale, e allo stesso tem"o "ossiamo $estire un&immensa 4uantitF dai dati,
numeri e calcoli. /a "roblematica ! 4uella di non limitare la "ro$ettazione in es"erimenti
"rede#initi, ed es"lorare le in#inite "otenzialitFS ci sono sem"re modi alternati'i "er im"ostare $li
al$oritmi di desi$n. -ebbene sembri che i comandi de$li a""licati'i sulla modellazione "arametrica
"ossano limitare alcune o"erazioni o "ossano im"orre dei metodi, le soluzioni alternati'e sono
sem"re "resentiN #ate 'olare la #antasia e sca'alcate i limiti=
(er "oter "ro$ettare 4ualcosa,aiuta sem"re a'ere una strate$ia "ro$ettuale. uesta "ermetterF di
im"ostare il mi$lior al$oritmo "er tro'are la soluzione al nostro "roblema. (ensando alle "ro"rietF
$enerali de$li o$$etti di desi$n, dise$nare alcune "arti e #are dei modelli #isici, "otrebbe aiutare a
ca"ire me$lio $li al$oritmi in modo da sce$liere i mi$liori com"onenti "er la modellazione di$itale.
(ensando ai "arametri #issi, 4uesti "ossono essere cambiati durante il "ro$ettoN i dati numerici e $li
o$$etti $eometrici necessari, aiutano sem"re a mi$liorare l&al$oritmo. -arebbe 'eramente d&aiuto
ca"ire analiticamente le "roblematiche "ro$ettuali, schizzarle e 4uindi iniziare un al$oritmo che
"ossa risol'ere il "roblema.
(er "oter "ro$ettare al$oritmicamente, dobbiamo "ensare al$oritmicamente=
168
Bi$. O.1 (ro$etto @ea'in$, dalla com"rensione analitica alla modellazione associati'a.
169
Bi$. O.2 (ro$etto di un muro #orato, 5alla com"rensione analitica alla modellazione associati'a.
170
/i2liogra#ia
(ottman, +elmut and As"erl, Andreas and +o#er, Michael and Kilian, AUel, 200LN FArc*itect+ral
GeometrGH, 3entlA Institute (ress.
+ensel, Michael and Men$es, Achim, 200EN FMorp*oI:cologiesH, Architectural Association.
*utten, 5a'id, 200LN F.*inoceros&cript 1%1H, di$ital 'ersion bA 5a'id *utten and *obert Mc%eel
and Association.
Bla.e, ,arA @illiam, 1OOEN F"*e comp+tational 2ea+tG o# nat+re4 comp+ter eJplorations o#
#ractals4 c*aos4 compleJ sGstems4 and adaptationH, 1he MI1 (ress.
5e 3er$, Mar. and Man Kre'eld, Marc and )'ermars, Mar., 2000N FComp+tational GeometrGH,
-"rin$er.
,rassho""er tutorials on *obert Mc%eel and Associates wi.iN
htt"N??en.wi.i.mcneel.com?de#ault.as"U?Mc%eel?EU"licit+istorAEUam"les.html
AUel Kilian and -tAlianos 5ritsasN F)esign "ooling I &Ketc*ing 2G Comp+tationH,
htt"N??www.desi$neU"lorer.net?desi$ntoolin$?inet"ub?wwwroot?com"onents?s.etchin$?indeU.ht
ml
@ol#ram MathworldN htt"N??mathworld.wol#ram.com? -tAlianos 5ritsas, htt"N??Yenerati##.com?
Main
,rassho""er web "a$eN htt"N??,rassho""er>d.com
171
172

Potrebbero piacerti anche