Processing学习笔记:从Voronoi图开始学toxiclibs库

1,035 阅读1分钟

故事的开始

今天感觉灵感有点枯竭,就去B站上刷创意视频,然后就看到了一个画画练习视频中的一个作品:

打开它的第一眼,我就发现了这个作品可以简单地通过随机点之间的Voronoi图进行构建。

至于什么是Voronoi图:简单地说,就是把一个平面进行分区,使得分区内的任一点一定是相比其他黑点,距离本区域内的黑点更近。如下:

当然具体的实现方式有点复杂,我们就不多做讨论了(这属于计算几何的范畴)。

如果是在CPython环境中倒也好办,直接调用  scipy.spatial.Voronoi 就可以了,但是在Processing环境中,我们还需要使用其他的相关库。经过翻翻找找,在一个贴子中找到了有几个版本过时的库,其中有一个可以用的库,那就是 toxiclibs 库。

toxiclibs 库

这其实是一个很古老而著名的库了,只是因为文档过于简陋,所以不太常用。主要的功能包括了物理仿真,空间几何等主题。安装它的时候,可以直接使用包管理器安装,而文档则在这个位置:链接 。

而官方例程则被放在了一个奇怪的地方: 链接 。这是一个OpenProcessing的存储项目,但是代码都是java模式的Processing代码。所有代码都被标记为Archived,这意味着无法在OpenProcessing网站上执行(该网站只能执行p5.js代码)。