processing.2
15 Settembre, 2007
Per risolvere l’intersezione delle tre bolle:
cambio di logica nel disegno della linea d’intersezione, in maniera da generalizzare il problema, partendo dalle due bolle e di conseguenza anche per tre.
Una volta intersecati i due cerchi, invece di disegnare il segmento che collega i due punti di intersezione (A e B), disegno due segmenti.
Questi segmenti li disegno definendo la retta che passa per A (e poi quella che passa per B) e divide a metà l’angolo di 120° che si forma tra i due archi (dunque la bisettrice).
Da questi due segmenti trovo un punto (E). Nel caso in cui ho l’intersezione di due bolle identiche, queste due rette dovrebbero coincidere e darmi un segmento unico. Nel caso di due bolle diverse dovrei ottenere una linea spezzata che andrebbe poi disegnata come un arco di cerchio. In questo modo il sistema sarebbe più verosimile perchè in effetti, a causa della pressione interna della bolla, la parete di sapone che divide le due bolle, è perpendicolare solo quando ho due bolle identiche. Negli altri casi la bolla più piccola mantiene una curvatura.
Ora, per fare tutto questo, intanto abbiamo trovato la retta che passa per il centro del cerchio (cA.x , cA.y) e per il punto A (paX , paY), cioè quella su cui sta il raggio del cerchio.
Ora, modificando il coefficente angolare di questa retta, posso trovare la sua perpendicolare che passa per A, cioè la tangente (facendo m = -1/m). Da questa, spero di riuscire a trovare la bisettrice dell’angolo di 120°. Ora, vado alla ricerca di come poter esprimere direttamente la bisettrice, modificando il coefficente angolare della retta s (cioè il raggio del cerchio). Infatti, rispetto a quella, la bisettrice è ruotata di 90°+60°=150°
Ecco il codice per ora
e un disegno per rendere tutto più chiaro