【C++】三角関数の計算とグラフの表示

【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;
}

この例では、単振り子の周期を計算しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です