摘要:计算机为我们的生活带来了不计其数的变化,现在,我们不妨也把它与艺术结合起来,去从机器的角度来为生活增添活力与色彩,开拓一个无限可能的艺术创作新境界。

写在前面

生成的艺术,指尖上的艺术,通过键盘上韵律般的敲敲打打,一幅幅美轮美奂的艺术作品便跃然于屏,这样的画作,包含了无穷的创意,糅合了现代计算机科技与传统绘画艺术,于我看来,难道还有比这更令人陶醉的美事吗?

用代码进行艺术创作,其过程与在画纸上进行绘画大同小异。当某个灵感创意突然在头脑中闪过的时候,例如地理刊物上的一个轮廓图案或是科学杂志上的某个函数图形,我会马上在画纸上打草稿,并记录下若干重要的描述字眼,力求最大限度地把想法留下。而后,我会通过编程(一般是通过Python和Nodebox)这个笔刷来进行画画。经过不断的细化处理,一步步调整形状、颜色、透明度等属性,最后在屏幕上得出我心中的作品。而这一切,都是透过修改相关绘图包或函数参数来实现的。例如,下面这个PY代码段里,我定义了一个用于绘制波形图的调色板。

之后,调用一个波形绘图函数,来进行具体的图形绘制:

随机参数的鬼斧神工

尽管多数情况下,我会把相关参数设置为静态变量,但是,若果在某些场合适当地使用随机动态参数,可能会收到意想不到的奇妙效果。甚至有时候,在看到最后的作品前,我都不能确定它会是什么样子。除了这种不可预知的奇妙,更为珍贵的是因为随机它更是不可复制的,是唯一的。

代码就是艺术家

计算机图形学是基于一定的数学逻辑的,在用代码进行创作的过程中,我能领略到一般情况下不能体会到,藏于数理中的结构之美、抽象之美以及复合之美。例如,以下的这个海啸海浪作品,这六幅作品都是通过同一函数来绘制的,这里使用了一个Nodebox绘图类-Cornu Curve(角度与曲线)。透过不同颜色、透明度、图层等参数的搭配,如此可爱的作品就出来了。

无限可能 图形复合

请先看以下这个作品—心眼

怎么样?还不错吧。如果你让我用画笔一笔笔地画出来,真的不知要画到猴年马月。这就是运用代码创作的另外一个重要用途—图形复合。只需执行一个多重循环或递归,把上百万不同颜色、透明度、纹理的线条交由计算机进行绘制,如此复杂的作品便能在弹指间迅速完成。记住,请把复杂的事情交给计算机。

其核心代码分别是,一个定义了笔刷和一个描述了绘制过程:


实用的创意设计

除了上述看似天马行空的作品,在实际生活中如衣物、雕塑、家居用品等的设计,代码创作也能大显身手。例如以下这个我们IDEO公司的Logo:

具体的代码,请看这里:

写在最后

计算机为我们的生活带来了不计其数的变化,现在,我们不妨也把它与艺术结合起来,去从机器的角度来为生活增添活力与色彩,开拓一个无限可能的艺术创作新境界。

注:本文所有示例的完整代码请点击这里进行下载,可以在安装了Nodebox的环境下运行

原文出自:labs.ideo.com

