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

Plane

此类封装Plane相关数据与操作,Plane代表几何结构平面,由平面法线向量和由平面沿法线向量到原点的距离表示。

Public methods
Plane Plane
平面的无参构造函数,默认法线方向向量为(0,1,0),由平面沿法线向量到原点的距离默认为0,即xoz平面
Plane Plane(normal, distance)
平面的法线、由平面沿法线向量到原点的距离构造函数,非归一化的平面法线会被归一化保存和进行计算
Plane Plane(v1, v2, v3)
平面的三个非共线点构造函数,平面法线方向为v1->v2向量和v1->v3向量叉乘决定,符合右手定则
Plane Plane(copy)
平面的拷贝构造函数
Plane set(normal, distance)
设定Plane的法线和由平面沿法线向量到原点的距离,平面法线会被归一化保存和进行计算
Plane set(plane)
由Plane设定Plane
Plane set_normal
设定平面的法线,归一化保存和参与计算
Plane normal
获取平面的法线,归一化后保存和参与计算的数值
Plane distacne
获取沿平面法线由平面到坐标系原点的距离
Plane set_distance
设定沿平面法线由平面到坐标系原点的距离
Demo
Plane Demo Plane PlaneDemo ()
Demo示例

Plane PlaneDemo ()

demo示例

sample:
local plane = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0), 10)
plane:set_normal(ae.ARVec3:new_local(1,0,0))
plane:set_distance(100)
local normal = plane:normal()
local distance = plane:distance()
--构造过(x,y,z)点的法线为原点到该点的平面
local point = ae.ARVec3:new_local(x,y,z)
plane = ae.Plane:new_local(point, -point:length())
--根据平面获取对应平面上点
point = plane:normal() * (-1 * plane:distance())

Plane

API起始版本:190

Plane Plane()

平面的无参构造函数,默认法线方向向量为(0,1,0),由平面沿法线向量到原点的距离默认为0,即xoz平面

Returns

  • Plane : 默认参数构造的平面
sample:
local plane = ae.Plane:new_local()

Plane(normal, distance)

API起始版本:190

Plane Plane(normal, distance)

平面的法线、由平面沿法线向量到原点的距离构造函数,非归一化的平面法线会被归一化保存和进行计算

Parameters

  • ARVec3 | normal : 平面法线方向向量
  • float | distance : 沿平面法线由平面到坐标系原点的距离

Returns

  • Plane : 由normal和distance构造的平面
sample:
local plane = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0), 0)

Plane(v1, v2, v3)

API起始版本:190

Plane Plane(v1, v2, v3)

平面的三个非共线点构造函数,平面法线方向为v1->v2向量和v1->v3向量叉乘决定,符合右手定则

Parameters

  • ARVec3 | v1 : 平面点v1
  • ARVec3 | v2 : 平面点v2
  • ARVec3 | v3 : 平面点v3

Returns

  • Plane : 由非共线三个点构造的平面
sample:
local plane = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0),ae.ARVec3:new_local(1,0,0),ae.ARVec3:new_local(0,0,1))

Plane(copy)

API起始版本:190

Plane Plane(copy)

平面的拷贝构造函数

Parameters

  • Plane | copy : Plane对象

Returns

  • Plane : 由copy构造的平面
sample:
local copy = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0), 0)
local plane = ae.Plane:new_local(copy)

set(normal, distance)

API起始版本:190

void set(normal, distance)

设定Plane的法线和由平面沿法线向量到原点的距离,平面法线会被归一化保存和进行计算

Parameters

  • ARVec3 | normal : 平面法线方向向量
  • float | distacne : 沿平面法线由平面到坐标系原点的距离
sample:
local plane = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0), 0)
plane:set(ae.ARVec3:new_local(0,0,1),100)

set(plane)

API起始版本:190

void set(plane)

由Plane设定Plane

Parameters

  • Plane | plane : 平面
sample:
local plane = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0), 0)
local plane1 = ae.Plane:new_local(ae.ARVec3:new_local(0,2,0), 0)
plane1:set(plane)

normal

API起始版本:190

ARVec3 normal()

获取平面的法线,归一化后保存和参与计算的数值

Returns

  • ARVec3 : 平面的法线,归一化后保存和参与计算的数值
sample:
local plane = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0), 0)
local normal = plane:normal()

set_normal

API起始版本:190

viod set_normal(normal)

设定平面的法线,归一化保存和参与计算

Parameters

  • ARVec3 | normal : 设定平面的法线,归一化保存和参与计算
sample:
local plane = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0), 0)
plane:set_normal(ae.ARVec3:new_local(0,0,1))

distacne

API起始版本:190

float distacne()

获取沿平面法线由平面到坐标系原点的距离

Returns

  • float : 沿平面法线由平面到坐标系原点的距离
sample:
local plane = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0), 0)
local distance = plane:distance()

set_distance

API起始版本:190

viod set_distance(distance)

设定沿平面法线由平面到坐标系原点的距离

Parameters

  • float | distance : 沿平面法线由平面到坐标系原点的距离
sample:
local plane = ae.Plane:new_local(ae.ARVec3:new_local(0,1,0), 0)
plane:set_distance(10)
上一篇
BoundingBox
下一篇
Ray