Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看暴君的炮灰男后 洪荒:开局建立斧头帮 千仞雪:天使与龙的共舞 从明玉功开始:武道长生 海贼之开局夺取飘飘果实 高武27世纪 武碎星河 神级卡徒 综武,我只想安静说书 美利坚:我的时代 
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的玄幻魔法小说

第七十五章 局部坐标与执行朝向

上一章书 页下一章阅读记录

(本章于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°)。

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

如果你读懂了上面的内容,那么恭喜你,我们现在可以尝试加点儿料来切入主题了。如果你没有读懂,也没事,画点图,或者搜一搜和上述概念很类似的『天球』,了解了解,你大概也就懂了。

我们还是以刚才那位玩家的朝向球为基础,你会发现在这个朝向球中也有两个交点,分别代表着(76°,-27°)和(-104°,27°)的朝向,前者是玩家正面的朝向,后者是玩家背面的朝向。我们设前者为A点,后者为b点,过Ab点作直线Ab,这条直线Ab必定会过圆心o点。

现在,我们把这条直线Ab当作是一个原点是o的坐标轴,向A点方向为正方向,向b点方向为反方向。这条坐标轴是什么呢?就是这名玩家局部坐标的z坐标轴!

然后,我们隐藏掉『垂直朝向圆』,只看『水平朝向圆』和z坐标轴。我们能够看见z坐标轴和圆的边有两个交点,这两个交点也就是上面的A点和b点。

我们过圆心o作z坐标轴的垂线,分别交『水平朝向圆』的边于c、d两点。这个垂线也就是这名玩家局部坐标的x坐标轴。那么这个x坐标轴的正方向在哪里呢?你当然可以通过左正右负判断出来,但是这样子也过于浅显了一些。我们必须要找到c点和d点这两点分别的含义,才能确定x坐标轴的正方向在哪里。

由于x轴和z轴互相垂直,因此这里就形成了四个直角三角形——∠Aoc、∠Aod、∠boc和∠bod。由于这四个角都是圆心角,所以我们就可以得到它们对应的弧Ac、Ad、bc、bd的长度都是90°。

别忘了,这里的圆是『水平朝向圆』,所以这里弧长的实际意义都是水平旋转角度。在这边,我们把『水平朝向圆』所代表的旋转角度当成是相对水平旋转角度,A点为0°点,顺时针增加度数,因此我们就可以得到A、b、c、d四个点分别代表的度数:

A:0°

b:180°

c:90°(或270°,看你是怎样标的)

d:270°(或90°)

现在我们得到了这四个点所代表的『相对水平旋转角度』的度数。那问题来了,这个度数的实际意义是什么?

A为0°,代表着正前方;b为180°,代表着正后方;c为90°(或270°),代表着正右方向;d为270°(或90°),代表着正左方向。而据我们所知,局部坐标x轴的正方向是向右,所以在这边,x坐标轴朝向d点(或c点)的方向为正方向。

接下来,我们来看看『垂直朝向圆』,把最后的y坐标轴也画出来。还是故技重施,过圆心o作z坐标轴的垂线,分别交『垂直朝向圆』的边于E、F两点,这个垂线也就是这名玩家的y坐标轴。仔细观察E、F点,想象一下当玩家朝向改变时,E、F点会怎么运动。你会发现E点(或F点)不管怎么运动,都不会超出『垂直朝向圆』上代表着垂直旋转角度为0°~-180°的圆弧,也就是说不会跑到过o点水平线以下的位置。所以,这个y坐标轴朝向点E(或点F)的方向为正方向,朝向点F(或点E)的方向为负方向。

如果你能够理解上面的内容,那么恭喜你,你已经很清楚局部坐标与旋转角度的关系了。

但局部坐标的原点呢?

局部坐标的原点默认是执行者的脚部坐标,也就是执行地点。但我们可以通过execute指令来改变执行朝向的基准部位到眼睛,来改变局部坐标的原点位置。那么改变之后,局部坐标的原点会有什么变化呢?让我们来看看下面几条指令:

1\/execute as @s positioned 50.0 -60 50.0 anchored eyes run tp @s ^^^

2\/execute as @e[type=cow,limit=1] positioned 50.0 -60 50.0 anchored eyes run tp @s ^^^

运行第一条指令,你会发现你被传送到了(50.0,-58.38,50.0),y坐标并不是-60,而是抬高了1.62米。但如果我们运行第二条指令,你会发现牛被传送到了(50.0,-58.7,50.0),仅仅抬高了1.3米。所以说,当基准部位改变时,游戏会根据当前指令的执行者来判断眼部坐标的具体位置,而不是一定就抬高一个固定的值。如果执行者不是一个实体,那就没有眼睛,将不会对执行朝向的原点以及局部坐标的原点有任何的变化。

这就是局部坐标与执行朝向的关系。需要注意的是,在tp和teleport指令中,局部坐标的旋转角度和原点是分家的——旋转角度会采用传送目标的旋转角度,而原点会基于执行地点计算出来,两者的来源并不一样。

这就是本章的全部内容了,你读懂了吗?

上一章目 录下一章存书签
站内强推一胎三宝:妈咪你别跑 绿龙博士 钓鱼万倍返还,开局钓起国民女神 乾坤剑神 混沌天行 没有异能的我却能靠卡片变身 穿越战锤世界,但我没有哭出声 同桌凶猛 穿越七九,我要娶祖孙三代的女神 鬼族修仙传 盘龙之圆满之上 近战狂兵 性转贤者,从灵气复苏开始 女修穿年代捡到一条龙脉 我的1978小农庄 小饭馆 五年内必死?我选择速通修仙界! 黜龙 男穿女:男主们都爱来偷听爷心声 穿越年代之我变成了女人 
经典收藏踏天境 开局被逐出圣地,觉醒满级悟性 木叶:从被纲手领养开始 随身带了个仙府 打不过?那等我换个号! 武侠之神级剑仙 无限先知 西游:贫僧不想取西经 镇守禁地的我,原来早就无敌了 凡人修仙传之真灵空间 逼我重生是吧 本是剑术庸才,那想我的剑会说话 我靠系统斩妖除魔 开局金风细雨楼主,一刀惊天下 悟性满级:剑阁观剑六十年 十方乱世,人间武圣! 长生:一曲唢呐,送葬诸天仙帝 猎魔人之从超凡开始 长生:养只蚁后加点修仙 从骷髅苦工开始 
最近更新灵璃 人魔之子成了神 一不小心端起地府铁饭碗 开局模拟器,我带着家族证道飞升 我作为系统,锄强扶弱 直播拯救病娇魔尊后我爆红了 开局召唤佩恩,我创建晓组织 西游:祥瑞她高开低走 铁血狼烟:从刽子手到万里侯 天浔十六年之餐桌 武道:在异世界加点封圣 天穹系统:从废柴到万界主宰 假太监好猛 每日情报:开局截胡苍天霸体 穿越兽世我成了一株植物 我能徒手开秘境,圣女魔女送上门 杀戮中掠夺,我无敌了 我被系统坑成了造物主 灵犀之主 元灵代码:道途重构 
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的玄幻魔法小说