开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

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