计算光束指向角

时间:2013-01-10 03:47:09

标签: algorithm math projection plane

我在两个不同的平面上有一个椭圆光束的图像。我知道2个平面之间的距离(d =平面A和平面B之间的距离),我知道通过知道2个平面上椭圆的中心坐标计算的旋转角度θ(θ)。如何计算投射回光源原点的距离R?我可以找到从平面A到原点的距离(D)。我一直在考虑这个问题并且无法弄明白。我想实现一个算法来计算C#中的R.编程部分很简单,但数学我不太确定如何去做。

enter image description here

1 个答案:

答案 0 :(得分:1)

如果使用远摄镜头拍摄图像,光轴穿透光束源,使透视和轴外效果微不足道,则最好从右侧观察拍摄时的情况。然后你有两个相似的直角三角形,在光源处有共同的顶点。

    |^--..._
 rA |   rB| ^^__
    |_____|______o   (Pardon my ascii art skills.)
    <--d-->
    <--------x-->

你似乎知道或者很容易找到rA,并且rB是从光束源图像到椭圆中心的平面内距离,也是平面间距离。你想知道x。

为此,只需设置比例

x / rA = (x-d) / rB.  

现在您可以轻松解决x。

如果使用相对靠近光束源的普通镜头拍摄图像,则需要了解相机的几何形状,以便考虑透视效果。即使这样,镜头失真也可能导致错误,除非您对相机有很多了解并做了一些花哨的修正。