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拡張関数