コンテンツにスキップ

Vector3 クラス

情報

3次元ベクトルを表現するクラス。


クラス定義

class Vector3 {
    public float x, y, z;

    public void Add(Vector3 v)
    public Vector3 Rotate(Quaternion q)
    public Vector3 RotateMatrix(Matrix mat)
}

使用例

Vector3 vec = new Vector3();
vec.x = 0.0f;
vec.y = 1.0f;
vec.z = 2.0f;

// 上記と同じ
Vector3 vec2 = makeVector3(0.0f, 1.0f, 2.0f);

Vector3のユーティリティー関数

makeVector3

Vector3 makeVector3(float x, float y, float z)

グローバル関数。指定した x, y, z 成分で初期化されたVector3を返す。

makeVector3Dot

float makeVector3Dot(Vector3 vec1, Vector3 vec2)

グローバル関数。ベクトル同士の内積を計算します。

makeVector3Cross

Vector3 makeVector3Cross(Vector3 vec1, Vector3 vec2)

グローバル関数。ベクトル同士の外積を計算します。

lerpVector3

Vector3 lerpVector3(Vector3 from, Vector3 to, float t)

グローバル関数。from と to の間を時間 t で線形補間し、結果を Vector3 として返す。

コンストラクタ

Vector3()

public Vector3()

x, y, z 要素を0に設定して Vector3 のインスタンスを生成する。

メンバ変数

float x

public float x

ベクトルのx成分。

float y

public float y

ベクトルのy成分。

float z

public float z

ベクトルのz成分。


メソッド

Add(Vector3)

public void Add(Vector3 v)

引数で指定したベクトル v を加算する。

Sub(Vector3 v)

public void Sub(Vector3 v)

引数で指定したベクトル v を減算する。

Rotate(Quaternion)

public Vector3 Rotate(Quaternion q)

ベクトルを回転させて、結果を新しい Vector3 として返す。

RotateMatrix(Matrix)

public Vector3 RotateMatrix(Matrix mat)

ベクトルを回転させて、結果を新しい Vector3 として返す。

Distance(Vector3 v)

public float Distance(Vector3 v)

引数で指定したベクトル v との距離を返す。

GetNormalize()

public Vector3 GetNormalize()

ベクトルを正規化し、結果を新しい Vector3 として返す。