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

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