Piano cartesiano: ho due punti e due distanze

Capa1
Salve a tutti,

è il primo post e chiedo scusa fin da ora se dovessi aver riproposto un vecchio questito, ma non trovandolo porgo alla vostra attenzione questo esercizietto:

Ho i Punti "A" e "B", da questi punti conosco la distanza che li separa dal punto "C"
(so già da adesso che con soli due punti e i rispettivi "raggi" posso trovare 2 punti, il punto "C" e il punto "D")

Ho il Punto "A" nella posizione 317,297
e una distanza di 646

Ho il Punto "B" nella posizione 243,360
e una distanza di 746 dal

I Punti "C" e "D" che si formano incrociando le due circonferenze, in che posizione si trovano?

Immagino che sia una "cavolata" per molti, ma se non chiedo troppo, è possibile avere anche i passaggi che portano ai due risultati?

Grazie infinite per le eventuali risposte :)

Risposte
*pizzaf40
Se guendo l'iter logico, potresti scrivere per entrambi i punti l'espressione dei due cerchi:

$(x-317)^2+(y-297)^2=646^2$
$(x-243)^2+(y-360)^2=746^2$

e porre a sistema le due equazioni per trovarne l'intersezione (facendo qualche manovra "furba" si può ottenere il risultato con poca fatica...non più della risoluzione di un'equazione di secondo grado) e trovare così le 2 soluzioni cercate.

Capa1
Allora, ho paura di aver fatto confusione... :(

sono andato a vedere anche da altre fonti e ho provato sviluppare questo:

1) valore di una cordinata del centro ("a" e "b" )
a = -2xo
b = -2yo

2) Valore del raggio ( "c" )
a^2 + b^2 - 4c = 4(r)^2

3) equazione di una circonferenza
x^2 + y^2 + ax + by + c = 0

+++Prima Circonferenza+++

Punto A 317(x),297(y)
R 646


1)
a = -2xo
b = -2yo

a = - 2(317)
b = - 2(297)

a = - 634
b = - 594


2)
a^2 + b^2 - 4c = 4r^2

(-634)^2 + (-594)^2 - 4c = 4(646)^2

401956 + 352836 - 4c = 4(646)^2

401956 + 352836 - 4c = 4(417316)

401956 + 352836 - 4c = 1669264

4c = - 1669264 + 401956 + 352836

4c = - 9145472

C = - 228618


3)
x^2 + y^2 + ax + by + c = 0

x^2 + y^2 - 634x - 594y - 228618 = 0

===================================================

1) valore di una cordinata del centro ("a" e "b" )
a = -2xo
b = -2yo

2) Valore del raggio ( "c" )
a^2 + b^2 - 4c = 4(r)^2

3) equazione di una circonferenza
x^2 + y^2 + ax + by + c = 0

+++Seconda Circonferenza+++

Punto A 243(x),360(y)
R 746


1)
a = -2xo
b = -2yo

a = - 2(243)
b = - 2(360)

a = - 486
b = - 720


2)
a^2 + b^2 - 4c = 4r^2

(-486)^2 + (-720)^2 - 4c = 4(746)^2

236196 + 518400 - 4c = 4(746)^2

236196 + 518400 - 4c = 4(556516)

236196 + 518400 - 4c = 2226064

4c = - 2226064 + 236196 + 518400

4c = 1471272

C = - 367867


3)
x^2 + y^2 + ax + by + c = 0

x^2 + y^2 - 486x - 720y - 367867 = 0

===================================================

Ora, conoscendo le due circonferenze, dovrei metterle in sistema, io ho fatto così:

Circonferenza 1: x^2 + y^2 - 634x - 594y - 228618 = 0
Circonferenza 2: x^2 + y^2 - 486x - 720y - 367867 = 0

x^2 + y^2 - 634x - 594y - 228618 = 0
- x^2 - y^2 + 486x + 720y + 367867 = 0

-148x + 126y + 139249 = 0


non so se è giusto o corretto, ma da questo punto in poi, come faccio a conoscere le due cordinate che vengono a crearsi?
grazie ancora a tutti, scusate la niubbagine (faccio tutti i passaggi per cercare di sbagliare il meno possibile :) )

Edit (manca un pezzo :P):

y = (148 / 126)x - 139249/126

*pizzaf40
Sì, è corretto, ma solo ora ho letto che siamo in zona di analisi numerica :-D porca l'oca!

Ma puoi farti un piccolo programmino per trovarti la soluzione??
La soluzione che cerchi deve essere per forza analitica o può essere numerica??

