我有一個虛擬的風景,可以在第一人稱中漫步。如果45度或更少,我想能夠爬上任何斜坡。據我所知,這涉及到將你當前的位置翻譯出x個單位,然後找出翻譯後的點與地面之間的距離。如果該距離是x單位或更多,則用戶可以走到那裏。如果不是,用戶不能。我不知道如何找到一個點與y軸負方向上最近點之間的距離。我已經在Java3D中編寫了這個程序,但是我不知道如何在OpenGL中對它進行編程。OpenGL找到一個點的距離
0
A
回答
2
在OpenGL中咆哮這個問題是吠叫錯誤的樹:OpenGL的唯一目的是繪製漂亮的圖片到屏幕上。這不是一個數學庫!
根據您的要求,有幾種解決方案。這就是我如何解決這個問題:你計算正常陰影的法線會給你每個點的斜率。假設你的高度圖(=地形)在XY平面上,而你的重力矢量g = -Z
,那麼正常的力是terrain_normal(x,y) · g
。正常的力量是,「推動」你的腳靠在地面上。沒有足夠的正常力量,沒有足夠的摩擦力將肌肉力量轉化爲垂直於地面的運動。如果您查看法向力公式,您可以看到g
和terrain_normal(x,y)
之間的角度偏差越大,法向力越小。
因此,在您的程序中,您可以簡單地測試法向力是否超過某個閾值;正確的,你會將超強的摩擦力投射到地形上,並將其用作加速度矢量。
0
如果你只是一個正三角形的hightmap,你可以用barycentric coordinates來插入給定(X,Y)位置的Z值。
相關問題
- 1. 沿着距離兩個給定點的距離找到一條中間點
- 2. 找到多個點之間的距離
- 3. 找到距離地點最小總距離的點的算法
- 4. 找到一個點,使距離一個有限區域內的一組點的總距離最大
- 5. 如何找到一個點與其他兩點的距離?
- 6. Postgresql:在距離海岸的距離內找到道路端點
- 7. 找到一個節點和樹的根之間的距離
- 8. 如何找到附近的一個點的x距離
- 9. 從點到另一點的距離
- 10. 找到距離源的某個距離處的座標
- 11. gls圖書館,找到一個點和一組點之間的最小距離?
- 12. 從到一個最遠的一個節點查找距離它BOOST
- 13. 如何通過在第一個點添加距離來找到第二個點?
- 14. 距離某一點的線段距離上的點
- 15. 到點的最短距離
- 16. 找到一個點到橢圓的距離,其橢圓的內部或外部
- 17. 通過距離參考點的距離查找全部
- 18. 如何找到距離線段指定距離的標題上的第一個點?
- 19. 從基點離開一定距離繪製一個點
- 20. 按距離到第一個點的線上點
- 21. 源代碼找到兩個地理點之間的距離
- 22. 找到2個節點之間的最小距離
- 23. 如何找到兩個點之間的距離android
- 24. 在Python中找到兩個gps點之間的距離
- 25. 找到多個點之間的最短距離
- 26. C++試圖找到2個節點之間的距離
- 27. 如何使用BFS找到兩個節點之間的距離?
- 28. Haskell找到兩個最近點之間的距離
- 29. 如何找到兩個地點之間的距離?
- 30. 找到2個經緯度點之間的距離(單位:米)
這看起來像一個幾何問題而不是OpenGL – geofftnz 2011-05-11 01:40:58