定义为Hessian范式的平面
ax + by + cz + d = 0其中(a,b,c)是飞机的
normal
,d是有符号
距离
与平面的距离,并且(x,y,z)是平面上的任意点飞机。
Name | Type | Description |
---|---|---|
normal
|
Cartesian3 | 飞机的法线(归一化)。 |
distance
|
Number |
从原点到飞机的最短距离。的迹象
distance
确定原点在飞机的哪一侧开启。如果
distance
为正,则原点位于半角空格朝着正常的方向;如果为负,则原点位于半角空格与正常相反如果为零,则飞机穿过原点。
|
Throws:
-
DeveloperError :正常必须标准化
Example:
// The plane x=0
var plane = new LSGlobe.Plane(LSGlobe.Cartesian3.UNIT_X, 0.0);
Members
static constant LSGlobe.Plane.ORIGIN_XY_PLANE : Plane
初始化为穿过原点的XY平面的常数,法线为正Z。
static constant LSGlobe.Plane.ORIGIN_YZ_PLANE : Plane
初始化为穿过原点的YZ平面的常数,法线为正X。
static constant LSGlobe.Plane.ORIGIN_ZX_PLANE : Plane
初始化为穿过原点的ZX平面的常数,法线为正Y。
从原点到飞机的最短距离。的迹象
distance
确定原点在飞机的哪一侧开启。如果
distance
为正,则原点位于半角空格朝着正常的方向;如果为负,则原点位于半角空格与正常相反如果为零,则飞机穿过原点。
normal : Cartesian3
飞机正常。
Methods
static LSGlobe.Plane.clone (plane, result ) → Plane
复制一个Plane实例。
Name | Type | Description |
---|---|---|
plane
|
Plane | 要复制的飞机。 |
result
|
Plane | 可选 将结果存储到的对象。 |
Returns:
修改后的结果参数或一个新的Plane实例(如果未提供)。
通过法线和距离比较提供的平面并返回如果相等,则为
true
,否则为
false
。
Name | Type | Description |
---|---|---|
left
|
Plane | 第一架飞机。 |
right
|
Plane | 第二架飞机。 |
Returns:
真正
如果左右相等
假
除此以外。
static LSGlobe.Plane.fromCartesian4 (coefficients, result ) → Plane
根据通用方程式创建平面
Name | Type | Description |
---|---|---|
coefficients
|
Cartesian4 | 飞机的法线(归一化)。 |
result
|
Plane | 可选 将结果存储到的对象。 |
Returns:
新的平面实例或修改后的结果参数。
Throws:
-
DeveloperError :正常必须标准化
static LSGlobe.Plane.fromPointNormal (point, normal, result ) → Plane
从法线和平面上的一个点创建平面。
Name | Type | Description |
---|---|---|
point
|
Cartesian3 | 飞机上的点。 |
normal
|
Cartesian3 | 飞机的法线(归一化)。 |
result
|
Plane | 可选 将结果存储到的对象。 |
Returns:
新的平面实例或修改后的结果参数。
Throws:
-
DeveloperError :正常必须标准化
Example:
var point = LSGlobe.Cartesian3.fromDegrees(-72.0, 40.0);
var normal = ellipsoid.geodeticSurfaceNormal(point);
var tangentPlane = LSGlobe.Plane.fromPointNormal(point, normal);
计算点到平面的有符号最短距离。距离的符号确定该点在平面的哪一侧开启。如果距离为正,则该点位于半角空格朝着正常的方向;如果为负,则该点位于半角空格与正常相反如果为零,则平面通过该点。
Name | Type | Description |
---|---|---|
plane
|
Plane | 飞机。 |
point
|
Cartesian3 | 重点。 |
Returns:
点到平面的符号最短距离。
static LSGlobe.Plane.projectPointOntoPlane (plane, point, result ) → Cartesian3
将点投影到平面上。
Name | Type | Description |
---|---|---|
plane
|
Plane | 将点投影到的平面 |
point
|
Cartesian3 | 投影到飞机上的点 |
result
|
Cartesian3 | 可选 结果点。如果未定义,将创建一个新的Cartesian3。 |
Returns:
修改后的结果参数,或者未提供新的Cartesian3实例。
static LSGlobe.Plane.transform (plane, transform, result ) → Plane
通过给定的变换矩阵对平面进行变换。
Name | Type | Description |
---|---|---|
plane
|
Plane | 飞机。 |
transform
|
Matrix4 | 转换矩阵。 |
result
|
Plane | 可选 将结果存储到的对象。 |
Returns:
由给定的转换矩阵转换的平面。