学习Java之后玩了一个小游戏叫Gravitee Wars.
突发奇想:
Java强大的图形功能,
用来仿真一个重力场不是很好嘛
于是马上动手开始做。
程序很简单,就是一个Java applet 外加两个类用来处理万有引力。
万有引力的处理也很简单,每10ms更新一次加速度、速度、时间
具体的,
运动物体质量不计,
大质量物体不动。(类似行星绕恒星)
ax=
ΣGM/
r2*
cos(大质量物体相对于运动物体的极角)
ay=
ΣGM/
r2*
sin(大质量物体相对于运动物体的极角)
dvx=
ax·dt
dvy=
ay.dt
dx=vx*dt
dy=vy*dt
dt=10ms
每秒更新一百次物体运动状态。
这样仿真出来效果不错,G大概取1e-2左右比较好(坐标的单位是像素)
接下来的事情就很简单了:
放上两个恒星,一个物体团团转。
混沌就这么产生了——简化三体问题
但是,混沌终究会产生规律:
图中左侧恒星是右侧恒星10倍,并保持不变,
各个图的区别仅在于初始位置和速度不同
这就是混沌的奇妙所在!
还挺好玩的~
论坛MS不得直接播放Java Applet...
上传附件吧。。
不知道怎么在Eclipse里面生成.jar...
只有用个.html凑合了。
gravity.rar
4.77KB
RAR
57次下载
200字以内,仅用于支线交流,主线讨论请采用回复功能。