#pragma once const double PI = acos(-1); /// @brief 三角形を表す構造体 /// 辺の長さと、頂点座標をメンバに持つ struct triangle { double length;//1辺の長さ length of each edge Vec2 pos[3]; //position of each vertex }; /// @brief 数学の座標をスクリーン座標に変換する関数 /// @param _point 変換前の数学座標 /// @return 変換されたスクリーン座標 Vec2 ConvertMath2Screen(Vec2 _point); /// @brief スクリーン座標をワールド(数学)座標に変換する関数 /// @param _point 変換前のスクリーン座標 /// @return 変換されたワールド(数学)座標 Vec2 ConvertScreen2Math(Vec2 _point); /// @param _angle 角度を入力 /// @return ラジアンに変換された値 double Degree2Radians(double _angle); /// @brief 座標軸を描く関数 void DrawAxis(); /// @brief _angle度だけ_vecを原点中心に回転して返す /// @param _vec 回転されるベクトル /// @param _angle 回転角度(度) /// @return 回転後のベクトル Vec2 RotateVec(Vec2 _vec, double _angle); /// @brief 正三角形の座標をセットする関数 /// @param _tri 座標をセットする三角形 /// @param _length 1辺の長さ void SetEquTrianglePoint(triangle& _tri, double _length); /// @brief クリックポイントと一番近い3角形の頂点を返す関数 /// @param _tri 距離判定する3角形 /// @param _cp クリックした点 /// @return _cpに最短距離の3角形の頂点 Vec2 GetShortestPoint(triangle& _tri, Vec2 _cp);