Faccio un piccolo excurcus su un tema ed un programam che non sono stati trattati nel corso di questo anno ma lo sono stati in passato. Al momento sto lavorando con il professor Todesco sul Pythonscript e ho trovato fortuitamente un seminario web in tempo reale (si chiamano Webinar e sono Nerdicamente parlando una gran figata) tenuto dallo studio Mode Collective sull'implmentazione di Python in Grasshopper. Vi riporto in nuce quello che hanno mostrato in 2 ore e mezza di lezione, sperando che a qualcuno di voi risulti utile ( e se non a voi ai ragazzi del corso di Todesco a cui linkerò la pagina )
http://www.facebook.com/modecollective
PRSENTAZIONI
Grasshopper
Grasshopper, il plug-in di Rhinoceros, è un potente strumento che ci permette di realizzare, concatenando una serie di operatori sia grafici che matematici, delle geometrie complesse, controllabili parametricamente.
La sua forza risiede nella semplicità con cui permette, anche alle persone meno abituate alla programmazione, di realizzare operazioni che altrimenti richiederebbero di compilare script a volete anche molto lunghi, presentandoci il tutto in una vesta grafica comprensibile ed accattivante, ma ancora più importante permette all'utente di modificare i parametri e visualizzando in tempo reale i cambiamenti che questi generano.
Python script
Il Python è un linguaggio di programmazione avanzato che è stato implementato con la versione 5 di Rhinoceros.
Linguaggio moderno (nasce nel 1991), pone l'accento sul suo facile apprendimento e sulla sintassi semplice e lineare (anche a digiuno di programmazione si può capire cosa fa uno script).
Il Python mette a disposizione del programmatore tutte le funzioni precedentemente contenute nel rhinoscript (altro linguaggio implementato in Rhino dalla versione 2 ma più complicato) ed altre di nuove.
Lo script permette a chi lo compila di avere un controllo più accurato e minuzioso delle operazioni svolte dal programma ed inoltre ci permette di strutturare cicli ricorsivi ( Loop ).
Queste sono istruzioni che si ripetono aggiornando i parametri ad ogni ciclo sino al raggiungimento di un obbiettivo o di un numero ricorsioni specificato.
PERCHE' UNIRE PYTHON E GRASSHOPPER?
Al di là della comodità di poter avere un'interfaccia più user friendly l'implementazione dello script in Grasshopper ci permette di avere degli input (alias parametri) controllabili e modificabili senza dover ripetere lo script stesso ottenendo in tempo reale i risultati delle nostre modifiche e al contempo ci permette di usare la ricorsione, un potente strumento che risultava difficilmente ottenibile in Grasshopper
------------------------------------------------------------------------------------------------------------------------------------------
Installazione PLUG IN
01_Priamo Rhinoceros, facciamo partire Grasshopper quindi aggiungiamo il file GhPyton scaricabile dal sito
www.food4rhino.com/project/ghpython
nella cartella individuabile dal menu di Grasshopper come da immagineQuindi chiudere e riavviare sia Rhinoceros che Grasshopper, adesso andando nella tendina Maths sotto nella parte relativa agli scripts ci apparirà il simbolo dei due serpentelli uno giallo e uno blu che ci permettono se trascinati nelle "tela" di inserire uno script in Pyhton.
------------------------------------------------------------------------------------------------------------------------------------------------
Sfera in Pytnon script
01_Digitando sulla linea di comando di Rhino Edit Pythonscript ci apparirà (dalla versione 5.0) in poi l'editor di script di Python
Questo è il codice in Pyhton script che ci permette di disegnare una sfera
Eccolo "tradotto"
Importa le librerie di rhinoscript
Chiede all'utente di selezionare con il puntatore il centro della sfera e immagazzina l'informazione in Centro
Chiede quindi all'utente di digitare la lunghezza del raggio della sfera e immagazzina l'informazione inRaggio
Usa il comando ADSphere che richiede l'immissione della posizione del centro e della dimensione del raggio per disegnare una sfera nello spazio
Sfera in Grasshopper
01_Il procedimento per ottenere una sfera in Grasshopper è analogo si definiscono i due parametri (o un punto per il centro e una slide per il raggio, che viene così reso un parametro variabile e le cui modifiche sono visibili in tempo reale)
ed un operatore sfera che ricevendo questi due imput genera la figura.
Python in Grasshopper
01_Trascinando il simbolo del Python script in Grasshopper apparirà un opertore col simbolo dei serpentelli
02_Cliccandoci sopra ci si apre una finestra dove è possibile digitare il nostro script.
Nell'immagine la potete vedere in basso al confronto con l'editor di Python accessibile dalla linea di comando di Rhinoceros.
07_Colleghiamo quindi sulla finestra di Grasshopper i nostri 2 parametri all'operatore di Pythonscript
Ovviamente facendo il copia incolla dello script ci viene restituito un errore.
09_Il problema risiede nel fatto che il nostro script non legge i due parametri in quanto questi gli vengono presentati con il "nome" sbagliato.
Difatti l'operatore Python ha come Input x e y non Centro e Raggio, cambiando il nome agli stessi viene meno l'incongruenza che ci dava errore.
Una volta collegati i parametri ci si rende conto che questi non devono essere "contenuti" in quanto sarà lo stesso Grasshopper a fornirceli costantemente. Si può quindi procede alla semplificazione del nostro scriptl collegare i parametri in modo adeguato può anche portarci a una semplificazione del nostro script.
Al quale per avere un output grafico va aggiunto un generatore di mesh 3d in questo caso il comando surface.
Commenti
Mattia, chiarissimo
Non devo aggiungere altro,
sei stato bravissimo, cosa altro dire?
Si capisce molto bene, sta davvero nascendo un corso "collettivo",
grazie anche ad altri che si stanno unendo.
Non ti rilassare però!
aspettiamo una tua interpretazione architettonica
dei nostri temi digitali.
Saluti,
S.C.