Featured

Redemption

又一个年头过去,我总算是看到了光明的苗头。

我的第一篇论文终于发表了。嘛,其实不是我一直很想要的那一篇……人生就是这样充满戏剧性吧!我常常吐槽自己号称是个计算机图形学的博士生却只会炼丹,然而最后我的第一篇文章终究还是发表在了 SIGGRAPH 上……

内容是关于使用神经网络处理旋转的时候使用四元数或欧拉角表示导致的误差。其实这本来是个 side project。两年多以前同组的某博士生在做一个人体动作序列预测和插值的问题,做的时候发现有些时候对关节相对旋转的预测结果完全反了。她找我讨论这个现象,最后的结论是大概三维旋转在神经网络中的表示方法有问题。后来她顺着这个思路继续做,提出一个新的表示法,发了一篇 CVPR。

其实我对那篇文章挺生气的……因为凭直觉我认为这是个很有趣、很漂亮、很有理论深度的问题,结果最后被做成一篇典型的炼丹文章……虽说点出了四元数和欧拉角都不是 SO(3) 在实空间中的嵌入这个关键点并针对此提出了一个嵌入,但数学上很不 rigorous,四元数和欧拉角为何有非常大的误差下界并没有讲明白,提出一个解法然后做做实验比比数据草草了事,而且可能他们自己都没意识到他们的解决方法的本质优点在他们的实验中并没有体现出来。

但最根本的是一个很数学的问题被做成了一篇很炼丹的文章从美学上是完全无法接受的……

更讨厌的是这篇文章获得了200多的引用……

于是我决定非得刨根问题把四元数和欧拉角出现巨大误差的根本原因搞明白。最后用了一些代数拓扑搞定了,证明了使用四元数和欧拉角时的误差下界,并进一步论证了即使使用 SO(3) 的一个嵌入表示旋转也会在输入数据有几何对称性时出现问题,最后提出了用一组网络同时预测再加分类器选择其中的正确结果的方法。至于技术细节,有机会专门写一篇文章讨论吧。

然后去年5月投了 NIPS。review 不是很好,主要原因是里面涉及的数学内容太 exotic,reviewer 基本都没看懂……

嘛,毕竟这年头投深度学习的会议和买彩票差不多,想撞上有水平的 reviewer 实在太难……

最后经讨论,决定投 SIGGRAPH,因为虽然这个问题并不是很 graphics 但多少还是有联系,而且 SIGGRAPH 的审稿流程要靠谱得多,reviewer 水平有保障,就算不中,起码可以期望获得有用的建议。

于是我完全重做了实验、重写了文本,又画了一堆插图,最后得到一篇双栏20页的文章,投了 SIGGRAPH。

review 是三个 reject,两个 accept。据说两个主审意见不同讨论的很激烈。最后 committee 开会,第六个 reviewer 给了 accept。

公布结果那天下午我刚起来,我妈给我打电话问我最近状况如何。我说没怎么样。我妈说,什么没怎么样,你大师姐都告诉我说你的 paper 中了……

嘛。还好吧。其实也没有感到特别的喜悦。按理说经过那么多年的努力如今第一篇文章终于发表,大概应该是漫卷诗书喜欲狂的状态?不过好像我一向情绪不是很强烈,而且那么多年过去有点麻木了,也无所谓欢喜或悲伤……

还有一件事。关注本领域的人大概都听说了,我的老板去年跑路了……由于这个项目本来也就是我独自在做,老板最多就是挂个名而已,而且老板离开以后我又完全重做了,最终这篇文章只署了我一个人的名字。

独自在本领域的顶级会议上发表论文。多少也算一项人生成就吧!这年头深度学习当道,像这种独自抠一个小小的理论问题的简直是异类了,甚至有那么点悲壮的色彩……

只可惜这项小小的成功来得太晚……

不过总还是比没有的好。读博的第五年,我总算是在学术的道路上艰难地迈出了第一步。

这是一个开始,也是一个结束。

从 NOI2011 到现在,几乎十年过去了。那一年,在我六年的 OI 生涯的最后一战,由于一个小小的疏忽我终于没有获得金牌,此后就是阴云笼罩的日子。这一切的事情,我在之前那一篇 blog 里都讲过了。

如今,我想这沉重的一页终于到了该翻过去的时候。

这么多年,无数的痛苦、困惑和自我怀疑,拒绝享受生活,在物理上和精神上自我封闭,一切的一切,根本在于我从没做过一件让自己满意的、在我看来对得起我所肩负的期望事。

这样一个目标,自然不是仅凭发一篇顶会就算达成了。然而我与我的理想之间,终于不再是有和无的区别,而只有程度的差距。

锁链已经破除,再也没有消极面对生活的理由。从此以后应该加倍努力工作,努力生活,勇于追求自己所爱的事物。就把之前的十年当作一场大梦,如今终于到了苏醒的时候。

读博五年,一篇 paper。与那些本科发顶会的人,三年博士毕业的人,同届比我小四岁的人,我已经落后了。

但是,人生还很长。

无题

天已经快亮了,室友X又来找我讨论问题。

过程我也不描述了,反正都是些已经讨论过无数遍的陈芝麻烂谷子。

可能少年得志的确不是什么好事吧。如果说我的悲剧在于包袱太重,那室友X更要悲惨得多了。

人本来是可以不牛逼的。只是有些人不幸地在形成世界观的时期自己把这条路堵上了。当他们终于醒悟到人其实是可以不牛逼的的时候,他们已经走上了通往牛逼的艰难的不归路。

如果走不通,那就只有 Game Over 了。

三阶魔方状态的对称性分类计数(附录):关于状态对称性的其他话题

这一篇用于收集一些其他与魔方状态对称性有关的话题。慢慢更新,想到一个写一个。

1. 为恰好获得某种对称性需要改变状态的最少组块数

有个与此相关的问题是为了恰好获得某种对称性所需的最少操作步数。个人感觉除了个别对称性之外应该只能靠暴力搜索,没什么意思。答案在魔方数学专家 Herbert Kociemba 的网页上给出了,应该是解决三阶魔方任何状态所需所需步数上限为 20 的证明的副产品。

在此我们考虑一个不同的问题:为恰好获得某种对称性需要改变状态的最少组块数。两个最明显的结论:除了 Oh 之外,需要改变状态的最少组块数不少于最小轨道包含的组块数,且至少 2 个。

Oh:显然不需要任何操作。

