1 Star 4 Fork 1

凤舞九天 / 双摆运动仿真桌面版

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 3.11 KB
一键复制 编辑 原始数据 按行查看 历史
凤舞九天 提交于 2020-10-21 16:25 . update README.md.

双摆运动仿真桌面版

介绍

将双摆运动仿真网页版打包成桌面版。

截图

安装教程

请前往发行版下载

在线体验

点击在线体验

注意

由于Linux下electron实现圆角UI有问题,所以Linux版源码请修改css去掉圆角。上面展示的源码只适合Windows和Mac使用。

原理

双摆的运动微分方程:

用四阶龙格-库塔算法进行迭代计算:

虽然这只是个小项目,但背后却蕴藏着一些物理和数学原理,需要用到理论力学和工程数学知识,有兴趣的可以看详细的解读:双摆运动仿真背后的原理

精度

首先,要知道双摆是一种混沌运动。所谓的混沌就是运动轨迹是实实在在确定的,即在理论上可用数学计算出,可以提前预测的。但却在实际中,无法准确预测,因为混沌运动对初始条件极其敏感,注意,是极其。初始条件一点点的细微不同,会导致后期巨大的差异。

所以无论Matlab或js计算精度有多高,总会有细微误差。故均不能长期准确计算出双摆的理论轨迹。这也是为什么不能长期预测天气的原因。

虽然不能长期准确预测运动轨迹,但还是要简单对比一下js和Matlab的计算精度。毕竟仿真不是看动画做得多逼真多好看,而是与真实情况多接近。

首先来看看短期仿真对比,因为短期仿真与真实值接近:

左js,右matlab

还是看得出有不小的区别的。这里不得不说Matlab在计算上还是很厉害,仅用0.1的迭代步长就可以算出比较稳定的数据。而上图JavaScript用的0.0001的迭代步长(即计算量比Matlab多1000倍),并且不同的步长算出的数据也不太稳定。当然,Matlab用的自带的算法,具体我也不知道用的啥算法,但我估计使用了修正算法。而此项目用的四阶龙格-库塔算法,大概没有修正,越到后越远离真实值。哎,被Matlab无情吊打。不过还是要说一下,由于混沌运动的特性,算到后面Matlab也不会很准确。

总结:此应用对双摆运动的仿真短期还行,时间长了精度较差,娱乐一下还行吧。

致谢

vue

electron

vue-cli-plugin-electron-builder

Echarts

Element

JavaScript
1
https://gitee.com/cgper/double-pendulum-motion-simulation-desktop.git
git@gitee.com:cgper/double-pendulum-motion-simulation-desktop.git
cgper
double-pendulum-motion-simulation-desktop
双摆运动仿真桌面版
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891