[英]3d heightmap terrain and collision detection
3d地形。
我有3個定義平面的頂點。 (高度圖中最近的3個像素)
我在那架飛機上有一個x,z。 (我在世界上的位置)
你如何找到y截距? (所以我站在那架飛機的表面)
飛機的等式是:
A x + B y + C z = D,其中D = A x0 + B y0 + C z0,
如果您有三個頂點,請從頂點中找到兩個向量。 例如,對於三個頂點T,U,V,將存在例如矢量TU和矢量UV 。
找到兩個向量的叉積。 那是你的法向量n ,它有三個分量n1,n2和n3。
A = n1
B = n2
C = n3
取其中一點。 該點的坐標是x0,y0和z0。
將此輸入到等式中以計算D.
然后用x和z替換x和z並求解y!
所以到底y是:
y = (A*x0 + B*y0 + C*z0 - A*x - C*z)/B
如果我的代數錯了,有人會糾正我。
您可以像這樣計算交叉積:
對於兩個向量a和b ,分別具有組分a1,a2,a3和b1,b2,b3,叉積為:
其中:
A = i-hat系數(加粗i)
B = j-hat系數(加粗j)
C = k-hat的系數(粗體k)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.