
三阶盲拧彳亍法:编码、三循环与完整复原
三阶盲拧彳亍法的编码、读码、预处理和特殊情况,附基础公式与完整复原示例。
盲拧先把魔方状态记成字母,再蒙眼按字母执行复原。彳亍法每次用一个三循环处理两个目标:缓冲块把两个目标块送回各自的位置,下一对字母继续完成同样的工作。
1. 固定朝向与编码
选择一个固定的顶色和前色,在读码及复原时保持这个坐标系。U、D、F、B、L、R 分别指上、下、前、后、左、右面。下面的字母各自对应一个贴纸位置:同一个棱块有两个编码,同一个角块有三个编码。
粗边框标出 C 缓冲位。角块缓冲为 UFR(上前右角),棱块缓冲为 UF(上前棱),两者都从 U 贴纸开始读码。
读码时要区分固定的“位置”和随块移动的“贴纸”。例如,D 位置始终指 UL 棱块位置朝上的那一格;某张贴纸的归位目标是 D,就称它为 D 贴纸。看一张贴纸应去哪里时,需要结合整块的两个或三个颜色,以及固定的中心颜色来判断。
2. 先完成一个三循环
从复原状态开始,执行下面的练习打乱,保持魔方整体朝向不变:
M2 U M U2 M' U M2其中 M 是左右两层之间的中层,正向与 L 相同。现在从棱块 C 缓冲位置开始观察:
| 观察位置 | 当前位置的贴纸应去哪里 | 记下 |
|---|---|---|
| C(UF 朝上) | D(UL 朝上) | D |
| D(UL 朝上) | B(UR 朝上) | B |
| B(UR 朝上) | C(缓冲位) | 结束,不记 C |
因此棱块编码为 DB。执行对应公式:
M2 U' M U2 M' U' M2这条公式把三个位置上的贴纸沿 C→D→B→C 移动,恰好把当前三块送回原位。编码中的字母顺序决定三循环方向,BD 与 DB 是互逆的两个公式。
3. 从一个循环读到整个魔方
顺序读码
从 C 开始,看当前贴纸的归位字母,记下它,再跳到那个固定位置继续观察。遇到属于缓冲块的任意贴纸时,这条循环结束;缓冲块的贴纸不写入目标串。整个过程只观察,不转动魔方。
角块与棱块分别读成两串字母。读完后按两字母一组配对,配对可以跨过循环边界。本文采用先记角、后记棱,执行时先棱、后角的顺序,让较长的棱块串更快得到使用。
小循环:主动接入尚未处理的块
回到缓冲块后,如果仍有未处理的块,就选择其中一个贴纸作为入口,先记下入口字母,再从这个位置继续追踪。再次遇到入口所在的块时,把闭合时的贴纸字母也记下,然后结束这条小循环。
例如入口是 A,A 位置的贴纸应去 J,J 位置的贴纸应去 P,而 P 与 A 属于同一个角块,则记录 A J P。这里有两个不同的非缓冲角块;开头与结尾指向同一块的不同贴纸,额外的入口字母用于接入循环。划掉已处理的整块,避免将同一块的另一张贴纸重复当成新入口。
读码结束时,所有块应属于以下三类之一:已进入循环、原本完全正确、位置正确但方向错误。最后一类单独记作翻棱或翻角,稍后处理。
奇偶:把单个末字母配成一对
三循环每次处理两个目标。若角、棱的原始目标串都是奇数长度,就需要各补一个字母,并在执行完两串后做一次对应的角棱双交换。合法三阶的角块与棱块置换具有相同奇偶性,因此两串长度应同奇偶;不同通常意味着漏块或重复读码。
最常用的选择是角棱都补 B,最后执行 J:
J = R U R' F' R U R' U' R' F R2 U' R' U'J 同时交换棱块 C/B 与角块 C/B。
补码要与最后一个目标来自不同的块。如果最后一个目标已经属于 B 块,改用下表的另一种补码。棱块可选 B 或 D,角块可选 B 或 A;选好两者后,使用同一行的奇偶操作。
| 棱块补码 | 角块补码 | 最后执行 |
|---|---|---|
| B | B | J |
| D | A | V |
| D | B | 棱块 BD 公式 → J → 棱块 DB 公式 |
| B | A | 棱块 DB 公式 → V → 棱块 BD 公式 |
V = U2 (R' U R U' R' f' U' R U2 R' U' R U' R' f R) U2V 交换棱块 C/D 与角块 C/A。小写 f 表示前两层一起转。表中的 BD、DB 指下文棱块公式表里的完整公式,它们互为逆操作。偶数长度时不补码,也不执行这张表。
翻棱与翻角
位置正确但方向错误的块,可以单独记方向,先完成三循环和奇偶处理,再修正它们。翻棱记所在的块;翻角还要记清楚哪张贴纸应转回顶面或底面。
棱块方向只有正、反两种,合法状态下翻转总数为偶数。因此单独剩下一个非缓冲翻棱时,它会和缓冲棱一起翻转。角块有三种方向,约束是各角扭转量之和为 0(模 3):一顺一逆可以成对修正,三个同向扭转也能组成合法状态。处理角块时按方向配平,并让缓冲角承担剩余扭转量。
4. 用预处理连接基础公式
预处理(setup)把暂时不会的目标送到已经会的目标位置。执行基础公式后,再逆序撤销预处理。本文使用保留缓冲位的 setup;移动时同时跟踪目标贴纸的朝向。
以棱块编码 DI 为例:D 是 UL 朝上的贴纸,I 是 DR 朝下的贴纸。R2 把 I 送到 B,D 与 C 缓冲位保持不动,于是问题变成已学过的 DB。
| 阶段 | 操作 | 作用 |
|---|---|---|
| Setup | R2 | DI 转成 DB |
| 基础公式 | M2 U' M U2 M' U' M2 | 完成 C→D→B→C |
| 撤销 setup | R2 | 撤回预处理,净效果为 C→D→I→C |
完整公式为:
R2 (M2 U' M U2 M' U' M2) R2若 setup 为 L D',撤销就应为 D L':先反转顺序,再逐步取逆。练习时给常见目标固定一套 setup,执行中就不必临时重新寻找。
5. 基础公式表
以下公式使用 UF 棱缓冲和 UFR 角缓冲,缓冲贴纸均为 C。棱块表覆盖另外三个顶层棱块之间的 24 个有向目标对;角块表覆盖 UBL 与 DBL 两个位置之间的 18 个有向目标对。其他目标用 setup 接入。
三阶常用记号中,M/E/S 分别与 L/D/F 同向,x/y/z 表示整个魔方沿 R/U/F 方向转动 90°,小写面字母表示该侧两层一起转。撇号表示逆转,2 表示半圈。
相邻两行互为逆公式。
交换子记号为 [A,B] = A B A' B',共轭记号为 A:B = A B A';A、B 各代表一段操作。
棱块公式:24 条
| 编码 | 执行公式 | Commutator |
|---|---|---|
| BD | M2 U M U2 M' U M2 | M2 U:[M,U2] |
| DB | M2 U' M U2 M' U' M2 | M2 U':[M,U2] |
| BL | S' L F' L' S L F L' | [S',L F' L'] |
| LB | L F' L' S' L F L' S | [L F' L',S'] |
| RD | R' F R S R' F' R S' | [R' F R,S] |
| DR | S R' F R S' R' F' R | [S,R' F R] |
| RL | M U' M' U2 M U' M' | M U':[M',U2] |
| LR | M U M' U2 M U M' | M U:[M',U2] |
| BA | R2 U' R2 S R2 S' U R2 | R2 U':[R2,S] |
| AB | R2 U' S R2 S' R2 U R2 | R2 U':[S,R2] |
| BO | r' U' R U M' U' R' U R | r':[U' R U,M'] |
| OB | R' U' R U M U' R' U r | R':[U' R U,M] |
| RA | S U' R2 S R2 S' U S' | S U':[R2,S] |
| AR | S U' S R2 S' R2 U S' | S U':[S,R2] |
| RO | R U R' U' M' U R U' r' | R:[U R' U',M'] |
| OR | r U R' U' M U R U' R' | r:[U R' U',M] |
| AD | L2 U S' L2 S L2 U' L2 | L2 U:[S',L2] |
| DA | L2 U L2 S' L2 S U' L2 | L2 U:[L2,S'] |
| AL | U' M U' M' U2 M U' M' U | U' M U':[M',U2] |
| LA | U' M U M' U2 M U M' U | U' M U:[M',U2] |
| OD | L U L' U' M U L U' l' | L:[U L' U',M] |
| DO | l U L' U' M' U L U' L' | l:[U L' U',M'] |
| OL | l' U' L U M U' L' U L | l':[U' L U,M] |
| LO | L' U' L U M' U' L' U l | L':[U' L U,M'] |
角块公式:18 条
| 编码 | 执行公式 | Commutator |
|---|---|---|
| AK | R' U' D' R2 U' R' D R U R' D' R' U D R | R' U' D' R:[R U' R',D] |
| KA | R' U' D' R D R U' R' D' R U R2 U D R | R' U' D' R:[D,R U' R'] |
| AQ | U' D' R D R' U2 R D' R' U' D | U' D':[R D R',U2] |
| QA | U D' R D R' U2 R D' R' U D | U D':[R D R',U2] |
| AW | U' R D' R' U2 R D R' U' | U':[R D' R',U2] |
| WA | U R D' R' U2 R D R' U | U:[R D' R',U2] |
| LK | R2 D' R' U R D R' U' R' | R:[R D' R',U] |
| KL | R U R D' R' U' R D R2 | R:[U,R D' R'] |
| LQ | U D R' U' R' D R U R' D' R2 U' D' | U D R':[U',R' D R] |
| QL | U D R2 D R U' R' D' R U R U' D' | U D R':[R' D R,U'] |
| LW | R D' R D R' U R D' R' U' D R' | R D':[R D R',U] |
| WL | R U D' R D R' U' R D' R' D R' | R D':[U,R D R'] |
| PK | R2 U D' R' U' R D R' U R U' R2 | R2 U:[D',R' U' R] |
| KP | R2 U R' U' R D' R' U R U' D R2 | R2 U:[R' U' R,D'] |
| PQ | U' R' U' R D' R' U' R D R' U2 R U | U' R' U':[R D' R',U'] |
| QP | U' R' U2 R D' R' U R D R' U R U | U' R' U':[U',R D' R'] |
| PW | U2 R U R D' R' U' R D R2 U2 | U2 R:[U,R D' R'] |
| WP | U2 R2 D' R' U R D R' U' R' U2 | U2 R:[R D' R',U] |
翻色手法
下面的公式原地翻转 UF 与 UB 两个棱块:
M' U M' U M' U2 M U M U M U2需要翻其他两个棱块时,先把它们送到 UF、UB,再执行并撤销 setup。例如 UF 与 DR 同时翻转,可用 R' B 将 DR 送到 UB,结束后用 B' R 撤销。
下面的公式原地扭转 DFR 与 DFL 两个角块,方向相反,其他块保持不变:
(R U R' U')2 D (U R U' R')2 D'其作用是把 DFR 与 DFL 各自朝 D 的贴纸转到 F 面;逆公式则把这两张贴纸转回 D 面。用整体转体或 setup 把需要修正的两个角放到这两个位置,同时检查贴纸方向;需要相反方向时执行整条公式的逆操作。
6. 完整例子:读码到复原
从复原状态白顶绿前开始,执行下面的打乱,随后做 x2,改为黄顶蓝前。从此固定这个方向读码和执行。
D L' F2 R B2 D' B2 R' U' F' U' R2 D' B2 U' L U L F' R' D R2 D' B2角块读码
从 C 开始,看到 C→E→C,记录 E。接着从 A 接入小循环:A→J→P,P 与 A 属于同一块,记录 A J P,涉及两个非缓冲角块。再从 X 接入:X→Y→N,N 与 X 属于同一块,记录 X Y N,又涉及两个非缓冲角块。
至此共处理 5 个非缓冲角块。加上原本正确的 DBL、原地扭转的 UBR,以及缓冲角,8 个角块全部有了去向。目标串共有 7 个字母,补 B 后配成:
EA JP XY NB另外记住 UBR 的方向需要修正:它的 B 贴纸要从 O 位置回到 B 位置。
棱块读码
从 C 追踪,得到 Y P M O N Z B,然后回到缓冲块。这条循环包含 7 个非缓冲棱块。再从 D 接入,追踪 D→J→G→L;L 与 D 属于同一个 UL 棱块,记录 D J G L,涉及另外 3 个棱块。
10 个非缓冲棱块加上原地翻转的 DR 和缓冲棱,正好是全部 12 块。目标串共有 11 个字母,补 B 后配成:
YP MO NZ BD JG LB另外记住 DR 原地翻转,即 I、T 两张贴纸互换。
执行顺序与可用 setup
| 顺序 | 执行内容 |
|---|---|
| 1 | 棱块 YP MO NZ BD JG LB |
| 2 | 角块 EA JP XY NB |
| 3 | J 奇偶公式,处理角棱各自的 C/B 交换 |
| 4 | 翻转 UF 与 DR 棱块 |
| 5 | 修正 UFR 与 UBR 角块方向 |
下表给出一组可直接使用的 setup。每一行均按“setup → 基础公式 → setup 的逆操作”执行;破折号表示不需要 setup。
| 类别 | 编码 | Setup | 基础公式编码 |
|---|---|---|---|
| 棱块 | YP | L R | RD |
| 棱块 | MO | L' | LO |
| 棱块 | NZ | L2 R' | LB |
| 棱块 | BD | — | BD |
| 棱块 | JG | D' L2 R2 | BL |
| 棱块 | LB | — | LB |
| 角块 | EA | L' | AQ |
| 角块 | JP | D | KP |
| 角块 | XY | D2 B' | QA |
| 角块 | NB | D2 B2 | LK |
完成三循环和 J 后,块的位置全部正确。UF 与 DR 仍翻转,UFR 与 UBR 仍扭转;使用以下两条完整公式收尾。
翻棱:
R' B (M' U M' U M' U2 M U M U M U2) B' R翻角:
x2 y ((R U R' U')2 D (U R U' R')2 D') y' x27. 记忆方法
记忆时可以把每对字母联想成一个词或图像,再串成短场景。若平时使用小鹤双拼,也可以把字母对对应到汉字,例如 ID 可联想到“拆”或“柴”。遇到没有音节对应的字母对,建立固定的自定义词,保证看到这个词时能唯一还原出原来的两个字母。
我更习惯小鹤双拼;具体的双字母记忆设计可以参考 CubeRoot Scheme and Syllable ↗。
进阶:编码方案与 818
本文的自定义编码保留顶面 A、B、C、D,底面用 H、I、J、K;右、后、左面分别从 R、O、L 开始,方便我用 Right、Opposite、Left 联想。侧面的 X、Y、Z、W 单独成组。
对照传统彳亍编码与 Speffz
Speffz 按面连续分配字母,便于与大量英文资料对照。切换方案时,贴纸位置与公式动作保持对应,字母对需要整体换算。
熟悉基础公式与 setup 后,可以逐步学习直接处理任意目标对的三循环。固定缓冲后,角块有 21×18=378 个有向目标对,棱块有 22×20=440 个,共 818 个。
参考资料
- 彳亍法盲拧教程 · 依旧是一九四 ↗
- 三循环同时解决位置和方向 · 彳亍 ↗
- UFR 缓冲的 18 公式彳亍法 · 勺子 ↗
- BLDDB · 三循环公式查询 ↗
- Jaap’s Puzzle Page · 置换与方向约束 ↗
- CubeRoot · 编码与音节记忆 ↗
- 三盲训练器 ↗
- 编码设计参考:依旧是一九四 ↗、亢泽超 kzc ↗