acos*

[機能]

  逆余弦を計算します.得られる結果は 0 から π の範囲です.

[形式]
( C/C++ の場合)

	#include <math.h>

	double acos(double x)
		x : 逆余弦を計算する値( -1.0 から +1.0 の範囲)

( Java の場合: Math クラスの static メソッド)

	double acos(double x)
		x : 逆余弦を計算する値( -1.0 から +1.0 の範囲)
		
[使用例]

  1. 三角関数及び逆三角関数の値を計算します(C/C++)
    #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 度
    			
  2. 三角関数及び逆三角関数の値を計算します(Java)
    import java.io.*;
    
    public class Test {
    
    	public static void main(String args[])
    	{
    		double deg = 30.0;                   /* 30度 */
    		double ax, ay, az, aw, deg_r, unit, unit_r, x,y,z;
    
    		unit   = Math.PI / 180.0;            /* 度 → ラジアン */
    		unit_r = 180.0 / Math.PI;            /* ラジアン → 度 */
    
    		deg_r  = deg * unit;   // deg_r  = Math.toRadians(deg);
    	/*
    			 三角関数の計算
    	*/
    		x = Math.sin(deg_r);
    		y = Math.cos(deg_r);
    		z = Math.tan(deg_r);
    		System.out.println("30度の正弦は " + x);
    		System.out.println("30度の余弦は " + y);
    		System.out.println("30度の正接は " + z);
    	/*
    			 逆三角関数の計算
    	*/
    		ax = Math.asin(x) * unit_r;   // ax = Math.toDegrees(Math.asin(x));
    		ay = Math.acos(y) * unit_r;   // ay = Math.toDegrees(Math.asin(y));
    		az = Math.atan(z) * unit_r;   // az = Math.toDegrees(Math.asin(z));
    		System.out.print("正弦が " + x + " になる角度は " + ax + " 度\n");
    		System.out.print("余弦が " + y + " になる角度は " + ay + " 度\n");
    		System.out.print("正接が " + z + " になる角度は " + az + " 度\n");
    
    		aw = Math.atan2(1.0, -1.0) * unit_r;   // aw = Math.toDegrees(Math.atan2(1.0, -1.0));
    		System.out.print("x成分が-1,y成分が1になる角度は " + aw + " 度\n");
    	}
    }
    			
    (出力)
    30度の正弦は 0.49999999999999994
    30度の余弦は 0.8660254037844387
    30度の正接は 0.5773502691896257
    正弦が 0.49999999999999994 になる角度は 29.999999999999996 度
    余弦が 0.8660254037844387 になる角度は 29.999999999999993 度
    正接が 0.5773502691896257 になる角度は 29.999999999999996 度
    x成分が-1,y成分が1になる角度は 135.0 度
    			
[参照]

asin, atan, atan2, sin, cos, tan

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