2012-01-19 145 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

相關問題