BoundingSphere

new Cesium.BoundingSphere ( center , radius )

具有中心和半径的边界球体。
Name Type Default Description
center Cartesian3 Cartesian3.ZERO 可选 边界球的中心。
radius Number 0.0 可选 边界球的半径。
See:

Members

static Cesium.BoundingSphere.packedLength : Number

用于将对象打包到数组中的元素数。
球体的中心点。
Default Value: Cartesian3.ZERO
球体的半径。
Default Value: 0.0

Methods

static Cesium.BoundingSphere.clone (sphere, result ) BoundingSphere

复制一个 BoundingSphere 实例。
Name Type Description
sphere BoundingSphere 要复制的边界球体。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。 (如果球体未定义,则返回未定义)

static Cesium.BoundingSphere.computePlaneDistances (sphere, position, direction, result ) Interval

由向量计算的距离,从边界球的中心到投影到方向上的位置加上/减去边界球的半径。
如果您想象无限数量的具有法线方向的平面,这将计算与边界球相交的位置到最近和最远平面的最小距离。
Name Type Description
sphere BoundingSphere 要计算到的距离的边界球。
position Cartesian3 计算距离的位置。
direction Cartesian3 从位置的方向。
result Interval 可选 用于存储最近和最远距离的间隔。
Returns:
边界球上距离位置方向最近和最远的距离。

static Cesium.BoundingSphere.distanceSquaredTo (sphere, cartesian) Number

计算从边界球体上最近的点到点的估计距离平方。
Name Type Description
sphere BoundingSphere 球体。
cartesian Cartesian3 重点
Returns:
从边界球体到点的距离平方。如果该点在球体内,则返回 0。
Example:
// Sort bounding spheres from back to front
spheres.sort(function(a, b) {
    return Cesium.BoundingSphere.distanceSquaredTo(b, camera.positionWC) - Cesium.BoundingSphere.distanceSquaredTo(a, camera.positionWC);
});

static Cesium.BoundingSphere.equals ( left , right ) Boolean

比较提供的 BoundingSphere 组件,如果它们相等则返回 true ,否则返回 false
Name Type Description
left BoundingSphere 可选 第一个 BoundingSphere。
right BoundingSphere 可选 第二个BoundingSphere。
Returns:
如果左右相等,则为 true ,否则为 false

static Cesium.BoundingSphere.expand (sphere, point, result ) BoundingSphere

通过扩大提供的球体以包含提供的点来计算边界球体。
Name Type Description
sphere BoundingSphere 一个要扩展的球体。
point Cartesian3 包围在边界球体中的点。
result BoundingSphere 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 BoundingSphere 实例。

static Cesium.BoundingSphere.fromBoundingSpheres ( boundingSpheres , result ) BoundingSphere

计算一个紧密拟合的包围球,包围提供的包围球数组。
Name Type Description
boundingSpheres Array.< BoundingSphere > 可选 边界球的数组。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。

static Cesium.BoundingSphere.fromCornerPoints ( corner , oppositeCorner , result ) BoundingSphere

从轴对齐边界框的角点计算边界球体。球体紧紧地完全包围了盒子。
Name Type Description
corner Cartesian3 可选 矩形上的最小高度。
oppositeCorner Cartesian3 可选 矩形上的最大高度。
result BoundingSphere 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 BoundingSphere 实例。
Example:
// Create a bounding sphere around the unit cube
const sphere = Cesium.BoundingSphere.fromCornerPoints(new Cesium.Cartesian3(-0.5, -0.5, -0.5), new Cesium.Cartesian3(0.5, 0.5, 0.5));

static Cesium.BoundingSphere.fromEllipsoid (ellipsoid, result ) BoundingSphere

创建一个包围椭球体的边界球体。
Name Type Description
ellipsoid Ellipsoid 围绕其创建边界球体的椭球体。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。
Example:
const boundingSphere = Cesium.BoundingSphere.fromEllipsoid(ellipsoid);

static Cesium.BoundingSphere.fromEncodedCartesianVertices ( positionsHigh , positionsLow , result ) BoundingSphere

计算一个包含 EncodedCartesian3 列表的紧合边界球,其中的点以 X、Y、Z 顺序存储在平行平面数组中。边界球是通过运行两种算法来计算的,一种朴素算法和 Ritter 算法。两个球体中较小的一个用于确保紧密配合。
Name Type Description
positionsHigh Array.<Number> 可选 包围球将包围的编码笛卡尔的高位数组。每个点由数组中的三个元素组成,顺序为 X、Y、Z。
positionsLow Array.<Number> 可选 包围球将包围的编码笛卡尔的低位数组。每个点由数组中的三个元素组成,顺序为 X、Y、Z。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。
See:

