2013-07-11 114 views
1

假設我有一臺攝像機俯視飛機,我需要計算攝像機圖像四角在飛機上的位置。我所知道的相機是:x,y,高度,俯仰,標題,滾動(全部相對於飛機),加上水平和垂直視角(由相機制造商提供)。飛機上的攝像機投影

+0

這不應該在math.stackexchange? – wombat

+0

我在問如何以編程方式解決這個問題,抱歉不清楚。 – superware

+0

我會想象代碼將是直接給出一個數學解決方案的問題 – wombat

回答

2

的問題的解決方案的關鍵在攝像頭方面是思想座標系統,它是由攝像機位置Ç(你已經知道)和三個正交向量定義,說û(右) ,v(up)和w(遠離相機)。這些可以通過俯仰,標題和滾動(歐拉角)來計算;它們是相應旋轉矩陣的列(參見例如http://planning.cs.uiuc.edu/node102.html或維基百科)。確切的公式取決於您對這些角度的解釋(應用轉換的順序)。

使用這些,可以計算方向d的四條光線的ř(T)= Ç +噸d對應於圖像拐角d = 瓦特 +/- tan(h/2)u +/- tan(v/2)v其中v和h是垂直和水平視角。

最後,您可以計算這些光線與平面的交點(請參閱Wikipedia http://en.wikipedia.org/wiki/Line-plane_intersection)以找到該平面上相機圖像的角點。

+0

你可以詳細說明「t」代表在上面?另外,如何爲射線交叉產生一個二維平面? – ssast

+0

查看[本頁](https://www.scratchapixel.com/lessons/3d-basic-rendering/ray-tracing-generating-camera-rays)(在「定義光線」部分中解釋的參數_t_)和[本頁](https://www.scratchapixel.com/lessons/3d-basic-rendering/minimal-ray-tracer-rendering-simple-shapes/ray-plane-and-ray-disk-intersection)(定義信息平面方程),以便對光線跟蹤數學有一個很好的介紹 – oseiskar