19. diel - Inverznej goniometrické funkcie v PHP
V predchádzajúcej lekcii, Úvod do matematických funkcií v PHP , sme sa uviedli do problematiky matematických funkcií v PHP.
V tejto lekcii si ukážeme inverznej goniometrické funkcie v PHP také, ako ich poznáme zo školy.
asin()
Funkcia asin()
predstavuje v PHP matematickú funkciu
arkus sínus, jedná sa teda o prevrátenú funkciu k sínusu
(tiež označovaná ako sin -1). Funkcia asin()
prijíma iba jeden parameter, ktorým je hodnota funkcie sínus. Ukážme si
pár príkladov:
$degrees = 90; $sinus = sin(deg2rad($degrees)); // 90° = 1.5707963267949 rad, tedy sin(1.5707...) = 1 $asinus = rad2deg(asin($sinus)); // 1.5707963267949 rad = 90°, tedy asin(1) = 1.5707...rad = 90° echo "sin(".$degrees."°) = ".$sinus; echo "<br>"; echo "asin(".$sinus.") = ".$asinus."°";
V premennej $sinus
sme si definovali funkciu sínus, ktorú
poznáme už z minulých lekcií. V premennej $asinus
je
definovaná funkcia asin()
, ktorá prijíma hodnotu funkcie sínus
90 ° (sin(90°) = 1
), teda asin(1)
. Výstup tejto
funkcie je v jednotkách radiánov, avšak pomocou funkcie
rad2deg()
, ktorá je nám tiež už známa, dostaneme na výstup
hodnotu vyjadrenú v stupňoch, teda asin(1) = 90°
. Na stránke
uvidíme:
acos()
Funkcia acos()
predstavuje v matematike funkciu arkus
cosinus a jedná sa teda o prevrátenú funkciu ku Cosina. Funkcia
acos()
je tiež v matematike označovaná ako cos
-1, ako matematická funkcia v PHP prijíma iba jeden parameter,
ktorým je hodnota funkcie cosinus. Ukážme si pár príkladov:
$degrees = 0; $cosinus = cos(deg2rad($degrees)); //0° = 0 rad, tedy cos(0) = 1 $acosinus = rad2deg(acos($cosinus)); //0 rad = 0°, tedy acos(1) = 0rad = 0° echo "cos(".$degrees."°) = ".$cosinus; echo "<br>"; echo "acos(".$cosinus.") = ".$acosinus."°";
Podobne ako pri funkcii asin()
v premennej $cosinus
je definovaná funkcia cosinus a premenná $acosinus
predstavuje
funkciu acosinus, ktorá prijíma hodnotu funkcie cosinus, v tomto prípade teda
1 (cos(0°) = 1
), čiže acos(1)
. Výstup tejto
funkcie je v jednotkách radiánov, avšak zase pomocou funkcie
rad2deg()
dostaneme na výstup hodnotu vyjadrenú v stupňoch, teda
acos(1) = 0°
. Na stránke uvidíme:
Pokiaľ zadáme neplatnú hodnotu pre arkus sínus alebo arkus cosinus, teda hodnoty menšie ako -1 a väčšia ako 1, dostaneme výsledok NaN (angl. N ot a N umber).
atan()
Predstavuje matematickú funkciu arkus tangens, ktorá je označovaná tiež ako tan -1. Je teda prevrátenou funkcií k tangens. V PHP podobne ako obe predchádzajúce funkcia prijíma iba jeden parameter, ktorým je hodnota funkcie tangens. Ukážme si príklad:
$degrees = 45; $tangens = tan(deg2rad($degrees)); //45° = 0.78539816339745 rad, tedy tan(0.7853...) = 1 $atangens = rad2deg(atan($tangens)); //0.78539816339745 rad = 45°, tedy atan(1) = 0.785398... = 45° echo "tan(".$degrees."°) = ".$tangens; echo "<br>"; echo "atan(".$tangens.") = ".$atangens."°";
Na výstup dostaneme:
atan2()
Funkcia atan2()
vracia hodnotu funkcie arkus
tangens. Na rozdiel od funkcie atan()
počíta s dvoma
hodnotami ako by sme počítali funkciu arkus tangensu y / x s
rozdielom, že funkcia podľa znamienok vyberie kvadrant. Ukážme si
príklad:
$degrees1 = 0; $degrees2 = 20; $tangens1 = tan(deg2rad($degrees1)); // 0° = 0 rad, tedy tan(0) = 0 $tangens2 = tan(deg2rad($degrees2)); // 20° = 0.34906585039887 rad, tedy tan(0.3490...) = 0.3639702342662 $atan2 = rad2deg(atan2($tangens1, $tangens2)); echo "atan2(".$tangens1.", ".$tangens2.") = ".$atan2."°";
Na výstup dostaneme:
Ak by sme exportovali hodnoty z funkcie atan2()
napríklad do Microsoft Excel, musíme dať pozor na poradie parametrov. Funkcia
atan2()
prijíma parametre vo formáte y / x,
zatiaľ čo Microsoft Excel vo formáte x / y.
V ďalšej lekcii, Hyperbolické goniometrické funkcie v PHP , si vysvetlíme hyperbolické goniometrické funkcie v PHP.