7.2.5萨墓基尔加丹M螺旋爆炸技能建模分析,一起来看下吧!
看了会M鸡蛋的直播,M鸡蛋的这个技能非常有意思。
所以作为一个火焰数学家,我要来建模了。
考虑到直播中很多东西看的不是太清楚。所以有很多东西是基于我录制视频后慢放得到的结果。
我倾向于认为这是阿基米德螺线
阿基米德螺线(亦称等速螺线),得名于公元前三世纪希腊数学家阿基米德。阿基米德螺线是一个点匀速离开一个固定点的同时又以固定的***绕该固定点转动而产生的轨迹。
有位朋友画出了轨迹图。
根据GIF草画一张图,球均是以黄线方向出去的,最后形成红线样式。
再引用一组更加形象的图。
我想象了一下,不知道是不是这样子的,修改了下,原来球出去是直线。
原地不动的脑补。
再搬运一位朋友的MATLAB动图,可以让大家对此问题有更加形象的认识:
提供改进版:
当我们认为爆炸球出现的间隔是均匀的,每次球转的角度是均匀的,并且球出来后走直线,就可以认为球的轨迹是阿基米德螺线。
要是这几个不满足,那阿三设计师就真厉害了。
通过慢动作回放,我得出了以下的假设:
• 爆炸球每0.5s出现一个
• 爆炸球一次出现六个,下次出现的爆炸球会逆时针旋转10度
在直播中,我听到了以下的结论
• 人物移动速度是7码/秒
• 一共放60个球
考虑到我们考虑的是球的路径,所以不需要知道球的移动速度。
通过我的法师在副本里的实际测量,该区域是80码x80码的方形区域,中间大圆的半径为20码。
我们首先考虑跑直线的情形。
写了一段Matlab代码,大半夜的脑子不是很清楚,写的稍稍有点乱。直接更改有注释的两行就可以更改初始位置和初始方向(弧度制)。欢迎大家捉虫:
velocity = 7;
clear
hold on
zz = 0:0.001:2*pi;
m = 0:0.01:100;
for alpha = 1:6
for k = 0:9
%跑直线
qidian = [20,20];%起点
al0 = 0;%初始角度
angle = k*2*pi/36+pi/3*alpha+al0;
pos1 = qidian +[3.5*k*cos(al0),3.5*k*sin(al0)];
plot(pos1(1)+cos(zz),pos1(2)+sin(zz),'color','blue')
x = pos1(1) + (cos(angle) *m);
y = pos1(2) +( sin(angle) * m);
plot(x,y,'color','black')
end
end
axis([0 80 0 80]);
plot(40+20*cos(zz),40+20*sin(zz),'color','red')
plot(40+3*cos(zz),40+3*sin(zz),'color','green')
考虑最简单的情形
建立笛卡尔坐标系。设队员从(0,0)点出发,沿x轴向右出发。(其他跑直线的结论都是该情况的旋转平移)
可以得到下图
从(18,20)出发的结果
跑中间大圆无论顺逆时针结果(还需进一步验证):
对于本场战斗而言,我们可以选择的跑法应该只有跑大圆和跑直线——跑椭圆虽然或许可以得到好结果但是怎么可能跑出椭圆。
建议采用如下方法:
起点(18,20)左右,如下图:
经过一天的讨论,大家又的出了一些新的内容。
镜像靠里一些会更容易多球。不知道为啥图传不上来就不上新图了。
更新:补充了第一组球出在正左正右情况下的跑法,这种情况更加好跑——只要保证你左边的球恰打不到镜像,然后跑切线即可。