Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 804|回复: 14

[教程] 【几何:较实用型a】对实体方块阵型排列进行 斜体、90°旋转、非90°旋转

[复制链接]
发表于 2016-12-17 02:33:42 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 林扬骐 于 2017-1-24 17:43 编辑

斜体与旋转
(适用于操作平面)

前言:
其实斜体、90°旋转的方法是很早就想到了的(大概在第一代斜线法发布几天后,而斜线机(
http://www.mcbbs.net/thread-544286-1-1.html)也透露出了一点“预告”),但是由于没注意到其重要性与实用性加上太过懒癌(恩这是主要原因),所以迟迟没有发布。
而非90°旋转在当时一直没有想出来,那时的设想会导致旋转正方形后会成为一个奇怪的平行四边形。
一节体训上回想起直角三角形,又想到了“扫描法”,于是一个相对比较标准的非90°旋转法就想出来了(不过缺陷是会有洞(直角三角形斜边大于直边)(可能扫描得密一些可以较好解决))
ps:不久前见到了“船黑科技”,用“中介点扫描法”应该也可以,但是想到效率太低于是没想太多,(不过或许可以控制大小基本不变)

【主要思想】:1.相对坐标“堆叠”;*2.绝对与相对坐标的结合/相互转换(重点);3.(仅在非90°旋转中)“中介”线扫描法;4.(灵活运用的思想)可以把该平面分为多个“大块”,最后的处理效果就像是“大方块的转换”(如分为多个2x2x2的大块,最后原本1x1x1的“像素美”会变成2x2x2)
基本原理示意图
斜体与旋转.png


注:我在这里生成的正方形是从(41,114,228)fill到 (62,135,228)
(即以(41,114,228)原点(以下省略为“正方形原点”,而实体原点(41,114,229)将被省略为“实体原点”),向x+、y+方向作边长为22个方块(两边相对坐标差是~21)的正方形

(另见b:http://www.mcbbs.net/thread-664232-1-1.html

评分

参与人数 8人气 +17 金粒 +200 贡献 +2 收起 理由
Deing + 2 + 15 看起来非常棒!先收藏咯
chyx + 2 楼主你太帅了~
MsYqgzt + 2 + 10 很棒的作品!
Zero_Exact + 4 + 40 + 1 满分
FHC红石 + 3 + 70 + 1 可以可以
pca006132 + 2 + 35 挺一颗赛艇的
10268336I9 + 1 + 10 大触我们做朋友吧!
Java_command + 1 + 20 大触!dalao!julao!

查看全部评分

回复

使用道具 举报

发表于 2017-1-29 21:12:10 | 显示全部楼层
不错的教程!
回复

使用道具 举报

发表于 2017-1-26 08:17:04 | 显示全部楼层
ddung 发表于 2017-1-24 20:00
刚刚mcbbs提醒我这个帖子有提到我,来一看,什么鬼。

哦,看了半天才看到目录,我就说怎么找了半天也没看到at我
回复

使用道具 举报

发表于 2017-1-24 20:00:50 | 显示全部楼层
刚刚mcbbs提醒我这个帖子有提到我,来一看,什么鬼。

点评

哦,看了半天才看到目录,我就说怎么找了半天也没看到at我  详情 回复 发表于 2017-1-26 08:17

评分

参与人数 1金粒 +1 收起 理由
林扬骐 + 1 看来有at到233

查看全部评分

回复

使用道具 举报

发表于 2016-12-17 20:08:09 | 显示全部楼层
非90度有点意思
希望能找到解决缺陷的方案
换微博图床试试?

评分

参与人数 2人气 +2 金粒 +1 收起 理由
langyo + 1 下头林扬骐居然想到了船XD
林扬骐 + 2 或许可以改成用船黑科技(不过会比较慢)(.

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-12-17 19:33:26 | 显示全部楼层
FHC红石 发表于 2016-12-17 18:52
等你把图修好了我再来看
图片全炸了怎么行
public.lightpic图床看不到啊……

图的网盘https://pan.baidu.com/s/1eS5fjbG
回复

使用道具 举报

发表于 2016-12-17 18:52:18 | 显示全部楼层
等你把图修好了我再来看
图片全炸了怎么行
public.lightpic图床看不到啊……

很早以前就想做个魔方的东西了,后来弃坑

点评

图的网盘https://pan.baidu.com/s/1eS5fjbG  详情 回复 发表于 2016-12-17 19:33

评分

参与人数 2人气 +2 金粒 +1 收起 理由
林扬骐 + 2 现在可以重拾坑了吧(笑)至于看不到图,我.
langyo + 1 你坑呢?

查看全部评分

回复

使用道具 举报

发表于 2016-12-17 15:39:43 | 显示全部楼层
嘛,扫描器还是挺一颗赛艇的玩意
至于你那个非90°的,基本上不可能有完美的,毕竟怎么算都会有些奇怪的地方,如果要搞好那地方的话感觉就只能逐个方块进行计算了...太烦了

//然后不声不响的把链接到新人手册里

评分

参与人数 4人气 +4 金粒 +1 收起 理由
Zero_Exact + 1 只服最后一句
林扬骐 + 2 23333
FHC红石 + 1 hhhhhhhhhhhhhhh
langyo + 1 //pca pca=new pca();

查看全部评分

回复

使用道具 举报

头像被屏蔽
发表于 2016-12-17 11:21:10 | 显示全部楼层
看了乙烯回复后,我综合得出的建议是:
90度的比较简单不看,非90度的你得试着在mc中用数学,算法优化到适合mc这种靠@e吃饭的引擎

(其实,9289字节≈8KB,相当于3章小说)

最近由于各种学习,所以我本来高深的理论总是在作业堆中夭折,现在我对于理论知识甚至都得靠你们了_(:з)∠)_加油,继续学母猪高产!

评分

参与人数 1人气 +2 收起 理由
林扬骐 + 2 嗯这点楼下pca也说明了

查看全部评分

回复

使用道具 举报

发表于 2016-12-17 10:21:39 | 显示全部楼层
恩 有点高深
回复

使用道具 举报

发表于 2016-12-17 10:24:08 | 显示全部楼层
你和方块操作干上了啊……
真的要做偏斜的话目前最稳还是扫描法,不涉及算法直接暴力逐一盖过去。耗时长,质量……反正本身也高不到哪去。
然后仔细想想你这个算法哪里有坑呢?在你创建斜线实体的时候,你只处理了x。什么数学老师说三角变换可以只做一边吗?结果中的洞和放大就是没被处理的y导致的。当然一个最核心的问题就是一旦y被处理,方块的坐标就不是一一对应的了,二对一之类的情况会不时出现,后面的算法怎么处理就看你了。

评分

参与人数 1人气 +1 收起 理由
林扬骐 + 1 或许可以用船黑科技(不过可能会比较慢).

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-12-17 10:08:24 | 显示全部楼层
乙烯_中国 发表于 2016-12-17 07:56
有点意思,90度这个我就不评价了,非90度这个想法还是可以的,但是有洞就说明还是有缺陷的,也就是说还有改 ...

这个问题其实我在比较早的时候就想过,找旋转后每个方块对应点发现有的位置是在旋转前的4个方块中间(所以标准的怕是不能保证了)
用方式b可以做到旋转后的方块没孔(但是会导致有些方块探测不到,复制不过来)
回复

使用道具 举报

发表于 2016-12-17 08:50:50 | 显示全部楼层
让我想起了学着色器的时候的三角形和各种形的实例……

评分

参与人数 1人气 +1 收起 理由
林扬骐 + 1 来证个全等吧(笑)

查看全部评分

回复

使用道具 举报

发表于 2016-12-17 08:39:43 | 显示全部楼层
厉害厉害,以后拿来当解密地图的小部件应该会很酷!!

评分

参与人数 1人气 +1 收起 理由
林扬骐 + 1 ps:得找一个“空旷的地方”

查看全部评分

回复

使用道具 举报

发表于 2016-12-17 07:56:40 | 显示全部楼层
有点意思,90度这个我就不评价了,非90度这个想法还是可以的,但是有洞就说明还是有缺陷的,也就是说还有改进空间。将实体阵列密度提升应该可以解决这个问题,但逻辑就不太一样了,不过最近比较忙,日后再看。

点评

这个问题其实我在比较早的时候就想过,找旋转后每个方块对应点发现有的位置是在旋转前的4个方块中间(所以标准的怕是不能保证了) 不过如果可以忍受大小的变化,用方式b可以做到旋转后的方块没孔(但是会导致有些方  详情 回复 发表于 2016-12-17 10:08

评分

参与人数 2人气 +2 收起 理由
langyo + 1 其实,这个孔也很美_(:з)∠)_
林扬骐 + 1 其实之前想过如何治理这个“洞”找对应点发.

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 手机版本

GMT+8, 2017-9-20 04:48 , Processed in 0.227635 second(s), 10 queries , Memcache On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标。本站与Mojang以及微软公司没有从属关系。

© 2010-2017 我的世界中文论坛 版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。

快速回复 返回顶部 返回列表