algorithm - 是否有解决此类投影重建几何问题的算法?

标签 algorithm math geometry projective-geometry

我们有一个带有红色方 block 的网格。这意味着我们有一个由 3 个正方形组成的数组(角度 == 90 度),正如我们所知,它们具有相同的大小,位于同一平面上并且相对于它们所在的平面具有相同的旋转,并且不位于同一平面上飞机。

我们有一个包含正方形平面的空间投影。

im 1

我们想用正方形转动我们的平面投影,以便我们看到它就像面对我们一样,一般来说,我们需要一个公式来转动原始平面投影的每个点,以便它像下图一样面对我们.

这个问题可以用什么公式来解决,怎么解决,有没有人遇到过这样的问题?

im 2

最佳答案

这是寻找保留直线的四边形之间映射的特例。这些通常称为单应变换。在这里,其中一个四边形是正方形,所以这是一个流行的特例。您可以在 google 上搜索这些术语(“quad to quad”等)以查找解释和代码,但这里有一些适合您。

Perspective Transform Estimation

a gaming forum discussion

extracting a quadrilateral image to a rectangle

Projective Warping & Mapping

ProjectiveMappings for ImageWarping作者:保罗赫克伯特。

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

关于algorithm - 是否有解决此类投影重建几何问题的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3705195/

相关文章:

C++冒泡排序,如何忽略相同的数字

java - 树的左 View 或右 View

解决生产者/消费者问题的算法

c++ - 如何生成具有重复字符的排列

java - LWJGL/OpenGL 绘制的线在拐角处不完全相交

algorithm - n 个顶点的图,其直径为 3,补集的直径也为 3?

c++ - 真实光可视化(数学相关)

python - 传递数学方程作为参数(numpy)

javascript - 在圆周段上绘制点

javascript - 如何在 three.js 中的球体上使用纹理