Minecraft(我的世界)中文论坛

标题: 【1.13.1】(数据包)用盔甲架绘制圆和三角形

作者: (=°ω°)丿    时间: 2018-8-24 18:44
标题: 【1.13.1】(数据包)用盔甲架绘制圆和三角形
本帖最后由 Teenager_Yang 于 2018-9-22 13:33 编辑



标题:(数据包)用盔甲架绘制圆和三角形

游戏版本:1.13.1

问题:
在世界内有 任意 3个盔甲架(如图1,注意不要被图中的特殊情况误导):
盔甲架1:无重力,坐标:(x1,y1,z1),tag=armor_stand_1
盔甲架2:无重力,坐标:(x2,y2,z2),tag=armor_stand_2
盔甲架3:无重力,坐标:(x3,y3,z3),tag=armor_stand_3
x1,y1,z1,x2,y2,z2,x3,y3,z3 之间 无任何数量关系

要求制作一个数据包,使得:
第一个问题已经废弃:
玩家运行第一个函数后,以盔甲架1为圆心,盔甲架2为圆上一点,盔甲架3为圆所在平面上的另一点,用盔甲架(无重力,tag=point)绘制一个实心圆(如图2,注意不要被图中的特殊情况误导),
这是第二个问题:
玩家运行第二个函数后,以3个盔甲架为3个端点,用盔甲架(无重力,tag=point)绘制一个实心的三角形(如图3,注意不要被图中的特殊情况误导),
并简要说明原理。



作者: chyx    时间: 2018-8-24 18:44
本帖最后由 chyx 于 2018-9-10 01:22 编辑

倒不是做不来
问题是算叉乘用记分板很麻烦
人又懒

问一下题主 能不能把第二问的已知内容改成圆心 半径和圆盘轴线上不是圆心的随便一个点?


顺便 我发现我的上一题目可以改进


作者: chyx    时间: 2018-8-25 22:02
间隔多少?1格么?
作者: chyx    时间: 2018-8-25 23:34
本帖最后由 chyx 于 2018-8-26 11:40 编辑



额 疏忽了 画成了任意的等腰三角形

任意的也想出来怎么做了 但是感觉这个方法不好 不好意思说出来

我等等其他人来看看有没有好的方法 没有再说





我的方法是
a/A+b/B<=1 也就是a*B+b*A<=AB
加上这几个记分板即可

作者: ⊙v⊙    时间: 2018-8-26 18:23
数据包应该是不会有时间写的了...糟糕的思路倒是有
三角形,ABC三个点
B望向C,用facing+^使B传送至C点,每一次传送生成marker。(传送距离/密度自己决定)
这些marker点连起来,代表线段BC。
让线段BC的(第一个marker/第二个marker/第三个marker/.../最后一个marker),facing+^面向且传送至A,每一次传送生成marker。
收尾部分,让剩下的所有marker align xyz teleport,清除同一坐标下重复的marker。
如果要生成平面(某一轴相同),executure store data get从ABC中一点获取此轴并存至这些marker里。
清除ABC三点。


然后是圆形,两点就能定一个圆。三点的话就是椭圆了...涉及到计算,就不参与了
潜...





作者: ruhuasiyu    时间: 2018-8-27 17:03
圆形我简单说一下,首先根据三点坐标确定平面的法线(a,b,c)
然后将XOZ平面通过两次沿坐标轴旋转,旋转至该平面
之后在XOZ平面利用局部坐标画圆并通过上述旋转变换旋转至原平面
作者: chyx    时间: 2018-9-3 18:30
第一题做好了




假设三个盔甲架tag分别是1 2 3
每个都只存在一个
使用这个数据包
data.zip (1.76 KB, 下载次数: 11)
执行chyx:tri即可
如果不喜欢粒子效果可以自己修改tri的最后一行
希望有人能做得比我好

作者: chyx    时间: 2018-9-3 19:58

补充一个动图 我 矿车#1 矿车#2之间的三角形
您看一下效果

另外 ?圆的题我也在紧张地作答