不看公式自己復原魔方

2021-06-13 03:32:26 字數 3478 閱讀 4137

2、3階完成

網上很容易找到魔方公式,所以復原魔方已經變成了一種記憶,而不再試遊戲,我感覺按公式復原魔方是一種玩法,快速復原魔方是一種樂趣。對我來說,自己復原魔方,這裡面有另外的樂趣。看過《當幸福來敲門》,裡面男主人公可以復原魔方,所以在我的印象中自己復原魔方應該是很難的,對我來說恐怕不大可能。但是又比較好奇自己能復原魔方的人是怎麼做到的,於是在水木發了貼,有熱心人士說了他們的心得,於是自己也想試一試,沒想到自己做到了,希望有同樣想法的朋友也可以自己試試,如果考慮幾天還沒有頭緒,可以參考我的做法。

第一層沒有公式,自己復原,對於第二層:

(ruf)5     fru<->frd並且fr顏色交換,ud顏色交換

(ruf)10 回原位

(rfu)4     flu(rotate120) fru(rotate120) frd(rotate120)

(u'f'r')4   flu(rotate240) fru(rotate240) frd(rotate240)

(rfu)12  回原位

用二階的方法可以復原3階魔方8個角塊

可以交換3個邊:

公式1:(ruur'uu)5 交換fr ul ur(ur:r'   fr:ru2   ul:u2)

雖然不是乙個面上的3個邊,但是通過一系列操作,還是可以得到一些其它公式:

公式2:(ruur'uu)5 (uur'uur)5 可以交換右邊3個塊rf、rb、ru,不改變角度,

公式3:(ruur'uu)5 (uuf'uuf)5 (uuruur')5 實現bu、fu、ru互換,並且fu、ru翻轉角度

公式4:(ruur'uu)5 (uuf'uuf)5 (uuruur')5 (urru'rr )5 (rru'rru)5 實現交換ru、bu兩個稜塊方向,位置不變

採用上面4個公式可以在8個角塊對號的情況下復原所有稜塊

復原中心塊

稜塊兩兩配對

復原8個角塊

復原11(12)個稜塊

翻轉最後一組稜

首先嚴格按照前(f)藍b後(b)綠g左(l)橙y右(r)紅r上(u)黃y下(d)白w

定義8個角方塊為

flu(0、1、2) fru(3、4、5) fld(6、7、8) frd(9、10、11) blu(12、13、14) bru (15、16、17)bld(18、19、20) brd(21、22、23)

定義12個稜方塊為  

fl(0、1) fu(2、3) fr(4、5) fd(6、7)  bl(8、9) bu(10、11) br(12、13) bd(14、15) lu(16、17) ru(18、19) ld(20、21) rd(22、23)

每乙個方塊的復原包括移動與旋轉,其中角方塊旋轉可能為0、120、240,稜方塊旋轉可能為0、180

以flu為例,其初始位置可能位於8個位置之一,要將其復原,首先需要將其位置調整正確,然後角度調整正確

首先調整位置

flu    不動

fru    u    f'    3種初始方向有2種可以直接復原不再需要調整角度

fld    l'    f     3種初始方向有2種可以直接復原不再需要調整角度

frd   f2

blu   u'   l     3種初始方向有2種可以直接復原不再需要調整角度

bru   u2

bld   l2

brd bu2 b'l2 rf2 r'u2 dl2 d'f2

然後調整角度

可能需要旋轉0、120、240°。

下面考慮各種情況下flu方塊的復原,共8*3種情況

這裡方塊標記不止要有位置記號,還要有顏色記號,目標為fblouy

每一列表示初始位置

每一行表示不同的朝向

每一格第一樣表示顏色,括號中數字表示最少還原步數

由於比較多,而且沒有認真校對,下表可能有錯誤,最重要的是思路

flufru

fldfrd

blubru

bldbrd

1boy(0)

--oby(1)

ubyo(1)

fboy(2)

f2byo(3)

b'u2

bl2l2f

u2f'

boy(2)

u2boy(2)

f2yob(3)

b2lr'u2

d'l'

2ybo(2)

f'l'

l'u'

u'f'

yob(3)

ru2r'f2

u2lf2l'

oby(3)

f2ul2u'

df2d'l2

ybo(2)

fl'ru

d'foby(1)

u'ybo

blr'u

uf'ybo

b'llu'

dfoby

b2u'

r2uu'f2

ul23

oyb(2)

fulf

ulbyo(1)

f'yob(1)

l'oyb(2)

f'urf'

d'l'

yob(1)

loyb

bu'r'f'

u'loyb

b'u'

l'fdl'

byobu2

r2f'

d2f

上表8種情況可以分為4類:

flu                        不動或2步還原

fru,fld,blu      一步或3步還原

frd,bru,bld    2步還原

brd                       3步還原

下面就需要看各種動作組合的效果了,從簡單的開始

rur'u'    fru frd blu bru有動作

fru->frd  f

frd->fru  r

blu->bru  u

bru->blu  b

有4個方塊改變,下一步動作,讓改變方塊減少為3個,

r'b'rbr,此時

fru->brd  u'b'

brd->frd  u'

frd->fru  r

這種方法可以改變一層的3個方塊,不知道可不可以轉出所有可能狀態,現在需要一種標記,標記一層4個角塊位置與轉向,假設這4個方塊位於頂層,lf1 lb2 rb3 rf4,轉向為0、120、240,分別表示繞定點法向順時針轉動角度

那麼目的就是1(0) 2(0) 3(0) 4(0)

至少有乙個方塊位置是正確的,那麼所有的可能就是3!*4*3=72,而且很多種情況時不可能的,比如只轉乙個角120或240°

現在的問題是上面的轉法(或者叫做公式)可以轉出多少種,有多少種是合理但是用這個轉法轉不出來的

觀察現在的魔方,乙個角位置與方向正確,其它3個角位置逆時針旋轉,角度分別轉了0、120、240。

那麼執行轉動一次以後是4(0) 2(0) 1(120) 3(240)

轉動一次以後是2(0) 3(0) 4(0) 1(0)

為了方便自己試驗,寫了乙個程式,

終於可以復原魔方了

最近沒什麼事,找到家裡的乙個魔方,突然有一種想把它復原的衝動,也算是兒時的一夢想吧,於是baidu了下,找到乙個 還蠻全的 魔方小站http www.rubik.com.cn 復原過程如下 f front face 前面b back face 後面r right face 右面 l left fac...

三階魔方復原

網上有關三階魔方的教程有好多,多數方法步驟基本都是一樣的,但是 清晰 說明詳細 流程嚴謹的感覺不是很多。按照上面鏈結中的教程,從第一步到第八步,仔細按照教程嚴格完成每一步,很快就可以學會復原方法。當時我在第二步時沒有按照教程的方法去做,看得也不是很仔細,覺得很快完成了第二步和第三步,但是到了第四步時...

二階魔方萬能還原公式 二階魔方復原玩法

二階魔方的玩法分為三個步驟,分別是 1 還原底層角塊 2 還原頂面顏色 3 調整頂層角塊,每步結束後分別要達到下圖中的各個狀態。為了更好的說明,圖中灰色部分代表了該步驟中不相關的顏色,只用看標彩色的方塊就行了。第一步 還原底層角塊 這一步我們要將底層的4個角塊都復原,非常簡單,只需要記乙個演算法就好...