Comunque mi è venuto in mente un modo analiticamente molto più semplice!!
Tu hai il segmento $AB$ e sai che $C$ e $D$ si trovano su una retta perpendicolare al segmento $AB$ e che lo interseca in un punto indefinito. Se conosciamo quel punto possiamo tirare la perpendicolare ad $AB$ e trovare un po' di cose...



$d=sqrt((x_2-x_1)^2+(y_2-y_1)^2)$
$d_1+d_2=sqrt(R_1^2-h^2)+sqrt(R_2^2-h^2)=d$

e questa la risolvi in $h$ con un metodo iterativo (Newton-Raphson o Regula-Falsi).

Trovato $h$ sfrutti i triangoli rettangoli:

$d_1=sqrt(R_1^2-h^2)$

e conoscendo $d_1$ e $h$ puoi trovarti il punto relativo di intersezione (anche $D$ che è simmetrico ad $AB$) e quindi anche quello nel sistema di riferimento assoluto...

Capa1
Ti ringrazio moltissimo per la disponibilità, tornando alla tua domanda ti rispondo che vorrei avere i passaggi con i dati per capire bene come riproporlo in altre occasioni, in realtà mi serve il risultato numerico.
(anche perchè posso controllarlo, perchè già lo conosco)

Non ricordo dove, presumo in america, esiste in alcune città un sistema che captando un suono (ad esempio uno sparo) da tre postazioni diverse, incrociando i dati delle distanze, si ottiene una posizione ben precisa.

Volevo fare una cosa simile, e ho pensato (forse erroneamente) che usando il sistema di incrocio di due circonferenze i conti erano più semplici (in realtà lo saranno sicuramente, ma per me, che sono un tantinello ignorantuccio non è dato saperlo :P )

Io so per certo, che uno dei due punti di incrocio è nel quadrante 208(x),64(y)
(Punto A 317(x),297(y) R 646 ; Punto B 243(x),360(y) R 746)

Volevo conoscere la formula per fare (successivamente) un programmino che mi calcoli automaticamente i punti di incrocio.

Visto che siamo in tema, pensi che usare il sistema da 3 punti sia più facile da sviluppare?
Se si, faccio un rilevamento e pubblico un terzo Punto ;-)

Grazie, buona giornata. :)


EDIT (ho fatto la 3° rilevazione):

Punto "A" che si trova nel settore 317(x),297(y) ha per distanza dal Punto "Target" 646
Punto "B" che si trova nel settore 243(x),360(y) ha per distanza dal Punto "Target" 746
Punto "C" che si trova nel settore 122(x),128(y) ha per distanza dal Punto "Target" 328

In che posizione si trova il punto "Target", quali sono i passaggi per trovarlo?

*pizzaf40
Sì, ne ho sentito parlare di questo metodo, applicato alle ali di aerei!

I due punti, come puoi notare, hanno il vizio di non identificare univocamente un punto, ma 2!
Ora però devo scappare e non ho tempo di scriverti lo sviluppo...se hai un po' di pazienza, dovrei riuscire a farlo stasera...

*pizzaf40
Anzichè risolvere con metodo iterativo è meglio fare così:

$d_1+d_2=d=sqrt((x_2-x_1)^2+(y_2-y_1)^2)=sqrt((317-243)^2+(360-297)^2)=97.1854$

$h^2=R_1^2-d_1^2=R_2^2-d_2^2$
$d_2^2-d_1^2=R_2^2-R_1^2=746^2-646^2=139200$

e queste 2 a sistema:

${(d_1+d_2=97.1854),(d_2^2-d_1^2=139200):}$
${(d_1+d_2=97.1854),((d_2+d_1)(d_2-d_1)=139200):}$
${(d_1+d_2=97.1854),(d_2-d_1=139000/97.1854=1432.314):}$

ma questo da un risultato inaccettabile se provi a farlo! Questo perchè la distanza tra i punti è di $97.1854$ ma i raggi che hai imposto hanno una differenza di $100$ tra loro...questo significa che il cerchio di raggio $R_1=646$ e centro $(317,297)$ è completamente interno al cerchio di raggio $R_2=746$ e centro $(243,360)$. Quindi di certo non ci sono punti di intersezione perchè $Delta R gt d$.

Infatti dici che un punto di intersezione è $(208,64)$, ma questo punto dista $257$ da $A$ (dovrebbe essere $646$) e dista $298$ da $B$ (dovrebbe essere $746$)...quindi ci devono essere errori nell'acquisizione dei dati, perchè sai che il risultato deve essere in un certo punto, ma le distanze che rilevi dai sensori non sono corrette. Almeno credo che sia così :wink:

Il problema del terzo punto aggiuntivo non lo affronto perchè non è certo che sia necessario.

Capa1
Ottimo! :)

Ora vedo di capire bene i passaggi e di vedere se riesco a riproporlo.
(il risultato che hai postato te, dei raggi è esatto, come è quello che ho dato io!)

la distanza tra un punto x e x+1 equivale a 1.767
la distanza tra un punto y e y+1 equivale a 1,767

Difatti è un aera quadrata che ha per diagonale 2.5

Se dividiamo il raggio che conosco io per 2.5 trovo il dato che riporti tu.

Il problema è che il raggio che posso trovare io, con gli strumenti che ho, mi da solo numeri per intero. Infatti, la posizioni esatte prese con un altro strumento mi danno più precisamente questi dati:

Raggio A 645.52 (/2.5 = 258.208)
Raggio B 745.82 (/2.5 = 298.328)

Stiamo parlando di scarti irrisori (per l'utilizzo che devo fare io ;-) )

Io ho tutti questi dati, perchè (spiego se no uno pensa che sto a prende in giro o sono pazzo :D ) utilizzo dei strumenti in un Browser Game.
E' in ambientazione spazio-futuristica, è in GDR, ect ect
(non vado avanti altrimenti sembra che faccio pubblicità)

In pratica, in questo universo, c'è una griglia formata da degli Aeron, questi aeron sono in formato esadecimale ed ha per diagonale 2,5 parsec.

Quando voglio intercettare un pirata o nemico che sta attaccando dei pianeti di qualcun altro, se ho la zona conosciuta, posso simulare un attacco missilistico da alcuni miei pianeti, verso il pianeta che sta attaccando il pirato o nemico.

Il dato che posso avere è in parsec ed è intero (quelli che ho riportato io)
Il dato più preciso che ho anche io riportato sopra, deriva da un altro meccanismo, un meccanismo che è montato soltanto su alcune astronavi. Inserendo una cordinata stellare, questa mi sa dire la distanza (oltre alla direzione).

Io, conoscendo i punti A e B (miei pianeti da cui simulavo un attacco missilistico), e conoscendo anche il Punto C (pianeta da attaccare) posso avre tutte le info. Le posso avere anche con la nave (di cui sopra) perchè conosco il sistema stellare in questione e posso avere i parsec di distanza più precisi.

Ma se parto dai soli punti A e B, avrò sempre dello scarto a quanto ho capito...
cioè, mi segnala un aeron vicino, piuttosto che quello preciso.

Bene, sempre meglio di niente! :)

Ora salvo il post, vedo di capirlo e di poterlo riproporre in un programmino....

Grazie infinite. :)


PS se non ho capito alcuni passaggi, posso ricontattarti?
PS2 se qualcuno piace il gdr e i Browser Game, mi trovate su wardrome - solerosso - il nick è Capa :)

*pizzaf40
Non sono appassionato della cosa, mi spiace, ma se hai bisogno basta che scrivi quà!