指尖上的艺术——如何运用代码发挥无限创意相关推荐

  1. TPYBoard:一款可以发挥无限创意的MicroPython开发板

    2019独角兽企业重金招聘Python工程师标准>>> 今天给大家带来一款MicroPython开发板的拆解和测评.所谓MicroPython也就是运行在单片机上的Python.Py ...

  2. python开发板卡驱动开发_一款能让你发挥无限创意的MicroPython开发板—TPYBoard开发板测...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天 静电袋包装,打开袋子简单明了:TPYBoard开发板一块.跳线帽一个.数据线一条.说明书一份.通过数据线将开发板与电脑连接就可以DIY各种你想要的P ...

  3. 教你32种摄影方式,发挥无限创意

    有没有觉得拿起相机却不知道拍什么好?又或者想跟以往拍点不同的东西,但又没有概念?下面我们就为你介绍32种摄影方法,来丰富你的摄影方式. 1. 365摄影计划 这就是每天一张照片,为自己设定目标与限制, ...

  4. 【编程实践】代码之中有创意:“我一直认为工程师世界上最具创造性的工作之一”

    代码之中有创意 "我一直认为工程师世界上最具创造性的工作之一". 文章目录 代码之中有创意 一.代码可以赋予创造力 1.1 代码的创造力 1.2 如何发挥代码的创造力 二.有创意的 ...

  5. 强强联合!Papers with Code 携手 arXiv,上传论文、提交代码一步到位

    转自 | 机器之心 作者 | 魔王 刚刚,机器学习资源网站 Papers with Code 宣布与论文预印本平台 arXiv 进行合作,论文作者在 arXiv 上上传论文时可以同步上传官方和社区代码 ...

  6. 《互联网理财一册通》一一第12章 移动互联网“指尖上的理财”

    第12章 移动互联网"指尖上的理财" 互联网理财一册通 12.1 网银银行移动客户端 12.2 投资软件与操盘软件 12.3 微信理财通 12.4 手机支付宝 伴随移动互联网的迅猛 ...

  7. 强强联合!Papers with Code携手arXiv,上传论文、提交代码一步到位

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 刚刚,机器学习资源网站 Papers with Code 宣布与论文预印本平台 arXiv 进 ...

  8. 微型计算机实验代码,上师大,微型计算机实验全代码.doc

    上师大,微型计算机实验全代码 实验一 LED实验 C8255 EQU 21AH CW8255 EQU 21BH CODE SEGMENT ASSUME CS:CODE,DS:CODE START: P ...

  9. php上传头像的代码,php头像上传预览实例代码

    说道上传图片,大家并不陌生,不过,在以后开发的项目中,可能并不会让你使用提交刷新页面式的上传图片,比如上传头像,按照常理,肯定是在相册选择照片之后,确认上传,而肯定不会通过form表单,点击submi ...

最新文章

  1. 使用Numpy实现PCA
  2. Dubbo 序列化协议 5 连问,这谁接得住啊?
  3. Celery简介及Docker测试环境搭建
  4. 浅析epoll-为何多路复用I/O要使用epoll
  5. #react 之ant design Pro 学习研究#----启动项目
  6. linux go vendor目录,Go 包依赖管理工具 —— govendor
  7. 剑指offer58 二叉树的下一个结点
  8. python正则表达式怎么用_python正则表达式的使用
  9. xml格式的word转为标准格式_保持的怎么保证Word格式不变?4个技巧需要带走
  10. Delphi调用C++写的dll示例
  11. 企业数据安全防护不可忽视,数据丢失/损坏如何处理?
  12. iperf3的交叉编译
  13. WiFi_数据速率计算公式
  14. rust倒地了怎么起来_ggxx出招表
  15. C. Removing Smallest Multiples codeforces 1734C
  16. Android 创建淡入淡出动画的详解
  17. matlab 反步法,反步法的Matlab仿真学习程序
  18. liferay6.2.2GA2中CKEditor在IE11与SAFARI中BUG解决方案
  19. JTAG-SWD转接
  20. 机器学习中使用的神经网络(六) --第二课

热门文章

  1. 解决IDL检索COM类工厂中CLSID为{ }组件注册失败
  2. LSGO软件技术团队2015~2016学年第三周(0914~0920)总结
  3. 什么是ASP.NET Boilerplate Project(ABP)框架
  4. 并发编程(原子性、可见性、一致性)
  5. 【Python CheckiO 题解】Xs and Os Referee
  6. REVERSE-PRACTICE-BUUCTF-24
  7. Processing 闪烁的圆 动画效果
  8. 【HDU - 1134 】Game of Connections(JAVA大数加法,卡特兰数)
  9. 详解惯性导航论文 RINS-W: Robust Inertial Navigation System on Wheels
  10. oracle排名怎么去除空值影响,Oracle排序中null值处理方法讲解