由 ax + by + cz + d = 0 定义的Hessian 正则表达式平面
其中 (a, b, c) 是平面的法线,d 是到平面的符号距离,(x, y, z) 是平面上的任意一点。
Name | Type | Description |
---|---|---|
normal |
Cartesian3 | 平面的法线(标准化)。 |
distance |
Number | 从原点到平面的最短距离。距离的符号决定了原点在平面的哪一边。如果距离为正,则原点位于法线方向的半空间内;如果距离为负,则原点位于与法线方向相反的半空间内;如果距离为零,则平面穿过原点。 |
Throws:
-
DeveloperError : Normal must be normalized
Example:
// The plane x=0
var plane = new SuperMap3D.Plane(SuperMap3D.Cartesian3.UNIT_X, 0.0);
Members
-
staticconstantSuperMap3D.Plane.ORIGIN_XY_PLANE : Plane
-
初始化为经过原点的XY平面的常数,法线在正Z。
-
staticconstantSuperMap3D.Plane.ORIGIN_YZ_PLANE : Plane
-
初始化为经过原点的YZ平面的常数,法线为正X。
-
staticconstantSuperMap3D.Plane.ORIGIN_ZX_PLANE : Plane
-
初始化为经过原点的ZX平面的常数,法线在正Y。
-
从原点到平面的最短距离。 距离的符号决定了原点在平面的哪一边。 如果距离为正,则原点位于法线方向的半空间内; 如果距离为负,则原点位于与法线方向相反的半空间内;如果距离为零,则平面穿过原点。
-
normal : Cartesian3
-
正常的平面。
Methods
-
staticSuperMap3D.Plane.fromCartesian4(coefficients, result) → Plane
-
根据一般方程创建平面
Name Type Description coefficients
Cartesian4 平面标准化。 result
Plane optional 存储结果的对象。 Returns:
新平面实例或修改后的结果参数。Throws:
-
DeveloperError : Normal must be normalized
-
-
staticSuperMap3D.Plane.fromPointNormal(point, normal, result) → Plane
-
从法线和面上的点创建一个平面。
Name Type Description point
Cartesian3 平面上的点。 normal
Cartesian3 这个平面是标准的。 result
Plane optional 存储结果的对象。 Returns:
新平面实例或修改后的结果参数。Throws:
-
DeveloperError : Normal must be normalized
Example:
var point = SuperMap3D.Cartesian3.fromDegrees(-72.0, 40.0); var normal = ellipsoid.geodeticSurfaceNormal(point); var tangentPlane = SuperMap3D.Plane.fromPointNormal(point, normal);
-
-
计算点到平面的带符号最短距离。 距离的符号决定了点在平面的哪一边。 如果距离为正,则该点在法线方向的半空间内;如果距离为负,则该点在与法线相反的半空间内;如果距离为零,则平面通过该点。
Name Type Description plane
Plane 平面。 point
Cartesian3 点。 Returns:
点到平面的带符号的最短距离。