【版权声明】
| 作者:nightawk
| 编辑:月之眼
| 本文首发于大水牛平台
| 如需转载请联系作者
题外话
过年的时候稍微闲了下来,于是又开始写教程了,时隔这么长时间才更新,感到十分抱歉。但发现能够静下心来,边看知否编写教程也是很开心的。
同时也想着继续开篇说的,如果大家觉得我的文章对你有用,也请打赏一下,将会全部捐出去。谢谢了!!!
正文
1.这一讲是上一讲的深化。想要加入音乐的元素,让其能随着音乐而动。通过在processing 官网上我们找到了Minim这个library,能将音乐转化为数值的库。可以在processing中直接安装。
2. 对于新的library,我们可以查看例子来学习如何使用。如下,我们就能将音乐转为数值。如图
3. 有了音乐数值之后,我们需要创建一个121*53的受力环境。此时需要先创建一些列的点,两两相连形成弹簧。(注意,直接使用for each 两两相连,会重复连接,所以需要一个arraylist 来记录已经连接弹簧的点,使其在连接第二次的时候不进行连接弹簧操作。参考如下图标记范围)
4. 将范例的内容分别复制到void setup和void draw中。其中waveform.left[0]和waveform.right[0]都为音乐的参数,选其中一个即可。将数值附在中间的一个受力点是会得到如下效果:
5. 如果只是在中间设置一个点受力,效果会不太顺滑。所以可以通过中心点一片区域内都施加一个逐渐衰弱的力以达到顺化的效果。(此段写的比较复杂,应该有更简单的写法,欢迎提供)
6. 有了大致的形体后,现在只有一种颜色,效果过于单一。所以想尝试由每一个弹簧的高度来决定它的颜色。当在平均高度的时候,颜色会趋近于黑色,当离平均高度越远,颜色趋近于白色。因此,我们需要先得到弹簧的高度,所有弹簧最高高度和最低高度。
7. 在得到3个重要的数值后。由于颜色的数值为0-255,所以我们需要将当前高度值转化为0-255的数值中去。这里运用map功能。
8. 到这里整个程序也就写好了。想要补充一点,当想一个颜色渐变到另一个颜色的时候,也可以运用lerpColor,写法如下(大家可以试一试):
9. 最后当然是来看效果了,音乐就用知否的主题曲吧(毕竟是看着知否知否写的代码233333)。
代码下载
代码和libraries下载:
链接:https://pan.baidu.com/s/1XGJ0IiOPJ-XmGUxZMMr1Dw
提取码:1qwj
往期精彩文章回顾:
【Processing 教程 5】 ----PeasyCam 和 gHowl
【Processing教程4】----library的简单运用
【Processing 教程3】--Arry和For Loop
【Processing 教程 2 】----- function
【Processing 教程1】--界面和参数介绍
【号外,号外】大家期待已久的Processing教程来啦
【Python】一键标注封闭多重直线
【Python】通过python删除指定名称的电池
【分分钟建模系列20】如何路径分组
【分分钟建模系列19】如何用RhinoPython实现“向日葵”开洞
【分分钟建模系列18】如何用Rhino做垂直格栅
【分分钟建模系列08】山寨一个教堂
【分分钟建模系列07】做个扭转建筑
【分分钟建模系列】SoftMove命令的简单应用
【分分钟建模系列】手把手教你做旋转楼梯
【分分钟建模系列】手把手教你做表皮
【分分钟建模系列05】手把手教你做编织
【分分钟建模系列06】手把手教你做个凳子
【分分钟建模系列09】如何用犀牛手工做灰阶度干扰
【分分钟建模10】MAD中国国家美术馆
【分分钟建模教程系列11】Big的W大楼
【分分钟建模教程系列12】如何做一个漂亮的楼梯
【分分钟建模教程系列13】如何做曲面干扰
【分分钟建模系列14】如何快速打断相交的曲线
【分分钟建模系列15】如何用Grasshopper建一座桥梁
【分分钟建模系列16】茶几建模
【分分钟建模系列17】BIG蛇形画廊的建模案例
【Bubalus_RH for Rhino6】选择“选中物体”所在的图层
【Grasshopper】Anemone插件的应用
大水牛参数化设计是一个传播分享建筑数字化设计与数字化建造资讯的平台
并且会不断连载原创或转载有价值的参数化软件教程
(Rhino、Grasshopper、Python、Revit、Processing等等)
是一个视野与技术并重的数字化传播平台
我们的目标是把这个平台创造成一个拥有良好氛围的学习平台
我们将带头冲锋;我们的立场非常坚定
我们的狂怒你驾驭不住;黎明就在眼前
欢迎你们加入我们的战队
记住我们不是一个人在战斗
点击关注微信公共号,获取更多精彩内容