其他
《增殖 Proliferation》 - 音乐可视化
《增殖》是一个音乐可视化作品,通过编程在培养皿里创建了若干虚拟的细菌。细菌会根据声音数据,实时地改变形态以及运动状态。
视频
https://v.qq.com/txp/iframe/player.html?vid=i0180xgti6n&width=500&height=375&auto=0
思路浅析
程序是用openFrameWork实现的。相比Processing,基于C++ 的OF 在运行效率上有天然的优势
细菌的运动都是通过粒子系统实现的,一共设计了三种形态
对声音数据的变化值最敏感的是类似蠕虫的形态,实现思路具体可参考 Processing 中自带的example - interaction - follow3。 在此基础上只要在顶点施加一个随机的运动方向,就能产生类似于蠕虫的运动效果。
基本形是用 ofDrawEllipse 绘制的。最后在角度和移动距离上添加一个增量noise,就能产生平缓的运动效果。
运动方式与上面一致,区别在于边界的运动。需要绕细菌中心,设定一圈环形的顶点,之后将边界顶点距离中心的值等于noise函数。此时只要用 ofBeginhape 和 ofEndShape 将顶点相连,就可以在边缘产生自然的蠕动效果
最后,计算所有节点到培养皿的中心距离,施加一个判断,即可将所有粒子的运动范围都约束在培养皿中。细菌也就不会跑到培养皿之外了。
End
这个实验作品从今天起在上海西岸艺术中心有一个小展示。你也可以点击阅读原文,获取程序的下载地址。