AR_Engine_SDK
Functions | Variables
XMath3D.lua File Reference

Functions

function XVECTOR2 __call ()
 
function XVECTOR2 __call (fValue)
 
function XVECTOR2 __call (fx, fy)
 
function XVECTOR2 __call (vRhs)
 
function XVECTOR2 Normalize ()
 
function XVECTOR2 Set (fx, fy)
 
function XVECTOR2 Clear ()
 
function XVECTOR2 IsZero ()
 
function XVECTOR2 IsEquals (vec, fEpsilon)
 
function XVECTOR2 Magnitude ()
 
function XVECTOR2 SquaredMagnitude ()
 
function XVECTOR2 MinMemberValue ()
 
function XVECTOR2 MaxMemberValue ()
 
function XVECTOR2 Snap ()
 
function XVECTOR2 AddVecWith (vec)
 
function XVECTOR2 SubVecWith (vec)
 
function XVECTOR2 MulFloatWith (fvalue)
 
function XVECTOR2 DevFloatWith (fvalue)
 
function XVECTOR3 new ()
 
function XVECTOR3 new (m)
 
function XVECTOR3 new (x, y, z)
 
function XVECTOR3 new (v)
 
function XVECTOR3 Set (_x, _y, _z)
 
function XVECTOR3 IsEquals (v, epsilon)
 
function XVECTOR3 MagnitudeH ()
 
function XVECTOR3 SquaredMagnitudeH ()
 
function XVECTOR3 MinMember ()
 
function XVECTOR3 MaxMember ()
 
function XVECTOR3 CrossProduct (v1, v2)
 
function XVECTOR3 MulFloatWith (f)
 
function XVECTOR3 DevFloatWith (f)
 
function XVECTOR4 new (_x, _y, _z, _w)
 
function XVECTOR4 new (f)
 
function XVECTOR4 Set (_x, _y, _z, _w)
 
function XMATRIX3 new (c)
 
function XMATRIX3 new (rkMatrix)
 
function XMATRIX3 new (fEntry00, fEntry01, fEntry02, fEntry10, fEntry11, fEntry12, fEntry20, fEntry21, fEntry22)
 
function XMATRIX3 GetRow (i)
 
function XMATRIX3 GetCol (i)
 
function XMATRIX3 Transpose ()
 
function XMATRIX3 Identity ()
 
function XMATRIX3 Translate (x, y)
 
function XMATRIX3 Rotate (fRad)
 
function XMATRIX3 InverseTM ()
 
function XMATRIX3 MulMatWith (mRight)
 
function XMATRIX4 new (mat)
 

Variables

 XVECTOR2 = {}
 
XVECTOR2 x = 0
 @type number More...
 
XVECTOR2 y = 0
 @type number More...
 
 XVECTOR3 = {}
 
XVECTOR3 z = 0
 @type number More...
 
 XVECTOR4 = {}
 
XVECTOR4 w = 0
 @type number More...
 
 XMATRIX3 = {}
 
XMATRIX3 IDENTITY = 0
 
XMATRIX3 CLEARED = 0
 
XMATRIX3 _11 = 0
 @type number More...
 
XMATRIX3 _12 = 0
 @type number More...
 
XMATRIX3 _13 = 0
 @type number More...
 
XMATRIX3 _21 = 0
 @type number More...
 
XMATRIX3 _22 = 0
 @type number More...
 
XMATRIX3 _23 = 0
 @type number More...
 
XMATRIX3 _31 = 0
 @type number More...
 
XMATRIX3 _32 = 0
 @type number More...
 
XMATRIX3 _33 = 0
 @type number More...
 
 XMATRIX4 = {}
 
XMATRIX4 _14 = 0
 @type number More...
 
XMATRIX4 _24 = 0
 @type number More...
 
XMATRIX4 _34 = 0
 @type number More...
 
XMATRIX4 _41 = 0
 @type number More...
 
XMATRIX4 _42 = 0
 @type number More...
 
XMATRIX4 _43 = 0
 @type number More...
 
XMATRIX4 _44 = 0
 @type number More...
 

Function Documentation

◆ __call() [1/4]

function XVECTOR2 __call ( )

XVECTOR2_new00

Returns
XVECTOR2

◆ __call() [2/4]

function XVECTOR2 __call ( fValue  )

XVECTOR2_new01

Parameters
fValuenumber
Returns
XVECTOR2

◆ __call() [3/4]

function XVECTOR2 __call ( fx  ,
fy   
)

XVECTOR2_new02

Parameters
fxnumber
fynumber
Returns
XVECTOR2

◆ __call() [4/4]

function XVECTOR2 __call ( vRhs  )

XVECTOR2_new03

Parameters
vRhsXVECTOR2
Returns
XVECTOR2

◆ AddVecWith()

function XVECTOR3 AddVecWith ( vec  )

@manual xelua_XEngine_XVECTOR2_AddVecWith_manual XVECTOR2_AddVecWith_manual

Parameters
vecXVECTOR2
Returns
void

@manual xelua_XEngine_XVECTOR3_AddVecWith_manual XVECTOR3_AddVecWith_manual

Parameters
vecXVECTOR3
Returns
void

◆ Clear()

function XVECTOR2 Clear ( )

将XVECTOR2向量的三个分量分别置为0

Returns
void

◆ CrossProduct()

function XVECTOR3 CrossProduct ( v1  ,
v2   
)

叉积函数,计算向量vec1和向量vec2的叉积,此函数是XVECTOR2的友元函数

Parameters
v1XVECTOR3
v2XVECTOR3
Returns
void 向量vec1和向量vec2的叉积运算得到的向量

◆ DevFloatWith() [1/2]

function XVECTOR2 DevFloatWith ( fvalue  )

@manual xelua_XEngine_XVECTOR2_DevFloatWith_manual XVECTOR2_DevFloatWith_manual

Parameters
fvaluenumber
Returns
void

◆ DevFloatWith() [2/2]

function XVECTOR3 DevFloatWith ( )

@manual xelua_XEngine_XVECTOR3_DevFloatWith_manual XVECTOR3_DevFloatWith_manual

Parameters
fnumber
Returns
void

◆ GetCol()

function XMATRIX3 GetCol ( )

获取当前矩阵第 i 列的向量

Parameters
inumber 表示当前矩阵列号的索引值
Returns
XVECTOR3 XVECTOR3:当前矩阵第i列的向量

◆ GetRow()

function XMATRIX3 GetRow ( )

获取当前矩阵第 i 行的向量

Parameters
inumber 表示当前矩阵行号的索引值
Returns
XVECTOR3 XVECTOR3:当前矩阵第i行的向量

◆ Identity()

function XMATRIX3 Identity ( )

将当前矩阵设为单位矩阵,即其主对角线上的元素全为1,其他元素全为0。

Returns
void

◆ InverseTM()

function XMATRIX3 InverseTM ( )

将当前矩阵进行逆转置矩阵的运算,即先对矩阵计算出逆矩阵,再对逆矩阵做转置矩阵的计算。

Returns
void

◆ IsEquals() [1/2]

function XVECTOR2 IsEquals ( vec  ,
fEpsilon   
)

判断当 XVECTOR2向量与向量vec是否在fEpsilon的误差内相等

Parameters
vecXVECTOR2 待比较的向量
fEpsilonnumber 误差容限,代表浮点数不精确度的公差
Returns
boolean True:表示当前向量与v向量在fEpsilon误差内相等;False:表示当前向量与v向量在fEpsilon误差内不相等。

◆ IsEquals() [2/2]

function XVECTOR4 IsEquals ( ,
epsilon   
)

判断当 XVECTOR2向量与向量vec是否在fEpsilon的误差内相等

Parameters
vXVECTOR3
epsilonnumber
Returns
boolean True:表示当前向量与v向量在fEpsilon误差内相等;False:表示当前向量与v向量在fEpsilon误差内不相等。

判断当 XVECTOR2向量与向量vec是否在fEpsilon的误差内相等

Parameters
vXVECTOR4
epsilonnumber
Returns
boolean True:表示当前向量与v向量在fEpsilon误差内相等;False:表示当前向量与v向量在fEpsilon误差内不相等。

◆ IsZero()

function XVECTOR3 IsZero ( )

判断XVECTOR2向量是否是零向量,当2个分量均是0时,当前向量才是零向量。

Returns
boolean 是否是零向量,True:是零向量;False:非零向量

◆ Magnitude()

function XVECTOR3 Magnitude ( )

计算当前XVECTOR2向量的模

Returns
number 当前向量的模

◆ MagnitudeH()

function XVECTOR3 MagnitudeH ( )

计算当前向量 x 分量与 z 分量平方和的平方根,并返回结果。

Returns
number x分量与z分量平方和的平方根

◆ MaxMember()

function XVECTOR3 MaxMember ( )

获取当前向量分量中的最大值

Returns
number 当前向量分量中的最大值

◆ MaxMemberValue()

function XVECTOR2 MaxMemberValue ( )

获取当前向量XY分量中的最大值

Returns
number 当前向量分量中的最大值

◆ MinMember()

function XVECTOR3 MinMember ( )

获取当前向量分量中的最小值

Returns
number 当前向量分量中的最小值

◆ MinMemberValue()

function XVECTOR2 MinMemberValue ( )

获取当前向量XY分量中的最小值

Returns
number 当前向量分量中的最小值

◆ MulFloatWith() [1/2]

function XVECTOR2 MulFloatWith ( fvalue  )

@manual xelua_XEngine_XVECTOR2_MulFloatWith_manual XVECTOR2_MulFloatWith_manual

Parameters
fvaluenumber
Returns
void

◆ MulFloatWith() [2/2]

function XVECTOR3 MulFloatWith ( )

@manual xelua_XEngine_XVECTOR3_MulFloatWith_manual XVECTOR3_MulFloatWith_manual

Parameters
fnumber
Returns
void

◆ MulMatWith()

function XMATRIX3 MulMatWith ( mRight  )

@manual xelua_XEngine_XMATRIX3_MulMatWith_manual XMATRIX3_MulMatWith_manual

Parameters
mRightXMATRIX3
Returns
XMATRIX3

◆ new() [1/10]

function XVECTOR3 new ( )

XVECTOR3_new00

Returns
XVECTOR3

XVECTOR4_new00

Returns
XVECTOR4

XMATRIX3_new00

Returns
XMATRIX3

XMATRIX4_new00

Returns
XMATRIX4

◆ new() [2/10]

function XVECTOR3 new ( )

XVECTOR3_new01

Parameters
mnumber
Returns
XVECTOR3

◆ new() [3/10]

function XVECTOR3 new ( x  ,
y  ,
z   
)

XVECTOR3_new02

Parameters
xnumber
ynumber
znumber
Returns
XVECTOR3

◆ new() [4/10]

function XMATRIX4 new ( )

XVECTOR3_new03

Parameters
vXVECTOR3
Returns
XVECTOR3

XVECTOR4_new03

Parameters
vXVECTOR4
Returns
XVECTOR4

XVECTOR4_new04

Parameters
vXVECTOR3
Returns
XVECTOR4

XMATRIX4_new01

Parameters
vnumber
Returns
XMATRIX4

◆ new() [5/10]

function XVECTOR4 new ( _x  ,
_y  ,
_z  ,
_w   
)

XVECTOR4_new01

Parameters
_xnumber
_ynumber
_znumber
_wnumber
Returns
XVECTOR4

◆ new() [6/10]

function XVECTOR4 new ( )

XVECTOR4_new02

Parameters
fnumber
Returns
XVECTOR4

◆ new() [7/10]

function XMATRIX4 new ( )

XMATRIX3_new01

Parameters
cnumber
Returns
XMATRIX3

XMATRIX4_new03

Parameters
cnumber
Returns
XMATRIX4

◆ new() [8/10]

function XMATRIX3 new ( rkMatrix  )

XMATRIX3_new02

Parameters
rkMatrixXMATRIX3
Returns
XMATRIX3

◆ new() [9/10]

function XMATRIX3 new ( fEntry00  ,
fEntry01  ,
fEntry02  ,
fEntry10  ,
fEntry11  ,
fEntry12  ,
fEntry20  ,
fEntry21  ,
fEntry22   
)

XMATRIX3_new03

Parameters
fEntry00number
fEntry01number
fEntry02number
fEntry10number
fEntry11number
fEntry12number
fEntry20number
fEntry21number
fEntry22number
Returns
XMATRIX3

◆ new() [10/10]

function XMATRIX4 new ( mat  )

XMATRIX4_new02

Parameters
matXMATRIX4
Returns
XMATRIX4

◆ Normalize()

