我有一个虚拟的风景,可以在第一人称中漫步。如果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