全部產品
Search
文件中心

PolarDB:ST_ComputeFrustum

更新時間:Jul 06, 2024

計算視點的視錐體。

文法

meshgeom  ST_ComputeFrustum(cstring viewpoint);

參數

參數名稱

描述

viewpoint

視點資訊。

使用JSON格式:

{
  "x": 0,  //視點x座標      
  "y": 0,  //視點y座標
  "z": 0,  //視點z座標
  "h": 0,   //附加高度
  "azimuth": 0,  //方位角
  "pitch": 0,  //俯仰角
  "distance": 100,  //最大可視距離
  "horizontalFov": 90,  //水平視角
  "verticalFov": 60  //垂直視角
  "depthMapSize": 128  // 深度圖尺寸
}

視點資訊的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]

描述

根據輸入的視點資訊計算視點的視錐體。

樣本如下圖:

視錐體(俯視圖)

image..png

視錐體(側視圖)

image..png

樣本

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個三維三角形構成。