像黑洞的动画,星星围绕它转,最后被吸入的动画
|  |      1SeanChense      2017-05-12 17:19:58 +08:00  1 多体系统,你想要的是双体系统。 N 大于等于 3 的多体系统现在科学家都头疼。 https://zh.wikipedia.org/wiki/%E4%BA%8C%E9%AB%94%E5%95%8F%E9%A1%8C https://zh.wikipedia.org/wiki/N%E4%BD%93%E9%97%AE%E9%A2%98 | 
|  |      2jianzhiyao020      2017-05-12 17:20:42 +08:00 百度: 万有引力公式 圆周运动公式 | 
|      3eoxy      2017-05-12 17:28:02 +08:00 F=Gm₁m₂∕r² | 
|  |      4ryd994      2017-05-12 17:35:16 +08:00 via Android  1 如果忽略星星之间的相互作用的话,就是独立问题,最简单。不忽略就是 n body,你先试试 verlet @SeanChense n body 问题难的是解析解。数值方法求近似还是很容易的。不然各种分子动力学都不用做了。 | 
|  |      5finab      2017-05-12 17:45:38 +08:00 直接被楼上吓尿了 我以为楼主就要个 🌀 这个的计算公式呢, | 
|      6hard2reg      2017-05-12 17:47:18 +08:00 via iPhone 请 flash | 
|      7am241      2017-05-12 17:50:32 +08:00 via Android 要么推导出轨迹随时间变化的函数并绘制 要么找一个最小时间间隔做数值积分 | 
|  |      8Kilerd      2017-05-12 18:01:20 +08:00 via iPhone @SeanChense 三体找不到一个稳定的状态。 因此引发了《三体》 | 
|  |      9menc      2017-05-12 18:37:56 +08:00  4 楼上都想什么呢,三体都出来了?强行吹比?看不懂题意? 二体也用不上,人家固定了一个物体,哪来的双体问题? | 
|  |      10feng32      2017-05-12 18:45:32 +08:00 多体用计算机模拟特简单,类似数值积分的方法就行了 | 
|  |      11shijingshijing      2017-05-12 19:03:57 +08:00  2 很早以前,替我妈做了个地球围绕太阳转的物理课程动画教案,用的 Authorware,供楼主参考。 | 
|  |      12ProjectAmber      2017-05-12 19:27:24 +08:00 via iPhone  1 用阿基米德螺线近似下比较简单。 | 
|  |      13pcwow      2017-05-12 19:31:18 +08:00  1 | 
|  |      14blankme      2017-05-12 19:31:54 +08:00  1 动量守恒 + 能量守恒 就能算出 r(t) 和 \theta(t) 不过最后是个微分方程。。。 - - 最实际的方法其实是找个差不多的螺旋线直接拿来用就行了,不是专业用途没人会细究的 | 
|  |      15acros      2017-05-12 19:35:51 +08:00 via iPhone  1 最简单做法,直接绕圈不就好了,只是 r 值慢慢变小。 复杂点用速度合成,一个切向力,一个向心力(渐大),做向量叠加。 不是做模拟天体吧,是的话我不知道.... | 
|  |      16flyingghost      2017-05-12 20:20:13 +08:00 不就是引力公式和速度 /加速度公式吗?不就是速度合成吗? 三体问题是找不出解析解,模拟三个体直接跑跑看还不简单嘛。 而且 @menc #9 也指出了,题意根本没说 B 也绕 A 旋转。更简化了。 这样的题面,画个九大行星绕太阳然后改改参数让他们都掉进去也不难啊。 | 
|  |      17blankme      2017-05-12 20:34:59 +08:00 via Android @flyingghost 你这样是算不出来的,因为引力是含时的 | 
|      18quadpixels      2017-05-12 23:09:45 +08:00 via Android 积分可以用 Runge-Kutta 法,会比直接的加法(又叫欧拉法)要好。 有一个叫 Hattrick 的程序,就是用了 GNU GSL 中的 Runge-Kutta 积分器来解 N 体问题的: https://github.com/wtolson/hattrick | 
|      19quadpixels      2017-05-12 23:21:43 +08:00 via Android 在那个 Hattrick 的这个文件中的 Acceleration 函数就有速度和加速度的公式,其实有了那两个就能让系统动起来。 https://github.com/wtolson/hattrick/blob/master/src/Gravity.cc 这个程序精度很高,我自己试过低精度,如果只是要起来看起来好看就 OK 其实也行不需要这么高级的方法的 | 
|      20dongoo      2017-05-13 01:34:11 +08:00 via Android 斐波那契数列? 不知道可不可以要倒过来呢? | 
|  |      21dangyuluo      2017-05-13 02:42:03 +08:00 实际上你考虑一下,强行另一个大质量物体 A 静止,另一个小质量物体 B 以一定初速度绕 A 运转。不考虑阻力,只要初速度矢量方向不在 AB 连线方向上的话,那轨迹肯定是个封闭的椭圆,二者永远不会相交的。 | 
|  |      23codehz      2017-05-13 23:02:29 +08:00 via Android  1 只是做动画而已啊。。。又不用在乎科学性。。。 用极坐标,然后弄个递减函数就可以了(比如 a/x-b)。。。然后角度增加的速度,应该是越来越快的,这里再弄一个递增函数(比如 c^x),完美。。。这样参数化之后,只要调整几个参数,看着好看就可以了 基于物理的方法去做这个基本是费力不讨好,可能物理上都对了,但是不好看。。。。。 |