PDA

View Full Version : Dati 3 punti.... Geometria c++


okay
27-10-2005, 11:58
ciao

Avendo 3 punti so che si può costruire un solo cerchio.

Dati 3 punti p1 p2 p3 sapete in c come trovare il raggio di questo cerchio?

Ziosilvio
27-10-2005, 12:56
Se ricordo bene, per tre punti passa una sola circonferenza, che è la circonferenza circoscritta al triangolo delimitato dai tre punti.
Il centro di questa circonferenza si chiama circocentro, ed è il punto di intersezione delle rette ortogonali ai lati del triangolo e passanti per i loro punti medi.
Quindi, dovresti trovare le equazione di queste tre rette, e mettere a sistema.

^TiGeRShArK^
27-10-2005, 23:57
mettendo a sistema invece le 3 eq della circonferenza:
x1^2 + y1^2 + ax1 + by1 + c = 0
x2^2 + y2^2 + ax2 + by2 + c = 0
x3^2 + y3^2 + ax3 + by3 + c = 0
e sostituendo a (x1,y1), (x2, y2), (x3, y3) le coordinate dei 3 punti x trovarsi i 3 coefficienti si ottiene la stessa cosa???
boh... a quest'ora non è ke ragiono tantissimo...:fagiano:
non mi regolo se a, b, c sono uguali x tutte e 3 le circonferenze o se in realtà sono (a1, b1, c1), (a2, b2, c2), (a3, b3, c3)...
.,....
ma sto dando i numeri??? :sofico:

kk3z
28-10-2005, 08:19
mettendo a sistema invece le 3 eq della circonferenza:
x1^2 + y1^2 + ax1 + by1 + c = 0
x2^2 + y2^2 + ax2 + by2 + c = 0
x3^2 + y3^2 + ax3 + by3 + c = 0
e sostituendo a (x1,y1), (x2, y2), (x3, y3) le coordinate dei 3 punti x trovarsi i 3 coefficienti si ottiene la stessa cosa???
stai dicendo la stessa cosa che ha detto ziosilvio, per tre punti passa una sola circonferenza, il resto era per trovare il centro di questa circonferenza

non mi regolo se a, b, c sono uguali x tutte e 3 le circonferenze o se in realtà sono (a1, b1, c1), (a2, b2, c2), (a3, b3, c3)...

se sono tutte diverse bisogna fare solo un po' più di calcoli, se hai fortuna sono uguali e sottrai un'espressione all'altra :)

ma sto dando i numeri??? :sofico:
:hic: eh? :D

okay
28-10-2005, 17:31
Ho postato quì perchè devo fare un'algoritmo in c++ quindi ho necessità che qualcuno mi aiuti a fare i vari passaggi.

ricapitolando ho i 3 punti:

Dati tre punti:

A( 10; 13.5 ), B( 14.5; 12 ), C( 16.5; 6.5 )

Queste sono le soluzioni delle tre equazioni che formano il sistema:

10a + 13.5b + c = -282.25
14.5a + 12b + c = - 354.25
16.5a + 6.5b + c = -314.25

Mi sembra sbagliato, come faccio a risolverlo???????

okay
29-10-2005, 15:31
la formula per trovare il centro dati 3 punti 3d è:
trovare i lati del triangolo dati 3 punti:
a=D3DXVec3Length(&(a1 - b1));
b=D3DXVec3Length(&(b1 - c1));
a=D3DXVec3Length(&(c1 - a1));

r=abc/4A

se il triangolo è rettangolo la formula è:
ipotenusa=D3DXVec3Length(&(c1 - b1));
r=ipotenusa/2



ora vado alla verifica