第189章 ,/.

Minecraft指令手册 你好MC 1489 字 21小时前

(本章于2022年7月18日重写)

(建议阅读本章的读者需具备一定的空间想象能力,并预先准备好笔和草稿纸,或一个3D画图软件)

本章以及接下来两章原本是讲execute的条件子命令和存储子命令的,结果本书第一次大修中这些内容在前面几章讲完了,这几章就空出来。

所以这一章,我们就来研究一下:局部坐标与执行朝向的关系。

在第五十九章『更深入地了解坐标』中,我们了解到局部坐标是以执行者的头为原点,但其实这个观点是完全错误的。要想纠正这个错误,我们就得了解到局部坐标的本质。

局部坐标的本质是什么呢?简单来说,局部坐标就是一种基于相对坐标并受执行朝向影响的一种坐标。局部坐标的原点在相对坐标的基础上计算而成,三个坐标轴根据执行朝向不断改变其倾斜角度。

为了能够更好理解局部坐标的本质,我们可以以执行地点为圆心O,任意实数r为半径,画一个处于水平面上的圆,这个圆我们可以称之为『水平朝向圆』,用来代表水平旋转角度。然后,我们再以同样的点O为圆心,同样的r为半径,画一个和绝对y、z坐标轴处于相同平面上的圆,这个圆我们可以称之为『垂直朝向圆』,用来代表垂直旋转角度。

画出来后,我们就会发现这两个圆组成了一个球体,这个球体我们可以称之为『朝向球』。(注:这些名词都是作者自己编的)

在这个『朝向球』中,『水平旋转圆』和『垂直旋转圆』的边有两个交点,这两个交点就分别代表着(180°,0°)和(0°,0°)这两个特殊的旋转角度。由于这两个交点所代表的旋转角度很特殊,我们就将这个『朝向球』称之为『标准朝向球』,意指这个朝向球代表着标准的、默认的朝向。

在Minecraft中,命令方块执行指令时,它的朝向球就是这样子的,因为本身其没有朝向,所以默认采用『水平朝向正南』的朝向来执行指令。

但是在玩家身上呢?甚至在其他实体身上呢?由于实体的朝向会不断改变且不标准,所以每个实体朝向球内的『水平朝向圆』和『垂直朝向圆』并不一定处于水平面和绝对yz坐标的平面上,而是有一个偏差的角度。

比如说这位玩家,他的水平旋转角度为76°(南偏西76°),垂直旋转角度为-27°(水平向上27°)。我们以这位玩家的位置作为圆心O,以任意实数r为半径,画出的『水平朝向圆』所在的平面和水平面的夹角为27°,画出的『垂直朝向圆』所在的平面和绝对yz坐标轴所在的平面的夹角为76°(或104°)。

不难发现,在这种不标准的朝向球中,『水平朝向圆』倾斜的角度是由『垂直旋转角度』决定的,而『垂直朝向圆』偏差的角度是由『水平旋转角度』决定的,两者是互相影响的关系。