2012-01-19 88 views
0

我们假设2D中有一个不明显的三角形ABC。这个三角形内有一个点P。然后三角形'ABC'以某种方式变形,包括其内点的变形。我如何找到点'P'的新的坐标?如何在变形后得到三角形内点的坐标?

我认为应该有代表点“P”作为一个办法:

P = k1*A + k2*B + k3*C,其中k1, k2, k3一些系数。然后,我们可以将这个公式用于变形三角形。但我不明白如何在一般情况下找到这些系数。

PS:据我了解OpenGL纹理以这种方式工作。

回答

1

认为一个三角形共享一个共同的起源两个向量 - V1是从A到B的向量,v2是从A到C.我们并不需要担心从B到C的隐含矢量矢量。 所有的三角形的内部空间可以通过采取v1和v2,其中系数按比例从0到1的线性组合因此,如果系数是(0,0),我有原来的顶点A再次进行映射。请注意,这里的全部可能性实际上是映射出四边形 - (1,1)将是您给定三角形之外的一个点。 尽管如此,对于给定的内部点,您可以将它映射到由v1,v2形成的空间并获得一个系数对。如果我们画一条从A到内点的线,那就是一个向量P; v1的系数只是P和v1的点积;同样适用于v2。

然后,对于变形的三角形,变形的内部空间被投射对新的V1相同的系数,V2由新顶点形成。

+0

非常感谢你! – Andrew

相关问题