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

时间:2010-11-18 16:48:55

标签: graphics 3d geometry projective-geometry planerotation

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

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

Projective plane

alt text

空间的2D布局图

alt text

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

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

1 个答案:

答案 0 :(得分:6)

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

Perspective Transform Estimation

a gaming forum discussion

extracting a quadrilateral image to a rectangle

Projective Warping & Mapping

Paul Heckbert

ProjectiveMappings for ImageWarping

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