3DMATHS COMMANDS

Last-modified: 2009-03-23 (月) 11:56:06

3DMATHS COMMANDS

3D座標計算におけるベクトルや行列演算。
ベクトルは座標を保持し、行列は座標変換に使われる。
Vector2:(X,Y)
Vector3:(X,Y,Z)
Vector4:(X,Y,Z,W)
Matrix4:(a11,a12,a13,a14,a21,a22,a23,a24,a31,a32,a33,a34,a41,a42,a43,a44) 4*4行列

ADD MATRIX4 : ADD MATRIX4 Matrix4Result, Matrix4A, Matrix4B

ADD VECTOR2 : ADD VECTOR2 VectorResult, VectorA, VectorB

ADD VECTOR3 : ADD VECTOR3 VectorResult, VectorA, VectorB

ADD VECTOR4 : ADD VECTOR4 VectorResult, VectorA, VectorB

BUILD LOOKAT LHMATRIX4 : BUILD LOOKAT LHMATRIX4 Matrix4Result, Vector3Eye, Vector3At, Vector3Up

BUILD LOOKAT RHMATRIX4 : BUILD LOOKAT RHMATRIX4 Matrix4Result, Vector3Eye, Vector3At, Vector3Up

BUILD ORTHO LHMATRIX4 : BUILD ORTHO LHMATRIX4 Matrix4Result, Width, Height, Near, Far

BUILD ORTHO RHMATRIX4 : BUILD ORTHO RHMATRIX4 Matrix4Result, Width, Height, Near, Far

BUILD FOV LHMATRIX4 : BUILD FOV LHMATRIX4 Matrix4Result, FOV, Aspect, Near, Far

BUILD FOV RHMATRIX4 : BUILD FOV RHMATRIX4 Matrix4Result, FOV, Aspect, Near, Far

BUILD PERSPECTIVE LHMATRIX4 : BUILD PERSPECTIVE LHMATRIX4 Matrix4Result, Width, Height, Near, Far

BUILD PERSPECTIVE RHMATRIX4 : BUILD PERSPECTIVE RHMATRIX4 Matrix4Result, Width, Height, Near, Far

BUILD REFLECTION MATRIX4 : BUILD REFLECTION MATRIX4 Matrix4Result, PlaneA, PlaneB, PlaneC, PlaneD

BUILD ROTATION AXIS MATRIX4 : BUILD ROTATION AXIS MATRIX4 Matrix4Result, Vector3Axis, Angle

CATMULLROM VECTOR2 : CATMULLROM VECTOR2 VectorResult, VectorA, VectorB, VectorC, VectorD, Value

CATMULLROM VECTOR3 : CATMULLROM VECTOR3 VectorResult, VectorA, VectorB, VectorC, VectorD, Value

CATMULLROM VECTOR4 : CATMULLROM VECTOR4 VectorResult, VectorA, VectorB, VectorC, VectorD, Value

COPY MATRIX4 : COPY MATRIX4 Matrix4Result, Matrix4Source

COPY VECTOR2 : COPY VECTOR2 VectorResult, VectorSource

COPY VECTOR3 : COPY VECTOR3 VectorResult, VectorSource

COPY VECTOR4 : COPY VECTOR4 VectorResult, VectorSource

CROSS PRODUCT VECTOR3 : CROSS PRODUCT VECTOR3 VectorResult, VectorA, VectorB

2つのVector3の外積を計算する。
VectorA=Vector3
VectorB=Vector3
VectorResult=演算結果格納先のVector3

DELETE MATRIX4 : Return Integer=DELETE MATRIX4(Matrix4)

Matrix4削除
Matrix4=削除するMatrix4番号
Return=不定

 

指定Matrix4を削除、メモリーから開放する。
返り値は関数の体裁の為だけで読み捨てで構わない。

DELETE VECTOR2 : Return Integer=DELETE VECTOR2(Vector)

Vector2削除
Vector=削除するVector2番号
Return=不定

 

指定Vector2を削除、メモリーから開放する。
返り値は関数の体裁の為だけで読み捨てで構わない。

DELETE VECTOR3 : Return Integer=DELETE VECTOR3(Vector)

Vector3削除
Vector=削除するVector3番号
Return=不定

 

指定Vector3を削除、メモリーから開放する。
返り値は関数の体裁の為だけで読み捨てで構わない。

DELETE VECTOR4 : Return Integer=DELETE VECTOR4(Vector)

Vector4削除
Vector=削除するVector4番号
Return=不定

 

指定Vector4を削除、メモリーから開放する。
返り値は関数の体裁の為だけで読み捨てで構わない。

