从纹理上的已知点计算四元坐标

时间:2011-03-23 15:42:48

标签: math opengl

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

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

例如,纹理是128x128像素,纹理(10,10)上的点已知映射到3d坐标。这适用于其他2个已知坐标。我想要的只是顶部坐标包含整个纹理。

1 个答案:

答案 0 :(得分:0)

那么,通过获得两个tex坐标之间的距离以及它们指定的世界坐标之间的距离以及方向向量来计算世界坐标与tex坐标的比率。然后为quad生成相应的顶点。

编辑:

实施例

  1. Tex(10,10)世界(3,3,3)
  2. Tex(20,10)世界(4,3,3)
  3. - >像素距离= 10,世界距离= 1 - > 10个像素代表一个世界单位。

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