三角函數計算攝像頭覆蓋區域方法

上一篇帖子記錄的內容下面用算法實現(AS2.0)

function 計算可視半徑(指定俯仰角:Number,指定塔高:Number)

{
if(指定塔高<=0) return 10; //在森林中塔高0米,可視認爲規定爲10米

//塔高H,地球半徑R,地名弧長=根號下2RH
//地球平均半徑R=6371004; //米
可視米距離=Math.sqrt(2*6371004*指定塔高);

//規定按直角座標系角度來記錄雲臺俯仰角。初始化爲向正x軸向(即0度),向下俯視爲負角度,向上仰視爲正角度
指定俯仰角%=360; //令其值必定在一個圓周範圍內
if(指定俯仰角>=0||指定俯仰角<=-180)
{
//攝像頭對天
return 可視米距離;
}
//按規定(結合實際),俯仰角一般取負值,zwj
三角函數米距離=Math.tan(Math.PI*(90+指定俯仰角)/180)*指定塔高;//角度轉換爲弧度

//返回較小的
if(三角函數米距離<可視米距離)
{
return 三角函數米距離;
}
else
{
return 可視米距離;
}

}

其中用三角函數計算攝像頭覆蓋半徑r的示意圖如下,h爲攝像頭安裝高度,


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章