Diskuze: jak vypočítat oblast v kruhu

C# .NET .NET (C# a Visual Basic) jak vypočítat oblast v kruhu American English version English version

Avatar
Michal Žůrek (misaz):

Ahoj,
jak jste si v mém profilu mohli všimnout, tak mi je 14, to znamená že trčím na základce s naprosto nevstřícnýma učiteli, kteří vysvětlí jen to co musí (chtějí) a mým dotazům se raději velkým obloukem vyhýbají. Tak prosím jestli je tu někdo natolik šikovný že by mi vysvětlil jak lze vypočítat jestli se bod nachází v kruhu (viz. obrázek). Kód (nebo vysvětlení) prosím nejlépe v C#, ale když v jiném tak nevadí.

Editováno 2.4.2013 20:23
Odpovědět 2.4.2013 20:21
Nesnáším {}, proto se jim vyhýbám.
Avatar
Martin Horáček:

Já bych na to šel takhle. Střed kruhu si označíš jako bod S, poloměr kruhu bude klasicky r, vzdálenost bodu X1 od S bude s1, vzdálenost bodu X2 od S bude s2. Pokud bude s1 <= r , tak bod X1 leží v kruhu, pokud bude s2 > r , tak bod X2 leží mimo kruh.

 
Nahoru Odpovědět 2.4.2013 20:26
Avatar
Odpovídá na Michal Žůrek (misaz)
Lukáš Hruda (Luckin):

Pomocí vektoru. Máš souřadnice středu S = [Sx,Sy] a souřadnice hledaného bodu A = [Ax,Ay]. Uděláš vektor od středu k bodu A (nebo obráceně, to je jedno), to uděláš takhle: vektor SA = (x,y), kde x = Ax - Sx; y = Ay - Sy. Pak spočteš délku vektoru SA, |SA| = sqrt(x2 + y2). Pak musí platit |SA| <= r, neboli velikost vektoru SA je menší nebo rovna poloměru kruhu, pokud ne, pak v něm bod neleží.

 
Nahoru Odpovědět 2.4.2013 20:34
Avatar
Nahoru Odpovědět 2.4.2013 20:47
Nesnáším {}, proto se jim vyhýbám.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.