Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】deg2rad()関数の使い方

deg2rad関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

deg2rad関数は、度単位で表された角度をラジアン単位に変換する処理を実行する関数です。PHPにおけるsin()やcos()といった多くの三角関数は、引数としてラジアン単位の角度を想定して設計されています。そのため、私たちが日常的に使用する度数法(例: 90度、180度)で角度を扱っている場合、これらの三角関数を正しく利用するためには、事前にこのdeg2rad関数を使って値をラジアンに変換する必要があります。この関数は引数として、変換したい度数の値をfloat型で受け取ります。そして、計算結果として変換後のラジアンの値をfloat型で返します。例えば、deg2rad(180) を実行すると、円周率π(パイ)に相当する値(約3.14159)が返されます。これにより、三角関数への入力値を簡単に準備することができます。なお、ラジアンから度へ逆の変換を行いたい場合は、対になるrad2deg()関数を使用します。

構文(syntax)

1<?php
2deg2rad(float $num): float;
3?>

引数(parameters)

float $num

  • float $num: 度数法で表された角度をラジアンに変換するための浮動小数点数

戻り値(return)

float

指定された角度(度数)をラジアンに変換した浮動小数点数を返します。

サンプルコード

PHPで度数とラジアンを相互変換する

1<?php
2
3/**
4 * 度数をラジアンに、そしてラジアンを度数に変換するPHPのサンプルコード。
5 * deg2rad() と rad2deg() 関数の使用方法を示します。
6 *
7 * @param float $degrees 変換したい度数の値
8 * @return void
9 */
10function convertDegreesAndRadians(float $degrees = 90.0): void
11{
12    echo "変換元の度数: {$degrees}度\n";
13
14    // deg2rad() 関数を使用して、度数をラジアンに変換します。
15    // PHP 8 では引数と戻り値の型ヒントが強化されています。
16    $radians = deg2rad($degrees);
17    echo "ラジアンに変換: {$radians}ラジアン\n";
18
19    // rad2deg() 関数を使用して、ラジアンを度数に再変換します。
20    // これにより、変換が正しく行われたかを確認できます。
21    $reconvertedDegrees = rad2deg($radians);
22    echo "度数に再変換: {$reconvertedDegrees}度\n";
23
24    // 浮動小数点数の比較には注意が必要なため、許容誤差を設けて比較します。
25    if (abs($degrees - $reconvertedDegrees) < 0.000001) {
26        echo "元の度数と再変換後の度数はほぼ一致します。\n";
27    } else {
28        echo "元の度数と再変換後の度数にわずかな差があります。\n";
29    }
30}
31
32// サンプル関数を実行します。
33convertDegreesAndRadians(45.0);
34echo "\n"; // 出力の区切り
35convertDegreesAndRadians(180.0);
36

PHPのdeg2rad関数は、角度の単位である度数(degrees)をラジアン(radians)に変換するために用いられます。数学や物理学の計算で角度を扱う関数の中には、引数としてラジアン値を要求するものがあるため、このような変換が必要になります。

この関数は、引数として変換したい度数を浮動小数点数(float)で受け取ります。そして、計算されたラジアン値も浮動小数点数として返されます。例えば、90度を引数として渡すと、およそ1.570796ラジアンという値が得られます。PHP 8では、引数と戻り値に型ヒントが明示されており、コードの可読性と堅牢性が向上しています。

サンプルコードでは、deg2rad関数で度数をラジアンに変換した後、関連するrad2deg関数を使ってラジアンを元の度数に再変換しています。これは、変換が正確に行われたかを確認する一般的な手法です。rad2deg関数も同様にラジアン値を引数に受け取り、度数として返します。浮動小数点数の計算では、ごくわずかな誤差が生じることがあるため、サンプルコードのように厳密な一致ではなく、許容範囲内での比較を行うことが推奨されます。これらの関数を組み合わせることで、度数とラジアンの相互変換を簡単かつ正確に行うことができます。