function XVECTOR3 Normalize ( )

将当前XVECTOR2向量单位化,并返回单位化之前向量的模。单位化是指将向量的模变为1.

Returns
number 向量单位化之前的模

◆ Rotate()

function XMATRIX3 Rotate ( fRad  )

将当前矩阵旋转fRad弧度的矩阵。

Parameters
fRadnumber 表示旋转角(弧度)。
Returns
void

◆ Set() [1/3]

function XVECTOR2 Set ( fx  ,
fy   
)

设置XVECTOR2向量的2个分量

Parameters
fxnumber 为XVECTOR2的x分量赋值的变量
fynumber 为XVECTOR2的y分量赋值的变量
Returns
void

◆ Set() [2/3]

function XVECTOR3 Set ( _x  ,
_y  ,
_z   
)

设置XVECTOR2向量的2个分量

Parameters
_xnumber
_ynumber
_znumber
Returns
void

◆ Set() [3/3]

function XVECTOR4 Set ( _x  ,
_y  ,
_z  ,
_w   
)

设置XVECTOR2向量的2个分量

Parameters
_xnumber
_ynumber
_znumber
_wnumber
Returns
void

◆ Snap()

function XVECTOR3 Snap ( )

修正XY分量到[-1,1]之间

Returns
void

◆ SquaredMagnitude()

function XVECTOR3 SquaredMagnitude ( )

计算当前XVECTOR2向量的模的平方。

Returns
number 当前向量的模的平方

◆ SquaredMagnitudeH()

function XVECTOR3 SquaredMagnitudeH ( )

计算当前 XVECTOR3 向量 x 分量和 z 分量的平方和

Returns
number 当前向量x分量和z分量的平方和。

◆ SubVecWith()

function XVECTOR3 SubVecWith ( vec  )

@manual xelua_XEngine_XVECTOR2_SubVecWith_manual XVECTOR2_SubVecWith_manual

Parameters
vecXVECTOR2
Returns
void

@manual xelua_XEngine_XVECTOR3_SubVecWith_manual XVECTOR3_SubVecWith_manual

Parameters
vecXVECTOR3
Returns
void

◆ Translate()

function XMATRIX3 Translate ( x  ,
y   
)

将当前矩阵设为表示平移信息的矩阵,平移向量为(x,y)。此时,当前矩阵不包含旋转和缩放信息。

Parameters
xnumber 表示平移向量的x分量
ynumber 表示平移向量的y分量
Returns
void

◆ Transpose()

function XMATRIX3 Transpose ( )

将当前矩阵进行转置运算,即将交换矩阵的行和列。

Returns
void

Variable Documentation

◆ _11

XMATRIX4 _11 = 0

@type number

◆ _12

XMATRIX4 _12 = 0

@type number

◆ _13

XMATRIX4 _13 = 0

@type number

◆ _14

XMATRIX4 _14 = 0

@type number

◆ _21

XMATRIX4 _21 = 0

@type number

◆ _22

XMATRIX4 _22 = 0

@type number

◆ _23

XMATRIX4 _23 = 0

@type number

◆ _24

XMATRIX4 _24 = 0

@type number

◆ _31

XMATRIX4 _31 = 0

@type number

◆ _32

XMATRIX4 _32 = 0

@type number

◆ _33

XMATRIX4 _33 = 0

@type number

◆ _34

XMATRIX4 _34 = 0

@type number

◆ _41

XMATRIX4 _41 = 0

@type number

◆ _42

XMATRIX4 _42 = 0

@type number

◆ _43

XMATRIX4 _43 = 0

@type number

◆ _44

XMATRIX4 _44 = 0

@type number

◆ CLEARED

XMATRIX3 CLEARED = 0

◆ IDENTITY

XMATRIX4 IDENTITY = 0

◆ w

XVECTOR4 w = 0

@type number

◆ x

XVECTOR4 x = 0

@type number

◆ XMATRIX3

XMATRIX3 = {}

◆ XMATRIX4

XMATRIX4 = {}

◆ XVECTOR2

XVECTOR2 = {}

◆ XVECTOR3

XVECTOR3 = {}

◆ XVECTOR4

XVECTOR4 = {}

◆ y

XVECTOR4 y = 0

@type number

◆ z

XVECTOR4 z = 0

@type number