DIVIDE MATRIX4 : DIVIDE MATRIX4 Matrix4Result, Value

DIVIDE VECTOR2 : DIVIDE VECTOR2 VectorResult, Value

DIVIDE VECTOR3 : DIVIDE VECTOR3 VectorResult, Value

DIVIDE VECTOR4 : DIVIDE VECTOR4 VectorResult, Value

DOT PRODUCT VECTOR2 : Return Float=DOT PRODUCT VECTOR2(VectorA, VectorB)

2つのVector2の内積を求める。
内積が0の場合は二つのベクトルは互いに垂直になっていると言える。

DOT PRODUCT VECTOR3 : Return Float=DOT PRODUCT VECTOR3(VectorA, VectorB)

2つのVector3の内積を求める。
内積が0の場合は二つのベクトルは互いに垂直になっていると言える。

BCC VECTOR2 : BCC VECTOR2 VectorResult, VectorA, VectorB, VectorC, FValue, GBValue

重心座標(BaryCentric Coordinates)を得る。

BCC VECTOR3 : BCC VECTOR3 VectorResult, VectorA, VectorB, VectorC, FValue, GBValue

重心座標(BaryCentric Coordinates)を得る。

BCC VECTOR4 : BCC VECTOR4 VectorResult, VectorA, VectorB, VectorC, FValue, GBValue

重心座標(BaryCentric Coordinates)を得る。

CCW VECTOR2 : Return Float=CCW VECTOR2(VectorA, VectorB)

SQUARED LENGTH VECTOR2 : Return Float=SQUARED LENGTH VECTOR2(Vector)

Vector2の原点(0,0)からの長さの2乗を得る。
Vector=Vector2番号

SQUARED LENGTH VECTOR3 : Return Float=SQUARED LENGTH VECTOR3(Vector)

Vector3の原点(0,0,0)からの長さの2乗を得る。
Vector=Vector3番号

SQUARED LENGTH VECTOR4 : Return Float=SQUARED LENGTH VECTOR4(Vector)

Vector4の原点(0,0,0,0)からの長さの2乗を得る。
Vector=Vector4番号

LENGTH VECTOR2 : Return Float=LENGTH VECTOR2(Vector)

Vector2の原点(0,0)からの長さを得る。
Vector=Vector2番号

LENGTH VECTOR3 : Return Float=LENGTH VECTOR3(Vector)

Vector3の原点(0,0,0)からの長さを得る。
Vector=Vector3番号

LENGTH VECTOR4 : Return Float=LENGTH VECTOR4(Vector)

Vector4の原点(0,0,0,0)からの長さを得る。
Vector=Vector4番号

PROJECTION MATRIX4 : PROJECTION MATRIX4 Matrix4Result

投影の座標変換用行列を得る。
Matrix4Result=代入するMatrix4行列
バージョン6.7以降
カメラ0からではなくカレントカメラから得る。

VIEW MATRIX4 : VIEW MATRIX4 Matrix4Result

カメラ視点の座標変換用行列を得る。
Matrix4Result=代入するMatrix4行列
バージョン6.7以降
カメラ0からではなくカレントカメラから得る。

WORLD MATRIX4 : WORLD MATRIX4 Matrix4Result

ワールド座標の座標変換用行列を得る。
Matrix4Result=代入するMatrix4行列

GET MATRIX4 ELEMENT : Return Float=GET MATRIX4 ELEMENT(Matrix4, Index)

Matrix4の指定位置の値を返す。
バージョン6.6追加関数

X VECTOR2 : Return Float=X VECTOR2(Vector)

Vecter2のX値を返す。

Y VECTOR2 : Return Float=Y VECTOR2(Vector)

Vecter2のY値を返す。

X VECTOR3 : Return Float=X VECTOR3(Vector)

Vecter3のX値を返す。

Y VECTOR3 : Return Float=Y VECTOR3(Vector)

Vecter3のY値を返す。

Z VECTOR3 : Return Float=Z VECTOR3(Vector)

Vecter3のZ値を返す。

X VECTOR4 : Return Float=X VECTOR4(Vector)

Vecter4のX値を返す。

Y VECTOR4 : Return Float=Y VECTOR4(Vector)

Vecter4のY値を返す。

Z VECTOR4 : Return Float=Z VECTOR4(Vector)

Vecter4のZ値を返す。

W VECTOR4 : Return Float=W VECTOR4(Vector)

Vecter4のW値を返す。

HERMITE VECTOR2 : HERMITE VECTOR2 VectorResult, VectorA, VectorB, VectorC, VectorD, SValue

