Plane
所有文档

          AR开放平台

          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