static Cesium.BoundingSphere.fromOrientedBoundingBox (orientedBoundingBox, result ) BoundingSphere

计算一个紧密拟合的包围球,包围提供的定向边界框。
Name Type Description
orientedBoundingBox OrientedBoundingBox 定向边界框。
result BoundingSphere 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 BoundingSphere 实例。

static Cesium.BoundingSphere.fromPoints ( positions , result ) BoundingSphere

计算一个包含 3D 笛卡尔点列表的紧合边界球。边界球是通过运行两种算法来计算的,一种朴素算法和 Ritter 算法。两个球体中较小的一个用于确保紧密配合。
Name Type Description
positions Array.< Cartesian3 > 可选 包围球将包围的点数组。每个点必须具有 x y z 属性。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。
See:

static Cesium.BoundingSphere.fromRectangle2D ( rectangle , projection , result ) BoundingSphere

从二维投影的矩形计算边界球体。
Name Type Default Description
rectangle Rectangle 可选 围绕其创建边界球体的矩形。
projection Object GeographicProjection 可选 用于将矩形投影为 2D 的投影。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。

static Cesium.BoundingSphere.fromRectangle3D ( rectangle , ellipsoid , surfaceHeight , result ) BoundingSphere

从 3D 矩形计算边界球体。边界球体是使用椭圆体上的点的子样本创建的,并包含在矩形中。对于所有类型的椭球体上的所有矩形,它可能并不准确。
Name Type Default Description
rectangle Rectangle 可选 用于创建边界球体的有效矩形。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 用于确定矩形位置的椭球体。
surfaceHeight Number 0.0 可选 椭圆体表面上方的高度。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。

static Cesium.BoundingSphere.fromRectangleWithHeights2D ( rectangle , projection , minimumHeight , maximumHeight , result ) BoundingSphere

从二维投影的矩形计算边界球体。边界球体说明了对象在矩形上的最小和最大高度。
Name Type Default Description
rectangle Rectangle 可选 围绕其创建边界球体的矩形。
projection Object GeographicProjection 可选 用于将矩形投影为 2D 的投影。
minimumHeight Number 0.0 可选 矩形上的最小高度。
maximumHeight Number 0.0 可选 矩形上的最大高度。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。

static Cesium.BoundingSphere.fromTransformation (transformation, result ) BoundingSphere

计算一个包含所提供的仿射变换的紧密边界球。
Name Type Description
transformation Matrix4 仿射变换。
result BoundingSphere 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 BoundingSphere 实例。

static Cesium.BoundingSphere.fromVertices ( positions , center , stride , result ) BoundingSphere

计算一个包含 3D 点列表的紧密边界球体,其中点以 X、Y、Z 顺序存储在平面数组中。边界球是通过运行两种算法来计算的,一种朴素算法和 Ritter 算法。两个球体中较小的一个用于确保紧密配合。
Name Type Default Description
positions Array.<Number> 可选 包围球将包围的点数组。每个点由数组中的三个元素组成,顺序为 X、Y、Z。
center Cartesian3 Cartesian3.ZERO 可选 位置相对的位置,不必是坐标系的原点。当位置用于相对中心 (RTC) 渲染时,这很有用。
stride Number 3 可选 每个顶点的数组元素数。它必须至少为 3,但可能更高。无论该参数的值如何,第一个位置的 X 坐标在数组索引 0 处,Y 坐标在数组索引 1 处,Z 坐标在数组索引 2 处。当 stride 为 3 时,第一个位置的 X 坐标然后下一个位置从数组索引 3 开始。但是,如果步幅为 5,则跳过两个数组元素,下一个位置从数组索引 5 开始。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。
Example:
// Compute the bounding sphere from 3 positions, each specified relative to a center.
// In addition to the X, Y, and Z coordinates, the points array contains two additional
// elements per point which are ignored for the purpose of computing the bounding sphere.
const center = new Cesium.Cartesian3(1.0, 2.0, 3.0);
const points = [1.0, 2.0, 3.0, 0.1, 0.2,
              4.0, 5.0, 6.0, 0.1, 0.2,
              7.0, 8.0, 9.0, 0.1, 0.2];
const sphere = Cesium.BoundingSphere.fromVertices(points, center, 5);
See:

static Cesium.BoundingSphere.intersectPlane (sphere, plane) Intersect

确定球体位于平面的哪一侧。
Name Type Description
sphere BoundingSphere 要测试的边界球。
plane Plane 要测试的飞机。
Returns:
如果整个球体在法线指向的平面的一侧,则 Intersect.INSIDE ,如果整个球体在另一侧,则 Intersect.OUTSIDE ,如果球体与平面相交,则 Intersect.INTERSECTING

