mqsdx 310.0.1 MQPluginSDK Extention Library / mqsdkをC++またはCLI(.Net)拡張するサポートライブラリ

- メインページ
- 関連ページ
- モジュール
- クラス
- ファイル

全て クラス 関数 変数 型定義 プロパティ グループ ページ
関数
MQ0x-Math名前空間
MQ0xの一覧

## 関数
template<typename T >
T | MQ0x::Math::Ceil (T src)
| ceiling関数 [詳細]
template<typename T >
T | MQ0x::Math::Clamp (T src, T min, T max)
| クランプ計算 [詳細]
template<typename T >
T | MQ0x::Math::Clamp01 (T src)
| 0〜1クランプ計算 [詳細]
template<typename T >
T | MQ0x::Math::Deg2Rad ()
| 度数からラジアン角（弧度）に変換 [詳細]
template<typename T >
T | MQ0x::Math::Deg2Rad (T degree)
| 度数からラジアン角（弧度）に変換 [詳細]
template<typename T >
T | MQ0x::Math::Floor (T src)
| floor関数 [詳細]
template<typename T >
T | MQ0x::Math::Lerp (T from, T to, T t)
| 線形補間 (Linear interpolation) [詳細]
template<typename T >
T | MQ0x::Math::MoveTo (T from, T to, T mov)
| 現在の値から目標の値まで指定量移動します。 [詳細]
template<typename T >
T | MQ0x::Math::Pi ()
| PI. [詳細]
template<typename T >
T | MQ0x::Math::Rad2Deg ()
| ラジアン角（弧度）から度数に変換 [詳細]
template<typename T >
T | MQ0x::Math::Rad2Deg (T degree)
| ラジアン角（弧度）から度数に変換 [詳細]
template<typename T >
T | MQ0x::Math::Repeat (T t, T length)
| 循環丸め [詳細]
template<typename T >
T | MQ0x::Math::Trunc (T src)
| truncate計算。 [詳細]

## 説明

数値計算のためのライブラリ。名前空間MathはMQ0xでusing宣言されているので省略可能です。

double truncated = MQ0x::trunc(1.2);

## 関数

template<typename T >

T MQ0x::Math::Ceil | ( | T | src) |  |
| inline

ceiling関数

覚え書き
  浮動小数点以外の整数値型にも対応するceilです。整数の時はsrcの値をそのまま返します。11仕様を満たす std::ceil() が無い環境で利用してください。

template<typename T >

T MQ0x::Math::Clamp | ( | T | src,
|  | T | min,
|  | T | max
| ) |  |
| inline

クランプ計算

srcがmin〜maxの外にある場合、srcを両端で飽和させてmin以上max以下におさめます。

template<typename T >

T MQ0x::Math::Clamp01 | ( | T | src) |  |
| inline

0〜1クランプ計算

srcが0〜1の外にある場合、srcを両端で飽和させて0以上1以下におさめます。

参照元 MQ0x::HSV< T >::toNormalized().

template<typename T >

T MQ0x::Math::Deg2Rad | ( | ) |  |
| inline

度数からラジアン角（弧度）に変換

float d = 180.0f; // as degree
float rd = d * Deg2Rad<float>(); // to radian
template<typename T >

T MQ0x::Math::Deg2Rad | ( | T | degree) |  |
| inline

度数からラジアン角（弧度）に変換

float rad = Deg2Rad<float>(180.0f); // convert 180.0 degree into radian
template<typename T >

T MQ0x::Math::Floor | ( | T | src) |  |
| inline

floor関数

覚え書き
  浮動小数点以外の整数値型にも対応するfloorです。整数の時はsrcの値をそのまま返します。11仕様を満たす std::floor() が無い環境で利用してください。

template<typename T >

T MQ0x::Math::Lerp | ( | T | from,
|  | T | to,
|  | T | t
| ) |  |
| inline

線形補間 (Linear interpolation)

戻り値
  tが0の時はfrom、tが1の時はtoを返し、tが0.5の時はfromとtoの平均値を返します。tはclamp処理によって0〜1に丸められます。

template<typename T >

T MQ0x::Math::MoveTo | ( | T | from,
|  | T | to,
|  | T | mov
| ) |  |
| inline

現在の値から目標の値まで指定量移動します。

fromからtoへ向かってmovだけ移動します。movが大きくてもtoを追い越す事はなくtoで止まります。

template<typename T >

T MQ0x::Math::Pi | ( | ) |  |
| inline

PI.

戻り値
  PIを返します。

template<typename T >

T MQ0x::Math::Rad2Deg | ( | ) |  |
| inline

ラジアン角（弧度）から度数に変換

float rd = 2.0f * Pi<float>(); // as radian
float d = rd * Rad2Deg<float>(); // to degree

参照元 MQ0x::Math::Rad2Deg().

template<typename T >

T MQ0x::Math::Rad2Deg | ( | T | degree) |  |
| inline

ラジアン角（弧度）から度数に変換

float deg = Rad2Deg<float>(2.0f * pi<float>()); // convert 2 * PI (radian) into degree
template<typename T >

T MQ0x::Math::Repeat | ( | T | t,
|  | T | length
| ) |  |
| inline

循環丸め

戻り値
  tを循環する値として、tを0〜絶対値(length)に丸めた値を返します。例えば、Repeat(380.0,360.0)は20.0を返します。

template<typename T >

T MQ0x::Math::Trunc | ( | T | src) |  |
| inline

truncate計算。

覚え書き
  VC2010に std::trunc() が搭載されていないので実装しています。 std::trunc() がある環境ならそちらを使うべきです。