Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-08-2008, 14:44   #1
mone.java
Senior Member
 
L'Avatar di mone.java
 
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"
mone.java è offline   Rispondi citando il messaggio o parte di esso
Old 11-08-2008, 15:14   #2
71104
Bannato
 
L'Avatar di 71104
 
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 percui te la finisci da solo

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.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 11-08-2008, 19:17   #3
mone.java
Senior Member
 
L'Avatar di mone.java
 
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"
mone.java è offline   Rispondi citando il messaggio o parte di esso
Old 11-08-2008, 19:54   #4
ndakota
Senior Member
 
L'Avatar di ndakota
 
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à..
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2008, 11:11   #5
mone.java
Senior Member
 
L'Avatar di mone.java
 
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"
mone.java è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
iPhone 18 Pro: il componente che garanti...
DeepL alza il livello: con Voice-to-Voic...
Apple sta utilizzando sempre più ...
Il MacBook Neo vende tanto? Microsoft le...
AST SpaceMobile BlueBird 7: Blue Origin ...
È il momento migliore per comprar...
Svendita MacBook Pro: c'è il mode...
Oggi questa TV TCL QLED da 43 pollici co...
Il caricatore multiplo da 200W che va be...
Top 7 Amazon, il meglio del meglio di qu...
Spento lo strumento LECP della sonda spa...
Voyager Technologies ha siglato un accor...
GoPro annuncia la linea MISSION 1 con tr...
Alcune varianti dei futuri Samsung Galax...
Il ridimensionamento di OnePlus in Europ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v