Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
🔒 23. 3. 2019 Přešli jsme na HTTPS. Prosíme o kontrolu funkčnosti fóra.
!! 17.06.2018 (Jel.) Khanova škola zve nadšence ke spolupráci na překladech návodů pro učitele a rodiče.
! 04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
17.01.2016 (Jel.) Rok 2016 s novými a novějšími krystaly od kolegy Pavla!
17.01.2016 (Jel.) Nabídka knih z oborů matematiky, fyziky, chemie
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 07. 12. 2008 17:06

jerrycooper
Zelenáč
Příspěvky: 1
Reputace:   
 

Analytická geometrie- kružnice ze 3 bodů

Ahoj, mám fungující algoritmus na nalezení středu a poloměru kružnice ze 3 bodů. Mým problémem je, že mu moc nerozumím. Tady je algoritmus:


    double m1 = (x1+x2)/2.0;
    double n1 = (y1+y2)/2.0;

    double m2 = (x1+x3)/2.0;
    double n2 = (y1+y3)/2.0;

    //System.out.println("Pulky: "+m1+","+n1+"    "+m2+","+n2);
   
    double c1 = (x2-x1)*m1 + (y2-y1)*n1;
    double c2 = (x3-x1)*m2 + (y3-y1)*n2;

    double mx = (x2-x1)*(y3-y1)+(y2-y1)*(x1-x3);

    c_xs = (c1*(y3-y1)+c2*(y1-y2))/mx;
    c_ys = (c1*(x1-x3)+c2*(x2-x1))/mx;
   
    rs = java.lang.Math.sqrt((c_xs-x1)*(c_xs-x1)+(c_ys-y1)*(c_ys-y1));

Můj předpoklad je, že se vemou ty 3 body, udělají se 2 úsečky. Pak se vezmou osy těchto 2 úseček. Ve středu kružnice se protnou. Předpokládám, že výpočet c1 a c2 je vlastně vyjádření těch 2 os. Ale co je to mx a jaký je podklad pro dopočitání středu, to bych rád pochopil.
Něco podobného jsem našel tady, ale vysvětlené to taky není. Mohl by mě někdo vysvětlit princip těch 3 inkriminovaných řádků?

Offline

 

#2 15. 11. 2009 16:24

Pavel Brožek
Místo: Praha
Příspěvky: 5694
Škola: Informatika na MFF UK
Pozice: Student
Reputace:   194 
 

Re: Analytická geometrie- kružnice ze 3 bodů

$A[x_1,y_1]$
$B[x_2,y_2]$
$C[x_3,y_3]$

$S_{AB}[m_1,n_1]$ je střed úsečky $AB$.
$S_{AC}[m_2,n_2]$ je střed úsečky $AC$.

$S[c_{xs},c_{ys}]$ je střed kružnice.

Vektor $S-S_{AB}$ musí být kolmý na vektor $B-A$, stejně tak vektor $S-S_{AC}$ musí být kolmý na vektor $C-A$. Máme tak dvě rovnice

$(S-S_{AB})\cdot(B-A)=0\nl (S-S_{AC})\cdot(C-A)=0$

Po úpravě

$S\cdot(B-A)=S_{AB}\cdot(B-A)\nl S\cdot(C-A)=S_{AC}\cdot(C-A)$

Výrazy na pravé straně můžeme snadno spočítat a jak je vidět, jsou to čísla $c_1$ a $c_2$ z algoritmu. Rozepíšu skalární součiny:

$c_{xs}(x_2-x_1)+c_{ys}(y_2-y_1)=c_1\nl c_{xs}(x_3-x_1)+c_{ys}(y_3-y_1)=c_2$

Spočtu si determinant soustavy (je vidět, že to je číslo $m_x$ z algoritmu) a pomocí Cramerova pravidla dostávám přesně ty výrazy pro $c_{xs}$ a $c_{ys}$ z algoritmu. Určení poloměru už snad nemusím komentovat.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson