AR_Engine_SDK
载入中...
搜索中...
未找到
函数 | 变量
XEMath.lua 文件参考

函数

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) end
 
function XEMath EulerToMatrix (fPitch, fYaw, fRoll) end
 
function XEMath EulerToQuaternion (fPitch, fYaw, fRoll) end
 
function XEMath DirAndUpToQuaternion (vForwardDir, vUp) end
 
function XEMath QuaternionToDirAndUp (quat) end
 
function XEMath LocationDirAndUpToMatrix (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 IsMatrixIdentity (mat) 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
 

变量

 XEMath = {}
 

函数说明

◆ AreaOfTriangle()

function XEMath AreaOfTriangle ( v1  ,
v2  ,
v3   
)

计算三角形面积.

参数
v1XVECTOR2 点坐标1
v2XVECTOR2 点坐标2
v3XVECTOR2 点坐标3
返回
number 结果

◆ Atan2()

function XEMath Atan2 ( ,
 
)

计算 y/x 反正切值.

参数
Ynumber 输入值Y
Xnumber 输入值X
返回
number 结果

◆ ClampAxis()

function XEMath ClampAxis ( radian  )

把一个角度规范化到[0,2*PI).

参数
radiannumber 输入值
返回
number 规范化结果

◆ ComputerMin2nSubSquare()

function XEMath ComputerMin2nSubSquare ( nSize  )

计算下个2的幂值

  1. 最靠近这个数 2. 大于或等于这个数 3. 是2的N次方
    参数
    nSizenumber 输入数值
    返回
    number 输出幂值

◆ DirAndUpToQuaternion()

function XEMath DirAndUpToQuaternion ( vForwardDir  ,
vUp   
)

前方向和上方向向量转四元数

参数
vForwardDirXVECTOR3 前方向向量
vUpXVECTOR3 上方向向量
返回
XQUATERNION
void

◆ EliminateRotateFromMatrix()

function XEMath EliminateRotateFromMatrix ( mat  )

从矩阵中去除旋转信息

参数
matXMATRIX4 矩阵
返回
XMATRIX4

◆ EliminateScaleFromMatrix()

function XEMath EliminateScaleFromMatrix ( mat  )

从矩阵中去除缩放信息

参数
matXMATRIX4 矩阵
返回
XMATRIX4 返回自身

◆ EliminateTranslateFromMatrix()

function XEMath EliminateTranslateFromMatrix ( mat  )

从矩阵中去除位置信息

参数
matXMATRIX4 矩阵
返回
XMATRIX4

◆ EulerToMatrix()

function XEMath EulerToMatrix ( fPitch  ,
fYaw  ,
fRoll   
)

欧拉角转矩阵

参数
fPitchnumber 俯仰角
fYawnumber 偏航角
fRollnumber 翻滚角
返回
XMATRIX4
void

◆ EulerToQuaternion()

function XEMath EulerToQuaternion ( fPitch  ,
fYaw  ,
fRoll   
)

欧拉角转四元数

参数
fPitchnumber 俯仰角
fYawnumber 偏航角
fRollnumber 翻滚角
返回
XQUATERNION
void

◆ FastAsin()

function XEMath FastAsin ( Value  )

计算一个浮点数的反正弦.

参数
Valuenumber 输入值
返回
number 反正弦结果

◆ GenerateMatrix()

function XEMath GenerateMatrix ( vTranslate  ,
quatRotate  ,
vScale   
)

根据平移、旋转、缩放得到矩阵

参数
vTranslateXVECTOR3 代表平移信息的向量
quatRotateXQUATERNION 代表旋转信息的四元数
vScaleXVECTOR3 代表缩放信息的向量
返回
XMATRIX4 矩阵

◆ GenerateMostNearSizeWithRate()

function XEMath GenerateMostNearSizeWithRate ( vOriginSize  ,
fSizeRate  ,
nStepSize   
)

产生宽高等比(fSizeRate)的最接近原始宽高(vOriginSize)的宽高

参数
vOriginSizeXVECTOR2 原始宽高
fSizeRatenumber 宽高比
nStepSizenumber 测试步进长度默认为1.f
返回
XVECTOR2 结果宽高

◆ GenerateOrthoProjMatrix()

function XEMath GenerateOrthoProjMatrix ( fLeft  ,
fRight  ,
fButtom  ,
fTop  ,
fNear  ,
fFar   
)

生成一个正交投影矩阵

参数
fLeftnumber 左平面到原点距离
fRightnumber 右平面到原点距离
fButtomnumber 底平面到原点距离
fTopnumber 上平面到原点距离
fNearnumber 近平面到原点距离
fFarnumber 远平面到原点距离
返回
XMATRIX4 正交投影矩阵

◆ GenerateScaleMatrixForVector() [1/2]

function XEMath GenerateScaleMatrixForVector ( vScale  )

根据缩放信息生成缩放矩阵

参数
vScaleXVECTOR3 缩放信息
返回
XMATRIX4 缩放矩阵矩阵

◆ GenerateScaleMatrixForVector() [2/2]

function XEMath GenerateScaleMatrixForVector ( vScale  ,
vOriginPoint   
)

XEMath_GenerateScaleMatrixForVector01

参数
vScaleXVECTOR3
vOriginPointXVECTOR3
返回
XMATRIX4

◆ GenerateTranslateMatrixForVector()

function XEMath GenerateTranslateMatrixForVector ( vTranslate  )

根据平移信息生成平移矩阵

参数
vTranslateXVECTOR3 平移信息
返回
XMATRIX4 平移矩阵

◆ GetMatrixFromQuaternion()

function XEMath GetMatrixFromQuaternion ( quat  )

四元数转矩阵

参数
quatXQUATERNION 输入的四元数
返回
XMATRIX4 输出的矩阵

◆ GetQuaternionFromMatrix()

function XEMath GetQuaternionFromMatrix ( mat  )

从矩阵中获取四元数信息

参数
matXMATRIX4 输入的矩阵
返回
XQUATERNION 四元数信息

◆ GetScaleFromMatrix()

function XEMath GetScaleFromMatrix ( mat  )

从矩阵中获取缩放信息

参数
matXMATRIX4 输入的矩阵
返回
XVECTOR3 缩放信息

◆ InvSqrt()

function XEMath InvSqrt ( fNumber  )

平方根倒数

参数
fNumbernumber 输入数值
返回
number 输出数值

◆ Is2MatrixClosed()

function XEMath Is2MatrixClosed ( mat1  ,
mat2  ,
fEpsilon   
)

判断两个矩阵是否相等

参数
mat1XMATRIX4 矩阵1
mat2XMATRIX4 矩阵2
fEpsilonnumber 精度,默认1.e-6f
返回
boolean 是否相等

判断两个矩阵是否相等

参数
mat1XMATRIX3 矩阵1
mat2XMATRIX3 矩阵2
fEpsilonnumber 精度,默认1.e-6f
返回
boolean 是否相等

◆ IsFinite()

function XEMath IsFinite ( )

如果是一个有限数值返回true (not NaN and not Infinity).

参数
Anumber
返回
boolean

◆ IsMatrixIdentity()

function XEMath IsMatrixIdentity ( mat  )

判断矩阵是否为单位矩阵

参数
matXMATRIX4 矩阵1
返回
boolean 是否为单位矩阵

◆ IsNaN()

function XEMath IsNaN ( )

判定浮点型数据是否溢出

参数
Anumber 浮点数
返回
boolean 是否溢出

◆ IsNearlyZero()

function XEMath IsNearlyZero ( Value  ,
ErrorTolerance   
)

判断一个浮点数是否接近0.

参数
Valuenumber
ErrorTolerancenumber
返回
boolean

◆ IsNegativeFloat()

function XEMath IsNegativeFloat ( )

是否是负浮点数.

参数
Anumber 判断的浮点数
返回
boolean 结果

◆ LocationDirAndUpToMatrix()

function XEMath LocationDirAndUpToMatrix ( vLocation  ,
vForwardDir  ,
vUp   
)

位置、前方向和上方向向量转矩阵

参数
vLocationXVECTOR3 位置坐标
vForwardDirXVECTOR3 前方向向量
vUpXVECTOR3 上方向向量
返回
XMATRIX4
void

◆ MatrixToLocationAndDirAndUp()

function XEMath MatrixToLocationAndDirAndUp ( mat4  )

矩阵转位置、前方向和上方向向量

参数
mat4XMATRIX4 输入的矩阵
返回
XVECTOR3
XVECTOR3
XVECTOR3
void

◆ MultMatrix()

function XEMath MultMatrix ( mat1  ,
mat2   
)

矩阵相乘

参数
mat1XMATRIX4 矩阵1
mat2XMATRIX4 矩阵2
返回
XMATRIX4 返回相乘结果

◆ NormalizeAxis()

function XEMath NormalizeAxis ( radian  )

把一个角度规范化到(-PI,PI].

参数
radiannumber 输入值
返回
number 规范化结果

◆ QuaternionToDirAndUp()

function XEMath QuaternionToDirAndUp ( quat  )

四元数转前方向和上方向向量

参数
quatXQUATERNION 输入的四元数
返回
XVECTOR3
XVECTOR3
void

◆ QuaternionToEuler()

function XEMath QuaternionToEuler ( quat  )

四元数转欧拉角

参数
quatXQUATERNION 输入的四元数
返回
number
number
number
void

◆ RotateMatrixWorld()

function XEMath RotateMatrixWorld ( mat  ,
quat   
)

旋转矩阵

参数
matXMATRIX4 矩阵
quatXQUATERNION 旋转四元数信息
返回
XMATRIX4

◆ RotateVector()

function XEMath RotateVector ( quat  ,
vec   
)

对Vec按四元数quat旋转

参数
quatXQUATERNION 旋转四元数信息
vecXVECTOR3 输入的向量
返回
XVECTOR3 旋转后的向量

◆ ScaleMatrixWorld()

function XEMath ScaleMatrixWorld ( mat  ,
vScale   
)

缩放矩阵

参数
matXMATRIX4 矩阵
vScaleXVECTOR3 缩放信息
返回
XMATRIX4

◆ SinCos()

function XEMath SinCos ( ScalarSin  ,
ScalarCos  ,
Value   
)

返回对Value的 sin值、cos值.

参数
ScalarSinnumber [out]Value的sin值
ScalarCosnumber [out]Value的cos值
Valuenumber 输入数据
返回
void

◆ UnrotateVector()

function XEMath UnrotateVector ( quat  ,
vec   
)

对vec按四元数quat的逆旋转

参数
quatXQUATERNION 旋转四元数信息
vecXVECTOR3 输入的向量
返回
XVECTOR3 逆旋转后的向量

◆ Xmod()

function XEMath Xmod ( ,
 
)

取模运算.

参数
Xnumber 输入值X
Ynumber 输入值Y
返回
number 结果

变量说明

◆ XEMath

XEMath = {}