N 体问题模拟

用 HTML 5 中的 Canvas 标签画了一下 n 体问题的模拟。下面是一个截图:

n体模拟

主要原理就是模拟一个二维世界中 n 个物体在引力作用下由静止开始的运行轨迹,与现实世界稍微有点不同的是万有引力常数不一样,因为太小了物体运动太慢,太大了又运动太快,另外由于是在二维世界,所以引力大小与和距离成反比,而不是三维空间中的和距离的平方成反比。本来想再加上刚体碰撞效果的模拟,发现有一点小复杂,先放一下,下次再研究,另外,还有一个有一颗大恒星的版本以及一个基于 Python 的 Cocos2d 框架的版本

分类:编程标签:混沌HTML5算法宇宙JavaScript

相关文章:

评论:

好天山

看了很久,入迷了。

徒弟

擦 我要拜师的说

fouvy

应该先从一团星云开始,考虑聚合,碰撞,参数,不错不错哈

大灰羊

永远不撞的么?

oldj

没有加碰撞检测,永远不会撞,呵呵...

wcp

居然一点不卡。。。如何优化的啊?

freerabit

你确定二维世界里面的引力和距离成反比么

oldj

看得真仔细,呵呵。
三维世界中,引力像一个球面一样扩散,引力强度实际上是与这个球面的表面积成反比。二维世界中,引力像一个圆周一样扩散,这时,引力强度应该是与这个圆周的周长成反比,也就是与距离成反比了吧?

皮欧付款

当进行两体模拟的时候,可以很明显看出来系统能量不守恒

发表评论: