ARMat33
所有文档

          AR开放平台

          ARMat33

          此类封装数学库,适用于2.6版本以上的SDK。

          ARMat33表示一个 三维矩阵,包含三个ARVec3型成员x,y,z

          Fileds

          类型 成员变量
          ARVec3 x
          ARVec3 y
          ARVec3 z

          ARMat33::x

          获取三维矩阵中的x向量,这个向量是一个三维向量

          Parameters

          Returns

          • ARVec3 | 返回x分量
          sample:
          local x_vec = ae.ARVec3:new_local(2,1,4)
          local y_vec = ae.ARVec3:new_local(4,1,2)
          local z_vec = ae.ARVec3:new_local(3,1,2)
          local data = ae.ARMat33:new_local(x_vec, y_vec, z_vec)
           
          local x = data.x

          ARMat33::y

          获取三维矩阵中的y向量,这个向量是一个三维向量

          Parameters

          Returns

          • ARVec3 | 返回y分量

          DEMO:

          sample:
          local x_vec = ae.ARVec3:new_local(2,1,4)
          local y_vec = ae.ARVec3:new_local(4,1,2)
          local z_vec = ae.ARVec3:new_local(3,1,2)
          local data = ae.ARMat33:new_local(x_vec, y_vec, z_vec)
          
           
          local y = data.y

          ARMat33::z

          获取三维矩阵中的z向量,这个向量是一个三维向量

          Parameters

          Returns

          • ARVec3 | 返回z分量

          DEMO:

          sample:
          local x_vec = ae.ARVec3:new_local(2,1,4)
          local y_vec = ae.ARVec3:new_local(4,1,2)
          local z_vec = ae.ARVec3:new_local(3,1,2)
          local data = ae.ARMat33:new_local(x_vec, y_vec, z_vec)
           
          local z = data.z

          Public Methods

          返回类型 函数名 备注
          ARMat33 ARMat33() 构造函数
          ARMat33 ARMat33(ARVec3& x, ARVec3& y, ARVec3& z) 构造函数
          ARMat33 inverse() 返回逆矩阵
          string to_string() 转换为字符串
          ARMat33 operator+(const ARMat33& src + 号操作符
          ARMat33 operator-(const ARMat33& src - 号操作符
          ARMat33 operator*(const ARMat33& src) * 号操作符(矩阵相乘)
          ARVec3 operator*(const ARVec3& src) * 号操作符(矩阵乘以向量)
          ARMat33 operator/(const ARMat33& src / 号操作符
          bool operator==(const ARMat33& src) ==号操作符
          ARVec3& operator[](unsigned i) []号操作符

          ARMat33()::ARMat33()

          ARMat33 ARMat33()

          构造函数,不传入任何参数,向量x、向量y和向量z的值默认为0。

          Parameters

          Returns

          • ARMat33| 一个新的ARMat33
          sample:
          local data = ae.ARMat33:new_local()

          ARMat33::ARMat33(ARVec3& x, ARVec3& y, ARVec3& z)

          ARMat33 ARMat33(ARVec3& x, ARVec3& y, ARVec3& z)`

          构造函数,传入三个ARVec3的向量

          Parameters

          • x | ARVec3
          • y | ARVec3
          • z | ARVec3

          Returns

          • ARMat33| 一个新的ARMat33
          sample:
          local x_vec = ae.ARVec3:new_local(2,1,4)
          local y_vec = ae.ARVec3:new_local(4,1,2)
          local z_vec = ae.ARVec3:new_local(3,1,2)
          local mat33 = ae.ARMat33:new_local(x_vec, y_vec, z_vec)

          ARMat33::inverse()

          ARMat33 inverse()

          返回该矩阵的逆矩阵

          Parameters

          Returns

          • ARMat33| 返回该矩阵的逆矩阵
          sample:
          local x_vec = ae.ARVec3:new_local(2,1,4)
          local y_vec = ae.ARVec3:new_local(4,1,2)
          local z_vec = ae.ARVec3:new_local(3,1,2)
          local mat33 = ae.ARMat33:new_local(x_vec, y_vec, z_vec)
          local inverse_mat33 = mat33:inverse()

          ARMat33::to_string()

          string to_string()

          返回此矩阵的字符串表示

          Parameters

          Returns

          • string | 返回此矩阵的字符串表示
          sample:
          local x_vec = ae.ARVec3:new_local(2,1,4)
          local y_vec = ae.ARVec3:new_local(4,1,2)
          local z_vec = ae.ARVec3:new_local(3,1,2)
          local mat33 = ae.ARMat33:new_local(x_vec, y_vec, z_vec)
          local string_mat = mat33:to_string()

          ARMat33::operator+(const ARMat33& src)

          ARMat33 operator+(const ARMat33& src) 重载加号运算符,两个矩阵相加,矩阵中的每一个值都对应相加

          Parameters

          • src | ARMat33

          Returns

          • ARMat33| 返回一个新的矩阵
          sample:
          //创建ARMat33 mat_a,mat_b
          local mat_result = mat_a + mat_b

          ARMat33::operator-(const ARMat33& src)

          ARMat33 operator-(const ARMat33& src) 重载减号运算符,两个矩阵相减,矩阵中的每一个值都对应相减

          Parameters

          • src | ARMat33

          Returns

          • ARMat33| 返回一个新的矩阵
          sample:
          //创建ARMat33 mat_a,mat_b
          local mat_result = mat_a - mat_b

          ARMat33::operator*(const ARMat33& src)

          ARMat33 operator*(const ARMat33& src) 重载乘号运算符,两个矩阵相乘,按照矩阵乘法的规则进行乘

          Parameters

          • src | ARMat33

          Returns

          • ARMat33| 返回一个新的矩阵
          sample:
          //创建ARMat33 mat_a,mat_b
          local mat_result = mat_a * mat_b

          ARMat33::operator*(const ARVec3& src)

          ARVec3 operator*(const ARVec3& src) 重载乘号运算符,矩阵与向量相乘,按照矩阵向量乘法的规则进行乘

          Parameters

          • src | ARVec3

          Returns

          • ARVec3| 返回一个三维向量
          sample:
          //创建ARMat33 mat
          //创建ARVec3 vec
          local result = mat * vec

          ARMat33::operator/(const ARMat33& src)

          ARMat33 operator/(const ARMat33& src) 重载除号运算符,两个矩阵相除,每个分量分别相除

          Parameters

          • src | ARMat33

          Returns

          • ARMat33| 返回一个新的矩阵
          sample:
          //创建ARMat33 mat_a,mat_b
          local mat_result = mat_a / mat_b

          ARMat33::operator==(const ARMat33& src)

          bool operator==(const ARMat33& src) 重载等于号运算符,判断两个矩阵的每个分量是否相等

          Parameters

          • src | ARMat33

          Returns

          • bool | true 或者false
          sample:
          //创建ARMat33 mat_a,mat_b
          if (mat_a == mat_b) then
          
          else
          
          end

          ARMat33::operator[](unsigned i)

          ARvec3 operator[](unsigned i)

          重载[]运算符,获取相应分量,[0]表示获取x三维向量,[1]表示获取y三维向量,[2]表示获取z三维向量 返回一个ARVec3 注意:调用2以上会造成数组越界,是非法操作

          Parameters

          • i |int 表示序列数index

          Returns

          • ARVec3| 返回x向量、 y向量、z向量中的一个
          sample:
          //创建ARMat33 mat_a
          local x = mat_a[0]
          local y = mat_a[1]
          local z = mat_a[2]
          ```
          上一篇
          ARMat22
          下一篇
          ARMat44