opengl计算帧率_基于opengl的质点弹簧系统

本文记录了作者学习流体仿真的过程,通过阅读《fluid engine development》一书,使用OpenGL和glm库实现了一个质点弹簧系统,模拟了重力和弹力,尚未添加阻力。文中附带了代码实现和初步模拟效果展示,计划在此基础上进行布料模拟的开发。
摘要由CSDN通过智能技术生成

最近开始学习的流体仿真,发现参考资料真的比较少,所以在此记录本人学习流体仿真的历程,希望以后可以坚持更新到我能完美的模拟出各种流体效果,也希望能给来看的人提供一些帮助。

最近在读《fluid engine development》这本书,真的很好用,读完了第一章,想基于作者给出的算法做出一个质点弹簧系统,但是由于个人原因,不想配置作者书上源码的各种配置,所以没有用作者的矩阵库,而是用的OpenGL常用的glm库。

同时推荐一个B站的OpenGL教学视频,这也是我学习OpenGL所看的视频。[最好的OpenGL教程之一。](https://www.bilibili.com/video/BV1MJ411u7Bc?from=search&seid=3848022905634451641)

虽然是英文版,如果听不懂只需要照着他的代码跟着写就可以了,基本不会报错的。

下面先放一个我模拟的效果视频。(顺便问下怎么做gif好用)

(https://img-blog.csdnimg.cn/20200929152415288.gif#pic_center)这个系统我只分析了重力和弹力,并没有添加阻力等,因为将系统实现出来,别的力再加进去就变得十分简单。

重力F = ma;

弹力根据胡克定律 F = -k*(L-L0);

在这里L是当前的弹簧长度,L0是弹簧未发生形变时的长度。K为胡克系数。

下面看具体的代码实现。

private:
 //假定的每个质点的质量
 float mass = 1.0f;
 //弹簧不被拉伸时的长度
 float r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值