processing.5
30 Settembre, 2007
Lo sviluppo di bubbleBubble si ferma qui (perchè domani è il grande giorno), anche se restano ancora questioni non risolte nell’applet.
Grazie a tutti coloro che hanno contribuito….e se qualcuno ha voglia di prendere in mano il gioco, tanto meglio.
Due tipi di risultati proposti:
bubbleBubble_v0.1
bubbleBubble_v0.2
processing.3
18 Settembre, 2007
Superata l’impasse delle coordinate del centro dell’arco di cerchio, trovate con un altro sistema. Corretti anche alcuni errori, ora siamo arrivati a questo punto.
Ora bisogna fare ordine nel codice. Poi sistemare il fatto che deve essere disegnato solo l’arco, non tutto il cerchio rosso e solo nella bolla più piccola. Va anche messo a punto il caso della terza bolla. Seguirà l’aspetto grafico.
Il codice.
immagini bolle.3
17 Settembre, 2007
Aggiunte nuove immagini alla seconda galleria.
qualcosa su cui riflettere.2
17 Settembre, 2007
Ancora aiuto….
I punti A, B e D sono allineati. La soluzione piu’ semplice e’ metterli sull’asse x.
Diciamo che A=(0,0), B=(AB,0), D=(AB+BD,0)
Hai anche fissato l’angolo BAC e quindi sai anche che C = (cos(BAC),sin(BAC))*AC
AC si trova sempre con la legge dei seni: sin(ACB)/AB=sin(ABC)/AC quindi AC = AB sin(ABC)/sin(ACB)
Sappiamo che ACB=60gradi e ABC=180-60-BAC=120-BAC
A quel punto trovi i raggi mancanti con il teorema di pitagora:
||(ax,ay))|| = sqrt(ax^2+ay^2)
Questa mattina mi e’ venuta un’altra idea carina per facilitarvi la scrittura del programma. (risolve due problemi che state per incontrare: il disegno di un arco dato il centro e due punti estremi e la singolarita’ quando CAB=60)
Senti che bello: prendi una sfera appoggiata al piano XY in modo che la congiungente dei poli sia parallela a X. L’equazione della sfera la sanno tutti; con questa scelta degli assi e della posizione diventa:
x = cos(theta)
y = sin(theta)cos(phi)
z = -sin(theta)sin(phi)+1
theta = [0,pi]
phi = [0,2pi]
Pensa a tre meridiani sulla superficie della sfera.
Cioe’ theta=[0,pi] e phi = 0,2pi/3,4pi/3
Fai una proiezione stereografica della sfera sul piano xy.
Cioe’ proietta dal punto (0,0,2):
f = 2/(2-z)
x’ = f x
y’ = f y
La proiezione stereografica conserva gli angoli e converte cerchi in cerchi (al limite li fa diventare rette). Quindi la proiezione dei tre meridiani sara’ una figura piana composta da tre archi di cerchio che si uniscono in due punti formando angoli di 120 gradi. Cioe’ proprio la configurazione delle due bolle!
Se fai ruotare la sfera attorno al suo asse la configurazione cambia e una delle bolle rimpicciolisce e l’altra ingrandisce all’infinito. Quando un meridiano tocca il piano xy la sua proiezione diventa rettilinea e hai la configurazione delle bolle uguali.
Dal punto di vista della programmazione l’algoritmo e’ semplice: generi N punti lungo il meridiano (facile perche’ ti basta cambiare theta, fissato phi e poi usare l’equazione della sfera che ho scritto sopra), poi li proietti sul piano e il congiungi con delle linee. Stop
anche l’occhio vuole la sua parte
3 Settembre, 2007
……e bolle siano!
let’s start
23 Giugno, 2007
Inizia l’avventura…… e speriamo di non perderci per strada!