计算视点的视锥体。
语法
meshgeom ST_ComputeFrustum(cstring viewpoint);
参数
参数名称 | 描述 |
viewpoint | 视点信息。 使用JSON格式:
|
视点信息的JSON中各参数含义:
参数 | 描述 | 取值范围 |
x | 视点的x坐标,默认为0。 | (-inf, +inf) |
y | 视点的y坐标,默认为0。 | (-inf, +inf) |
z | 视点的z坐标,默认为0。 | (-inf, +inf) |
h | 视点的附加高度,默认为0。 | [0, +inf) |
azimuth | 从正北方向(y轴正向)起,依顺时针方向到观察方向之间的夹角,默认为 0,单位为度。 | [-180, 180] |
pitch | 俯仰角(观察方向与XOY平面的夹角),当观察方向在XOY平面上方时,俯仰角为正,否则为负。默认为0,单位为度。 | [-90, 90] |
distance | 最大可视距离,值越大视锥体覆盖范围越广,默认为100。 | (0, +inf) |
horizontalFov | 水平视角范围,默认为90,单位为度。 | (0, 180) |
verticalFov | 垂直视角范围,默认为60,单位为度。 | (0, 180) |
depthMapSize | 深度图尺寸,深度图尺寸越大,计算的视锥体越精细,默认为128。 | (0, 2048] |
描述
根据输入的视点信息计算视点的视锥体。
示例如下图:
视锥体(俯视图)
视锥体(侧视图)
示例
SELECT ST_NumPatches(ST_ComputeFrustum('{"x" : 2938, "y" : 750, "z" : 90, "h" : 1.8, "azimuth" : 90, "pitch" : -35, "horizontalFov" : 90, "verticalFov" : 60, "distance" : 600, "depthMapSize" : 128}'));
--------
32766
说明
返回值表示该视锥体由32766个三维三角形构成。
文档内容是否对您有帮助?