中国科普网 收藏本站

所在位置: 首页> 创专区> 正文

如何利用3D打印,自己设计制作视错觉模型

来源: 2018-01-04 17:26

本文可以学到:
        1、视错觉模型的原理;
        2、如何设计自己的视错觉模型、
 
        日本明治大学的杉原厚吉(Kokichi Sugihara)教授生于1948年,已近70岁了,他做过很多出名的视错觉作品,2015年的镜子视错觉作品“迷惑的车棚”获得了年度视错觉奖(illusion of the year),2016年的镜子视错觉作品“圆还是方”也获得了此奖。
 
2016年的视错觉作品“圆还是方”
2015年的作品迷惑的车棚
 
        “圆还是方”作品,实际上是一个上边框类似s型的空心筒,先建立好模型,然后进行3d打印,从一边看过去时,容易脑补成圆柱的截面,而从相反的另一边看过去时则更容易感觉有四个直角,是个方形。
        网上能找到不少这类称为Ambiguous Cylinder的视错觉筒的模型文件。当然,我们肯定不能仅仅满足于了解原理,还想自己做一个,虽然网上有现成的3d文件,不过如果想自己设计图案,应该怎么建立模型呢?
        有一种方法是建立函数,对空间曲线进行描述,并计算满足某些特定条件时的函数应该是什么曲线。杉原厚吉教授2016年4月曾在MDPI出版公司旗下开放获取期刊Symmetry上发布论文讨论了这种方法。
        比如说如果我们想设计这样一个视错觉,镜子所在面是x轴和z轴(竖直)形成的面,用数学语言来描述就是,物体(空间曲线)在镜子里成的像应该是只有y轴数值相反,但实际成的像看起来像是x轴数值相反。
        实际上这个问题就是,空间中有两条空间曲线c1和c2,两条曲线闭合形成一个面。现在要使得从角度v1看过来投影是a1和a2两条平面曲线形成的闭合面,从角度v2看过来投影是b1和b2两条平面曲线形成的闭合面。
        这个例子中,由于已经确定了想要的成像方式,因此b1和b2可以变为用a1和a2显示。
        综合上述方程可以得到空间曲线c1和c2的方程。这样,当我们给出任意a1和a2曲线的方程时,c1和c2就被唯一确定了。
        可以证明,当这个空间曲线绕z轴旋转时,仍然满足我们想要的“异常视错觉反射”。
        有了方程之后,就可以任意构建模型了,比如下面的鱼、车和船。
 
 
 
        这种方法有些麻烦,也需要一定水平的计算能力。对于部分图形我们可以选择直接在设计软件里建立模型,根据投影图像找出空间曲线的形状。
        比如我们想让一个空间曲线从一个角度看是方形,从另一个角度看是圆形,就可以在设计软件里建立模型,让圆形和方形沿着想要的视线方向移动,其轨迹在空间中形成圆筒和方形筒。然后取两个模型的交线,这个交线就可以满足从一个角度看为方,从另一边看是圆。
 
        之后我们把这个空间曲线单独截出来,在下面做出竖直的筒壁,加上一个底。就可以作为3d模型进行打印了。

        打出来的效果是这样,算是还可以吧。
        摆放镜子时注意镜子要向前倾斜一些。以保证眼睛看物体和镜像时的角度一致。
        网上有不少爱好者自己设计的这类镜面视幻觉作品,原理基本都类似。    
        可以给这个图形加上一个把手,作为杯子来使用。
        Thingiverse上也有人根据这个模型做了应用,可以让大家输入十几个参数来改变这个模型,形成自己想要的形状。
 
        也可以不局限于圆筒,设计各种形状。
        还可以做成小动物形状,从一边看是海豹,另一边看是海豚。
        这类称为Ambiguous Cylinder的视错觉筒,不仅仅有“圆还是方”,还有许多变种。






        网上搜索Ambiguous Cylinder能找到不少这类视错觉3d模型文件,大家有兴趣也来试一试吧!

更多推荐