atan2f | Programming Place Plus C言語編 標準ライブラリのリファレンス

トップページC言語編標準ライブラリのリファレンス(名前順)

トップページC言語編標準ライブラリのリファレンス(ヘッダ別)


atan2f関数

概要

y/x の逆正接の主値を求める。

ヘッダ

math.h

形式

float atan2f(float y, float x);

引数

y

正接の分子。

x

正接の分母。

戻り値

引数y / 引数x の逆正接の主値。

詳細

結果は、-π~π の範囲のラジアン値になる。 引数x、y の符号に応じて象限が決定される。

注意

引数x、y がいずれも 0 の場合、定義域エラーになる。

使用例

#include <stdio.h>
#include <math.h>

int main(void)
{
    float x, y;

    x = -1.0f;
    for (int i = 0; i < 5; ++i) {

        y = -1.0f;
        for (int j = 0; j < 5; ++j) {
            printf("atan2(%4.1f, %4.1f) == %f\n", y, x, atan2f(y, x));
            y += 0.5f;
        }

        x += 0.5f;
    }
}

実行結果:

atan2(-1.0, -1.0) == -2.356194
atan2(-0.5, -1.0) == -2.677945
atan2( 0.0, -1.0) == 3.141593
atan2( 0.5, -1.0) == 2.677945
atan2( 1.0, -1.0) == 2.356194
atan2(-1.0, -0.5) == -2.034444
atan2(-0.5, -0.5) == -2.356194
atan2( 0.0, -0.5) == 3.141593
atan2( 0.5, -0.5) == 2.356194
atan2( 1.0, -0.5) == 2.034444
atan2(-1.0,  0.0) == -1.570796
atan2(-0.5,  0.0) == -1.570796
atan2( 0.0,  0.0) == 0.000000
atan2( 0.5,  0.0) == 1.570796
atan2( 1.0,  0.0) == 1.570796
atan2(-1.0,  0.5) == -1.107149
atan2(-0.5,  0.5) == -0.785398
atan2( 0.0,  0.5) == 0.000000
atan2( 0.5,  0.5) == 0.785398
atan2( 1.0,  0.5) == 1.107149
atan2(-1.0,  1.0) == -0.785398
atan2(-0.5,  1.0) == -0.463648
atan2( 0.0,  1.0) == 0.000000
atan2( 0.5,  1.0) == 0.463648
atan2( 1.0,  1.0) == 0.785398

関連

double型版の atan2関数、long double型版の atan2l関数がある。
単一の値から逆正接を求める atanf関数がある。

解説章


参考リンク


更新履歴

’2018/1/22 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る