Ben是一名斯坦福大学的物理学博士生。

他有一个相处了8年的男票。

两人在大一那年相识,之后感情一直很好。

最近,Ben想跟男票求婚了。

但是单膝下跪,烛光晚餐啥的求婚仪式,他感觉不够特别。

他要求婚,就要用全世界都没人用过的方式。

因为平时是研究光子学的,于是Ben就想:能不能让光来帮我求婚呢?

他思索了好一阵子,终于想出了一个方案。

他要让落日来帮他说出这几个字。



具体做法就是通过镜子反射。

他买来169片小镜片。每一个镜片负责一个光点。

拼在一起,刚好是:嫁给我?



为了能达到这个效果。

首先,他要计算出一个镜片的折射公式。要射到一个目标点,它需要什么角度。



然后以此类推到其他100多个镜片上。

然后,他买来一台3D打印机。

生成一个六角柱的模型。

算好顶部平面的倾斜位置,以及整个六角柱的大小。



还要给顶部留出放镜片的空间。



有了生成一个六角柱和镜片放置器的代码后,

Ben生成了一个六角柱网格模型。



在整个制作过程中,Ben遇到了各种各样的难题。

其中一个问题就是,当反射光线存在交叉情况时,镜面位置稍微一偏移,就容易出现乱码。



为了增加容错率,Ben还特别又搞了公式,让所有反射的光线都能尽量平行。



按照他计算的结果,安排好每个镜片的位置,



把光线反射从左图这种充满交叉调整到右图。



一切都解决好后,Ben把镜片的框架3D打印出来。



然后把小镜片一片一片黏到上面。

最后成品:



11月8日那天,

Ben带着男友来到加州Pfeiffer海滩。

就在日落前,

他把镜子递给男友。



镜子在日落的光线下,在沙滩上反射出两行字:MARRY ME?



面对这个意想不到的惊喜,Alax的回答是:YES!



落日,大海,沙滩,戒指,温柔的光线反射。

虽然两人都是理工技术男,但整个过程可以说是浪漫到极致了。



用完后,这面镜子还能挂在墙上当爱情的见证。



为了让更多人能感受到这种技术的浪漫,

Ben开源了这个项目的所有代码。



稍微修改一下就可以投射不同的图像。

有兴趣可以去看看~

ref

https://twitter.com/bencbartlett/status/1458159911787921409