如何将由4个点识别的任意平面投影到2d平面上?

Sco*_*ott 5 3d graphics geometry planerotation projective-geometry

我们试图解决在平面的两个不同表示中定位点的问题.我们拥有的第一个平面被旋转以创造视角; 第二个是同一平面的二维视图.我们知道每个计划都有4个积分.问题是如果我们在平面1中有一个任意点,我们如何找到平面2中的对应点?

最好用说明用例来最好地澄清问题.我们左边有一张图片.

投影平面

替代文字

二维空间布局图

替代文字

所以我们拥有的是两张照片中的红色方块.请注意,如果可能的话,我希望2D空间不一定是正方形.这些是我们提前和已知的.我在第一张图像中也在平面上放置了绿点.我希望能够将图像1中的点投影到图像2中的空间上.

另请注意图像1我没有定义的窗口或眼睛位置.我只知道图像1中的红色方块是红色方形图像2的变换,并且图像2位于2D空间中.

bra*_*jam 6

这是在四边形之间找到保留直线的映射的特殊情况.这些通常被称为单应变换.这里,其中一个四边形是一个正方形,所以这是一个流行的特殊情况.您可以谷歌这些术语("四边形到四边形"等)来查找解释和代码,但这里有一些适合您.

透视变换估计

游戏论坛讨论

将四边形图像提取为矩形

投影变形与映射

Paul Heckbert 对ImageWarpingProjectiveMappings.

数学并不是特别令人愉快,但也不是那么难.您还可以从上述链接中找到一些代码.