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
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗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
Ahoj,
potřebuji co nejjednodušším způsobem zjistit, zda se zadaný bod náchází uvnitř elipsy zadané délkami os a a b a středem nebo trojúhelníku daného rohem a dvěma délkami stran. (už jsem tuhle matematiku zapomněl a bohužel nemám čas si ji zopakovat, tak se ptám přímo na řešení).
Potřebuji co nejjednodušší řešení - např. pokud by to šlo pomocí ohnisek apod. (už si skoro nic nepamatuju :( )
Celé je to kvůli algoritmu pro maskování rohů fotky, takže mi stačí zadat o jaký roh se jedná, rozměry A a B a mám všechny potřebné údaje. To samé platí i pro trojůhelník, který bude mít vrchol v jednom z rohů a strany A a B budou souběžné s hranami obrazu. (To jen pro vysvětlení že tyto údaje jsou dostačující pro přesné určení trojúhelníku v souřadném systému).
Offline
Zdravím,
pokud vám jde o hotový výpočet, tak třeba v wxMaximě je to:
Test(a,b,x,y):=block([u], u: atan2(y,x), is((((a*cos(u))^2+(b*sin(u))^2)-(x^2+y^2))>=0) );
V excelu to je trochu složitější (VBA neumí funkci atan2, tak se musí napsat):
Private Const Pi As Double = 3.14159265358979 Public Function Atn2(y As Double, x As Double) As Double If x > 0 Then Atn2 = Atn(y / x) ElseIf x < 0 Then Atn2 = Sgn(y) * (Pi - Atn(Abs(y / x))) ElseIf y = 0 Then Atn2 = 0 Else Atn2 = Sgn(y) * Pi / 2 End If End Function Function Test(a,b,x,y) Dim u, z u = Atn2(y,x) z = ((a*Cos(u))^2+(b*Sin(u))^2)-(x^2+y^2) if z>=0 Then Test = 1 Else Test = 0 End Function
Volání funkce je
Test(a,b,x,y)
přičemž a
jsou poloosy elipsy a
a
jsou souřadnice testovaného bodu. Vrací hodnotu
nebo
pokud test byl úspěšný, jinak
nebo
.
Offline
↑ HULKEE:
Ahoj.
Když jsou ohniska a
je délka hlavní poloosy dané elipsy, pak obecný bod
příslušné roviny leží
- na elipse, právě když ,
- "uvnitř" elipsy, právě když ,
- "vně" elipsy, právě když .
Symbol zde značí vzdálenost bodů
.
Offline