atan2

[機能]

  引き数 x と y による y / x の逆正接を計算します.得られる結果は -π から π の範囲です.

[形式]
#include <math.h>

double atan2(double y, double x)
	x, y : y / x の逆正接を計算する値		
[使用例]

  1. 三角関数及び逆三角関数の値を計算します
    #include <math.h>
    #include <stdio.h>
    
    int main()
    {
    	double deg = 30.0;                   /* 30度 */
    	double ax, ay, az, aw, deg_r, pi, unit, unit_r, x,y,z;
    
    	pi     = 2.0 * asin(1.0);            /* πの値 */
    	unit   = pi / 180.0;                 /* 度 → ラジアン */
    	unit_r = 180.0 / pi;                 /* ラジアン → 度 */
    
    	deg_r  = deg * unit;
    /*
    		 三角関数の計算
    */
    	x = sin(deg_r);
    	y = cos(deg_r);
    	z = tan(deg_r);
    	printf("30度の正弦は %f\n", x);
    	printf("30度の余弦は %f\n", y);
    	printf("30度の正接は %f\n", z);
    /*
    		 逆三角関数の計算
    */
    	ax = asin(x) * unit_r;
    	ay = acos(y) * unit_r;
    	az = atan(z) * unit_r;
    	printf("正弦が %f になる角度は %f 度\n", x, ax);
    	printf("余弦が %f になる角度は %f 度\n", y, ay);
    	printf("正接が %f になる角度は %f 度\n", z, az);
    
    	aw = atan2(1.0, -1.0) * unit_r;
    	printf("x成分が-1,y成分が1になる角度は %f 度\n", aw);
    
    	return 0;
    }
    			
    (出力)
    30度の正弦は 0.500000
    30度の余弦は 0.866025
    30度の正接は 0.577350
    正弦が 0.500000 になる角度は 30.000000 度
    余弦が 0.866025 になる角度は 30.000000 度
    正接が 0.577350 になる角度は 30.000000 度
    x成分が-1,y成分が1になる角度は 135.000000 度			
[参照]

asin, atan, acos, sin, cos, tan

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引