2013-10-07 31 views
0

我的問題:http://i.imgur.com/fphNzcV.jpg如何在交叉射線剛剛擊中的平面上獲得平行向量?

我有什麼:相交,N,P。其中p是空間中的一個隨機點。 N是飛機的正常。

我追求什麼:W¯¯

我如何試圖解決它在我的着色器:

"vec3 n = normalize(faceNormal);", 
"vec3 p = vec3(1.0);", 
"vec3 u = p - intersect;", 
"vec3 absNormal = abs(n);", 
"vec3 v = dot(u, n) * n/(absNormal * absNormal);", 
"vec3 w = u - v;", 

和矢量不會成爲與平面平行:http://i.imgur.com/9omScb6.png

任何人看看我以爲錯在哪裏?

謝謝!

回答

0

abs()是絕對值。您應該使用length()功能。

"vec3 v = dot(u, n) * n/(length(n) * length(n));", 
+0

啊,謝謝西蘭利,現在工作。我認爲他們是同樣的事情。 – user2010496

相關問題