我没玩过王者呢…但是你说的是像下图这样的吗?


四个点的转圈

每个点的速度方向与这个点与下一个点的连线同向,速度保持恒定(好像是以前的什么高中竞赛题来着),它们的运动图像的动图如图所示。

你说十个?那我也可以给你算一下:


十个点的转圈

一开始我只想求个数值解,但是一想其实用极坐标直接就算出解析解了,接下来我们利用极坐标优雅地求出解析解。

首先由对称性,可以预见每一个球的运动轨迹都是相同的,只是角度有一个恒定的差别而已,假设有n个点,那么每两个之间的夹角为 2pi/n ,运动分析图如下:


于是很容易得到运动方程:

left{ begin{aligned} dot r=-v sin frac{pi}{n} \ rdot theta=vcos frac{pi}{n} end{aligned}  right.

解出通解

r=mathrm{e}^{-(theta-theta_0)tanfrac{pi}{n}}

也就是说解就是个对数螺旋。

又笨又懒的我偷懒用直角坐标计算的代码如下:

n = 10; r = 1; v0 = 1; tm = 2;

xvar = Array[x, n]; yvar = Array[y, n];
x[n + 1][t] = x[1][t]; y[n + 1][t] = y[1][t];
x0 = Table[x[i][0] == r Cos[2 (i - 1) [Pi]/n], {i, n}];
y0 = Table[y[i][0] == r Sin[2 (i - 1) [Pi]/n], {i, n}];
equsx = Table[
   x[i]'[t] == 
    v0 (x[i + 1][t] - x[i][t])/Sqrt[(x[i + 1][t] - x[i][t])^2
        + (y[i + 1][t] - y[i][t])^2], {i, n}];
equsy = Table[
   y[i]'[t] == 
    v0 (y[i + 1][t] - y[i][t])/Sqrt[(x[i + 1][t] - x[i][t])^2
        + (y[i + 1][t] - y[i][t])^2], {i, n}];
equs = Join[equsx, equsy, x0, y0];
vars = Join[xvar, yvar];
s = NDSolve[equs, vars, {t, 0, tm}, MaxSteps -> [Infinity]];

{xvar, yvar} = {xvar, yvar} /. s[[1]];

正巧,我经常用哪吒。我们先从最简单的一个运动开始定性地讨论一下为什么会收缩。

假设现在有两个哪吒,分别站在一个边长为 a 的正方形的A和D角上。同时开大,哪吒A匀速飞向哪吒D,而哪吒D沿着DC匀速飞向定点C。很显然,哪吒A飞行的路径比DC长得多,哪吒D肯定很早就到C了,不过我们姑且在这个模型里让哪吒D到了C点以后,在那里等着哪吒A。


图1

哪吒A的速度始终是指向哪吒D的,也就是这样:


图2

以A为原点,AD为y轴,AB为x轴建立直角坐标系。显然,随着哪吒A的运动,速度 vec{v} 与y轴的夹角 alpha 是从0变化到 pi/2 ,我们抓住速度大小不变这个条件,对速度进行分解( vec{v} 表示速度, v 表示速度大小):

begin{cases} v_x=vsinalpha\ v_y=vcosalpha end{cases}\tag1

需要十分注意这里的 alpha=alpha(t) 是时间依赖的。这个式子积分就可以得到两个方向上各自的位移函数:

begin{cases} x(t)=int vsinalphatext{d}t\ y(t)=int vcosalphatext{d}t end{cases}Rightarrow begin{cases} x(t)=int frac{vsinalpha}{alpha'}text{d}alpha\ y(t)=int  frac{vcosalpha}{alpha'}text{d}alpha end{cases} \tag2

其中 alpha'=text{d}alpha/text{d}t 。注意到 alphain[0,pi/2]sinalpha、cosalpha 都是正的。从图2这个运动来看, alpha 也是持续增大的, alpha'>0

这意味着,如果取消哪吒D沿着DC运动的限制,而是图1四个顶角都有一个哪吒,他们同时开大,顺时针去追下一个哪吒的话。在图2情形下的哪吒A,它不再是从A追到C去追哪吒D,而且因为哪吒D要去追哪吒C,导致它的轨道也是一条偏向正方形内部的曲线。这时哪吒A的 alpha0 变到 pi/2 耗时更短了,也就是变化更快了, alpha' 增大,从而导致(2)中的积分变小。而(2)是位移的参数方程,也就是说随着时间推移,他们动得越来越少,反应在整个运动中就是四个哪吒的追逐圈在缩小。

这个结论可以推广到任意个哪吒站在正多边形顶点上开大的情形,并且通过上述讨论发现,哪吒越多,追逐过程就越长。(因为哪吒太少了的话,单个哪吒的运动曲线偏移得很厉害,让圈缩得很快)

来源:如何通过数学解释十个哪吒互飞圈越来越小问题?

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注