本篇教程由作者设定未经允许禁止转载。

这篇教程本是作者数理化比赛的论文,没评上,想着不能把它烂在U盘里,就放到这里了

本篇教程基于Minecraft1.16.5原版(但适用于几乎所有版本),若名词太专业引发不适,敬请理解

本教程的xyz三轴坐标系为数学模型,而非Minecraft坐标系(其实就是把Y轴和Z轴换了一下),阅读不便,敬请理解

题目:

游戏“我的世界(Minecraft)”中有一个重要关卡需要找到目的地“末地传送门(End Portal)”,找到“末地传送门”的唯一方法是使用游戏道具“末影之眼(Ender Eye)”,“末影之眼”在使用时会飞向“末地传送门”,玩家可依靠其飞行的方向判断“末地传送门”的位置。“末影之眼”的获取非常不易,那我们如何用尽量少的“末影之眼”快速找出“末地传送门”呢?

 

基于直线方程寻找坐标的问题研究

****学校 20**级 *班 作者:推窗子 指导老师:***

摘要:针对找出游戏中目标传送门的问题,本文依靠游戏中的三维坐标系,将玩家所在位置与游戏道具末影之眼指示的方向建模为平面直角坐标系上的点。采集两次玩家位置坐标及指示方向的数据,依据直线方程,以最小代价快速找出目标传送门。

关键词:平面直角坐标系,直线方程,交点


一、引言

我的世界Minecraft(以下简称MC)是一款优秀的3D沙盒游戏,游戏中有一个重要关卡是找到隐藏在地下的目的地——“末地传送门”(以下简称传送门),找到传送门的唯一方法是游戏中玩家使用游戏道具——“末影之眼”,末影之眼会从使用者(玩家)为起点飞向传送门的方向,但是只能在空中只飞行一小段距离便会落下,只起到指示作用,因为MC的地图很大,需要玩家不断的使用末影之眼,只有当玩家位于传送门上方时,末影之眼会垂直降落下来。末影之眼的获取非常不易,而且如果使用的次数过多,末影之眼还有可能爆炸消失。那我们如何用最短的时间和最少的游戏道具末影之眼找出传送门呢?

因为MC地图几乎没有穷尽,传送门还位于看不到的地下,为解决此寻找传送门的问题,本文将利用MC的三维坐标系提供的空间坐标参数,将其简化为平面直角坐标系,采集两次玩家位置坐标扔出末影之眼位置坐标,通过直线方程求得目标传送门的位置。


二、问题分析与建模

在本部分,将作出一些合理的假设,并基于此建立数学模型。

1. 目标与假设

综上所述,本文的目标用尽量少的末影之眼找到传送门。经分析,影响末影之眼指示传送门方向的因素三个

①玩家所处的位置坐标。

②传送门所处的位置坐标。

③末影之眼指示的方向。

为了正常建模,我们做如下假设:

①传送门确实存在并没有被损坏。

②扔出的末影之眼均朝着同一个传送门方向飞行。

③玩家所处坐标同传送门的坐标不重合。

④末影之眼飞行指示方向与传送门的方向完全一致。

⑤传送门不在三维坐标的原点。

2. 模型建立

在MC中按F3调出玩家所在位置三维坐标参数(例如X=2,Y=5,Z=1)。

注意:在MC中的坐标XYZ实际上是三维坐标XZY,也就是说MC中X对应三维坐标系的X,MC中Y对应三维坐标系的Z,MC中Z对应三维坐标系的Y

 

论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第1张图片

图1

因为末影之眼隐藏的位置基本上都位于地下,可以在找到其X、Y坐标后直接向地下挖掘找到,在建模中我们忽略传送门竖坐标(Z)简化为平面直角坐标系,只保留横坐标(X)和纵坐标(Y)参数。

下面将MC的地图建模为一个平面直角坐标系。如图2。

论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第2张图片

图2

因为末影之眼只会向传送门飞,我们在平面直角坐标系中获取玩家位置1末影之眼飞行后的位置2两点确定一条直线,确认第一条直线。传送门肯定在这条直线中的一点

论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第3张图片

图3


三、传送门位置分析与求解

通过图3我们只是确认了传送门存在于直线上的任意一点。通过变换玩家位置和再次抛出末影之眼的飞行后的位置,确认第二条直线。同时存在于两条直线上的位置就是传送门位置,也就是两条直线的交点

论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第4张图片

图4

 

玩家:位置1坐标(X1,Y1),位置3坐标(X3,Y3)。

末影之眼:位置2坐标(X2,Y2),位置4坐标(X4,Y4)。

传送门:位置(X,Y)。

其中X1、X2、X3、X4、Y1、Y2、Y3、Y4的值均已知。

可得2个直线方程。

直线方程1:论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第5张图片

直线方程2:论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第6张图片

传送门所在的这个点,即两条直线的交点,其坐标值同时满足这2条线的直线方程,就是同时满足2条直线方程的解

由此一来,我们就得到了一个二元一次方程组:论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第7张图片

将X1、X2、X3、X4、Y1、Y2、Y3、Y4的值代入即可求出X、Y的值,从而定位传送门的坐标。

综上所述,我们对游戏中的4个位置进行了截图验证。 

论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第8张图片

图5 位置1

论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第9张图片

图6 位置2

论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第10张图片

图7 位置3

论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第11张图片

图8 位置4

注意:在MC中的坐标XYZ实际上是三维坐标XZY,也就是说MC中X对应三维坐标系的X,MC中Y对应三维坐标系的Z,MC中Z对应三维坐标系的Y。

 

将位置1~4坐标参数代入方程:论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第12张图片

解得:X=-968.5833707 Y=-1785.673191


经过转换,我们对MC中的坐标进行挖掘,不出所料在x=-994.613,y=-1782.353的附近位置找到了传送门。

论如何用两颗末影之眼找出末地传送门——基于直线方程寻找坐标的问题研究-第13张图片

图9 传送门


四、结论

在玩MC时,怎样快速找到传送门是一个比较令人头痛的问题。本文通过构建平面直角坐标系模型,将传送门、玩家、末影之眼的位置建模为平面直角系的坐标。使用直线方程,通过变换玩家2次抛扔末影之眼的位置,根据末影之眼飞向的坐标就找到了传送门,大大减少了游戏道具的使用,节省了时间,并用事实对论文得出的结论进行了验证。