Math 从纹理上的已知点计算四边形坐标

Math 从纹理上的已知点计算四边形坐标,math,opengl,Math,Opengl,我有一个纹理,上面有3个特定点(在2d像素坐标中)映射到文本文件中的3d点 然后我需要创建四边形以包含整个纹理,但我不确定如何做到这一点。有什么想法吗 例如,纹理为128x128像素,已知纹理(10,10)上的点映射到三维坐标。这适用于其他两个已知坐标。我想让垂直坐标包含整个纹理。好吧,通过得到两个tex坐标之间的距离、它们指定的世界坐标之间的距离以及方向向量来计算世界坐标与tex坐标的比率。然后为四边形生成相应的顶点 编辑: 范例 德州(10,10)世界(3,3,3) 德州(20,10)世界(

我有一个纹理,上面有3个特定点(在2d像素坐标中)映射到文本文件中的3d点

然后我需要创建四边形以包含整个纹理,但我不确定如何做到这一点。有什么想法吗


例如,纹理为128x128像素,已知纹理(10,10)上的点映射到三维坐标。这适用于其他两个已知坐标。我想让垂直坐标包含整个纹理。

好吧,通过得到两个tex坐标之间的距离、它们指定的世界坐标之间的距离以及方向向量来计算世界坐标与tex坐标的比率。然后为四边形生成相应的顶点

编辑:

范例

  • 德州(10,10)世界(3,3,3)
  • 德州(20,10)世界(4,3,3)
  • ->像素距离=10,世界距离=1->10像素代表一个世界单位


    现在计算方向向量(我留给你:),然后取(3,3,3)并在每个计算的方向上加/减像素*1/10世界单位。

    嗨,托马斯,谢谢,这就是我所怀疑的。不幸的是,上方向向量是不明确的。就像我有一张正方形的描图纸,上面有3个点,我必须旋转并定位它,使其与下面的图纸上的点对齐。如果你有纹理三角形,你已经有了一个上向量,你可以使用它。这不是你需要的吗?嗨,托马斯,我已经澄清了我上面的问题。我很抱歉,谢谢你迄今为止的帮助。谢谢。我应该澄清一下,我的道歉。我有一种星座艺术,我正试图将其映射到夜空中的正确位置。每个星座图像上的三个像素点映射到三颗已知的恒星。现在我知道了这些恒星的RA/DEC,并且可以将它们映射到3D坐标,但这些点在纹理上的位置似乎非常随机。我的想法是,我需要将四边形固定到一个点上,然后围绕它旋转,直到另一个点匹配,但我不知道如何操作。我一直在看Stellarium的源代码,看看他们是如何做到的,但不太了解他们使用的C代码格式。