AR_Engine_SDK
|
Functions | |
function XEMath | InvSqrt (fNumber) end |
function XEMath | FastAsin (Value) end |
function XEMath | ClampAxis (radian) end |
function XEMath | NormalizeAxis (radian) end |
function XEMath | Xmod (X, Y) end |
function XEMath | Atan2 (Y, X) end |
function XEMath | AreaOfTriangle (v1, v2, v3) end |
function XEMath | IsNegativeFloat (A) end |
function XEMath | IsNaN (A) end |
function XEMath | IsFinite (A) end |
function XEMath | IsNearlyZero (Value, ErrorTolerance) end |
function XEMath | SinCos (ScalarSin, ScalarCos, Value) end |
function XEMath | QuaternionToEuler (quat, fPitch, fYaw, fRoll) end |
function XEMath | QuaternionToEuler (quat) end |
function XEMath | EulerToMatrix (fPitch, fYaw, fRoll, mat) end |
function XEMath | EulerToMatrix (fPitch, fYaw, fRoll) end |
function XEMath | EulerToQuaternion (fPitch, fYaw, fRoll, quat) end |
function XEMath | EulerToQuaternion (fPitch, fYaw, fRoll) end |
function XEMath | DirAndUpToQuaternion (vForwardDir, vUp, quat) end |
function XEMath | DirAndUpToQuaternion (vForwardDir, vUp) end |
function XEMath | QuaternionToDirAndUp (quat, vForwardDir, vUp) end |
function XEMath | QuaternionToDirAndUp (quat) end |
function XEMath | LocationDirAndUpToMatrix (vLocation, vForwardDir, vUp, mat4) end |
function XEMath | LocationDirAndUpToMatrix (vLocation, vForwardDir, vUp) end |
function XEMath | MatrixToLocationAndDirAndUp (mat4, vLocation, vForwardDir, vUp) end |
function XEMath | MatrixToLocationAndDirAndUp (mat4) end |
function XEMath | GetScaleFromMatrix (mat) end |
function XEMath | GetQuaternionFromMatrix (mat) end |
function XEMath | GetMatrixFromQuaternion (quat) end |
function XEMath | EliminateScaleFromMatrix (mat) end |
function XEMath | EliminateRotateFromMatrix (mat) end |
function XEMath | EliminateTranslateFromMatrix (mat) end |
function XEMath | GenerateTranslateMatrixForVector (vTranslate) end |
function XEMath | GenerateScaleMatrixForVector (vScale) end |
function XEMath | GenerateScaleMatrixForVector (vScale, vOriginPoint) end |
function XEMath | RotateMatrixWorld (mat, quat) end |
function XEMath | ScaleMatrixWorld (mat, vScale) end |
function XEMath | RotateVector (quat, vec) end |
function XEMath | UnrotateVector (quat, vec) end |
function XEMath | Is2MatrixClosed (mat1, mat2, fEpsilon) end |
function XEMath | GenerateOrthoProjMatrix (fLeft, fRight, fButtom, fTop, fNear, fFar) end |
function XEMath | GenerateMostNearSizeWithRate (vOriginSize, fSizeRate, nStepSize) end |
function XEMath | ComputerMin2nSubSquare (nSize) end |
function XEMath | GenerateMatrix (vTranslate, quatRotate, vScale) end |
function XEMath | MultMatrix (mat1, mat2) end |
function XEMath | GetCameraClipSpaceTransformMatrix () end |
Variables | |
XEMath = {} | |
function XEMath AreaOfTriangle | ( | v1 | , |
v2 | , | ||
v3 | |||
) |
计算三角形面积.
v1 | XVECTOR2 点坐标1 |
v2 | XVECTOR2 点坐标2 |
v3 | XVECTOR2 点坐标3 |
function XEMath Atan2 | ( | Y | , |
X | |||
) |
计算 y/x 反正切值.
Y | number 输入值Y |
X | number 输入值X |
function XEMath ClampAxis | ( | radian | ) |
把一个角度规范化到[0,2*PI).
radian | number 输入值 |
function XEMath ComputerMin2nSubSquare | ( | nSize | ) |
计算下个2的幂值
nSize | number 输入数值 |
function XEMath DirAndUpToQuaternion | ( | vForwardDir | , |
vUp | , | ||
quat | |||
) |
前方向和上方向向量转四元数
vForwardDir | XVECTOR3 前方向向量 |
vUp | XVECTOR3 上方向向量 |
quat | XQUATERNION 输出的四元数 |
function XEMath DirAndUpToQuaternion | ( | vForwardDir | , |
vUp | |||
) |
XEMath_DirAndUpToQuaternion01
vForwardDir | XVECTOR3 |
vUp | XVECTOR3 |
function XEMath EliminateRotateFromMatrix | ( | mat | ) |
从矩阵中去除旋转信息
mat | XMATRIX4 矩阵 |
function XEMath EliminateScaleFromMatrix | ( | mat | ) |
从矩阵中去除缩放信息
mat | XMATRIX4 矩阵 |
function XEMath EliminateTranslateFromMatrix | ( | mat | ) |
从矩阵中去除位置信息
mat | XMATRIX4 矩阵 |
function XEMath EulerToMatrix | ( | fPitch | , |
fYaw | , | ||
fRoll | , | ||
mat | |||
) |
欧拉角转矩阵
fPitch | number 俯仰角 |
fYaw | number 偏航角 |
fRoll | number 翻滚角 |
mat | XMATRIX4 输出的矩阵 |
function XEMath EulerToMatrix | ( | fPitch | , |
fYaw | , | ||
fRoll | |||
) |
XEMath_EulerToMatrix01
fPitch | number |
fYaw | number |
fRoll | number |
function XEMath EulerToQuaternion | ( | fPitch | , |
fYaw | , | ||
fRoll | , | ||
quat | |||
) |
欧拉角转四元数
fPitch | number 俯仰角 |
fYaw | number 偏航角 |
fRoll | number 翻滚角 |
quat | XQUATERNION 输出的四元数 |
function XEMath EulerToQuaternion | ( | fPitch | , |
fYaw | , | ||
fRoll | |||
) |
XEMath_EulerToQuaternion01
fPitch | number |
fYaw | number |
fRoll | number |
function XEMath FastAsin | ( | Value | ) |
计算一个浮点数的反正弦.
Value | number 输入值 |
function XEMath GenerateMatrix | ( | vTranslate | , |
quatRotate | , | ||
vScale | |||
) |
根据平移、旋转、缩放得到矩阵
vTranslate | XVECTOR3 代表平移信息的向量 |
quatRotate | XQUATERNION 代表旋转信息的四元数 |
vScale | XVECTOR3 代表缩放信息的向量 |
function XEMath GenerateMostNearSizeWithRate | ( | vOriginSize | , |
fSizeRate | , | ||
nStepSize | |||
) |
产生宽高等比(fSizeRate)的最接近原始宽高(vOriginSize)的宽高
vOriginSize | XVECTOR2 原始宽高 |
fSizeRate | number 宽高比 |
nStepSize | number 测试步进长度默认为1.f |
function XEMath GenerateOrthoProjMatrix | ( | fLeft | , |
fRight | , | ||
fButtom | , | ||
fTop | , | ||
fNear | , | ||
fFar | |||
) |
生成一个正交投影矩阵
fLeft | number 左平面到原点距离 |
fRight | number 右平面到原点距离 |
fButtom | number 底平面到原点距离 |
fTop | number 上平面到原点距离 |
fNear | number 近平面到原点距离 |
fFar | number 远平面到原点距离 |
function XEMath GenerateScaleMatrixForVector | ( | vScale | ) |
根据缩放信息生成缩放矩阵
vScale | XVECTOR3 缩放信息 |
function XEMath GenerateScaleMatrixForVector | ( | vScale | , |
vOriginPoint | |||
) |
XEMath_GenerateScaleMatrixForVector01
vScale | XVECTOR3 |
vOriginPoint | XVECTOR3 |
function XEMath GenerateTranslateMatrixForVector | ( | vTranslate | ) |
根据平移信息生成平移矩阵
vTranslate | XVECTOR3 平移信息 |
function XEMath GetCameraClipSpaceTransformMatrix | ( | ) |
获取引擎在相机裁剪空间里的变换矩阵(如果按OpenGL顶点NDC坐标对顶点变换,则MVP矩阵需要乘以此矩阵)
function XEMath GetMatrixFromQuaternion | ( | quat | ) |
四元数转矩阵
quat | XQUATERNION 输入的四元数 |
function XEMath GetQuaternionFromMatrix | ( | mat | ) |
从矩阵中获取四元数信息
mat | XMATRIX4 输入的矩阵 |
function XEMath GetScaleFromMatrix | ( | mat | ) |
从矩阵中获取缩放信息
mat | XMATRIX4 输入的矩阵 |
function XEMath InvSqrt | ( | fNumber | ) |
平方根倒数
fNumber | number 输入数值 |
function XEMath Is2MatrixClosed | ( | mat1 | , |
mat2 | , | ||
fEpsilon | |||
) |
判断两个矩阵是否相等
mat1 | XMATRIX4 矩阵1 |
mat2 | XMATRIX4 矩阵2 |
fEpsilon | number 精度,默认1.e-6f |
function XEMath IsFinite | ( | A | ) |
如果是一个有限数值返回true (not NaN and not Infinity).
A | number |
function XEMath IsNaN | ( | A | ) |
判定浮点型数据是否溢出
A | number 浮点数 |
function XEMath IsNearlyZero | ( | Value | , |
ErrorTolerance | |||
) |
判断一个浮点数是否接近0.
Value | number |
ErrorTolerance | number |
function XEMath IsNegativeFloat | ( | A | ) |
是否是负浮点数.
A | number 判断的浮点数 |
function XEMath LocationDirAndUpToMatrix | ( | vLocation | , |
vForwardDir | , | ||
vUp | , | ||
mat4 | |||
) |
位置、前方向和上方向向量转矩阵
vLocation | XVECTOR3 位置坐标 |
vForwardDir | XVECTOR3 前方向向量 |
vUp | XVECTOR3 上方向向量 |
mat4 | XMATRIX4 输出的矩阵 |
function XEMath LocationDirAndUpToMatrix | ( | vLocation | , |
vForwardDir | , | ||
vUp | |||
) |
XEMath_LocationDirAndUpToMatrix01
vLocation | XVECTOR3 |
vForwardDir | XVECTOR3 |
vUp | XVECTOR3 |
function XEMath MatrixToLocationAndDirAndUp | ( | mat4 | , |
vLocation | , | ||
vForwardDir | , | ||
vUp | |||
) |
矩阵转位置、前方向和上方向向量
mat4 | XMATRIX4 输入的矩阵 |
vLocation | XVECTOR3 位置坐标 |
vForwardDir | XVECTOR3 前方向向量 |
vUp | XVECTOR3 上方向向量 |
function XEMath MatrixToLocationAndDirAndUp | ( | mat4 | ) |
XEMath_MatrixToLocationAndDirAndUp01
mat4 | XMATRIX4 |
function XEMath MultMatrix | ( | mat1 | , |
mat2 | |||
) |
矩阵相乘
mat1 | XMATRIX4 矩阵1 |
mat2 | XMATRIX4 矩阵2 |
function XEMath NormalizeAxis | ( | radian | ) |
把一个角度规范化到(-PI,PI].
radian | number 输入值 |
function XEMath QuaternionToDirAndUp | ( | quat | , |
vForwardDir | , | ||
vUp | |||
) |
四元数转前方向和上方向向量
quat | XQUATERNION 输入的四元数 |
vForwardDir | XVECTOR3 前方向向量 |
vUp | XVECTOR3 上方向向量 |
function XEMath QuaternionToDirAndUp | ( | quat | ) |
XEMath_QuaternionToDirAndUp01
quat | XQUATERNION |
function XEMath QuaternionToEuler | ( | quat | , |
fPitch | , | ||
fYaw | , | ||
fRoll | |||
) |
四元数转欧拉角
quat | XQUATERNION 输入的四元数 |
fPitch | number [out]俯仰角 |
fYaw | number [out]偏航角 |
fRoll | number [out]翻滚角 |
function XEMath QuaternionToEuler | ( | quat | ) |
XEMath_QuaternionToEuler01
quat | XQUATERNION |
function XEMath RotateMatrixWorld | ( | mat | , |
quat | |||
) |
旋转矩阵
mat | XMATRIX4 矩阵 |
quat | XQUATERNION 旋转四元数信息 |
function XEMath RotateVector | ( | quat | , |
vec | |||
) |
对Vec按四元数quat旋转
quat | XQUATERNION 旋转四元数信息 |
vec | XVECTOR3 输入的向量 |
function XEMath ScaleMatrixWorld | ( | mat | , |
vScale | |||
) |
缩放矩阵
mat | XMATRIX4 矩阵 |
vScale | XVECTOR3 缩放信息 |
function XEMath SinCos | ( | ScalarSin | , |
ScalarCos | , | ||
Value | |||
) |
返回对Value的 sin值、cos值.
ScalarSin | number [out]Value的sin值 |
ScalarCos | number [out]Value的cos值 |
Value | number 输入数据 |
function XEMath UnrotateVector | ( | quat | , |
vec | |||
) |
对vec按四元数quat的逆旋转
quat | XQUATERNION 旋转四元数信息 |
vec | XVECTOR3 输入的向量 |
function XEMath Xmod | ( | X | , |
Y | |||
) |
取模运算.
X | number 输入值X |
Y | number 输入值Y |
XEMath = {} |