Lumino.Math
 All Classes Functions Variables Friends
Public Member Functions | Static Public Member Functions | Public Attributes | Friends
Lumino::Vector4 Class Reference

4次元のベクトルを定義します。 More...

#include <Vector4.h>

List of all members.

Public Member Functions

 Vector4 ()
 すべての要素を 0.0 に設定してインスタンスを初期化します。
 Vector4 (float x, float y, float z, float w)
 指定した値を使用してインスタンスを初期化します。
 Vector4 (const Vector2 &vec, float z, float w)
 Vector2 と z, w 値を指定してインスタンスを初期化します。
 Vector4 (const Vector3 &vec, float w)
 Vector3 と w 値を指定してインスタンスを初期化します。
void Set (float x, float y, float z, float w)
 各要素に値を設定します。
const Vector2GetXY () const
 このベクトルの X Y 要素を Vector2 として返します。
const Vector3GetXYZ () const
 このベクトルの X Y Z 要素を Vector3 として返します。
float GetLength () const
 ベクトルの長さを返します。
float GetLengthSquared () const
 ベクトルの長さの 2 乗を返します。
void Clamp (float min_xyzw, float max_xyzw)
 このベクトルを指定された最大値と最小値の範囲にクランプします。
void Clamp (const Vector4 &minVec, const Vector4 &maxVec)
 このベクトルを指定された最大値と最小値の範囲にクランプします。
bool IsNaNOrInf () const
 要素のいずれかが NaN または Inf かを判別します。
void Print (const char *format=NULL, FILE *stream=NULL) const
 デバッグ用に文字列を標準出力します。
Vector4operator+= (const Vector4 &v)
Vector4operator+= (float v)
Vector4operator-= (const Vector4 &v)
Vector4operator-= (float v)
Vector4operator*= (const Vector4 &v)
Vector4operator*= (float v)
Vector4operator/= (const Vector4 &v)
Vector4operator/= (float v)
bool operator== (const Vector4 &v) const
bool operator!= (const Vector4 &v) const

Static Public Member Functions

static Vector4 Normalize (const Vector4 &vec)
 指定ベクトルを正規化したベクトルを返します。
static float Dot (const Vector4 &vec1, const Vector4 &vec2)
 2つのベクトルの内積を計算します。
static Vector4 Min (const Vector4 &vec1, const Vector4 &vec2)
 2つのベクトルの最小値で構成されるベクトルを返します。
static Vector4 Max (const Vector4 &vec1, const Vector4 &vec2)
 2つのベクトルの最大値で構成されるベクトルを返します。
static Vector4 Transform (const Vector4 &vec, const Matrix &mat)
 指定された行列を使用してベクトルを座標変換します。
static Vector4 Lerp (const Vector4 &start, const Vector4 &end, float t)
 2 つのベクトル間の線形補間を行います。
static Vector4 Hermite (const Vector4 &v1, const Vector4 &a1, const Vector4 &v2, const Vector4 &a2, float t)
 指定されたベクトルを使用して エルミートスプライン補間を実行します。
static Vector4 CatmullRom (const Vector4 &vec1, const Vector4 &vec2, const Vector4 &vec3, const Vector4 &vec4, float t)
 指定されたベクトルを使用して Catmull-Rom 補間を行います。

Public Attributes

float X
 X 要素
float Y
 Y 要素
float Z
 Z 要素
float W
 W 要素

Friends

Vector4 operator+ (const Vector4 &v1, const Vector4 &v2)
Vector4 operator+ (const Vector4 &v1, float v2)
Vector4 operator+ (float v1, const Vector4 &v2)
Vector4 operator- (const Vector4 &v1, const Vector4 &v2)
Vector4 operator- (const Vector4 &v1, float v2)
Vector4 operator- (float v1, const Vector4 &v2)
Vector4 operator* (const Vector4 &v1, const Vector4 &v2)
Vector4 operator* (const Vector4 &v1, float v2)
Vector4 operator* (float v1, const Vector4 &v2)
Vector4 operator/ (const Vector4 &v1, const Vector4 &v2)
Vector4 operator/ (const Vector4 &v1, float v2)
Vector4 operator/ (float v1, const Vector4 &v2)
Vector4 operator- (const Vector4 &v1)

