Plane

a x+b y+c z+d=0
定义的Hessian法向形式的平面,其中(a、b、c)是平面的normal,d是平面的符号distance,并且(x、y、z)是平面上的任何点。
new Plane(normal, distance)
Parameters:
normal (Cartesian3) 平面的法向(标准化)。
distance (Number) 从原点到平面的最短距离。distance的符号决定原点在平面的哪一侧。如果distance为正,则原点在法向的半空间中;如果为负,则原点在法向的半空间中;如果为零,则平面通过原点。
Example
// The plane x=0
var plane = new bmgl.Plane(bmgl.Cartesian3.UNIT_X, 0.0);
Throws

Members

(static, constant) ORIGIN_XY_PLANE : Plane

一个常量,初始化为xy平面,通过原点,法向为正z。

(static, constant) ORIGIN_YZ_PLANE : Plane

初始化为通过原点的yz平面的常量,法线为正x。

(static, constant) ORIGIN_ZX_PLANE : Plane

一个初始化为通过原点的ZX平面的常量,其法向值为正y。

distance : Number

从原点到平面的最短距离。distance的符号决定原点在平面的哪一侧。如果distance为正,则原点在法向的半空间中;如果为负,则原点在法向的半空间中;如果为零,则平面通过原点。

normal : Cartesian3

飞机是正常的。

Methods

(static) clone(plane, result) → {Plane}
复制平面实例。
Parameters:
plane (Plane) 要复制的平面。
result (Plane) 存储结果的对象。
(static) equals(left, right) → {Boolean}
按法向和距离比较提供的平面,如果它们相等,则返回true,否则返回false
Parameters:
left (Plane) 第一架飞机。
right (Plane) 第二架飞机。
(static) fromCartesian4(coefficients, result) → {Plane}
从常规公式创建平面
Parameters:
coefficients (Cartesian4) 平面的法向(标准化)。
result (Plane) 存储结果的对象。
Throws
(static) fromPointNormal(point, normal, result) → {Plane}
从法线和平面上的点创建平面。
Parameters:
point (Cartesian3) 平面上的点。
normal (Cartesian3) 平面的法向(标准化)。
result (Plane) 存储结果的对象。
Example
var point = bmgl.Cartesian3.fromDegrees(-72.0, 40.0);
var normal = ellipsoid.geodeticSurfaceNormal(point);
var tangentPlane = bmgl.Plane.fromPointNormal(point, normal);
Throws
(static) getPointDistance(plane, point) → {Number}
计算点到平面的有符号最短距离。距离的符号决定点在平面的哪一侧。如果距离为正,则点在法向的半空间中;如果为负,则点在法向的半空间中;如果为零,则平面通过该点。
Parameters:
plane (Plane) 飞机。
point (Cartesian3) 重点。
(static) projectPointOntoPlane(plane, point, result) → {Cartesian3}
将点投影到平面上。
Parameters:
plane (Plane) 将点投影到的平面
point (Cartesian3) 投影到平面上的点
result (Cartesian3) 结果点。如果未定义,将创建新的cartesian3。
(static) transform(plane, transform, result) → {Plane}
用给定的变换矩阵变换平面。
Parameters:
plane (Plane) 飞机。
transform (Matrix4) 变换矩阵。
result (Plane) 存储结果的对象。