OTd:没有恰具有这两种对称的状态。

Th:最小的轨道有 8 个组块,因此至少需要改变 8 个组块的状态。


T:最小的轨道为 8 个角块,但其所有状态都具有 Th 对称,因此只改变角块不能恰好获得 T 对称。12 个棱块全部属于同一轨道,因此至少需要改变 12 个组块的状态。


D4h:最小的轨道有 4 个组块,因此至少需要改变 4 个组块的状态。


D4:最小的轨道为 4 个棱块,但其所有状态都具有 D4h 对称。其次最小的轨道有 8 个组块,因此至少需要改变 8 个组块的状态。


C4h:最小的轨道为 4 个棱块,但其不具有更高对称性的状态有组块的奇置换,为非法状态。其次最小的轨道有 8 个组块,因此至少需要改变 8 个组块的状态。


C4v:最小的轨道有 4 个组块,因此至少需要改变 4 个组块的状态。


C4:所有轨道均有 4 个组块,但棱块轨道的不具有更高对称性的状态有组块的奇置换,角块轨道的不具有更高对称性的状态有角块旋转,为非法状态,因此至少需要同时改变两个轨道,即 8 个组块。


D3d:最小的轨道为 2 个角块,但其状态唯一确定。其次最小的轨道有 6 个组块,因此至少需要改变 6 个组块的状态。


D3:最小的轨道为 2 个角块,但其不具有更高对称性的状态有角块旋转,为非法状态。其次最小的轨道为 3 个棱块,但其不具有更高对称性的状态有棱块翻转,为非法状态。其次最小的轨道有 6 个组块,因此至少需要改变 6 个组块的状态。


C3v:最小的轨道为 1 个角块,但其状态唯一确定。其次最小的轨道有 3 个组块,但棱块轨道的不具有更高对称性的状态有棱块翻转,角块轨道的不具有更高对称性的状态有角块旋转,为非法状态。其次最小的轨道有 6 个组块,因此至少需要改变 6 个组块的状态。


S6:最小的轨道为 2 个角块,因此至少需要改变 2 个组块的状态。


C3:最小的轨道为 1 个角块,但其不具有更高对称性的状态有角块旋转,为非法状态。同时改变两个轨道获得的合法状态均具有 S6 对称性。其次最小的轨道有 3 个组块,因此至少需要改变 3 个组块的状态。


D2h[ff]:最小的轨道有 4 个组块,因此至少需要改变 4 个组块的状态。


D2h[e]:最小的轨道有 2 个组块,因此至少需要改变 2 个组块的状态。


D2d{ff}:最小的轨道有 4 个组块,因此至少需要改变 4 个组块的状态。


D2d{e}:最小的轨道有 4 个组块,因此至少需要改变 4 个组块的状态。


对于总阶数为 1,2 和 4 的对称性,为减少重复分析最小轨道组块数为 1 或 2 的情况,先讨论所有恰改变 2 个组块可以获得的对称。由于交换两块会导致奇置换,只能同时翻转两个棱块或同时向相反方向旋转两个角块。

翻转相邻棱块:Cs{e}

翻转翻转同面不相邻棱块:C2v{ff}

翻转在相邻面上而不在同一面上的两个棱块:C2[e]

翻转相对棱块:D2h[e]

旋转相邻角块:Cs{f}

旋转同面不相邻角块:Cs{e}

旋转相对角块:S6

对于改变两个组块不能获得的对称性,由于不同大小的轨道不能互换,且不存在恰包含 3 个组块的轨道,除 C1 包含至少 3 个单个组块的轨道可以轨道间互换之外,其他对称性至少需要改变 4 个组块的状态。

D2[ff]:所有轨道均有 4 个组块,但棱块轨道的所有状态均具有 D2h[ff] 对称,角块轨道的不具有更高对称性的状态有角块旋转,为非法状态,因此至少需要同时改变两个轨道,即 8 个组块。


D2[e]:至少需要改变 4 个组块的状态。


C2h[f]:至少需要改变 4 个组块的状态。


C2h[e]:至少需要改变 4 个组块的状态。


C2v{ff}:至少需要改变 2 个组块的状态。


C2v{fe}:至少需要改变 4 个组块的状态。


C2v{ee}:至少需要改变 4 个组块的状态。


S4:所有轨道均有 4 个组块,但其不具有更高对称性的状态皆有组块的奇置换,为非法状态,因此至少需要同时改变两个轨道,即 8 个组块。


C2[f]:至少需要改变 4 个组块的状态。


C2[e]:至少需要改变 2 个组块的状态。


Cs{f}:至少需要改变 2 个组块的状态。


Cs{e}:至少需要改变 2 个组块的状态。


Ci:至少需要改变 4 个组块的状态。


C1:至少需要改变 3 个组块的状态。


2. 六面六色状态的最大对称性

每个面都有六种颜色的状态,最多可以具有怎样的对称性?

OhOTdTh 对称的状态数很少,可以验证没有六面六色的状态。而除此之外的三种极大对称性 D4hTD3d 都有六面六色的状态。

D4h


T


D3d


3. 最“对称”的非对称状态

整体状态具有某个对称群的状态,在换色等价意义下其每个面上的图案的对称性不小于此面的稳定化子,且属于同一个轨道的面上的图案相同。

反之,面上图案具有对称性且/或不同面上的图案相同的状态未必具有整体的对称性。

图示的状态中,每个面的图案均具有 C2v 对称性(若考虑换色等价则为 C4v),且六个面上的图案在换色意义下等价,但整体不具有任何对称性。


每个面上不允许换色仍具有 C4v 对称的状态,整体至少有 Ci 对称。因此,此状态可以称为最“对称”的非对称状态。

三阶魔方状态的对称性分类计数(五):全等变换下非等价的状态数

至此,对 Oh 的每个子群 G 我们已经算出至少具有 G 对称性的合法状态数,亦即在 G 中任一变换下皆与原状态在换色意义下等价的状态数。此篇中我们考虑在全等变换下非等价的状态数的计算。

如果不按对称性分类,只计算全等变换下非等价的状态总数,则最简便的方法是使用 Burnside 引理:一个集合 S 在一个群 G 的作用下的轨道数等于在 G 的每一个元素的作用下保持不变的元素的平均值。对于我们的问题而言,即在全等变换+换色下非等价的状态数,等于在 Oh 中的每一个变换下与原状态在换色意义下等价的状态数的平均值。对于每一个全等变换 f,在 f 的作用下与原状态在换色意义下等价的状态数也就是空间对称群包含由 f 生成的子群 <f> 的状态数。考虑 Oh 中的每个元素生成的子群:

元素共轭类数量<f>不变状态数
恒等变换1C143,252,003,274,489,856,000
对角 120° 旋转8C33,779,136
面心 90° 旋转6C4147,456
面心 180° 旋转3C2[f]15,288,238,080
边心 180° 旋转6C2[e]2,548,039,680
点反演1Ci45,864,714,240
对角 60° 旋转反射8S67,776
面心 90° 旋转反射6S4442,368
面反射3Cs{f}18,345,885,696
边反射6Cs{e}424,673,280

可得全等变换下非等价的状态总数为 (43,252,003,274,489,856,000 + 3,779,136*8 + 147,456*6 + 15,288,238,080*3 + 2,548,039,680*6 + 4,586,4714,240 + 7,776*8 + 442,368*6 + 18,345,885,696*3 + 424,673,280*6) / 48 = 901,083,404,981,813,616。

如果考虑对称性,则 Burnside 引理的应用要更复杂一些:首先,若 GOh 的非平凡的真子群,则具有 G 对称性的状态集合在 Oh\G 中的变换的作用下不封闭,为了定义群作用需要考虑所有具有 G 的共轭类中任一个子群的对称性的状态。其次,此时需要对每一个变换 f 计算由 Gf 生成的子群 <G,f>,过于繁琐。此时不使用 Burnside 引理而使用“笨方法”反而更简单。

先来看看计算全等变换下非等价状态数的难点在哪里。由于 |Oh|=48,每一个无对称性的状态在 Oh 的作用+换色下可以获得 48 个(包括其本身)与其等价的状态。但如果某状态具有对称性,则在 Oh 的作用+换色下某些状态与原状态相同,可获得的状态少于 48 个,因此不能简单地将总状态数除以 48。而计算不等价的总状态数的“笨方法”,就是枚举所有的对称性,对于 Oh 的子群 G,每个对称群恰与 G 共轭的状态在 Oh 的作用下一共可以获得 |Oh|/|G| 个状态,因此先计算空间对称群恰与 G 共轭的状态数,再除以 |Oh|/|G|,即得空间对称群恰与 G 共轭且在全等变化下不等价的状态数。再对所有的共轭类求和,即得全等变化下不等价的状态总数。

对称群恰与 G 共轭的状态数等于对称群恰为 G 的状态数乘以与 G 共轭的子群的个数。而为了计算对称性恰为 G 的状态数,就需要从对称性至少为 G 的状态数中减去具有更高对称性的状态。为此,可按阶从高到低枚举 G,然后对每一个 G,枚举 H 使得 G < H < Oh,从对称性至少为 G 的状态数中减去对称性恰为 H 的状态数。为简化计算可以按(Oh 中的)共轭类枚举,若 G 的共轭类有 n 个子群,H 的共轭类有 m 个子群,每个与 H 共轭的子群包含 k 个与 G 共轭的群为其子群,则 Gm×k/n 个与 H 共轭的子群包含。

计算结果如下表。每一列分别为:(1) 对于共轭类中一个固定的群 G,对称性至少为 G 的状态数;(2) 对于共轭类中一个固定的群 G,对称性恰为 G 的状态数;(3) 恰具有此共轭类的对称性且在全等变换下不等价的状态数。

Oh444
O400
Td400
Th242010
T724812
D4h128124124
D4512384192
C4h1,5361,408704
C4v1,024896448
C4147,456144,64036,160
D3d161212
D3432416208
C3v483216
S67,7767,7403,870
C33,779,1363,770,864942,716
D2h[ff]12,28811,8921,982
D2h[e]2,0481,920960
D2d{ff}3,0722,9441,472
D2d{e}512384192
D2[ff]294,912280,27223,356
D2[e]98,30492,92823,232
C2h[f]589,824574,208143,552
 C2h[e]98,30496,23248,116
C2v{ff}1,179,6481,163,520290,880
C2v{fe}98,30496,25648,128
C2v{ee}65,53662,20815,552
S4442,368437,504109,376
C2[f]15,288,238,08015,285,460,9921,910,682,624
C2[e]2,548,039,6802,547,748,032636,937,008
Cs{f}18,345,885,69618,342,768,6402,292,846,080
Cs{e}424,673,280424,415,168106,103,792
Ci45,864,714,24045,862,360,9441,910,931,706
C143,252,003,274,489,856,00043,252,003,109,885,814,336901,083,398,122,621,132

三阶魔方状态的对称性分类计数(四):所有对称性下状态数计算总表

本篇按照前篇所述计算方法对每个子群 G 计算空间对称群包含 G 的合法状态总数。由于对于互相共轭的子群的计算完全相同,每个共轭类只取一个子群为例。角块与棱块轨道图中,有彩色标记的,颜色相同的位置属于同一个轨道。无彩色标记的,每个位置分别为一个轨道。

以下计算结果与其他人得到的结果做了对比检查,应该是对的。

目录:

OhOTdThT
D4hD4C4hC4vC4
D3dD3C3vS6C3
D2h[ff]D2h[e]D2d{ff}D2d{e}D2[ff]
D2[e]C2h[f]C2h[e]C2v{ff}C2v{fe}
C2v{ee}S4C2[f]C2[e]Cs{f}
Cs{e}CiC1

三阶魔方状态的对称性分类计数(三):Oh 的子群,具有特定对称性的状态数的计算方法

此篇给出 Oh 的所有子群,并讨论具有特定对称性的状态数的计算方法。如前所述,魔方的任何状态的空间对称群是 Oh 的子群。因此,魔方状态的对称性可以按 Oh 的子群分类。

先考虑一下分类的粒度。不同的点群当然表示不同的对称性,但相同的点群也可能有所区别。对等价对称性的一个很自然的要求是,如果两个状态可经全等变换后在换色意义下等价,那么它们的对称性等价。换色不影响对称性;全等变换不改变一个状态的对称性的点群,但可以改变旋转轴和反射平面的位置。但是,Oh 中的全等变换不改变转轴和反射平面的位置分类,即,面心旋转轴仍为面心旋转轴,边心旋转轴仍为边心旋转轴,等等。因此,点群相同但旋转轴和反射平面的位置分类不同的对称性不等价。