deg2rad関数とrad2deg関数は、度数とラジアンの相互変換に利用します。どちらの関数も引数と戻り値の型はfloatであり、PHP 8では型ヒントが活用されているため、予期せぬ型のエラーを防ぎやすくなります。浮動小数点数の計算では、ごくわずかな誤差が生じることがあります。そのため、変換結果の確認や比較を行う際は、サンプルコードのように直接の等価比較を避け、許容誤差(イプシロン)を設けて比較することが重要です。これにより、意図しない比較結果になることを防ぎ、より堅牢なコードになります。

PHPで度をラジアンに変換する

1<?php
2
3/**
4 * deg2rad関数の使用例。
5 *
6 * 度数 (degrees) をラジアン (radians) に変換するPHPの組み込み関数です。
7 * システムエンジニアを目指す初心者にも理解しやすいよう、簡潔なコードとコメントで構成されています。
8 *
9 * @see https://www.php.net/manual/ja/function.deg2rad.php
10 */
11function convertDegreesToRadians(): void
12{
13    // 変換したい度数をfloat型で定義します。
14    // 例えば、180度は半円に相当します。
15    $degrees1 = 180.0;
16
17    // deg2rad関数を使用して度数をラジアンに変換します。
18    // 180度は数学定数PI(約3.14159)ラジアンに相当します。
19    $radians1 = deg2rad($degrees1);
20
21    // 変換結果を出力します。
22    echo "{$degrees1}度は{$radians1}ラジアンです。\n";
23
24    // 別の度数での変換例: 90度は直角に相当します。
25    $degrees2 = 90.0;
26    $radians2 = deg2rad($degrees2);
27    echo "{$degrees2}度は{$radians2}ラジアンです。\n";
28
29    // 負の度数も正しく処理されます。
30    $degrees3 = -45.0;
31    $radians3 = deg2rad($degrees3);
32    echo "{$degrees3}度は{$radians3}ラジアンです。\n";
33}
34
35// 関数を実行して、deg2radの動作を確認します。
36convertDegreesToRadians();

PHP 8に搭載されているdeg2rad関数は、角度の単位である「度数(degrees)」を「ラジアン(radians)」に変換するための標準的な機能です。システムエンジニアがグラフ描画や物理シミュレーションなど、数学的な計算をPHPで行う際に頻繁に利用されます。

この関数は、float $numという引数で変換したい度数を浮動小数点数として受け取ります。例えば、サンプルコードの180.090.0のように、任意の度数を渡すことができます。deg2rad関数は、引数で与えられた度数を数学的に正しいラジアン値に変換し、その結果をfloat型の戻り値として返します。多くの数学関数、特に三角関数は引数としてラジアン単位を要求するため、この変換は非常に重要です。

サンプルコードでは、具体的な使用例が示されています。まず、180.0度をdeg2rad関数に渡してラジアンに変換すると、約3.14159(円周率π)という値が得られます。これは、半円が180度であり、同時にπラジアンであるという数学的な関係を表しています。次に90.0度を変換すると、約1.5708(π/2)ラジアンとなり、直角に相当する値が得られます。さらに、-45.0度のような負の度数も正しくラジアン値に変換されることを確認できます。このように、deg2rad関数はPHPプログラム内で角度の単位変換を簡単かつ正確に行うために不可欠な関数です。

deg2rad関数を利用する際は、引数にはfloat型を渡すことを前提としています。整数値を与えてもPHPが自動的にfloat型へ変換してくれますが、180.0のように小数点以下を明示することで、意図がより明確になります。戻り値もfloat型ですので、計算結果は小数点を含む可能性があることを考慮して扱ってください。この関数は度数からラジアンへの変換を行う純粋な数学関数であり、主に幾何学や物理学など、三角関数と合わせて数値計算で利用されます。PHP 8では、数値以外の予期せぬデータ型が引数として渡された場合、TypeErrorが発生する可能性があるため、もし外部からの入力など値が不確実な場合は、事前に数値であることを確認する処理を追加するとより安全です。また、ラジアンを度数に変換したい場合は、対となるrad2deg関数を使用できます。

関連コンテンツ

関連プログラミング言語