玩点创意编程,发现另一个世界
知识点
- 什么是创意编程
- 创意编程的应用领域
- 创意编程的常见工具
- p5.js 简介
什么是创意编程
创意编程(Creative Coding)的概念非常宽泛,它是一种以创作表达为主要目的的计算机编程实践。
与传统的编程方式不同,创意编程一般不以制作出功能性的程序为目的,而是更追求视听及娱乐方面的艺术性、创意性和趣味性。
具体来说,也就是通过某一种编程语言,结合算法进行程序设计和编码,这样的程序可以在各种媒介上(比如浏览器或者有交互功能的电子设备)运行并生成有艺术感的、有创意性的视听和交互体验。
(图片来源:pixabay)
应用数学规律进行艺术创造是古已有之的现象,而编写计算机程序,恰恰就是根据逻辑来创建规则。
在创意编程里,我们不仅可以思考规律,也可以挥洒灵感;不仅可以学习到各种数理规则,也可以应用这些规则进行艺术表达。
创意编程的应用领域
在多媒体和信息技术高速发展的今天,广告、娱乐和艺术业为了吸引更多消费者,在越来越多的产品和项目中希望借助科技和艺术结合的手段,创造出更新鲜、更丰富的视听和交互体验,创意编程也从实验性的先锋领域逐步延伸到更广阔的商业世界中。
数字互动艺术/展览
近年来,很多城市的艺术空间都有了沉浸式互动艺术的身影。这一种艺术形式有着互动性强、变化丰富、体验新奇的特点,也是创意编程应用最多,最直接的领域。
Web 开发与用户体验领域
Web 端的用户体验主要是在浏览器里实现,也就是这门课程的主打方向。
游戏与 VR/AR 领域
创意编程在游戏及 VR/AR 领域有着很大的应用前景。许多模拟自然状态的算法在可以在游戏中生成地形和植物、实现粒子特效、模拟云层变化、模拟 NPC 角色行为等。
创意编程的常见工具
许多编程技术和编程语言都可以用来进行创意编程。长期的实践中,大量创作者参与编写了用于创意编程的语言、技术框架、开发工具等,共同构成了富有活力开源生态。这里罗列了部分有代表性的工具:
awesome-creative-coding 这个 GitHub Repo 整理了非常丰富完整的创意编程的英文资料,包括常用的工具、平台、教程,感兴趣的同学可以进一步的浏览。
本课程中,我们将会从 Web 开发者的角度使用 p5.js 进行创意编程。我们将会学习 p5.js 的基本理念、常用函数和常见实例。所有的代码可以直接在浏览器查看效果,最终的作品也可以作为静态网页部署到网络上。
分享一些个人之前用 p5.js 做过的互动创意小项目,希望能给大家一些启发。
- RGB 色彩为主题的互动演示,并结合了 Blob 这种设计元素,即自然曲线形成的环状结构。点击屏幕即可平缓生成一组动态 RGB Blobs,也可以观察各种颜色的叠加效果,在线试玩。
实验总结
不管是编程初学者,还是有经验的 Web 开发者,学习创意编程都是受益匪浅的选择。
以上课程内容来自蓝桥云课新课《P5.js 创意编程之旅》。
该课程将会带着我们逐步学习用 p5.js 绘制图形、填涂颜色、实现鼠标互动等等方法,进而学习创意编程常用的算法和理念,并加以实践和自我发挥。