光影秘钥
作为常见的故事设定,一位英雄经历千难万险,与无数坏人殊死搏斗,为的就是抢夺散落在各个地方的几把钥匙,只有同时集齐它们,才能开启一个神秘的魔盒,获得所需之物:价值连城的珍宝,阻止地球毁灭的密码本,控制全世界的AI源代码……每把钥匙缺一不可,意味着魔盒的打开需要很高的安全权限,这其实在我国古代使用的兵符(或者称为虎符)中就有所体现:兵符由左右两半组成,就如同两把钥匙,分别由君王和军队将领保管,调动军队时,由君主派出的使臣将两半兵符合二为一,命令才能生效,“信陵君窃符救赵”所说的就是这种兵符。
而在八零后怀旧动漫《七龙珠》中,集齐藏在世界各地的七颗龙珠,并念出咒文,可以召唤出神龙,替许愿人达成任何愿望。
在光学世界,有很多种不同的办法可以制造出这种钥匙,单独每一把钥匙并不会展示出有用的信息,只有将它们同时“合体”,隐藏的秘密文字或者图案才会显现出来。图像可视加密的魔术效果
光可以被不透明的障碍物所遮挡,这是一条人人都知道的常识,只要将这一原理巧妙加以利用,就可以实现一种简单易行的图像可视加密(visual cryptography)效果。
对于一张要隐藏的简单黑白图片,每个像素或者是黑色,或者是白色,如果把图案打印在透明胶片上,黑色像素表示那一点是不透光的,白色像素表示那一点是透明的;如果把图案通过打孔的卡片来展示,则黑色像素表示那一点是没有打孔的,白色像素表示那一点是打孔透光的。
无论采用哪种方式,隐藏的图案都可以分解为两张或者多张表面上看起来随机的黑白图案,每一个子图案称为一个可视密钥,像每一把用于开启魔盒的钥匙,对应于一张印有图案的胶片或者打孔的卡片。当把这些胶片或者卡片对齐叠加在一起,无论两层的“双皮奶”,三层的“三明治”,还是“拿破仑千层酥”,隐藏的图案都可以轻易恢复出来,直接映入眼帘。
其中的关键在于,两个或者多个可视密钥对应的像素叠加之后,只要其中至少有一个是黑色的(不透明的),就相当于把其他层的像素都遮挡住了,叠加后的结果中这一像素也会是黑色的。反过来说,只有所有可视密钥对应的某一像素都是透明的,叠加后这一像素才会是透明的。设计可视密钥时,需要按照这一规则对于每个像素进行适当的黑色(不透明)或白色(透明)编码。
可视密钥不仅可以隐藏简单的字母和数字,更复杂的图像也完全不在话下,而在另一个魔术中,两张不同扑克牌可以来回变换,也是利用了类似图像可视加密的技巧,细节在这里就不透露了,大家可以自行思考。
随机点立体图:双眼是天然的解锁钥匙我们的左右双眼不仅是心灵的窗口,也可以作为守护秘密的两把天然钥匙。
左右眼位置相隔几厘米,造成观看角度稍微不同,同一个物体的左右眼两个画面会存在一定“视差”,这在很大程度上,是“远近高低各不同”立体感的来源。如果把稍有视差的两个画面分别强行地展示在左右眼面前,观看者也会不由自主地产生虚拟的立体感。影院中戴上眼镜观看3D电影时,左右镜片分别只允许不同方向的偏振光通过,为的就是实现这种双目三维显示的效果。
而苹果公司的Vision Pro虚拟现实头戴显示设备能够创造出立体感,播放新款苹果手机拍摄的“空间视频”,依靠的是左右眼前方两块LED显示屏可以分别显示不同内容。
全息图密钥:没有做不到,只有想不到运用丰富多样的光学原理,还可以设计出更加精巧的“光钥匙”。下面这两个小玻璃片,看起来没什么特别,只是涂上了熊猫或者女士的图案而已,但外表伪装之下其实暗藏玄机。
它们并不是普通的玻璃片,而是两张“全息图”,玻璃表面不同位置的厚度都是经过优化编码设计的,稍微有差异,并且通过光刻方式加工出来,这样当一束激光照射到玻璃片上之后,不同位置光场的相位会发生变化,穿过玻璃片向前衍射传播一段距离后,最终可以形成一个重建图像。有趣的是,这一重建图像与表面涂抹的图案可以完全无关,全息图只是所重建图像光场信息的载体,却并没有直接将图像展示在上面。
同样是利用全息图作为“光钥匙”,下面这个不一样的设计也将秘密图像埋藏在了最深处。两张全息图,分别使用光束照射后,可以各自重建出不同的图像,但这也只是表面伪装,并不是这两把钥匙真正要开启的魔盒。
正确的解锁方式是像糖葫芦一样,把两张全息图级联串在一起,并且要保持事先所设定的间隔距离,这样照射光束穿过第一张全息图并被调制之后,再经过第二张全息图,经历同样的过程,最后才能重建出真正的隐藏图像,所揭开的“谜底”与每张全息图单独重建出的图像并不一样。为了实现这种效果,需要利用专门的优化算法来编码设计这两张特殊的全息图。