汎用計算クラス
[詳解]
#include <KisaragiMath.hpp>
|
static double | RadianToDegree (const double &_radian) |
| ラジアン値を角度に変換する.
|
|
static double | DegreeToRadian (const double &_degree) |
| 角度をラジアン値に変換する.
|
|
static double | VectorToDegree (const double &_vecX, const double &_vecY) |
| 正規化された方向ベクトルから角度を求める.
|
|
static double | VectorToRadian (const double &_vecX, const double &_vecY) |
| 正規化された方向ベクトルからラジアン値を求める.
|
|
template<class T> |
static void | Normalize (T *_vecX, T *_vecY) |
| ベクトルを正規化する.
|
|
template<class T> |
static T | Pow (const T &_num, const unsigned int &_cnt) |
| べき乗,累乗
|
|
汎用計算クラス
- から
- ver1.0.0 Vector2型(削除済み)の関数を削除し、Vector2Dに対応させたものをPrimitiveMath.hppに移動
◆ RadianToDegree()
static double Kisaragi_Lib::Math::RadianToDegree |
( |
const double & | _radian | ) |
|
|
inlinestatic |
ラジアン値を角度に変換する.
- 引数
-
- 戻り値
- 角度
48 {
49 return (_radian * DEGREES_HALF / PI);
50 }
◆ DegreeToRadian()
static double Kisaragi_Lib::Math::DegreeToRadian |
( |
const double & | _degree | ) |
|
|
inlinestatic |
角度をラジアン値に変換する.
- 引数
-
- 戻り値
- ラジアン値
58 {
59 return (_degree * PI / DEGREES_HALF);
60 }
◆ VectorToDegree()
static double Kisaragi_Lib::Math::VectorToDegree |
( |
const double & | _vecX, |
|
|
const double & | _vecY ) |
|
inlinestatic |
正規化された方向ベクトルから角度を求める.
- 引数
-
_vecX | 正規化されたX方向のベクトル |
_vecY | 正規化されたY方向のベクトル |
- 戻り値
- 角度
69 {
71 }
static double RadianToDegree(const double &_radian)
ラジアン値を角度に変換する.
Definition KisaragiMath.hpp:47
◆ VectorToRadian()
static double Kisaragi_Lib::Math::VectorToRadian |
( |
const double & | _vecX, |
|
|
const double & | _vecY ) |
|
inlinestatic |
正規化された方向ベクトルからラジアン値を求める.
- 引数
-
_vecX | 正規化されたX方向のベクトル |
_vecY | 正規化されたY方向のベクトル |
- 戻り値
- ラジアン値
82 {
83 return atan2(_vecY, _vecX);
84 }
◆ Normalize()
template<class T>
static void Kisaragi_Lib::Math::Normalize |
( |
T * | _vecX, |
|
|
T * | _vecY ) |
|
inlinestatic |
ベクトルを正規化する.
- 引数
-
_vecX | 正規化したいベクトル |
_vecY | 正規化したいベクトル |
95 {
96 double vecLength = sqrt((*_vecX * *_vecX) + (*_vecY * *_vecY));
97
98 if (vecLength == 1)
99 {
100
101 return;
102 }
103
104
105 if (*_vecX != 0)
106 {
107 *_vecX = (*_vecX / vecLength);
108 }
109
110 if (*_vecY != 0)
111 {
112 *_vecY = (*_vecY / vecLength);
113 }
114
115 }
◆ Pow()
template<class T>
static T Kisaragi_Lib::Math::Pow |
( |
const T & | _num, |
|
|
const unsigned int & | _cnt ) |
|
inlinestatic |
べき乗,累乗
- テンプレート引数
-
- 引数
-
- 戻り値
- べき乗の結果
127 {
128
129 assert(_cnt > 0);
130
131 T tmp = _num;
132
133
134 for (int i = 1; i < _cnt; i++)
135 {
136 tmp *= _num;
137 }
138
139 return tmp;
140 }
このクラス詳解は次のファイルから抽出されました: