查看原文
其他

画一个印象派的蝙蝠吧

Y叔叔 YuLabSMU 2022-09-20

老早老早之前看到batman logo方程,我就试着用ggplot2来画。当时写了一篇博客文:https://guangchuangyu.github.io/2011/08/the-batman-equation/


在HKU有个teaching的课,课上会有两次presentation,一次5分钟,一次10分钟。5分钟那次我就去present怎么画batman logo,轻松有趣即视感有没有!


首先有这么个方程,它可以画出batman:


6个方程的乘积,拆分开来如下,方程的解就是这6个子方程中任意一个为0。每个子方程都是一个线条的片段,我将用不同颜色来展示。



做为好色之徒,我们首先来6个颜色:



定义方程1,取值范围通过开方要求正数这一限制来获得。


它画出来是这样子的:

再来第二段方程:

它画出来下面的裙摆:


再来第三个方程:



以此类推,再写就有点罗嗦了,一段段加上去,最后画出来是这样子的。


最后来一段稍长点的代码,上面的logo,其实是画一堆点,那么我们可以对点进行随机采样,大小、颜色和透明度都随机。然后再给加个背景,背景点少一些,点大一些,透明度也小一些,这些也是随机的。这样我们可以看到一些点组成batman logo,在背景点中凸显出来。


就像这样,因为是随机的,所以每次跑这个代码,出来的图还会微有不同。这分分钟是要测色盲的节奏啊。




当时课上讲的slides,我是放上网的,点击阅读原文,电梯直达。最近我的幻灯片又被歪果仁发现了:

Bruce Wayne: It's not who I am underneath, but what I do that defines me.

如果你看过《130岁了,祝你生快》这篇文章的话,你可能会被高度的抽象水平所折服,文章后面也做了一个预告:

可以把蝙蝠画成多边形,这样外围可以有个颜色,内部可以填充个颜色,然后就可以用蝙蝠侠的飞镖来画散点了,可以随意映射大小,可以随意旋转,嗯,Bruce Wayne向你扔来一大波飞镖。

最后还是那句话:

如果以后再去罪恶之城chicago的话,我就写一个geom_batman图层。


往期精彩

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存