![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
物理模拟
文章平均质量分 71
韩天衣
热爱游戏开发,希望能有所成就
展开
-
物理模拟-更加真实的动态水面
物理模拟-更加真实的动态水面 书接上回 在上一篇中,我们讨论了简单的动态水面,并使用了正弦波去模拟了水面,但是,显然我们还有东西被遗漏了。 那就是,我们实际上没有计算水面的法向量。看过代码的读者应该知道,我直接使用了网格坐标来代替法线,虽然效果看起 好像还行,但终究是错误的。 本节,我们将讨论如何计算动态水面的法向量,切向量,次法向量 在那之前,我们首先需要用到高等数学中的计算公式,这里我们不展开讲解,具体细节请翻阅高等数学-多元函数微积分的几何应用 计算法向量 隐式曲面方程:F(x,y,z) = 0 在点原创 2022-04-28 20:19:02 · 704 阅读 · 0 评论 -
物理模拟-动态水面
物理模拟-动态水面 OpenGL模拟 水面顶点网格 顶点数组 顶点数组,我的设想是一个正方形区域(x[-l,l],z[-l,l]),也就是说边长为l 而对于每一行的网格数,我们定义为n,网格数量代表了水面的精度大小,n越大,精度越大,性能消耗也就越大。 我们以一行一行的方式给顶点数组赋值,每次完成一行就移动到下一行 请注意:因为每个顶点有三个坐标,因此顶点数组的长度应为:n*n*3 代码如下: //坐标范围是X轴(-l,l),Z轴(-l,l) float valueX = -waterLength; fl原创 2022-04-28 11:10:17 · 458 阅读 · 0 评论