问题定义

如图,背景暂时不介绍了,其中 β 定义为在坐标轴 x−y 上的旋转方向,而 α 定义为在坐标轴 x−z 上的旋转角度。
激光源的定义
这样光源点可以表征为:
P0=(0,0,h)
其中 h 为云台高度,为内参。
而激光发射的方向向量可以通过两个旋转角度进行表示:
v=(cosβ,sinβ,sinα)
于是便可以通过点向式对射线进行表达:
cosβx=sinβy=sinαz−h
显然需要约束,即 x>0
屏幕的定义
显然,在上述坐标系中,屏幕可以被描述为:
Ω=(1,y,z),y∈(−0.25,0.25),z∈(h−0.25,h+0.25)
该方程是有假设的,即在光源对准屏幕的中心点时是无仰角,无旋转的,如果不明白,可以看下图:

理想情况下逆运动反求
已知对于激光射在屏幕上某一点 (1,y,z),则可以反推回光源点处的参数状态:
利用上式射线方程,可得方程组
cosβ1=sinβy=sinαz−h
求得参数为:
⎩⎨⎧α=−arcsin(1+y2h−1+y2z),β1=arctan(1+y21),β2=arctan(1+y2y),
我们不妨带入一些特殊值,用以验证准确性,对于屏幕中心点有坐标 (1,0,h)
代入上式,得:
⎩⎨⎧α=−arcsin(0)=0,β1=arctan(1)=45°,β2=arctan(0)=0.
所以其解 β1 为错误解,略去,下面取 α,β2 作为标准解。
如果我们已知屏幕点 p 的运动方程,我们可以通过上面的标准解得到参数控制方程。
正方形的隐函数方程为
∣x∣+∣y∣=1可是该正方形不是正的,而是 " 歪的 ",如下图

其参数方程为
(cos(t)⋅∣cos(t)∣,sin(t)⋅∣sin(t)∣)为了 " 掰正 ",我们使用旋转矩阵
x′y′1=cos(θ)sin(θ)0−sin(θ)cos(θ)0001xy1其中的 θ 为旋转角度,这里为 45°。
所以参数方程转化为:
[x(t)y(t)]=[22(cos(t)∣cos(t)∣−sin(t)∣sin(t)∣)22(sin(t)∣sin(t)∣+cos(t)∣cos(t)∣)]就离谱啊
注意,这里是单位正方形,如果是其他正方形需要乘以系数
根据上面知识,已知点 p 满足下面正方形参数方程:
⎩⎨⎧x=1y=21(cos(t)⋅∣cos(t)∣−sin(t)⋅∣sin(t)∣)z=21(sin(t)⋅∣sin(t)∣+cos(t)⋅∣cos(t)∣)+h有点崩溃,人傻了 (上面方程已乘以系数,请注意这个 h)
代入上述标准解中??,解得
⎩⎨⎧α=asin(sin(t)∣sin(t)∣−cos(t)∣cos(t)∣)2+4sin(t)∣sin(t)∣+cos(t)∣cos(t)∣β=−atan(sin(t)∣sin(t)∣−cos(t)∣cos(t)∣)2+4sin(t)∣sin(t)∣−cos(t)∣cos(t)∣太过于繁杂,不妨令:
{t1=sin(t)∣sin(t)∣t2=cos(t)∣cos(t)∣则上面式子可以写为:
⎩⎨⎧α=arcsin((t1−t2)2+4t1+t2)β=−arctan((t1−t2)2+4t1−t2)至此,我们已经纯靠求解的方式解出控制参数 α,β 的控制方程。理论上,对参数施以上述控制方程,应能在屏幕上看到正方形。(不行了,好饿,不知道有没有求错)。
该解非常自然,因为其中消掉了云台高度 h,这也是非常自然的 (因为实际上可以已出光点建立坐标系,自然没有了 h)
一般情况下逆运动反求
对于一般情况,可能激光源对准时并非理想状态,即有仰角,有旋转,这时如何求解呢?
下面是建模图

即在初始对齐时,激光源具有仰角 α0,旋转角 β0
这会改变我们什么呢?
射线方程?不是,射线方程只与红激光发射位置有关。没错,是正方形的参数方程。
在理想情况下,其假设的屏幕是对齐云台 x,y 轴的。可是现实情况可能没那么理想,所以我们需要修正上述的正方形参数方程。
修正后的正方形参数方程:
⎩⎨⎧x=1y=21(cos(t)⋅∣cos(t)∣−sin(t)⋅∣sin(t)∣)+tan(β0)z=21(sin(t)⋅∣sin(t)∣+cos(t)⋅∣cos(t)∣)+h+tan(α0)
其中的 α0,β0 即为初始对齐状态的仰角以及旋转角,重新代入到标准解,解得:
⎩⎨⎧α=asin(−sin(t)∣sin(t)∣+cos(t)∣cos(t)∣+2tan(β0))2+4sin(t)∣sin(t)∣+cos(t)∣cos(t)∣+2tan(α0)β=atan(−sin(t)∣sin(t)∣+cos(t)∣cos(t)∣+2tan(β0))2+4−sin(t)∣sin(t)∣+cos(t)∣cos(t)∣+2tan(β0)
同样的令 t1,t2,化简得到:
⎩⎨⎧α=asin(−t1+t2+2tan(β0))2+4t1+t2+2tan(α0)β=atan(−t1+t2+2tan(β0))2+4−t1+t2+2tan(β0)
对于其他位置,其他形状可以利用上述过程进行求解,其关键点在于对准几何体的几何中心。
对于旋转了的几何体,可以通过 CV
等方式获得旋转角度内参,并运用旋转矩阵,使之转化为一般情况。