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