エルミートスプライン曲線の補間を得る。

HERMITE VECTOR3 : HERMITE VECTOR3 VectorResult, VectorA, VectorB, VectorC, VectorD, SValue

エルミートスプライン曲線の補間を得る。

HERMITE VECTOR4 : HERMITE VECTOR4 VectorResult, VectorA, VectorB, VectorC, VectorD, SValue

エルミートスプライン曲線の補間を得る。

INVERSE MATRIX4 : Return Float=INVERSE MATRIX4(Matrix4Result, Matrix4Source)

IS EQUAL MATRIX4 : Return Integer=IS EQUAL MATRIX4(Matrix4A, Matrix4B)

IS EQUAL VECTOR2 : Return Integer=IS EQUAL VECTOR2(VectorA, VectorB)

IS EQUAL VECTOR3 : Return Integer=IS EQUAL VECTOR3(VectorA, VectorB)

IS EQUAL VECTOR4 : Return Integer=IS EQUAL VECTOR4(VectorA, VectorB)

IS IDENTITY MATRIX4 : Return Integer=IS IDENTITY MATRIX4(Matrix4Result)

LINEAR INTERPOLATE VECTOR2 : LINEAR INTERPOLATE VECTOR2 VectorResult, VectorA, VectorB, SValue

直線補間を求める。
VectorResult=補間座標を返すVector2番号
VectorA=始点座標のVector2番号
VectorB=終点座標のVector2番号
SValue=割合(実数)

 

始点と終点間の直線における割合に応じた座標を求める。
割合は0を始点、1を終点とした割合。

LINEAR INTERPOLATE VECTOR3 : LINEAR INTERPOLATE VECTOR3 VectorResult, VectorA, VectorB, SValue

直線補間を求める。
VectorResult=補間座標を返すVector3番号
VectorA=始点座標のVector3番号
VectorB=終点座標のVector3番号
SValue=割合(実数)

 

始点と終点間の直線における割合に応じた座標を求める。
割合は0を始点、1を終点とした割合。

LINEAR INTERPOLATE VECTOR4 : LINEAR INTERPOLATE VECTOR4 VectorResult, VectorA, VectorB, SValue

直線補間を求める。
VectorResult=補間座標を返すVector4番号
VectorA=始点座標のVector4番号
VectorB=終点座標のVector4番号
SValue=割合(実数)

 

始点と終点間の直線における割合に応じた座標を求める。
割合は0を始点、1を終点とした割合。

MAKE MATRIX4 : Return Integer=MAKE MATRIX4(Matrix4)

Matrix4新規作成
Matrix4=割り当てるMatrix4番号
Return=不定

 

Matrix4を新規作成する。
実体は変数ではなくメモリー上に確保される。
返り値は関数の体裁の為だけで読み捨てで構わない。

MAKE VECTOR2 : Return Integer=MAKE VECTOR2(Vector)

Vector2を新規作成する。
Vector=割り当てるVector2番号
Return=不定

 

Vector2を新規作成する。
実体は変数ではなくメモリー上に確保される。
返り値は関数の体裁の為だけで読み捨てで構わない。

MAKE VECTOR3 : Return Integer=MAKE VECTOR3(Vector)

Vector3を新規作成する。
Vector=割り当てるVector3番号
Return=不定

 

Vector3を新規作成する。
実体は変数ではなくメモリー上に確保される。
返り値は関数の体裁の為だけで読み捨てで構わない。

MAKE VECTOR4 : Return Integer=MAKE VECTOR4(Vector)

Vector4を新規作成する。
Vector=割り当てるVector4番号
Return=不定

 

Vector4を新規作成する。
実体は変数ではなくメモリー上に確保される。
返り値は関数の体裁の為だけで読み捨てで構わない。

MAXIMIZE VECTOR2 : MAXIMIZE VECTOR2 VectorResult, VectorA, VectorB

MAXIMIZE VECTOR3 : MAXIMIZE VECTOR3 VectorResult, VectorA, VectorB

MAXIMIZE VECTOR4 : MAXIMIZE VECTOR4 VectorResult, VectorA, VectorB

MINIMIZE VECTOR2 : MINIMIZE VECTOR2 VectorResult, VectorA, VectorB

MINIMIZE VECTOR3 : MINIMIZE VECTOR3 VectorResult, VectorA, VectorB

MINIMIZE VECTOR4 : MINIMIZE VECTOR4 VectorResult, VectorA, VectorB

MULTIPLY MATRIX4 : MULTIPLY MATRIX4 Matrix4Result, Matrix4A, Matrix4B

