サイン、コサイン、タンジェント、アークタンジェント
2008/09/12
java
基礎数学
三角関数よくわからんです。
というわけで、コードを使えば少しは理解が進むかな。
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));
}
}
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));
}
}
: