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

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: