Tag Archives: city

3D con Processing

rotation incident
Rotation Incident – GC Mingati

Ho iniziato ad investigare sul renderer 3D di Processing (P3D):
se aggiungiamo un terzo parametro nel setup della nostra applicazione, size(800, 600, P3D), significa che intendiamo usare il renderer tridimensionale di Processing, il più compatibile ed indipendente da librerie esterne (come per esempio OPENGL) ma leggermente più lento se si ha a che fare con forme geometriche complesse e molti vertici.
Per iniziare, ho usato i metodi box e sphere per creare forme molto semplici in 3D e ho cercato di capire il funzionamento di camera e luci. Creare un box è stato un attimo, ma per renderlo realistico avrei dovuto vestirlo con una texture; purtroppo i box creati col metodo statico box(w,h,l) non sono “texturizabili”. Per fare ciò, ho capito che dovevo comprendere come usare vertici e primitive in Processing.
Non c’è niente da fare, se vuoi fare 3D da codice devi studiarti un minimo di OPENGL: ok, allora devo disegnare un cubo creando prima i suoi sei lati, ognuno composto da 4 vertici – quindi non basta dire box(larghezza, altezza, profondità) – e ad ogni lato applicare una texture (il grosso è disegnarlo, vestire una superficie piatta è semplice). Non mi dilungo troppo anche perchè è solo l’inizio, ma sono felice del primissimo risultato; ho capito che risultati sorprendenti (cioè che mi sorpendono) sono possibili già solo capendo il sistema di primitive (x,y,z) .

Premendo “l” si attiva/disattiva una luce direzionale; premendo il tasto sx del mouse muove la camera, tasto dx zoomin/zoomout e tasto centrale pan; il movimento della cam è gestito da una libreria esterna per Processing, PeasyCam sviluppata da Jonathan Feinberg.

The PeasyCam is positioned on a sphere whose radius is the given distance from the look-at point. Rotations are around axes that pass through the looked-at point.

La grafica 3D come la conosciamo oggi, ha origine dalla teoria della prospettiva a punto unico di fuga, o prospettiva lineare centrica, sviluppata più di 600 anni fa dall’architetto fiorentino Filippo Brunelleschi. Con l’ausilio di due tavolette in legno ed uno specchio, egli calcolava le distanze tra oggetto e punto di osservazione, e così poteva disegnare una sorta di intelaiatura prospettica utile alla rappresentazione artistica e dimostrò l’esistenza di una sorta di punto di fuga all’orizzonte, verso il quale gli oggetti rimpicciolivano.

Poco dopo questa tecnica fu codificata e artisti come Albrecht Dürer iniziarono ad ideare tecniche e apparati atti a produrre rappresentazioni convincenti (realistiche) di spazi 3D su quadri (2D). Anticipando metodologie moderne come il ray-tracing, questi apparati furono i progenitori delle odierne graphic cards, capaci di disegnare miliardi di vertici al secondo. Oggi artisti, designers, architetti e ingegneri usano il computer per creare, manipolare e produrre forme tridimensionali.

In parte tratto da “Processing: A Programming handbook for Visual Designers and Artists”; testo di Simon Greenwold, tradotto dal sottoscritto

la Nuova Casa

Eccoci nella nuova casa, situata nelle campagne a nord di Roma, precisamente a Formello. Contiamo di terminare il trasloco entro sabato 7 aprile.

Ci sono 4 cavalli, 6 cani + il mio, un pò di gatti ed il posto si trova in discesa tra due colline; c’è un bellissimo verde tutto intorno, si respira aria buona, ci sono degli ottimi ristoranti e least but not last, non dovrò più prendere l’auto per andare al campo di volo e far volare i miei modelli.
Ragazzi da domani avviamento e decollo direttamente dal giardino!

Ahh che pace che c’è, certo dovrò svegliarmi un pochino prima per venire in treno a Roma per lavorare, ma ci pensate che bello il weekend? Cenetta in giardino, barbeque sotto il sole…. basta inquinamento, rumore, caos, traffico e parcheggi.
Che bello!