2次元のベクトルを定義します。
More...
#include <Vector2.hpp>
|
| Vector2 () |
| すべての要素を 0.0 に設定してインスタンスを初期化します。
|
|
| Vector2 (float x, float y) |
| 指定した値を使用してインスタンスを初期化します。
|
|
void | set (float x, float y) |
| 各要素に値を設定します。
|
|
float * | data () noexcept |
| Returns pointer to the first element. More...
|
|
const float * | data () const noexcept |
| Returns pointer to the first element. More...
|
|
float | length () const |
| このベクトルの長さを返します。
|
|
float | lengthSquared () const |
| このベクトルの長さの 2 乗を返します。
|
|
void | normalize () |
| このベクトルを正規化します。 ベクトルの長さが 0 の場合は正規化を行いません。
|
|
void | transformCoord (const Matrix &mat) |
| 指定された行列を使用してこのベクトルを座標変換します。 More...
|
|
bool | isNaNOrInf () const |
| 要素のいずれかが NaN または Inf かを判別します。
|
|
void | print (const char *format=NULL, FILE *stream=NULL) const |
| デバッグ用に文字列を標準出力します。 More...
|
|
|
static Vector2 | normalize (const Vector2 &vec) |
| 指定ベクトルを正規化したベクトルを返します。 More...
|
|
static float | distance (const Vector2 &vec1, const Vector2 &vec2) |
| 2つのベクトル間の距離を計算します。 More...
|
|
static float | dot (const Vector2 &vec1, const Vector2 &vec2) |
| 2つのベクトルの内積を計算します。 More...
|
|
static Vector2 | min (const Vector2 &vec1, const Vector2 &vec2) |
| 2つのベクトルの最小値で構成されるベクトルを返します。 More...
|
|
static Vector2 | max (const Vector2 &vec1, const Vector2 &vec2) |
| 2つのベクトルの最大値で構成されるベクトルを返します。 More...
|
|
static Vector4 | transform (const Vector2 &vec, const Matrix &mat) |
| 指定された行列を使用してベクトルを座標変換します。 More...
|
|
static Vector2 | transformCoord (const Vector2 &vec, const Matrix &mat) |
| 指定された行列を使用してベクトルを座標変換します。 More...
|
|
static Vector2 | lerp (const Vector2 &start, const Vector2 &end, float t) |
| 2 つのベクトル間の線形補間を行います。 More...
|
|
static Vector2 | hermite (const Vector2 &v1, const Vector2 &a1, const Vector2 &v2, const Vector2 &a2, float t) |
| 指定されたベクトルを使用して エルミートスプライン補間を実行します。 More...
|
|
static Vector2 | catmullRom (const Vector2 &vec1, const Vector2 &vec2, const Vector2 &vec3, const Vector2 &vec4, float t) |
| 指定されたベクトルを使用して Catmull-Rom 補間を行います。 More...
|
|
|
float | x |
| X 要素
|
|
float | y |
| Y 要素
|
|
◆ catmullRom()
指定されたベクトルを使用して Catmull-Rom 補間を行います。
- Parameters
-
[in] | vec1 | : 1番目の位置 |
[in] | vec2 | : 2番目の位置 (t = 0.0 のときの値) |
[in] | vec3 | : 3番目の位置 (t = 1.0 のときの値) |
[in] | vec4 | : 4番目の位置 |
[in] | t | : 加重係数 |
- Returns
- 補間結果のベクトル
t は通常、0.0~1.0 を指定します。
◆ data() [1/2]
float* ln::Vector2::data |
( |
| ) |
|
|
inlinenoexcept |
Returns pointer to the first element.
◆ data() [2/2]
const float* ln::Vector2::data |
( |
| ) |
const |
|
inlinenoexcept |
Returns pointer to the first element.
◆ distance()
static float ln::Vector2::distance |
( |
const Vector2 & |
vec1, |
|
|
const Vector2 & |
vec2 |
|
) |
| |
|
static |
2つのベクトル間の距離を計算します。
- Parameters
-
[in] | vec1 | : 処理の基になるベクトル |
[in] | vec2 | : 処理の基になるベクトル |
- Returns
- 2つのベクトル間の距離
◆ dot()
static float ln::Vector2::dot |
( |
const Vector2 & |
vec1, |
|
|
const Vector2 & |
vec2 |
|
) |
| |
|
static |
2つのベクトルの内積を計算します。
- Parameters
-
[in] | vec1 | : 処理の基になるベクトル |
[in] | vec2 | : 処理の基になるベクトル |
- Returns
- 2つのベクトルの内積
◆ hermite()
指定されたベクトルを使用して エルミートスプライン補間を実行します。
- Parameters
-
[in] | v1 | : 開始ベクトル |
[in] | a1 | : 開始ベクトルの接線ベクトル(速度) |
[in] | v2 | : 終了ベクトル |
[in] | a2 | : 終了ベクトルの接線ベクトル(速度) |
[in] | t | : 加重係数 |
- Returns
- 補間結果の値
t は通常、0.0~1.0 を指定します。
◆ lerp()
2 つのベクトル間の線形補間を行います。
- Parameters
-
[in] | start | : 開始ベクトル (t = 0.0 のときの値) |
[in] | end | : 終了ベクトル (t = 1.0 のときの値) |
[in] | t | : 加重係数 |
- Returns
- 補間結果のベクトル
t は通常、0.0~1.0 を指定します。
◆ max()
2つのベクトルの最大値で構成されるベクトルを返します。
- Parameters
-
[in] | vec1 | : 処理の基になるベクトル |
[in] | vec2 | : 処理の基になるベクトル |
- Returns
- 最大値から作成されたベクトル
◆ min()
2つのベクトルの最小値で構成されるベクトルを返します。
- Parameters
-
[in] | vec1 | : 処理の基になるベクトル |
[in] | vec2 | : 処理の基になるベクトル |
- Returns
- 最小値から作成されたベクトル
◆ normalize()
指定ベクトルを正規化したベクトルを返します。
- Parameters
-
- Returns
- 正規化されたベクトル
◆ print()
void ln::Vector2::print |
( |
const char * |
format = NULL , |
|
|
FILE * |
stream = NULL |
|
) |
| const |
デバッグ用に文字列を標準出力します。
- Parameters
-
[in] | format | : 書式指定文字列 |
[in] | stream | : 出力先ストリーム |
format が NULL の場合、書式は "%f, %f\n" を使用します。
◆ transform()
指定された行列を使用してベクトルを座標変換します。
- Parameters
-
[in] | vec | : 処理の基になるベクトル |
[in] | mat | : 処理の基になる行列 |
- Returns
- 変換されたベクトル
◆ transformCoord() [1/2]
void ln::Vector2::transformCoord |
( |
const Matrix & |
mat | ) |
|
指定された行列を使用してこのベクトルを座標変換します。
- Parameters
-
ベクトルを (X, Y, 0.0, 1.0) として座標変換を行い、結果を w で除算します。
◆ transformCoord() [2/2]
指定された行列を使用してベクトルを座標変換します。
- Parameters
-
[in] | vec | : 処理の基になるベクトル |
[in] | mat | : 処理の基になる行列 |
- Returns
- 変換されたベクトル
ベクトルを (X, Y, 0.0, 1.0) として座標変換を行い、結果を w で除算します。
The documentation for this struct was generated from the following file:
- /home/runner/work/Website/Website/_Lumino/include/LuminoCore/Math/Vector2.hpp