Detailed Description

4次元のベクトルを定義します。


Member Function Documentation

static Vector4 Lumino::Vector4::CatmullRom ( const Vector4 vec1,
const Vector4 vec2,
const Vector4 vec3,
const Vector4 vec4,
float  t 
) [static]

指定されたベクトルを使用して 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 を指定します。

void Lumino::Vector4::Clamp ( const Vector4 minVec,
const Vector4 maxVec 
)

このベクトルを指定された最大値と最小値の範囲にクランプします。

Parameters:
[in]minVec: 最小値
[in]maxVec: 最大値
static float Lumino::Vector4::Dot ( const Vector4 vec1,
const Vector4 vec2 
) [static]

2つのベクトルの内積を計算します。

Parameters:
[in]vec1: 処理の基になるベクトル
[in]vec2: 処理の基になるベクトル
Returns:
2つのベクトルの内積
static Vector4 Lumino::Vector4::Hermite ( const Vector4 v1,
const Vector4 a1,
const Vector4 v2,
const Vector4 a2,
float  t 
) [static]

指定されたベクトルを使用して エルミートスプライン補間を実行します。

Parameters:
[in]v1: 開始ベクトル
[in]a1: 開始ベクトルの接線ベクトル(速度)
[in]v2: 終了ベクトル
[in]a2: 終了ベクトルの接線ベクトル(速度)
[in]t: 加重係数
Returns:
補間結果の値

t は通常、0.0~1.0 を指定します。

static Vector4 Lumino::Vector4::Lerp ( const Vector4 start,
const Vector4 end,
float  t 
) [static]

2 つのベクトル間の線形補間を行います。

Parameters:
[in]start: 開始ベクトル (t = 0.0 のときの値)
[in]end: 終了ベクトル (t = 1.0 のときの値)
[in]t: 加重係数
Returns:
補間結果のベクトル

t は通常、0.0~1.0 を指定します。

static Vector4 Lumino::Vector4::Max ( const Vector4 vec1,
const Vector4 vec2 
) [static]

2つのベクトルの最大値で構成されるベクトルを返します。

Parameters:
[in]vec1: 処理の基になるベクトル
[in]vec2: 処理の基になるベクトル
Returns:
最大値から作成されたベクトル
static Vector4 Lumino::Vector4::Min ( const Vector4 vec1,
const Vector4 vec2 
) [static]

2つのベクトルの最小値で構成されるベクトルを返します。

Parameters:
[in]vec1: 処理の基になるベクトル
[in]vec2: 処理の基になるベクトル
Returns:
最小値から作成されたベクトル
static Vector4 Lumino::Vector4::Normalize ( const Vector4 vec) [static]

指定ベクトルを正規化したベクトルを返します。

Parameters:
[in]vec: 処理の基になるベクトル
Returns:
正規化されたベクトル
void Lumino::Vector4::Print ( const char *  format = NULL,
FILE *  stream = NULL 
) const

デバッグ用に文字列を標準出力します。

Parameters:
[in]format: 書式指定文字列
[in]stream: 出力先ストリーム

format が NULL の場合、書式は "%f, %f, %f, %f\n" を使用します。

static Vector4 Lumino::Vector4::Transform ( const Vector4 vec,
const Matrix mat 
) [static]

指定された行列を使用してベクトルを座標変換します。

Parameters:
[in]vec: 処理の基になるベクトル
[in]mat: 処理の基になる行列
Returns:
変換されたベクトル

The documentation for this class was generated from the following files:
 All Classes Functions Variables Friends