以群论的语言表述,即魔方状态的对称性类别对应于 Oh 的子群的共轭类。以下列举 Oh 的所有子群共轭类。当表示两个点群结构相同的子群时,视情况括注其旋转轴或反射平面以示区分:中括号内的 xyz 的线性组合,表示其系数向量为一个最高重数的旋转轴。例如,C3[x+yz] 表示以 (1, 1, -1) 为旋转轴的 3 重旋转对称。大括号内的 xyz 的线性组合,表示其零空间为一个反射平面。例如,Cs{x-y} 表示沿平面 xy=0 的反射对称。有多个旋转轴或反射平面时,以逗号分隔,不必全部注明,只需注明为消除歧义所必要的部分。表示共轭类时,括注其对称轴和反射平面的位置分类,f 为面心旋转轴或面反射平面,e 为边心旋转轴或边反射平面。

  • 有多个多重旋转轴。7 种有多个多重旋转轴的点群中,以下 5 种是 Oh 的子群:OhOTdThT,分别只有一个子群。
  • 只有一个多重旋转轴,即 n≥3 的棱柱点群。
    • 有面心 4 重旋转轴。在此基础上可以增加与 4 重旋转轴垂直的二重旋转轴、过 4 重旋转轴的反射平面、与 4 重旋转轴垂直的反射平面,但不能增加 45° 旋转反射,可得以下点群:D4hD4C4vC4hC4。面心旋转轴有 3 个,因此以上每种子群有 3 个。
    • 有对角 3 重旋转轴。在此基础上可以增加与 3 重旋转轴垂直的二重旋转轴、过 3 重旋转轴的反射平面、60° 旋转反射,但不能增加与 3 重旋转轴垂直的反射平面,可得以下点群:D3dD3C3vS6C3。对角旋转轴有 4 个,因此以上每种子群有 4 个。
  • 无多重旋转轴,即 n≤2 的棱柱点群。这样的群共有 10 种,都是 Oh 的子群,但其中有一些有不同的共轭类。
    • n=2
      • D2h:有 3 个两两垂直的二重旋转轴及点反演。
        • 全部为面心旋转轴,记为 D2h[ff]。由于使用了所有面心旋转轴,只有一个子群。
        • 有一个面心旋转轴和两个边心旋转轴,记为 D2h[e]。面心旋转轴有 3 个,选定面心旋转轴后两个边心旋转轴也唯一确定,因此有 3 个子群。
      • D2d:有 3 个两两垂直的二重旋转轴及过其中一个旋转轴、平分另外两个旋转轴的反射平面。
        • 全部为面心旋转轴。反射平面过 3 个面心旋转轴中的一个,为边反射平面,记为 D2d{e}。有 3 个子群。
        • 有一个面心旋转轴和两个边心旋转轴。面心旋转轴有 3 个,选定面心旋转轴后两个边心旋转轴也唯一确定,且反射平面只能过面心旋转轴,为面反射平面,记为 D2d{ff}。有 3 个子群。
      • D2:有 3 个两两垂直的二重旋转轴。
        • 全部为面心旋转轴,记为 D2[ff]。由于使用了所有面心旋转轴,只有一个子群。
        • 有一个面心旋转轴和两个边心旋转轴,记为 D2[e]。面心旋转轴有 3 个,选定面心旋转轴后两个边心旋转轴也唯一确定,因此有 3 个子群。
      • C2h:有一个二重旋转轴和与其垂直的反射平面。
        • 面心旋转轴,记为 C2h[f]。有 3 个子群。
        • 边心旋转轴,记为 C2h[e]。有 6 个子群。
      • C2v:有两个互相垂直的反射平面。
        • 两个面反射平面,记为 C2v{ff}。面反射平面有 3 个,两两垂直,因此可任取两个,有 3 个子群。
        • 一个面反射平面和一个边反射平面,记为 C2v{fe}。面反射平面有 3 个,选定一个后有两个边反射平面与之垂直,因此有 6 个子群。
        • 两个边反射平面,记为 C2v{ee}。若两个边反射平面互相垂直,则他们相交的直线必为面心旋转轴,因此有 3 个子群。
      • S4:有一个 4 重旋转反射轴。只能是面心旋转轴。有 3 个子群。
      • C2:有一个二重旋转轴。
        • 面心旋转轴,记为 C2[f]。有 3 个子群。
        • 边心旋转轴,记为 C2[e]。有 6 个子群。
    • n=1
      • Cs:有一个反射平面。
        • 面反射平面,记为 Cs{f}。有 3 个子群。
        • 边反射平面,记为 Cs{e}。有 6 个子群。
      • Ci:点反演,一个子群。
      • C1:无对称,一个子群。

共计 25 种不同点群,33 个共轭类,98 个子群。图 1 对每个共轭类以一个子群为例给出其所有元素。下方数字为其所包含的上一篇给出的 Oh 的每类元素数量

旋转恒等变换对角 120°面心 90°面心 180°边心 180°
(旋转)反射点反演对角 60°面心 90°面反射边反射
图 1:Oh 的 33 个子群共轭类

图 2 为 Oh 的子群格。共轭的子群已合并,框中红色数字为同一共轭类的子群数量。图两侧数字为阶,黑色、绿色、蓝色、红色连线分别表示每个上方的群包含 1个、2 个、3 个、4 个下方的群为其子群。

图 2:Oh 的子群格

接下来讨论给定 Oh 的子群 G,如何计算空间对称群包含 G 的状态总数。为简便,按以下方式表示 Oh 的元素:旋转为 r[轴,角],反射为 m{平面},旋转反射为 s[轴,角],旋转轴和反射平面的表示与前述子群记号相同,角度为沿轴向量的反方向所见的逆时针旋转角。另外,对任一变换 f,用 f*表示 f 加上换色,使得标准状态下的所有中心块在 f* 下不变。例如,r[z,90°]* 意为绕 z 轴逆时针旋转 90° 后再进行换色 (R B O G)。

考虑 G 的作用下组块位置集合中的轨道。若指定某个组块的状态,则为使得魔方整体状态具有 G 对称,与其所在位置在同一轨道的其他位置的组块及其状态也唯一确定。因此我们可以以轨道为单位进行分析。首先暂不考虑状态的合法性,仅考虑对称性。

某个组块可以处于的状态不是任意的。如,希望构造一个有 Cs{xy} 对称的状态。若有 WBR @ FLU,则经 m{xy}* 之后状态应不变,可得 WBR @ RUB(图 3),而 WBR 组块只有一个,不能同时处于两个位置,故此状态不可能。

