プログラマメモ2 - programmer no memo2

サイン、コサイン、タンジェント、アークタンジェント 2008/09/12

三角関数よくわからんです。

というわけで、コードを使えば少しは理解が進むかな。



a角をもとめるのは、逆正接関数(atan,アークタンジェント)を使います。


package t005;

import static java.lang.Math.*;

public class Test1 {

public static void main(String[] args) {

System.out.println(tan(toRadians(76)));
double d = tan(toRadians(76));

System.out.println(toDegrees(atan(d)));

System.out.println(A(60, 50));

System.out.println(Pythagorean(12, 5));

System.out.println(a(100, 400));

System.out.println("======");
System.out.println(a(12, 5));
double a = a(12, 5);
System.out.println(C(a, 5));
System.out.println(Pythagorean(12, 5));
System.out.println(B(a, 12));
System.out.println(A(a, C(a, 5)));
}

/**
* <p>
* a角の大きさをもとめます。
* </p>
*
* @param A辺
* @param B辺
* @return
*/
static double a(double A, double B) {
return toDegrees(atan(B / A));
}

/**
* <p>
* A辺をもとめます。
* </p>
*
* @param a 角度
* @param C辺
* @return
*/
static double A(double a, double C) {
return cos(toRadians(a)) * C;
}

/**
* <p>
* B辺をもとめます。
* </p>
*
* @param a 角度
* @param A辺
* @return
*/
static double B(double a, double A) {
return tan(toRadians(a)) * A;
}

/**
* <p>
* C辺をもとめます。
* </p>
*
* @param a 角度
* @param B辺
* @return
*/
static double C(double a, double B) {
return B / sin(toRadians(a));
}

/**
* <p>
* ピタゴラスの定理 A辺、B辺からC辺を求めます。
* </p>
*
* @param A
* @param B
* @return
*/
static double Pythagorean(double A, double B) {
return sqrt(pow(A, 2) + pow(B, 2));
}
}

: