0
我正在嘗試實現用於計算3D凸包的快速船體算法。 問題是我需要知道某個點是否可以「看見」給定的表面。確定一個點相對於給定3D表面的位置
表面有順時針或逆時針方向的方向。
我寫了一個小型的opengl程序來說明算法運算的圖形。
我想,我看到其他的算法使用(標準化叉積,從平面的點的距離)正在採取的算法
它們都導致了錯誤的一步各種方程。 這意味着他們決定某個表面是可見的(從圖中你可以看到它不是)
一個表面或「臉」的例子。
e1 = 0, 0, 0 to 10, 0, 0
e2 = 10, 0, 0 to 10, 10, 0
e3 = 10, 10, 0 to 0, 10, 0
e4 = 0, 10, 0 to 0, 0, 0
<---------/\
|| ||
|| ||
|| ||
\/--------->
可以說我有兩點,我想知道他們位於表面的哪一側。
P1 = -1,-1,-1 P2 = 1,1,1
任何幫助,將不勝感激。
只是爲了澄清,如果非要點標誌着邊緣然後交叉(E2 - E1,E3 - E1)=交叉(P3 - P2 - P2 + P1,P4 - P3 - P2 + P1)?我會測試它,並讓你知道它是如何工作的。 – Jonathan 2012-07-11 12:11:02
我想我的問題是我正在使用所有點而不是連續3個點來計算面部正常。 – Jonathan 2012-07-17 13:20:30