图 3:不可能状态之一

一般地,如果某组块的标准位置在 G 中的某个镜面反射 m 的反射平面上,那么经 m* 换色后此组块仍为其本身。而若某状态下此组块不在此反射平面上,则根据对称性条件,此组块须同时位于两个不同位置,这不可能。因此,如果某组块的标准位置在 G 的某个反射平面上,则在具有 G 对称性的状态中它仍在同一反射平面上。进一步可以证明标准位置在反射平面上的面片必须仍在此反射平面上,这意味着反射平面上的棱块不能旋转。

类似地,如果某组块的标准位置在 G 中的某个旋转轴上,则它必须仍在此旋转轴(含其反向延长线)上。进一步可以证明,在三重旋转轴上的棱块不能移至其反向延长线上,只能保持原位置。

以群论的语言表述,在任一具有 G 对称性的状态下,任意组块的标准状态到其当前状态的变换必属于 G 对其标准位置的稳定化子的在 Oh 中的中心化子。

角块的稳定化子只有 4 种可能 ,棱块的稳定化子只有 5 种可能,因此事实上不必做理论分析,直接枚举所有情况也并不难。在状态存在性条件下,每个组块按其标准位置的稳定化子分类,可能状态的限制如下:

  • 角块
    • C1O:标准位置不在任何旋转轴和反射平面上,状态无限制,共 24 种状态。
    • C3C3:标准位置只在对角旋转轴上。可以原地旋转,共 3 种状态。
    • Cs{e} → D2:标准位置只在边反射平面上。可以绕在此反射平面上的两个旋转轴或垂直于此平面的旋转轴旋转 180°,共 4 种状态。
    • C3vC1:标准位置同时在反射平面和对角旋转轴上。只能保持原位。
  • 棱块
    • C1O:标准位置不在任何旋转轴和反射平面上,状态无限制,共 24 种状态。
    • Cs{e} → D2C2[e] → D2C2v{fe} → D2:标准位置在边反射平面和/或边心旋转轴上,可以翻转和移动到对边上,共 4 种状态。
    • Cs{f} → D4:标准位置只在面心反射平面上,可以在此平面内任意换位及翻转,共 8 种状态。

图 4 给出了角块和棱块的每种稳定化子对应的可能状态。当深灰色面片所在位置具有如上所示的稳定化子时,其在状态可能性限制下的其他可能位置标记为浅灰色。

图 4:角块和棱块的状态限制

原则上应注意不同组块的位置限制的相互作用,如,若某组块 A 占据了另一组块 B 的标准位置,则 B 必须有其他可能位置,但实际上只需满足另一个更简单的条件:由于同一轨道中一个组块的状态决定整个轨道的状态,两个轨道只能整体互换位置,因此若组块 A 占据了不属于同一轨道的组块 B 的标准位置,则 A 和 B 所在的轨道包含的组块数必须相等。这一条件排除了组块位置限制不对等的情况,因此若某组块 A 占据了不同轨道的组块 B 的标准位置,则 B 总可以占据 A 的位置。

由此限制条件后,可以计算具有对称性 G 的全部状态如下:首先将组块位置在 G 的作用下划分轨道。将轨道按其所包含的位置的稳定化子的共轭类分类。一般来说,组块可能状态的限制会使得同类的轨道间或者可以任意整体互换位置,或者完全不能互换位置,但在极少数情况下只有部分轨道可以互换。此时将轨道类进一步细分以保证同类的轨道可以任意互换或完全无法互换。

对每个轨道类,其通过轨道内组块互换位置可以获得的状态数等于其中任一个组块的可能状态中位于此轨道内的状态数。若此轨道类有 m 个轨道,每个轨道内有 n 种状态,则轨道间可以互换位置时总状态数为 nm×m!,否则为 nm。所有轨道类的可能状态数相乘,即得可能状态总数。

最后考虑状态合法性。对于每个轨道类,检查其轨道内的状态是否可能产生非零的旋转数或翻转数或组块的奇置换;对于可互换位置的轨道类,检查轨道间互换是否会产生奇置换(即每个轨道中的位置数是否为奇数)。如有任何一个轨道类产生非零旋转数、非零翻转数或奇置换,总状态数相应除以 3、2、2,即得合法状态数。

三阶魔方状态的对称性分类计数(二):三维有限点群,魔方状态对称性的定义,全八面体对称群

既然此系列的主题是魔方状态的空间对称性分类,那么当然首先要明确可能的空间对称性都有哪些。

一般来说,考虑某一类对象和某一类变换。某个对象的对称性可以用使此对象保持不变的变换的集合来描述。用于描述空间对称性的变换是等距同构,在欧氏空间中即为全等变换。

n 维空间中的全等变换构成的、保持原点不动的群称为点群。亦即,n 维正交群 O(n) 的子群称为 n 维点群。对于一个几何体,保持它不变的所有全等变换构成的群称为其空间对称群。有限几何体的空间对称群是点群。多胞体的空间对称群是有限点群。在此我们简要介绍所有的三维有限点群,然后重点讨论魔方的空间对称群。

三维点群可以包含以下类型的变换:

  • 恒等变换
  • 以过原点的直线为旋转轴的旋转
  • 以过原点的平面为反射平面的镜面反射
  • 旋转反射:以过原点的直线为轴旋转后再沿过原点并垂直于旋转轴的平面反射
    • 特别地,绕任意旋转轴的 180° 旋转反射皆为同一变换,即点反演

角度为无理数的旋转和旋转反射生成的群为无限循环群,因此有限点群中只能包含角度为有理数的旋转和旋转反射。

角度为 360°×k/nk/n 为最简分数)的旋转生成的群为 n 阶循环群。生成 n 阶循环群的旋转轴称为 n 重旋转轴。n>2 时称为多重旋转轴。按多重旋转轴的数量,三维点群可以分成两大类:

  • 棱柱点群:包含至多一个多重旋转轴的点群,有 7 个无穷系列。
  • 包含至少两个多重旋转轴的点群,有 7 个。

以下每个群的记号使用 Schoenflies 记号。棱柱点群有以下 7 个系列(末尾括号中为其阶):

