在Cesium中,当为一个由四个点定义的矩形多边形(polygon)设置了extrudedHeight
属性时,确实可能会遇到一些与预期不符的行为,特别是当extrudedHeight
的值与height
属性的值有差异时。
以下是可能的原因和解释:
-
extrudedHeight与height的关系:
height
属性定义了多边形底部到地球表面的高度。extrudedHeight
属性定义了多边形边缘(壁)的高度。- 当
extrudedHeight
小于height
时,多边形的下表面会被“拉下”到height - extrudedHeight
的高度上,形成一个类似于“凹槽”的效果。
-
计算方式和视觉效果:
- 由于
extrudedHeight
的计算是基于多边形的中心点进行的,如果多边形的中心点与Cesium场景的中心点不重合,那么extrudedHeight
的计算可能会受到影响。 - 在视觉上,这可能会导致多边形看起来像是“下移到0”或“下移到地球表面”,尤其是当
extrudedHeight
的值较小时。
- 由于
-
如何避免或解决:
- 确保
extrudedHeight
的值大于或等于height
的值,这样多边形就不会被“拉下”到更低的高度。 - 如果需要多边形具有特定的内部高度和外部高度(即壁的高度),请确保正确设置
height
和extrudedHeight
的值。 - 如果可能的话,尝试将多边形的中心点与Cesium场景的中心点对齐,以减少计算误差。
- 确保
-
示例:
- 假设你有一个由四个点定义的矩形多边形,其底部高度(
height
)设置为100米。 - 如果你将
extrudedHeight
设置为50米(小于height
),那么多边形的下表面将被“拉下”到50米的高度,形成一个高度为50米的壁。 - 为了避免这种情况,你可以将
extrudedHeight
设置为100米(与height
相同)或更高。
- 假设你有一个由四个点定义的矩形多边形,其底部高度(
综上所述,当在Cesium中为矩形多边形设置extrudedHeight
时,需要仔细考虑其与height
属性的关系,以及多边形的中心点与Cesium场景中心点的对齐情况,以确保获得预期的视觉效果。