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

……e bolle siano!

let’s start

23 giugno, 2007

Inizia l’avventura…… e speriamo di non perderci per strada!