二维透视投影变换

本文探讨了二维正方形在投影变换后如何利用齐次坐标将非线性变换转化为线性变换的问题。通过分析,我们发现尽管投影变换不能直接表示为线性变换,但可以通过齐次坐标和矩阵运算简化计算。文中详细阐述了如何建立投影变换的方程式,通过设定特定条件简化方程组,并利用四个顶点的坐标求解变换矩阵,最后展示了如何将此理论应用于实际的投影变换计算。
摘要由CSDN通过智能技术生成

如下图,位于XY平面的单位正方形投影到任意平面P上后,变成了不规则的四边形ABCD,我们能根据正方形的四个顶点投影前后的坐标,计算出平面XY上任意点 (x,y) 投影到平面P 上之后的坐标 (x', y') 吗?


我们注意到正方形的四个边投影到平面P之后,分别变为线段AB,BC,CD,DA,也就是说投影前位于一条直线上的点,投影后仍然位于一条直线上,对于直线来说,这种变换是线性的;但投影前平行的两条直线,投影后不再平行,对于平面而言,这种变换不是线性的。不过,虽然这种变换不能表示成线性变换,但可以表示成两个线性变换相除,于是就有了齐次坐标,


齐次坐标的好处是,可以把投影变换转化成线性变换,从而使用矩阵运算来对问题求解。

使用齐次坐标,可以有以下变换


写成方程式表达:

x' = Ax + By + Cw

y' = Dx + Ey + Fw

w'= Gx + Hy + Iw


其中 (x,y,w) 是变换前的坐标,(x',y',w')是变换后的坐标,(A B C ...)是变换矩阵


根据上面的讨论,我们已知四边形四个顶点变换前后的二维坐标,每个点可以写出三个方程式,总共有12个方程式,而变换矩阵共有9个未知数,再加上变换之后的坐标w也是未知数,总共有13个未知数,于是这个方程组有无限多组解,但是在投影平面上,每个点的齐次坐标本身就可以有无数个表达,我们只要把w规则化为1,就可以求出x, y


根据仿射变换理论,系数C,F表示变换前后的原点位移(平移变换),为了简化计算,我们假定C,F都等于0(即变换前后原点没有位移),并且把系数I 调整成1,于是有

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值