Ma quindi tu mi avevi dato delle posizioni espresse in "unità di misura" differenti dai raggi??
Nel senso che il problema lo posso risolvere con $(R_1)/2.5$ e $R_2/2.5$?? Perchè altrimenti non identifico alcun punto di intersezione...
Per la precisione del dato, basta che vedi se l'incertezza è tale da permettere l'identificazione di un solo obiettivo (cioè l'errore identifica un intervallo tale da poter dare un risultato univoco come obiettivo) oppure no...

Capa1
devo dirti la verità, ma mi sono un pochetto "perso" :(

facendo come si dovrebbe in questi casi, e capendo che il raggio devo dividerlo per 2,5, riposto i dati e vorrei avere i passaggi (se possibile tutti), in modo da non incepparmi nella comprensione. :)

Punto "A" che si trova nel settore 317(x),297(y) ha per distanza dal Punto "Target" 258
Punto "B" che si trova nel settore 243(x),360(y) ha per distanza dal Punto "Target" 298

Da queste info, come mi devo muovere per scoprire i punti di intersezione?

*pizzaf40
Ti scrivero stasera sul tardino che ora devo andare...al peggio domani prima di pranzo. Buona serata!

*pizzaf40
Allora, coi dati corretti ($A=(243,360)$, $R_A=298$, $B=(317,297)$, $R_B=258$):

$d=d_A+d_B=d=sqrt((x_B-x_A)^2+(y_B-y_A)^2)=sqrt((317-243)^2+(297-360)^2)=97.1854$

Questo significa che i punti sono distanti $97.1854$ tra loro...quindi facciamo finta che sia la base di un triangolo messa orizzontale sull'asse $x$...questa base è lunga come appena detto! Insomma i punti diventano $A=(0,0)$ e $B=(97.1854,0)$.
Ora troviamo appunto i valori del triangolo in figura immaginando che sia stato ruotato e spostato come detto:

$h^2=R_A^2-d_A^2=R_B^2-d_B^2$
$d_B^2-d_A^2=R_B^2-R_A^2=258^2-298^2=-22240$

e queste 2 a sistema:

${(d_A+d_B=97.1854),(d_B^2-d_A^2=-22240):}$
${(d_A+d_B=97.1854),((d_B+d_A)(d_B-d_A)=-22240):}$
${(d_A+d_B=97.1854),(d_B-d_A=-22240/97.1854=-228.841):}$
${(d_A=-(97.1854+228.841)/2=163.013),(d_B=-65.823):}$

$h=sqrt(R_A^2-d_A^2)=sqrt(298^2-163.013^2)=249.461$
$h=sqrt(R_B^2-d_B^2)=sqrt(258^2-(-65.823)^2)=249.462$

ed il risultato è così verificato con un po' di imprecisione per l'arrotondamento!
Graficamente si è ottenuto questo (considerando $A=(0,0)$, B=$(97.1854,0)$, $C=(163.013,249.461)$, quindi in coordinate relative):

Ora sposto il punto ottenuto nelle cordinate assolute ($A=(243,360)$, $B=(317,297)$). Per far questo, prima ruoto il sistema, e poi lo sposto nella posizione giusta...quindi per ruotare ho bisogno di conoscerne l'angolo:

$tan beta=(y_B-y_A)/(x_B-x_A)$
$beta=artan(y_B-y_A)/(x_B-x_A)=artan(297-360)/(317-243)=artan(-63/74)=-40.409°$

ma fai attenzione che per ruotare nella direzione giusta, bisogna ruotare il sistema di riferimento di $+40.409°$, quindi positivo, non negativo, o comunque di segno opposto!
Quindi, roto-traslando tutto allo stesso momento:

$x_C=(163.013)cos( -beta) +(249.461) sin (-beta)+243=124.124+161.710+243=528.834$
$y_C=(163.013)(-sin(- beta))+(249.461)cos (-beta)+360=-105.671+189.949+360=444.278$

Quindi il punto $C$ in coordinate finali (quelle che ti servono) è $(528.834,444.278)$. Graficamente:

che se consideri che la scala è cambiata (perchè excel ha voluto così) potrai notare che è corretto.

Come verifica, vediamo le distanze:

$sqrt((528.834-243)^2+(444.278-360)^2)=sqrt(81701.07+7102.781)=298=R_A$
$sqrt((528.834-317)^2+(444.278-297)^2)=sqrt(44873.64+21690.81)=258=R_B$

Con il troncamento un po' esotico che ho fatto si ha un errore finale numerico dell0 $0.1%$, quindi molto minore dell'arrotondamento dovuto ai tuoi motivi spiegati precedentemente. Ora sta tutto nel capire se ti puoi permettere di identificare un intorno di quel punto trovato, tale da identificare un solo obiettivo.

Il secondo punto identificato dal problema è quello simmetrico all'asse $x$ nel sistema di riferimento negativo, quindi $D=(163.013,-249.461)$

e mettendo tutto in coordinate assolute:

$x_D=(163.013)cos( -beta) +(-249.461) sin (-beta)+243=124.124-161.710+243=205.414$
$y_D=(163.013)(-sin(- beta))+(-249.461)cos (-beta)+360=-105.671-189.949+360=64.38$

e $D=(205.414,64.38)$

in cui bisogna sempre cercare di rendersi indipendenti dal cambio scala del grafico.
Non faccio la verifica delle distanze ma ci scommetto! :-D

*pizzaf40
Ovvio che la stesura del codice per far questo ha qualche di fferenza per comodità numerica, ma cpomunque la procedura teorica dei calcoli è quella!
In aggiunta devi trovare il modo di scegliere quale dei 2 punti scegliere tra $C$ e $D$...credo basti trovare il modo di farlo con un comando logico...

Capa1
Grazie tante! :)

Ora salvo tutto, e lo rivedo dettagliatamente per capire bene tutto... ;-)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.