图 1:棱柱点群(来源:Wikipedia)
  • Cn (循环群):正 n 棱锥的旋转对称群。只包含绕一个 n 重旋转轴的旋转。(n
  • Cnh:包含 Cn 以及沿与旋转轴垂直的平面的反射。(2n
  • Cnv:正 n 棱锥的对称群。包含 Cn 以及沿过旋转轴的平面的反射。(2n
  • Dn (二面体群):正 n 棱柱的旋转对称群。包含 Cn 以及 n 个与 n 重旋转轴垂直的二重旋转轴。(2n
  • Dnh:正 n 棱柱的对称群。包含 Dn 以及沿过二重旋转轴的平面的反射。(4n
  • Dnd:正反 n 棱柱的对称群。包含 Dn 以及沿过两个相邻的二重旋转轴的角平分线的平面的反射。(4n
  • S2n:包含 Cn 以及绕同一旋转轴,角度为 180°×(2k+1)/n 的旋转反射。(2n

以上 7 个系列中有四对相同的群:

  • C1v = C1h,仅包含一个镜面反射,一般记为 Cs
  • D1 = C2,仅包含一个 180° 旋转,一般记为 C2
  • D1h = C2v,一般记为 C2v
  • D1d = C2h,一般记为 C2h

又,S2 仅包含点反演,一般记为 Ci。其余各个群互不相同。图 1 所示的空间几何图形,其空间对称群为左侧对应的群。

包含至少两个多重旋转轴的点群有以下 7 个:

  • T (手性四面体对称群):正四面体的旋转对称群。有 4 个 3 重旋转轴,为正四面体的四个顶点到其对面的中心的连线。(12)
  • Td (全四面体对称群):正四面体的对称群。包含 T 及沿过正四面体的边和其对边的中点的平面的反射。(24)
  • Th:十二面体黄铁矿晶体的对称群。包含 T 及点反演。(24)
  • O (手性八面体对称群):正八面体的旋转对称群。有 4 个 3 重旋转轴,为正八面体 4 组对面中心的连线;3 个 4 重旋转轴,为 3 组相对顶点的连线。(24)
  • Oh (全八面体对称群):正八面体的对称群。包含 O 及点反演。(48)
  • I (手性二十面体对称群):正二十面体的旋转对称群。有 10 个 3 重旋转轴,为正二十面体 10 组对面中心的连线;6 个 5 重旋转轴,为 6 组相对顶点的连线。(60)
  • Ih (二十面体对称群):正二十面体的对称群。包含 I 及点反演。(120)

立方体与正八面体对偶,对称性相同,为 Oh

图 2:一个状态在某个全等变换后与原状态在换色意义下同构的示例

讨论魔方状态的空间对称性分类之前,要先明确什么是魔方状态的空间对称性。如前所述,某类变换中保持某个对象不变者构成的集合即为此对象的对称。若仅考虑全等变换,则魔方没有任何空间对称性,因为它的每个面颜色不同、不可能在非恒等的全等变换下保持不变。因此,我们考虑全等变换+换色:对任意两个魔方状态 AB,如果 A 状态下任意两个面片同色当且仅当 B 状态下位于同一位置的两个面片同色,则称 AB 在换色意义下等价。换言之,存在面片颜色集合的一个置换 π 使得将状态 A 中所有颜色为 c 的面片替换为颜色 π(c) 之后可得状态 B。对于状态 A,使得 f(A) 与 A 在换色意义下等价的所有全等变换 f 构成一个群,称为状态 A空间对称群。如图 2 所示的状态(“C2h 双环”)经一个以对边中点连线为轴的 180° 旋转和三对颜色对换之后回到原状态,因此其空间对称群包含此全等变换。

复原状态的空间对称群为 Oh,任何状态的空间对称群均为 Oh 的子群。我们特别提到空间对称,因为魔方状态还有其它形式的对称,比如时间反演对称:魔方的每一个状态可以视为组块状态集上的一个置换。如图 3 右上角所示的状态 A,标准状态下有 WB @ UR,而状态 A 下有 WB @ RF,即为从标准状态变换到状态 A,需将原来位于 UR 状态的组块置于状态 RF,即状态 A 对应的置换中应有 UR → RF。类似地,可以得到状态 A 的置换表示为 (UR RF UF)(RU FR FU)。而此置换的逆置换为 A-1 = (UR UF RF)(RU FU FR),状态如图 3 左下角。此状态经一个反射和一个颜色对换之后即为 A。类比于空间对称性,将一个状态变为其逆置换的变换可称为时间反演。状态 A 在时间反演和某个全等变换的复合变换的作用下与 A 在换色意义下等价,也是一种对称。但从图 3 中可以看出此类对称仅从外观难以分辨,而我们关心的是视觉效果上的对称性,因此我们只考虑空间对称而不考虑时间反演对称。

图 3:含时间反演对称的状态示例

以下具体分析一下 OhOh 的旋转子群为 O。取一个立方体。可以验证,立方体的 4 条体对角线的任意置换唯一确定一个旋转,因此,O 的抽象群为 4 个元素上的对称群 Sym(4) (为避免与旋转反射生成的点群 S2n 混淆,此处将 n 个元素上的对称群记为 Sym(n)。)又,若允许镜像,则每一种对角线的置换对应两个全等变换,互为点反演。|Oh:O|=2,故 OOh 的正规子群。点反演与 Oh 的所有元素交换,故 Ci 也是 Oh 的正规子群。因此 Oh = O×Ci ≅ Sym(4)×Z2。|Oh|=48。

Oh 中包含的旋转轴和镜像平面包括:

  • 面心旋转轴:对面的中心的连线,4 重,3 个
  • 边心旋转轴:对边的中点的连线,2 重,6 个
  • 对角旋转轴:相对的顶点的连线,3 重,4 个
  • 面反射平面:与面平行的反射平面,3 个
  • 边反射平面:过对边的反射平面,6 个

枚举 Oh 的元素如下。图 4 中,每个面被两个对角线和两个对边中点连线划分为 8 个三角形。以位于上面、与前面有公共边、与右面有公共顶点的三角形为基准,按以下列表中的分类,每一类变换下基准三角形的像以相应的底色标记。

  • 恒等变换
  • 旋转
    • 180° 旋转
      • 3 个面心 180° 旋转
      • 6 个边心 180° 旋转
    • 8 个对角 120° 旋转
    • 6 个面心 90° 旋转
  • 反射
    • 3 个面反射
    • 6 个边反射
  • 旋转反射
    • 180° 旋转反射(点反演)
    • 6 个面心 90° 旋转反射
    • 8 个对角 60° 旋转反射
图 4:Oh 的元素的分类枚举

任何状态的空间对称群均为 Oh 的子群。在下一篇中我们将枚举 Oh 的所有子群并分析具有某种对称性的状态的计数方法。

三阶魔方状态的对称性分类计数(一):三阶魔方的总状态数

这一系列文章中我们将探讨如何将三阶魔方的状态按照空间对称性分类并计算每一类状态的数量。

此篇要介绍的是三阶魔方总状态数的计算。这个问题在魔方相关的数学问题中可以算是比较基础的一个,也在很多现有资料中都能找到讲解,不过为了完整性,在这里还是从头说一遍。

首先明确一些本系列文章中用到的概念和约定:

每一个可以独立运动且对魔方的外观有影响的部分称为组块。每个组块的每个外表面称为面片。有一个、两个及三个面片的组块分别称为中心块棱块角块。每个组块以其所包含面片的按顺时针顺序的颜色序列命名。如,某个角块从外侧看按顺时针次序三个面片为白色、蓝色和红色,则称其为“白蓝红”角块。依序列的起始点不同,同一个组块可以有多个名称,如蓝红白角块与白蓝红角块为同一个组块。但在表示组块的状态的时候不同的名称有区别,后述。我们使用三阶魔方标准颜色方案,即有一个白蓝红角块,白色的对面为黄色,蓝色的对面为绿色,红色的对面为橙色。为简便,可以英文首字母将颜色记为白=W,黄=Y,蓝=B,绿=G,红=R,橙=O。

我们的讨论仅限于魔方贴纸本身无图案的情况,因为否则的话还需要考虑贴纸图案的对称性,过于复杂。在此约定下,中心块的不同方向视为等价。

图 1:坐标系、面的名称和标准状态

将魔方置于空间直角坐标系中,中心位于原点,所有棱与坐标轴平行。魔方的面以其外侧法向量的方向命名。约定x轴正、负方向为前、后,y轴正、负方向为右、左,z轴正、负方向为上、下。为简便,可以英文首字母将面记为前=F,后=B,右=R,左=L,上=U,下=D(图 1)。组块的状态为其面片所在的面的序列。如,白蓝红(WBR)角块,其白色面片位于前面、蓝色面片位于左面、红色面片位于上面,称其所在状态为“前左上(FLU)”(图 2a)。我们将“a 组块位于 b 状态”记作“a @ b”。状态名的面序列应与组块名的面片序列对应,故如果将此组块称为“蓝红白(BRW)”,则此状态应称为“左上前(LUF)”,即“WBR @ FLU”与“BRW @ LUF”含义相同,但与“WBR @ LUF”(图 2b)不同。组块的位置为其面片所在的面的集合,即不计顺序(方向)。我们将“a 组块位于 b 位置”记作“a ~ b”。同一个位置也可以有多个名称。如“WBR ~ FLU”与“WBR ~ LUF”含义相同。

图 2a:WBR @ FLU
图 2b:WBR @ LUF

某一组块集合的状态(位置)为其包含的组块到组块状态(位置)集合的映射。魔方的状态为其所有组块构成的集合的状态。每个面的所有面片颜色相同的状态称为复原状态。由于仅有整体方向不同的状态一般视为等价,且所有中心块的相对位置完全确定,一般可将中心块固定在某个状态而仅考虑其他组块的状态。若某状态中白、黄、红、橙、蓝、绿中心块分别位于上、下、前、后、右、左面,称此状态处于标准方向。标准方向下的复原状态称为标准状态,此时每个组块的状态(位置)也称为其标准状态(位置)。从复原状态通过任意旋转魔方的面可以到达的状态称为合法状态,否则为非法状态

魔方的操作以被旋转的面的名称表示,无附加标记的为顺时针旋转 90°,逆时针旋转 90° 上标加撇号,旋转 180° 后加“2”。如,右面顺时针旋转 90° 记作 R,逆时针旋转 90° 记作 R’,旋转 180° 记作 R2。

我们的目标是计算标准方向下的合法状态的数量。若无说明,以下的讨论仅考虑标准方向。

标准方向下的总状态数很容易计算:角块和棱块可以各自任意互换位置,且可以在同一位置上任意旋转。因此,所有角块的位置总数为 8!,同一位置的状态总数为 38,所有棱块的位置总数为 12!,同一位置的状态总数为 212,魔方的总状态数为 8! × 38 × 12! × 212

为了计算合法状态的数量,先考虑某个状态合法的必要条件。状态合法性的必要条件有三个:

1. 位置置换的奇偶性。考虑所有组块的位置相对于其标准位置的置换。魔方单个面的 90° 旋转会对角块的位置和棱块的位置分别做 4-轮换,相当于共计 6 个组块对换,为偶置换。因此,魔方的任何操作不改变组块置换的奇偶性。标准状态下的组块置换为恒等置换,是偶置换,因此任何合法状态下,组块位置的置换一定为偶置换。

2. 角块方向。一个角块位于其标准位置时,其方向的定义是显然的,即以其与魔方中心的连线为旋转轴的相对于其标准状态的旋转角。而当一个角块位于其他位置时,需要对其方向做适当的定义。一般来说,可以按以下方法定义角块的旋转数:先对每个角块指定一个面片为基准面片。基准面片可以任意指定,但适当地选取基准面片可以简化分析。我们选取每个角块上的白色或黄色面片为基准面片(图 3)。在某个状态下,某个角块的旋转数由它的基准面片所在的面和标准状态下此位置上的角块的基准面片所在的面的关系决定。若当前基准面片与标准位置下的基准面片重合,则旋转数为 0;若当前基准面片相对于标准位置下的基准面片顺时针旋转了 120°,则旋转数为 1;若当前基准面片相对于标准位置下的基准面片逆时针旋转了 120°,则旋转数为 -1(图 4)。

图 3:有标记的面片为角块的基准面片
图 4:角块旋转数举例。WGO @ URF,旋转数为 0;YGR @ FLU,旋转数为 1;YBO @ RUB,旋转数为 -1。

容易看出旋转上面或下面不会改变某个角块的白/黄面片与上/下面的位置关系,因此也不会改变旋转数。而其他四个面的旋转操作效果对称,只考虑其中一个。又由于同一个面的顺时针和逆时针旋转互为逆操作,只需要考虑其中一个。考虑 R 操作。可以验证:位于 URF 或 DRB 位置的角块,R 操作后其旋转数增加 1 (模 3),而位于 UBR 或 DFR 位置的角块,R 操作后其旋转数减少 1 (模 3)(图 5),旋转数的总增量模 3 余 0。因此,魔方的任何操作不改变角块旋转数总和模 3 的余数。标准状态下每个角块的旋转数均为 0,总和模 3 余 0,因此任何合法状态下,角块旋转数总和模 3 余 0。

图5:R 操作对角块旋转数的影响

3. 棱块方向。与角块旋转数类似,定义棱块翻转数:对每个棱块,按图 6 指定基准面片。对于每个棱块,若当前基准面片与标准位置下的基准面片重合,则翻转数为 0,否则为 1。

图6:有标记的面片为棱块的基准面片

容易看出,任何一个 90° 旋转都会改变全部 4 个被移动的棱块的翻转数。因此,魔方的任何操作不改变棱块翻转数总和的奇偶性。标准状态下每个棱块的翻转数均为 0,总和为偶数,因此任何合法状态下,棱块翻转数总和为偶数。

满足以上三个条件的状态一定是合法状态,这可以构造性证明:只需任选一种复原方法,证明满足以上三个条件的状态都可以复原即可。特别地,可以取 CFOP 法,先验证从任何状态开始一定可以复原前两层,然后验证 OLL 公式集包含了最后一层满足旋转数和翻转数条件的所有方向组合、PLL 公式集包含了最后一层满足置换奇偶性条件的所有位置组合,此处略。

通过对换两个固定位置的组块(如对换 UR 位置和 UF 位置的棱块并保持其翻转数),可以将组块置换为偶置换的状态与组块置换为奇置换的状态一一对应,因此两类状态数量相等。类似地,通过旋转某个固定位置的角块和翻转某个固定位置的棱块,可以证明角块总旋转数模 3 余 0、1 和 -1 的状态数量相等,棱块总翻转数为奇数和偶数的状态数量相等。又,上述三个操作各自只影响三个条件对应的不变量中的一个,因此三个条件互相独立。等概率随机任取一个状态,其满足每个条件的概率分别为 1/2,1/3 和 1/2 且三者独立,因此其为合法状态的概率为 1/2 × 1/3 × 1/2 = 1/12。由此可得三阶魔方合法状态总数为

摄影志:秋日的五彩森林

时间:2013-10-4

地点:塞罕坝国家森林公园,河北省围场满族蒙古族自治县

Canon EOS 600D, EF-S 55-250mm f/4-5.6 IS II

109mm, f/13, 1/100s, ISO 100

这是摄影队13年十一外拍最后一天的作品。此时我们即将返程,在公路旁休息,我最后拍了一组绵延的山林的拼接全景

不过这样一张长长的片子不好展示,而且这一天空中有薄云,光影没什么变化,地上除了树还是树,难免有点单调,其实没什么意思,不如选取其中一框仔细修一修

后期

原片其实就是橙色的一大片很难看……首先树的自然颜色没那么丰富,此外大概和拍摄水平也有关,当时我基本还在入门阶段,连使用raw格式拍摄都不懂,白平衡大概也不太对……

不过还是可以看出树的颜色多少有些变化。那就好办。参考直方图调整白平衡至画面整体呈灰色

此时虽然整体饱和度低但已经出现了红橙黄绿蓝紫各种不同的颜色。整体提高对比度饱和度,然后将每种颜色的色相、明度和饱和度分别做微调使色彩分布平衡,得到一片多彩的秋日森林

摄影志:东京大学的银杏

时间:2018-6-2

地点:东京大学,35°42’48.0″N 139°45’37.2″E

Nikon D750, AF-S Nikkor 24-120mm f/4G ED VR

120mm, f/8.0, 1/125s, ISO 400

这天是周末,我在市内闲逛,来到了东京大学。时值盛夏,又是白天,也没什么特别值得看的景色,拍出照片来基本都是证件照,比如这个著名的安田讲堂……

还有这个综合图书馆,拍个证件照都拍不成,因为套机镜头广角端不够广,正面拍都收不进来……

东大有很多银杏树。此时已经是下午,阳光斜照,树影斑驳,使我想起T大学堂路上的银杏

东大的银杏路不似T大道路宽广树木高大,气势是比不了了,不过枝叶繁茂也还是有点幽深的感觉。既然是要表现幽深的感觉那当然是要上长焦远距离拍摄了。我的最长焦距也就只有120mm,好在图书馆正对的这条路也不长,退到底再用最长的焦距,刚刚好

后期

拍摄时间是下午三点多,阳光还比较强,拍出来明暗对比太大,其实效果不太好。虽然可以等到黄金时间,不过那天我也不是专程去拍照的,打算之后继续闲逛去上野,于是匆匆拍了一张就走了。原片是这样的:

只能说相机的动态范围比起人类视觉系统还是差得太远……

这张片子在硬盘里闲置了好几年,后来死马当活马医试着修了一下,把阴影拉到顶高光拉到底,发现细节都有保留,还是很有成为一张好片的潜力……要对raw有信心……

之后全局增加对比度降低饱和度之外,用渐变滤镜对树冠部分提高色温降低清晰度、道路部分降低色温提高清晰度

摄影志:大连微缩景观

时间:2014-5-2

地点:大连观光塔,38°54’21.5″N 121°38’01.4″E

Canon EOS 600D, EF-S 18-55mm f/3.5-5.6 IS II

55mm, f/5.6, 1/250s, ISO 100

这是摄影队14年五一外拍的一张照片。第二天下午的行程是大连观光塔。登塔之后,本能的反应是用广角拍城市景观或者拼接全景,拍出来实在没意思……

不过拉长焦距仔细观察,还是有很多有趣的景色可拍。有座红色的桥引起了我的主意。下面的水域似乎是个人工湖。一个不大的人工湖,还要建一座桥横跨,不知道是出于怎样的考虑……就当是像园林一样纯粹是个人工景观吧!周围的建筑颜色也很鲜艳,这一天又是多云,时间也接近日落,光影变幻,构成一幅多彩的画面。

在高处远眺的视角,正适合模拟微缩景观,可是我没有移轴镜头那样的高端器材,甚至大光圈都没有……不过不要紧,交给后期就好了

后期

原片其实没有那么戏剧性的光照,灰蒙蒙的,不过明暗区域的分别还是有的

后期除了整体提高对比度和饱和度之外,又使用调整画笔强调了高光和阴影,大概算是稍微有一点照骗吧……

最后使用景深模糊模拟大光圈移轴效果