【C++】三角関数の計算とグラフの表示
三角関数とは
三角関数とは、三角形の角度と辺の長さの関係を記述する数学的関数です。主なものとして、正弦(sin)、余弦(cos)、正接(tan)があります。
C++での三角関数の基本計算
C++では、math.h(またはcmath)を使用して三角関数を計算できます。
#include <iostream>
#include <cmath>
int main() {
double angle = 45.0;
double radians = angle * M_PI / 180.0;
std::cout << "sin(45°) = " << sin(radians) << std::endl;
std::cout << "cos(45°) = " << cos(radians) << std::endl;
std::cout << "tan(45°) = " << tan(radians) << std::endl;
return 0;
}
このコードでは、角度をラジアンに変換し、sin, cos, tan の値を計算しています。
三角関数のグラフ表示
グラフを表示するには、外部ライブラリ(例えば、Matplotlib for C++)を使うと便利です。
#include "matplotlibcpp.h"
#include <cmath>
#include <vector>
namespace plt = matplotlibcpp;
int main() {
std::vector x, y;
for (double i = 0; i <= 360; i += 1) {
double radians = i * M_PI / 180.0;
x.push_back(i);
y.push_back(sin(radians));
}
plt::plot(x, y);
plt::show();
return 0;
}
このコードは、0度から360度までのsin関数のグラフを描画します。
三角関数を使った応用例
三角関数は、物理シミュレーションや3Dグラフィックス、振動解析など幅広く活用されます。
#include <iostream>
#include <cmath>
void pendulum(double length, double angle) {
double g = 9.81;
double period = 2 * M_PI * sqrt(length / g);
std::cout << "振り子の周期: " << period << " 秒" << std::endl;
}
int main() {
pendulum(2.0, 30.0);
return 0;
}
この例では、単振り子の周期を計算しています。