ARVec4
所有文档

          AR开放平台

          ARVec4

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

          ARVec4表示一个四维向量,包含四个float型成员x,y,z,w。

          Fields

          类型 成员变量
          float x
          float y
          float z
          float w

          ARVec4::x

          获取四维向量中的x的值

          Parameters

          Returns

          • float | x
          sample:
          local vec4 = ae.ARVec4:new_local(30,50,70,90)
          local x_value = vec4.x

          ARVec4::y

          获取四维向量中的y的值

          Parameters

          Returns

          • float | y

          DEMO:

          local vec4 = ae.ARVec4:new_local(30,50,70,90)
          local y_value = vec4.y

          ARVec4::z

          获取四维向量中的z的值

          Parameters

          Returns

          • float | z
          sample:
          local vec4 = ae.ARVec4:new_local(30,50,70,90)
          local z_value = vec4.z

          ARVec4::w

          获取四维向量中的w的值

          Parameters

          Returns

          • float | w
          sample:
          local vec4 = ae.ARVec4:new_local(30,50,70,90)
          local w_value = vec4.w

          Public Methods

          返回类型 函数名 备注
          ARVec4 ARVec4() 构造函数
          ARVec4 ARVec4(float x, float y, float z, float w) 构造函数
          float dot(ARVec4& data) 向量点乘
          ARVec4 normalize() 返回这个向量的单位向量
          float length() 获取长度
          string to_string() 转换为字符串
          ARVec4 operator+(const ARVec4& src) + 号操作符
          ARVec4 operator-(const ARVec4& src) - 号操作符
          ARVec4 operator*(const ARVec4& src) * 号操作符(向量相乘)
          ARVec4 operator*(const float scale) * 号操作符(数字相乘)
          ARVec4 operator/(const ARVec4& src) / 号操作符
          bool operator==(const ARVec4& src) ==号操作符
          float& operator[](unsigned i) []号操作符

          ARVec4::ARVec4()

          ARVec4 ARVec4()

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

          Parameters

          Returns

          • ARVec4 | 一个新的ARVec4

          返回值为ARVec4

          DEMO:

          local data = ae.ARVec4:new_local()

          ARVec4::ARVec4(float x, float y, float z, float w)

          ARVec4 ARVec4(float x, float y, float z, float w)

          构造函数,返回值为ARVec4

          Parameters

          • x | float
          • y | float
          • z | float
          • w | float

          Returns

          • ARVec4 | 一个新的ARVec4
          sample:
          local data = ae.ARVec4:new_local(1,2,3,4)

          ARVec4::dot(ARVec4& data)

          float dot(ARVec4& data)

          点乘

          Parameters

          • data | ARVec4

          Returns

          • float | 点乘结果
          sample:
          local data = ae.ARVec4:new_local(1,2,3,4)
          local data4 = ae.ARVec4:new_local(1,2,3,4)
          local result = data:dot(data4)

          ARVec4::normalize()

          ARVec4 normalize()

          返回这个向量的单位向量

          Parameters

          Returns

          • ARVec4 | 返回这个向量的单位向量
          sample:
          local data = ae.ARVec4:new_local(1,2,3,4)
          local result = data:normalize()

          ARVec4::length()

          float length()

          得到向量的长度

          Parameters

          Returns

          • float | 向量的长度
          sample:
          local data = ae.ARVec4:new_local(1,2,3,4)
          local result = data:length()

          ARVec4::to_string()

          string to_string()

          获取向量的字符串表示

          Parameters

          Returns

          • string | 向量的字符串显示
          sample:
          local data = ae.ARVec4:new_local(1,2,3,4)
          local result = data:to_string()

          ARVec4::operator+(const ARVec4& src)

          ARVec4 operator+(const ARVec4& src)

          重载加号运算符,向量各个分量相加

          Parameters

          • src | ARVec4

          Returns

          • ARVec4 | 一个新的ARVec4
          sample:
          local data1 = ae.ARVec4:new_local(1,2,3,4)
          local data2 = ae.ARVec4:new_local(1,2,3,4)
          local result = data1 + data2

          ARVec4::operator-(const ARVec4& src)

          ARVec4 operator-(const ARVec4& src)

          重载减号运算符,向量各个分量相减

          Parameters

          • src | ARVec4

          Returns

          • ARVec4 | 一个新的ARVec4
          sample:
          local data1 = ae.ARVec4:new_local(1,2,3,4)
          local data2 = ae.ARVec4:new_local(1,2,3,4)
          local result = data1 - data2

          ARVec4::operator*(const ARVec4& src)

          ARVec4 operator*(const ARVec4& src)

          重载乘号运算符,向量各个分量相乘

          Parameters

          • src | ARVec4

          Returns

          • ARVec4 | 一个新的ARVec4
          sample:
          local data1 = ae.ARVec4:new_local(1,2,3,4)
          local data2= ae.ARVec4:new_local(1,2,3,4)
          local result = data1 * data2

          ARVec4::operator*(const float scale)

          ARVec4 operator*(const float scale)

          重载乘号运算符,与一个数相乘,向量各个分量分别与该数相乘

          Parameters

          • scale | float 放大系数

          Returns

          • ARVec4 | 一个新的ARVec4
          sample:
          local data1 = ae.ARVec4:new_local(1,2,3,4)
          local scale = 4.0
          local result = data1 * scale

          ARVec4::operator/(const ARVec4& src)

          ARVec4 operator/(const ARVec4& src)

          重载除号运算符,向量各个分量相除

          Parameters

          • src | ARVec4

          Returns

          • ARVec4 | 一个新的ARVec4
          sample:
          local data1 = ae.ARVec4:new_local(1,2,3,4)
          local data2 = ae.ARVec4:new_local(1,2,3,4)
          local result = data1 / data2

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

          bool operator==(const ARVec4& src)

          重载等于运算符,所有分量相等则相等

          Parameters

          • src | ARVec4

          Returns

          • bool | true 或者fasle
          sample:
          local data1 = ae.ARVec4:new_local(1,2,3,4)
          local data4 = ae.ARVec4:new_local(1,2,3,4)
          if (data1 == data4) then
          
          else
          
          end

          ARVec4::operator[](unsigned i)

          float operator[](unsigned i)

          重载[]操作符,[0]表示获取x的值,[1]表示获取y的值,[2]表示获取z的值,[3]表示获取w的值 注意:调用3以上会造成数组越界,是非法操作

          Parameters

          • i |int 表示序列数index

          Returns

          • float | x或y或z或w的值
          sample:
          local data = ae.ARVec4:new_local(1,2,3,4)
          local x = data[0]
          local y = data[1]
          local z = data[2]
          local w = data[3]
          上一篇
          ARVec3
          下一篇
          网络访问