国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【minecraft原版無(wú)mod】對(duì)實(shí)體方塊陣型排列進(jìn)行 斜體、90°旋轉(zhuǎn)、非90°旋轉(zhuǎn)

2021-11-05 23:16 作者:機(jī)器人白黑白--WBW  | 我要投稿

(以下內(nèi)容復(fù)制自俺以前在MCBBS發(fā)的原理帖……當(dāng)時(shí)還在1.9的樣子……現(xiàn)在原帖由于過(guò)于陳舊需要解鎖卡才能看……所以干脆搬出來(lái)吧,畢竟是俺魔方系統(tǒng)的重要原理

https://www.mcbbs.net/forum.php?mod=viewthread&tid=654676

有些圖已經(jīng)不能看到了……文章格式也沒(méi)有調(diào)整多少……如果在mcbbs金粒多的話(huà)大概還是原帖看比較好吧(呃,小心,挖墳是違規(guī)的_(:з」∠)_)

另外由于命令是1.9的,和現(xiàn)在已經(jīng)大不相同了

不過(guò)還是在1.17有個(gè)作品,可以看下面兩個(gè)視頻,簡(jiǎn)介里應(yīng)該是有存檔文件鏈接的

BV14341167h4
BV1sb4y1r78m

斜體與旋轉(zhuǎn)

(適用于操作厚平面)


? ? ? ? ? ? 前言:

? ? ? ? ? ? 其實(shí)斜體、90°旋轉(zhuǎn)的方法是很早就想到了的(大概在第一代斜線(xiàn)法發(fā)布幾天后,而斜線(xiàn)機(jī)(http://www.mcbbs.net/thread-544286-1-1.html)也透露出了一點(diǎn)“預(yù)告”),但是由于沒(méi)注意到其重要性與實(shí)用性加上太過(guò)懶癌(恩這是主要原因),所以遲遲沒(méi)有發(fā)布。

? ? ? ? ? ? 而非90°旋轉(zhuǎn)在當(dāng)時(shí)一直沒(méi)有想出來(lái),那時(shí)的設(shè)想會(huì)導(dǎo)致旋轉(zhuǎn)正方形后會(huì)成為一個(gè)奇怪的平行四邊形。

? ? ? ? ? ? 一節(jié)體訓(xùn)上回想起直角三角形,又想到了“掃描法”,于是一個(gè)相對(duì)比較標(biāo)準(zhǔn)的非90°旋轉(zhuǎn)法就想出來(lái)了(不過(guò)缺陷是會(huì)有洞(直角三角形斜邊大于直邊)(可能掃描得密一些可以較好解決))

? ? ? ? ? ? ps:不久前見(jiàn)到了“船黑科技”,用“中介點(diǎn)掃描法”應(yīng)該也可以,但是想到效率太低于是沒(méi)想太多,(不過(guò)或許可以控制大小基本不變)



? ? 【主要思想】:1.相對(duì)坐標(biāo)“堆疊”;*2.絕對(duì)與相對(duì)坐標(biāo)的結(jié)合/相互轉(zhuǎn)換(重點(diǎn));3.(僅在非90°旋轉(zhuǎn)中)“中介”線(xiàn)掃描法;4.(靈活運(yùn)用的思想)可以把該平面分為多個(gè)“大塊”,最后的處理效果就像是“大方塊的轉(zhuǎn)換”(如分為多個(gè)2x2x2的大塊,最后原本1x1x1的“像素美”會(huì)變成2x2x2)


基本原理示意圖


注:我在這里生成的正方形是從(41,114,228)fill到 (62,135,228)

(即以(41,114,228)為原點(diǎn)(以下省略為“正方形原點(diǎn)”,而實(shí)體原點(diǎn)(41,114,229)將被省略為“實(shí)體原點(diǎn)”),向x+、y+方向作邊長(zhǎng)為22個(gè)方塊(兩邊相對(duì)坐標(biāo)差是~21)的正方形)


(另見(jiàn)b:http://www.mcbbs.net/thread-664232-1-1.html)


斜體
對(duì)實(shí)體
其實(shí)原型就是“第一代斜線(xiàn)法”(http://www.mcbbs.net/thread-511419-1-1.html)(當(dāng)時(shí)說(shuō)話(huà)好像不大文明?。?/span>

【步驟】
1.先要有一排或一面比較整齊的實(shí)體陣型(生成法見(jiàn)“fill實(shí)體”)

  1. /fill 41 114 229 62 114 229 minecraft:command_block 0 replace {auto:1b,Command:summon snowball ~ ~ ~2 {NoGravity:1b,CustomName:"turn"}}
復(fù)制代碼


(這里我生成了從實(shí)體原點(diǎn)向x+方向延伸21格(~21)的實(shí)體排)
2.使用相對(duì)坐標(biāo)“堆疊”思想進(jìn)行tp:

  1. execute @e[name=turn] ~1 ~-22 ~ tp @e[name=turn,dx=22,dy=44] ~ ~0.5 ~
復(fù)制代碼
原理:這樣一排的實(shí)體,在前面的會(huì)給后面每一個(gè)都tp一段距離,最后堆疊出的tp結(jié)果就是從前往后遞增的tp距離,形成斜體(選取范圍很重要)
【最終效果】

(順便還fill了一個(gè)正方形(為后面作準(zhǔn)備))



對(duì)方塊

【步驟】
方法a(相對(duì)坐標(biāo)堆疊法):
1.準(zhǔn)備一排實(shí)體(不斜)
2.使用相對(duì)坐標(biāo)“堆疊”思想進(jìn)行clone:

  1. execute @e[name=turn] ~ ~ ~-1 clone ~ ~ ~ ~22 ~44 ~ ~ ~1 ~ masked move
復(fù)制代碼
原理:(類(lèi)似實(shí)體斜體)這樣一排的實(shí)體,在前面的會(huì)給后面每一列方塊都clone-move一段距離,最后堆疊出的clone-move結(jié)果就是從前往后遞增的move距離,形成斜體

優(yōu)點(diǎn):可以少一些絕對(duì)坐標(biāo)的要求
缺點(diǎn):這樣只能允許1:1的斜體,而且比較費(fèi)資源,還更可能影響到別的方塊

方法b(絕對(duì)與相對(duì)坐標(biāo)的結(jié)合/相互轉(zhuǎn)換):
*注:坐標(biāo)從絕對(duì)到相對(duì)我稱(chēng)為“推”,相對(duì)到絕對(duì)我稱(chēng)為“拉”
1.準(zhǔn)備一些實(shí)體(可以是任何排列方式(除斜線(xiàn)外曲線(xiàn)也可以,最終“斜體”會(huì)沿著這條線(xiàn)來(lái)),但必須保證每個(gè)實(shí)體的控制范圍互不影響(一個(gè)實(shí)體占一個(gè)選取范圍))
2.使用絕對(duì)與相對(duì)坐標(biāo)的結(jié)合/相互轉(zhuǎn)換思想進(jìn)行clone:
“推”:

  1. execute @e[name=turn] ~ ~ ~-1 clone ~ 114 ~ ~ 135 ~ ~ ~ ~ masked move
復(fù)制代碼

“拉”(做出與推相反的行為即將推的動(dòng)作“還原”):

  1. execute @e[name=turn] ~ ~ ~-1 clone ~ ~ ~ ~ ~100 ~ ~ 114 ~ masked move
復(fù)制代碼
注:不論推還是拉,都必須保證所需范圍讀取的范圍內(nèi),而且最后的目標(biāo)范圍取的坐標(biāo)一定是目標(biāo)范圍中xyz最小的一角的坐標(biāo)(如果不太明白可以看看一開(kāi)始給出的示意圖))
原理:即絕對(duì)與相對(duì)坐標(biāo)的結(jié)合/相互轉(zhuǎn)換思想,當(dāng)然也可以用“函數(shù)的加減”來(lái)解釋?zhuān)▂a=x2,yb=x+1,yc=ya+yb=x2+x+1)

優(yōu)點(diǎn):這個(gè)“斜體”會(huì)完全按照實(shí)體的排列方式進(jìn)行“斜體”



90°旋轉(zhuǎn)

(對(duì)斜體的靈活運(yùn)用)

基本上原理就是示意圖上的了,斜體的方式可"推"可"拉"(但必須是1:1),實(shí)體在適當(dāng)時(shí)加tag區(qū)分就好了(實(shí)體陣旋轉(zhuǎn)沒(méi)做)

【步驟】(注意21是(邊長(zhǎng)-1)):

1.向上斜體


? ? execute @e[name=turn] ~ ~ ~-1 clone ~ 114 ~ ~ 135 ~ ~ ~ ~ masked move


復(fù)制代碼

2.上半部分過(guò)渡


? ? execute @e[name=turn] ~ ~21 ~-1 clone ~ ~ ~ ~21 ~ ~ 41 ~ ~ masked move


復(fù)制代碼

3.下半部分過(guò)渡


? ? execute @e[name=turn] ~ ~ ~-1 clone ~ ~ ~ ~-21 ~ ~ 41 ~ ~ masked move


復(fù)制代碼

4.最后的落回


? ? execute @e[name=turn] ~ ~ ~-1 clone ~ 114 ~ ~ 156 ~ ~ ~-21 ~ masked move


復(fù)制代碼

非90°旋轉(zhuǎn)

(做完你就會(huì)發(fā)現(xiàn),這并不完美)


【主要的特殊原理】:“中介”掃描法

我們都知道,mc的fill、clone暫時(shí)不可以直接從一個(gè)實(shí)體的相對(duì)坐標(biāo)到另一個(gè)實(shí)體的相對(duì)坐標(biāo)。

但是我們可以借助通過(guò)一個(gè)已知的絕對(duì)坐標(biāo)作為“中介”,先把這邊掃描到的東西放在“中介”處,再把“中介”處的東西放到那邊,就間接地實(shí)現(xiàn)相對(duì)坐標(biāo)到相對(duì)坐標(biāo)


利用此法,我們就可以把這個(gè)正方形分成小排,再對(duì)小排依次進(jìn)行它自己的變換

【步驟】(曾經(jīng)想過(guò)多種方法,還是這種最簡(jiǎn)潔):

1.作出與該傾斜方向垂直的另一條實(shí)體斜線(xiàn)(建議用不同的名字),并給最下面的實(shí)體作上標(biāo)記(建議tag)



? ? /fill 41 114 229 41 135 229 minecraft:command_block 0 replace {auto:1b,Command:summon snowball ~ ~ ~2 {NoGravity:1b,CustomName:"turn2"}}


復(fù)制代碼


? ? scoreboard players tag @e[x=41,y=114,z=231,r=1,c=1,name=turn2,tag=!mark] add mark


復(fù)制代碼


? ? execute @e[name=turn2] ~22 ~1 ~ tp @e[name=turn2,dx=-44,dy=22] ~-0.5 ~ ~


復(fù)制代碼


方式a(會(huì)放大且有孔):


2.把正方形弄斜(推)(我這里已經(jīng)有了一條實(shí)體斜線(xiàn))


? ? execute @e[name=turn] ~ ~ ~-1 clone ~ 114 ~ ~ 135 ~ ~ ~ ~ masked move


復(fù)制代碼

3.高頻部分(當(dāng)然也要在適當(dāng)時(shí)停下,我這里是用木質(zhì)按鈕圖方便):

(1)存一列方塊


? ? execute @e[name=turn2,tag=mark] ~ ~ ~-1 clone ~ ~ ~ ~ ~21 ~ 63 ~ ~ masked move


復(fù)制代碼

(2)對(duì)這一列方塊進(jìn)行“隔空”斜體


? ? execute @e[name=turn2] ~ ~ ~-1 clone 63 ~ ~ 63 ~ ~ ~ ~ ~ masked move


復(fù)制代碼


(3)移動(dòng)一段距離(切換目標(biāo))


? ? tp @e[name=turn2] ~1 ~0.5 ~


復(fù)制代碼



方式b(相當(dāng)于對(duì)a的還原,但也不完全是(若完全成為還原動(dòng)作,移動(dòng)得在最前))


2.高頻部分(當(dāng)然也要在適當(dāng)時(shí)停下,我這里是用木質(zhì)按鈕圖方便):

(1)該線(xiàn)斜體還原,并“存入”


? ? execute @e[name=turn2] ~ ~ ~-1 clone ~ ~ ~ ~ ~ ~ 63 ~ ~ masked move


復(fù)制代碼


(2)將


? ? execute @e[name=turn2,tag=mark] ~ ~ ~-1 clone 63 ~ ~ 63 ~21 ~ ~ ~ ~ masked move


復(fù)制代碼


(3)移動(dòng)一段距離(切換目標(biāo))


? ? tp @e[name=turn2] ~-1 ~-0.5 ~


復(fù)制代碼


3.(高頻結(jié)束后)把斜的正方形弄正(拉)


? ? execute @e[name=turn] ~ ~ ~-1 clone ~ ~ ~ ~ ~21 ~ ~ 114 ~ masked move


復(fù)制代碼





這里還有個(gè)45°的


(對(duì)此的改進(jìn)版在此(即b中):http://www.mcbbs.net/thread-664232-1-1.html)



另:靈活運(yùn)用的思想

可以把該平面分為多個(gè)“大塊”,最后的處理效果就像是“大方塊的轉(zhuǎn)換”(如分為多個(gè)2x2x2的大塊,最后原本1x1x1的“像素美”會(huì)變成2x2x2)

另外:

http://www.mcbbs.net/thread-580307-1-1.html這并不需要太多命令方塊



@FHC紅石 @langyo @12356789asdfg @Deing @chyx @ddung @雷鳴·翾鶚 @MsYqgzt @乾.坤 @-ZCH-



最后是存檔、pcb、基本原理圖原圖(百度網(wǎng)盤(pán))

http://pan.baidu.com/s/1o8wHqd0


有些可能沒(méi)法看圖床,這里發(fā)網(wǎng)盤(pán)吧:https://pan.baidu.com/s/1eS5fjbG

希望可以幫到大家

當(dāng)前長(zhǎng)度: 9289 字節(jié),系統(tǒng)限制: 10 到 1000000 字節(jié)。(碼了幾個(gè)小時(shí))







來(lái)自群組: The Minecraft Lover與The Command's Power



_(:з」∠)_嗯,轉(zhuǎn)眼已經(jīng)過(guò)去好久好久了……這個(gè)原理一直沒(méi)見(jiàn)到別人用過(guò)(笑哭)

BV14341167h4

自己做的作品,也沒(méi)有什么人看吧……


所以打算,稍微整點(diǎn)活兒,做個(gè)101階魔方,應(yīng)該就能稍微多點(diǎn)人看到了吧……(瞳瞳模型后打算做個(gè)101階魔方,順便可能把跑酷迷宮機(jī)(BV1Hb4y1678F)也帶一帶(笑))


【minecraft原版無(wú)mod】對(duì)實(shí)體方塊陣型排列進(jìn)行 斜體、90°旋轉(zhuǎn)、非90°旋轉(zhuǎn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
锡林郭勒盟| 宜兴市| 望都县| 武宣县| 平阴县| 博湖县| 刚察县| 简阳市| 天镇县| 胶南市| 高平市| 丁青县| 兴隆县| 海安县| 宜丰县| 通渭县| 塔河县| 会同县| 福贡县| 江口县| 股票| 寻乌县| 新龙县| 兴隆县| 昂仁县| 榆林市| 河曲县| 巨鹿县| 阜平县| 龙海市| 石渠县| 无为县| 岱山县| 宁夏| 涟水县| 维西| 偏关县| 清远市| 昌宁县| 江油市| 湖州市|