|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
[JAVA] Trovare punti intersezione di 2 circonferenze
Come faccio a trovare i punti di intersezione tra due circonferenze con java, avendone la psizione x e y sul piano ed il raggio???
Grazie mille
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
non è un problema di Java, è un banalissimo problema di geometria analitica.
siano (x1, y1) e (x2, y2) i centri delle due circonferenze, e r1 ed r2 i rispettivi raggi; valgono le seguenti equazioni: y = y1 ± sqrt(r1² - (x - x1)²), x1 - r1 ≤ x ≤ x1 + r1 y = y2 ± sqrt(r2² - (x - x2)²), x2 - r2 ≤ x ≤ x2 + r2 dove x e y sono le coordinate di un generico punto su una delle due circonferenze, ed "sqrt" è la funzione che esprime la radice quadrata. per trovare i punti comuni alle due circonferenze (se esistono) basta eguagliare le due equazioni e risolvere l'equazione risultante: y1 ± sqrt(r1² - (x - x1)²) = y2 ± sqrt(r2² - (x - x2)²) y1 - y2 = ±sqrt(...) ± sqrt(...) (y1 - y2)² = (±sqrt(...) ± sqrt(...))² y1² + y2² - 2∙y1∙y2 = r1² - (x - x1)² + r2² - (x - x2)² ± sqrt((r1² - (x - x1)²) ∙ (r2² - (x - x2)²)) y1² + y2² - 2∙y1∙y2 - r1² + (x - x1)² - r2² + (x - x2)² = ±sqrt((r1² - (x - x1)²) ∙ (r2² - (x - x2)²)) (...)² = (r1² - (x - x1)²) ∙ (r2² - (x - x2)²) da qui in poi i calcoli iniziano ad essere pesantucci ![]() ![]() una volta che hai trovato la x (potresti trovare 0, 1 o 2 valori, a seconda che le due circonferenze siano rispettivamente esterne, tangenti o secanti) basta che la usi in una qualsiasi delle due equazioni originali per ricavare la y. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Grazie, ma il problema è implementare tale algoritmo con java....
![]()
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
bah alla fine ti dovrebbe venire fuori un mega formulone che poi potrai mettere tutto in un'istruzione.. non penso sia l'algoritmo la difficoltà..
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Ciao, scusate per il ritardo ma ero in vacanza.
Cmq non riesco a capire come fare in java tutto ciò, la parte di geometria analitica la conoscevo (l'ho fatta l'anno scorso in 3° superiore e anche quest'anno in 4° per recuperare il debito di 3° riguardo la suddetta unità) comunque quello che mi manca è il passaggio in java. Qualcuno può aiutarmi??? grazie
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:45.