资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

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
下一篇
网络访问