作为一个最近在学指令并且对指令感兴趣的新人,我将会以初学者视角写笔记以记录自己的理解同时巩固,笔记可能对和我一样的初学者有帮助,以后还可能会发视频
以两个命名为x盔甲架作nx在命名为a的位于0 0 0的盔甲架右边形成直线:
execute as @e[name=a] at @s rotated as @e[name=x] positioned ^ ^ ^0.5 rotated as @e[name=x] positioned ^ ^ ^1 rotated as @e[name=x] positioned ^ ^ ^2 rotated as @e[name=x,x=0,y=0,z=0,c=1] positioned ^ ^ ^-4 run particle minecraft:balloon_gas_particle

需要证明:
execute as @e[name=a] at @s rotated as @e[name=x] positioned ^ ^ ^0.5 rotated as @e[name=x] positioned ^ ^ ^1 rotated as @e[name=x] positioned ^ ^ ^2 rotated as @e[name=x,x=0,y=0,z=0,c=1] positioned ^ ^ ^-4 positioned ~ ~-10000 ~ facing entity @s feet positioned ^ ^5000 ^ rotated ~180 ~ positioned ^ ^5000 ^ positioned ~ ~10000 ~ run particle minecraft:balloon_gas_particle
这个指令形成的直线是y=x,即在原指令run前面加上positioned ~ ~-10000 ~ facing entity @s feet positioned ^ ^5000 ^ rotated ~180 ~ positioned ^ ^5000 ^ positioned ~ ~10000 ~后形成的直线是y=x

先看positioned ~ ~-10000 ~,把它叫做第一部分,它使整体向下10000格
再看facing entity @s feet positioned ^ ^5000 ^,显然是再向垂直于面向盔甲架a的方向往上5000格,但是垂直的方向是哪个方向?通过游戏实际情况可知玩家不能歪头,仰角只能正着往上往下,所以垂直方向是在过实体a的面上偏向上。比如第一部分只向下4格(positioned ~ ~-4 ~)然后直接run是这样:

之后如果再facing entity @s feet positioned ^ ^2 ^,以下图点K为例,KL垂直于CK交横轴于L,点K就会到点N,点N在KL上,KN=2

再看rotated ~180 ~ positioned ^ ^5000 ^,显然是取水平旋转的反方向,仰角不变,然后再往这个方向移动,以刚刚上述的positioned ~ ~-4 ~ facing entity @s feet positioned ^ ^2 ^继续为例,后面如果再加上rotated ~180 ~ positioned ^ ^2 ^,那么上述点N会移动到下图中点O的位置

此时易证得KO垂直于横轴,过点N作NP垂直于竖轴交竖轴于点P,易得角PCK等于角PNK等于角PNO,设角PCK是θ,设第一部分整体向下移动的距离是n(那么第一部分是positioned ~ ~-n ~),第二部分和第三部分移动的长度是m(facing entity @s feet positioned ^ ^m ^与rotated ~180 ~ positioned ^ ^m ^),那么在上图中点K的纵坐标是-n,KN与NO长度都是m,此时易得KO的长度是2m·sinθ,如果点K的横坐标是x_1,那么

,点O的横坐标是x_1,纵坐标是

,再看最后一部分positioned ~ ~n ~又会在最后把整体向上移动n格,如果最终点O移动到点O',那么点O'的纵坐标是

,点O'的横坐标是x_1,由此可得点O'以及最后所有点的位置所在的最终函数表达式为

此时使2m=n,函数表达式变成

此时只需要证明当n趋近于正无穷时这个函数收敛到y=x:

当n趋近于正无穷时x/n趋近于0,那么

证毕
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删