static Cesium.BoundingSphere.isOccluded (sphere, occluder) Boolean

确定球体是否被遮挡物隐藏在视野之外。
Name Type Description
sphere BoundingSphere 围绕被遮挡对象的边界球。
occluder Occluder 封堵器。
Returns:
如果球体不可见,则为 true ;否则 false

static Cesium.BoundingSphere.pack (value, array, startingIndex ) Array.<Number>

将提供的实例存储到提供的数组中。
Name Type Default Description
value BoundingSphere 要打包的值。
array Array.<Number> 要打包的数组。
startingIndex Number 0 可选 开始打包元素的数组索引。
Returns:
装入的数组

static Cesium.BoundingSphere.projectTo2D (sphere, projection , result ) BoundingSphere

从 3D 世界坐标中的边界球体创建 2D 边界球体。
Name Type Default Description
sphere BoundingSphere 要转换为 2D 的边界球。
projection Object GeographicProjection 可选 2D 投影。
result BoundingSphere 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 BoundingSphere 实例。

static Cesium.BoundingSphere.transform (sphere, transform, result ) BoundingSphere

将 4x4 仿射变换矩阵应用于边界球体。
Name Type Description
sphere BoundingSphere 应用变换的边界球。
transform Matrix4 应用于边界球体的变换矩阵。
result BoundingSphere 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 BoundingSphere 实例。

static Cesium.BoundingSphere.transformWithoutScale (sphere, transform, result ) BoundingSphere

将 4x4 仿射变换矩阵应用于没有尺度的边界球体 未验证变换矩阵具有统一尺度 1。此方法比使用 BoundingSphere.transform 计算一般边界球体变换更快。
Name Type Description
sphere BoundingSphere 应用变换的边界球。
transform Matrix4 应用于边界球体的变换矩阵。
result BoundingSphere 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 BoundingSphere 实例。
Example:
const modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(positionOnEllipsoid);
const boundingSphere = new Cesium.BoundingSphere();
const newBoundingSphere = Cesium.BoundingSphere.transformWithoutScale(boundingSphere, modelMatrix);

static Cesium.BoundingSphere.union (left, right, result ) BoundingSphere

计算包含左右边界球的边界球。
Name Type Description
left BoundingSphere 包围在边界球体中的球体。
right BoundingSphere 包围在边界球体中的球体。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。

static Cesium.BoundingSphere.unpack (array, startingIndex , result ) BoundingSphere

从打包数组中检索实例。
Name Type Default Description
array Array.<Number> 打包的数组。
startingIndex Number 0 可选 要解包的元素的起始索引。
result BoundingSphere 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 BoundingSphere 实例(如果未提供)。
复制此 BoundingSphere 实例。
Name Type Description
result BoundingSphere 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 BoundingSphere 实例。

computePlaneDistances (position, direction, result ) Interval

由向量计算的距离,从边界球的中心到投影到方向上的位置加上/减去边界球的半径。
如果您想象无限数量的具有法线方向的平面,这将计算与边界球相交的位置到最近和最远平面的最小距离。
Name Type Description
position Cartesian3 计算距离的位置。
direction Cartesian3 从位置的方向。
result Interval 可选 用于存储最近和最远距离的间隔。
Returns:
边界球上距离位置方向最近和最远的距离。

distanceSquaredTo (cartesian) Number

计算从边界球体上最近的点到点的估计距离平方。
Name Type Description
cartesian Cartesian3 重点
Returns:
从边界球到该点的估计距离平方。
Example:
// Sort bounding spheres from back to front
spheres.sort(function(a, b) {
    return b.distanceSquaredTo(camera.positionWC) - a.distanceSquaredTo(camera.positionWC);
});

equals ( right ) Boolean

将此 BoundingSphere 与提供的 BoundingSphere 组件进行比较,如果它们相等则返回 true ,否则返回 false
Name Type Description
right BoundingSphere 可选 右手边的 BoundingSphere。
Returns:
如果它们相等,则为 true ,否则为 false
确定球体位于平面的哪一侧。
Name Type Description
plane Plane 要测试的飞机。
Returns:
如果整个球体在法线指向的平面的一侧,则 Intersect.INSIDE ,如果整个球体在另一侧,则 Intersect.OUTSIDE ,如果球体与平面相交,则 Intersect.INTERSECTING

isOccluded (occluder) Boolean

确定球体是否被遮挡物隐藏在视野之外。
Name Type Description
occluder Occluder 封堵器。
Returns:
如果球体不可见,则为 true ;否则 false

volume () Number

计算 BoundingSphere 的半径。
Returns:
BoundingSphere 的半径。