MULTIPLY VECTOR2 : MULTIPLY VECTOR2 VectorResult, Value

MULTIPLY VECTOR3 : MULTIPLY VECTOR3 VectorResult, Value

MULTIPLY VECTOR4 : MULTIPLY VECTOR4 VectorResult, Value

NORMALIZE VECTOR2 : NORMALIZE VECTOR2 VectorResult, VectorSource

Vector2の単位ベクトル化
VectorSource=単位ベクトル化するVector2番号
VectorResult=単位ベクトルを格納するVector2番号

 

指定ベクトルを同一方向の長さ1である単位ベクトルに変換する。

NORMALIZE VECTOR3 : NORMALIZE VECTOR3 VectorResult, VectorSource

Vector3の単位ベクトル化
VectorSource=単位ベクトル化するVector3番号
VectorResult=単位ベクトルを格納するVector3番号

 

指定ベクトルを同一方向の長さ1である単位ベクトルに変換する。

NORMALIZE VECTOR4 : NORMALIZE VECTOR4 VectorResult, VectorSource

Vector4の単位ベクトル化
VectorSource=単位ベクトル化するVector4番号
VectorResult=単位ベクトルを格納するVector4番号

 

指定ベクトルを同一方向の長さ1である単位ベクトルに変換する。

PROJECT VECTOR3 : PROJECT VECTOR3 VectorResult, VectorSource, Matrix4Projection, Matrix4View, **Matrix4World

ROTATE X MATRIX4 : ROTATE X MATRIX4 Matrix4Result, Angle

ROTATE Y MATRIX4 : ROTATE Y MATRIX4 Matrix4Result, Angle

ROTATE Z MATRIX4 : ROTATE Z MATRIX4 Matrix4Result, Angle

ROTATE YPR MATRIX4 : ROTATE YPR MATRIX4 Matrix4Result, Yaw, Pitch, Roll

SCALE MATRIX4 : SCALE MATRIX4 Matrix4Result, X, Y, Z

SCALE VECTOR2 : SCALE VECTOR2 VectorResult, VectorSource, Value

SCALE VECTOR3 : SCALE VECTOR3 VectorResult, VectorSource, Value

SCALE VECTOR4 : SCALE VECTOR4 VectorResult, VectorSource, Value

SET IDENTITY MATRIX4 : SET IDENTITY MATRIX4 Matrix4Result

SET VECTOR2 : SET VECTOR2 VectorResult, X, Y

Vector2の要素値設定
VectorResult=格納するVector2番号
X=X値
Y=Y値

 

指定ベクトルの各要素を設定する。

SET VECTOR3 : SET VECTOR3 VectorResult, X, Y, Z

Vector3の要素値設定
VectorResult=格納するVector3番号
X=X値
Y=Y値
Z=Z値

 

指定ベクトルの各要素を設定する。

SET VECTOR4 : SET VECTOR4 VectorResult, X, Y, Z, W

Vector4の要素値設定
VectorResult=格納するVector4番号
X=X値
Y=Y値
Z=Z値
W=W値

 

指定ベクトルの各要素を設定する。

SUBTRACT MATRIX4 : SUBTRACT MATRIX4 Matrix4Result, Matrix4A, Matrix4B

SUBTRACT VECTOR2 : SUBTRACT VECTOR2 VectorResult, VectorA, VectorB

SUBTRACT VECTOR3 : SUBTRACT VECTOR3 VectorResult, VectorA, VectorB

SUBTRACT VECTOR4 : SUBTRACT VECTOR4 VectorResult, VectorA, VectorB

TRANSFORM VECTOR4 : TRANSFORM VECTOR4 VectorResult, VectorSource, Matrix4Source

TRANSFORM COORDS VECTOR2 : TRANSFORM COORDS VECTOR2 VectorResult, VectorSource, Matrix4Source

TRANSFORM COORDS VECTOR3 : TRANSFORM COORDS VECTOR3 VectorResult, VectorSource, Matrix4Source

TRANSFORM NORMALS VECTOR3 : TRANSFORM NORMALS VECTOR3 VectorResult, VectorSource, Matrix4Source

TRANSLATE MATRIX4 : TRANSLATE MATRIX4 Matrix4Result, X, Y, Z

TRANSPOSE MATRIX4 : TRANSPOSE MATRIX4 Matrix4Result, Matrix4Source

GET MATRIX4 ELEMENT : Return Float=GET MATRIX4 ELEMENT(Matrix4Result, Element Index)



バージョン66b拡張関数