指尖上的艺术——如何运用代码发挥无限创意
摘要:计算机为我们的生活带来了不计其数的变化,现在,我们不妨也把它与艺术结合起来,去从机器的角度来为生活增添活力与色彩,开拓一个无限可能的艺术创作新境界。
写在前面
生成的艺术,指尖上的艺术,通过键盘上韵律般的敲敲打打,一幅幅美轮美奂的艺术作品便跃然于屏,这样的画作,包含了无穷的创意,糅合了现代计算机科技与传统绘画艺术,于我看来,难道还有比这更令人陶醉的美事吗?
用代码进行艺术创作,其过程与在画纸上进行绘画大同小异。当某个灵感创意突然在头脑中闪过的时候,例如地理刊物上的一个轮廓图案或是科学杂志上的某个函数图形,我会马上在画纸上打草稿,并记录下若干重要的描述字眼,力求最大限度地把想法留下。而后,我会通过编程(一般是通过Python和Nodebox)这个笔刷来进行画画。经过不断的细化处理,一步步调整形状、颜色、透明度等属性,最后在屏幕上得出我心中的作品。而这一切,都是透过修改相关绘图包或函数参数来实现的。例如,下面这个PY代码段里,我定义了一个用于绘制波形图的调色板。
之后,调用一个波形绘图函数,来进行具体的图形绘制:
随机参数的鬼斧神工
尽管多数情况下,我会把相关参数设置为静态变量,但是,若果在某些场合适当地使用随机动态参数,可能会收到意想不到的奇妙效果。甚至有时候,在看到最后的作品前,我都不能确定它会是什么样子。除了这种不可预知的奇妙,更为珍贵的是因为随机它更是不可复制的,是唯一的。
代码就是艺术家
计算机图形学是基于一定的数学逻辑的,在用代码进行创作的过程中,我能领略到一般情况下不能体会到,藏于数理中的结构之美、抽象之美以及复合之美。例如,以下的这个海啸海浪作品,这六幅作品都是通过同一函数来绘制的,这里使用了一个Nodebox绘图类-Cornu Curve(角度与曲线)。透过不同颜色、透明度、图层等参数的搭配,如此可爱的作品就出来了。
无限可能 图形复合
请先看以下这个作品—心眼
怎么样?还不错吧。如果你让我用画笔一笔笔地画出来,真的不知要画到猴年马月。这就是运用代码创作的另外一个重要用途—图形复合。只需执行一个多重循环或递归,把上百万不同颜色、透明度、纹理的线条交由计算机进行绘制,如此复杂的作品便能在弹指间迅速完成。记住,请把复杂的事情交给计算机。
其核心代码分别是,一个定义了笔刷和一个描述了绘制过程:
实用的创意设计
除了上述看似天马行空的作品,在实际生活中如衣物、雕塑、家居用品等的设计,代码创作也能大显身手。例如以下这个我们IDEO公司的Logo:
具体的代码,请看这里:
写在最后
计算机为我们的生活带来了不计其数的变化,现在,我们不妨也把它与艺术结合起来,去从机器的角度来为生活增添活力与色彩,开拓一个无限可能的艺术创作新境界。
注:本文所有示例的完整代码请点击这里进行下载,可以在安装了Nodebox的环境下运行
原文出自:labs.ideo.com
指尖上的艺术——如何运用代码发挥无限创意相关推荐
- TPYBoard:一款可以发挥无限创意的MicroPython开发板
2019独角兽企业重金招聘Python工程师标准>>> 今天给大家带来一款MicroPython开发板的拆解和测评.所谓MicroPython也就是运行在单片机上的Python.Py ...
- python开发板卡驱动开发_一款能让你发挥无限创意的MicroPython开发板—TPYBoard开发板测...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天 静电袋包装,打开袋子简单明了:TPYBoard开发板一块.跳线帽一个.数据线一条.说明书一份.通过数据线将开发板与电脑连接就可以DIY各种你想要的P ...
- 教你32种摄影方式,发挥无限创意
有没有觉得拿起相机却不知道拍什么好?又或者想跟以往拍点不同的东西,但又没有概念?下面我们就为你介绍32种摄影方法,来丰富你的摄影方式. 1. 365摄影计划 这就是每天一张照片,为自己设定目标与限制, ...
- 【编程实践】代码之中有创意:“我一直认为工程师世界上最具创造性的工作之一”
代码之中有创意 "我一直认为工程师世界上最具创造性的工作之一". 文章目录 代码之中有创意 一.代码可以赋予创造力 1.1 代码的创造力 1.2 如何发挥代码的创造力 二.有创意的 ...
- 强强联合!Papers with Code 携手 arXiv,上传论文、提交代码一步到位
转自 | 机器之心 作者 | 魔王 刚刚,机器学习资源网站 Papers with Code 宣布与论文预印本平台 arXiv 进行合作,论文作者在 arXiv 上上传论文时可以同步上传官方和社区代码 ...
- 《互联网理财一册通》一一第12章 移动互联网“指尖上的理财”
第12章 移动互联网"指尖上的理财" 互联网理财一册通 12.1 网银银行移动客户端 12.2 投资软件与操盘软件 12.3 微信理财通 12.4 手机支付宝 伴随移动互联网的迅猛 ...
- 强强联合!Papers with Code携手arXiv,上传论文、提交代码一步到位
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 刚刚,机器学习资源网站 Papers with Code 宣布与论文预印本平台 arXiv 进 ...
- 微型计算机实验代码,上师大,微型计算机实验全代码.doc
上师大,微型计算机实验全代码 实验一 LED实验 C8255 EQU 21AH CW8255 EQU 21BH CODE SEGMENT ASSUME CS:CODE,DS:CODE START: P ...
- php上传头像的代码,php头像上传预览实例代码
说道上传图片,大家并不陌生,不过,在以后开发的项目中,可能并不会让你使用提交刷新页面式的上传图片,比如上传头像,按照常理,肯定是在相册选择照片之后,确认上传,而肯定不会通过form表单,点击submi ...
最新文章
- 使用Numpy实现PCA
- Dubbo 序列化协议 5 连问,这谁接得住啊?
- Celery简介及Docker测试环境搭建
- 浅析epoll-为何多路复用I/O要使用epoll
- #react 之ant design Pro 学习研究#----启动项目
- linux go vendor目录,Go 包依赖管理工具 —— govendor
- 剑指offer58 二叉树的下一个结点
- python正则表达式怎么用_python正则表达式的使用
- xml格式的word转为标准格式_保持的怎么保证Word格式不变?4个技巧需要带走
- Delphi调用C++写的dll示例
- 企业数据安全防护不可忽视,数据丢失/损坏如何处理?
- iperf3的交叉编译
- WiFi_数据速率计算公式
- rust倒地了怎么起来_ggxx出招表
- C. Removing Smallest Multiples codeforces 1734C
- Android 创建淡入淡出动画的详解
- matlab 反步法,反步法的Matlab仿真学习程序
- liferay6.2.2GA2中CKEditor在IE11与SAFARI中BUG解决方案
- JTAG-SWD转接
- 机器学习中使用的神经网络(六) --第二课
热门文章
- 解决IDL检索COM类工厂中CLSID为{ }组件注册失败
- LSGO软件技术团队2015~2016学年第三周(0914~0920)总结
- 什么是ASP.NET Boilerplate Project(ABP)框架
- 并发编程(原子性、可见性、一致性)
- 【Python CheckiO 题解】Xs and Os Referee
- REVERSE-PRACTICE-BUUCTF-24
- Processing 闪烁的圆 动画效果
- 【HDU - 1134 】Game of Connections(JAVA大数加法,卡特兰数)
- 详解惯性导航论文 RINS-W: Robust Inertial Navigation System on Wheels
- oracle排名怎么去除空值影响,Oracle排序中null值处理方法讲解