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

ARVec2

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

ARVec2表示一个二维向量,包含两个float型成员x、y

Fields

类型 成员变量
float x
float y

ARVec2::x

获取二维向量中的x的值

Parameters

Returns

  • float : x
sample:
local vec2 = ae.ARVec2:new_local(30,50)
local x_value = vec2.x

ARVec2::y

获取二维向量中的y的值

Parameters

Returns

  • float : y

DEMO:

sample:
local vec2 = ae.ARVec2:new_local(30,50)
local y_value = vec2.y

Public Methods

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

ARVec2::ARVec2()

ARVec2 ARVec2()

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

Parameters

Returns

  • ARVec2 : self
sample:
local data = ae.ARVec2:new_local()

ARVec2::ARVec2(float x, float y)

ARVec2 ARVec2(float x, float y)

构造函数

Parameters

  • x | float
  • y | float

Returns

  • ARVec2 : self
sample:
local data = ae.ARVec2:new_local(1,2)

ARVec2::dot(ARVec2& data)

float dot(ARVec2& data)

点乘

Parameters

  • data | ARVec2

Returns

  • float : 点乘的结果
sample:
local data = ae.ARVec2:new_local(1,2)
local data2 = ae.ARVec2:new_local(3,4)
local result = data:dot(data2)

ARVec2::normalize()

ARVec2 normalize()

返回这个向量的单位向量

Parameters

Returns

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

ARVec2::length()

float length()

得到向量的长度

Parameters

Returns

  • float : 向量的长度

DEMO:

sample:
local data = ae.ARVec2:new_local(1,2)
local result = data:length()

ARVec2::to_string()

string to_string()

获取向量的字符串表示

Parameters

Returns

  • string : 返回向量的字符串表示

DEMO:

sample:
local data = ae.ARVec2:new_local(1,2)
local result = data:to_string()

ARVec2::operator+(const ARVec2& src)

ARVec2 operator+(const ARVec2& src)

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

Parameters

  • src | ARVec2

Returns

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

ARVec2::operator-(const ARVec2& src)

ARVec2 operator-(const ARVec2& src)

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

Parameters

  • src | ARVec2

Returns

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

ARVec2::operator*(const ARVec2& src)

ARVec2 operator*(const ARVec2& src)

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

Parameters

  • src | ARVec2

Returns

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

ARVec2::operator*(const float scale)

ARVec2 operator*(const float scale)

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

Parameters

  • scale | float

Returns

  • ARVec2 : 返回一个新的ARVec2
sample:
local data1 = ae.ARVec2:new_local(1,2)
local scale = 2.0
local result = data1 * scale

ARVec2::operator/(const ARVec2& src)

ARVec2 operator/(const ARVec2& src)

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

Parameters

  • src | ARVec2

Returns

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

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

bool operator==(const ARVec2& src)

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

Parameters

  • src | ARVec2

Returns

  • bool : true或者false
sample:
local data1 = ae.ARVec2:new_local(1,2)
local data2 = ae.ARVec2:new_local(3,4)
if (data1 == data2) then

else

end

ARVec2::operator[](unsigned i)

float operator[](unsigned i)

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

Parameters

  • i | int : 表示序列数index

Returns

  • float : 返回x或者y的值
sample:
local data = ae.ARVec2:new_local(1,2)
local x = data[0]
local y = data[1]
上一篇
ARQuat四元数
下一篇
ARVec3