NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Lekce 19 - Inverzní goniometrické funkce v PHP

V předchozí lekci, Úvod do matematických funkcí v PHP, jsme se uvedli do problematiky matematických funkcí v PHP.

V této lekci si ukážeme inverzní goniometrické funkce v PHP takové, jak je známe ze školy.

asin()

Funkce asin() představuje v PHP matematickou funkci arkus sinus, jedná se tedy o převrácenou funkci k sinu (také označována jako sin−1). Funkce asin() přijímá pouze jeden parametr, kterým je hodnota funkce sinus. Ukažme si pár příkladů:

$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 proměnné $sinus jsme si definovali funkci sinus, kterou známe již z minulých lekcí. V proměnné $asinus je definována funkce asin(), která přijímá hodnotu funkce sinus 90° (sin(90°) = 1), tedy asin(1). Výstup této funkce je v jednotkách radiánů, avšak pomocí funkce rad2deg(), která je nám také již známa, dostaneme na výstup hodnotu vyjádřenou ve stupních, tedy asin(1) = 90°. Na stránce uvidíme:

Tvoje stránka
localhost

acos()

Funkce acos() představuje v matematice funkci arkus cosinus a jedná se tedy o převrácenou funkci ke cosinu. Funkce acos() je také v matematice označována jako cos−1, jako matematická funkce v PHP přijímá pouze jeden parametr, kterým je hodnota funkce cosinus. Ukažme si pár příkladů:

$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."°";

Podobně jako u funkce asin() v proměnné $cosinus je definovaná funkce cosinus a proměnná $acosinus představuje funkci acosinus, která přijímá hodnotu funkce cosinus, v tomto případě tedy 1 (cos(0°) = 1), čili acos(1). Výstup této funkce je v jednotkách radiánů, avšak zase pomocí funkce rad2deg() dostaneme na výstup hodnotu vyjádřenou ve stupních, tedy acos(1) = 0°. Na stránce uvidíme:

Tvoje stránka
localhost

Pokud zadáme neplatnou hodnotu pro arkus sinus nebo arkus cosinus, tedy hodnoty menší než -1 a větší než 1, dostaneme výsledek NaN (angl. Not a Number).

atan()

Představuje matematickou funkci arkus tangens, která je označována také jako tan−1. Je tedy převrácenou funkcí k tangens. V PHP podobně jako obě předchozí funkce přijímá pouze jeden parametr, kterým je hodnota funkce tangens. Ukažme si pří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:

Tvoje stránka
localhost

atan2()

Funkce atan2() vrací hodnotu funkce arkus tangens. Na rozdíl od funkce atan() počítá se dvěma hodnotami jako bychom počítali funkci arkus tangens y/x s rozdílem, že funkce podle znamének vybere kvadrant. Ukažme si pří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:

Tvoje stránka
localhost

Pokud bychom exportovali hodnoty z funkce atan2() například do Microsoft Excel, musíme dát pozor na pořadí parametrů. Funkce atan2() přijímá parametry ve formátu y/x, zatímco Microsoft Excel ve formátu x/y.

V další lekci, Hyperbolické goniometrické funkce v PHP, si vysvětlíme hyperbolické goniometrické funkce v PHP.


 

Předchozí článek
Úvod do matematických funkcí v PHP
Všechny články v sekci
PHP funkce
Přeskočit článek
(nedoporučujeme)
Hyperbolické goniometrické funkce v PHP
Článek pro vás napsal Pavel Vaněček
Avatar
Uživatelské hodnocení:
4 hlasů
Autor se věnuje psaní článků na Itnetwork.cz
Aktivity