玩点创意编程,发现另一个世界
知识点
- 什么是创意编程
- 创意编程的应用领域
- 创意编程的常见工具
- p5.js 简介
什么是创意编程
创意编程(Creative Coding)的概念非常宽泛,它是一种以创作表达为主要目的的计算机编程实践。
与传统的编程方式不同,创意编程一般不以制作出功能性的程序为目的,而是更追求视听及娱乐方面的艺术性、创意性和趣味性。
具体来说,也就是通过某一种编程语言,结合算法进行程序设计和编码,这样的程序可以在各种媒介上(比如浏览器或者有交互功能的电子设备)运行并生成有艺术感的、有创意性的视听和交互体验。
(图片来源:pixabay)
应用数学规律进行艺术创造是古已有之的现象,而编写计算机程序,恰恰就是根据逻辑来创建规则。
在创意编程里,我们不仅可以思考规律,也可以挥洒灵感;不仅可以学习到各种数理规则,也可以应用这些规则进行艺术表达。
创意编程的应用领域
在多媒体和信息技术高速发展的今天,广告、娱乐和艺术业为了吸引更多消费者,在越来越多的产品和项目中希望借助科技和艺术结合的手段,创造出更新鲜、更丰富的视听和交互体验,创意编程也从实验性的先锋领域逐步延伸到更广阔的商业世界中。
数字互动艺术/展览
近年来,很多城市的艺术空间都有了沉浸式互动艺术的身影。这一种艺术形式有着互动性强、变化丰富、体验新奇的特点,也是创意编程应用最多,最直接的领域。
Web 开发与用户体验领域
Web 端的用户体验主要是在浏览器里实现,也就是这门课程的主打方向。
游戏与 VR/AR 领域
创意编程在游戏及 VR/AR 领域有着很大的应用前景。许多模拟自然状态的算法在可以在游戏中生成地形和植物、实现粒子特效、模拟云层变化、模拟 NPC 角色行为等。
创意编程的常见工具
许多编程技术和编程语言都可以用来进行创意编程。长期的实践中,大量创作者参与编写了用于创意编程的语言、技术框架、开发工具等,共同构成了富有活力开源生态。这里罗列了部分有代表性的工具:
- Processing
- p5.js
- openFrameworks
- three.js
- Sonic Pi
awesome-creative-coding 这个 GitHub Repo 整理了非常丰富完整的创意编程的英文资料,包括常用的工具、平台、教程,感兴趣的同学可以进一步的浏览。
本课程中,我们将会从 Web 开发者的角度使用 p5.js 进行创意编程。我们将会学习 p5.js 的基本理念、常用函数和常见实例。所有的代码可以直接在浏览器查看效果,最终的作品也可以作为静态网页部署到网络上。
分享一些个人之前用 p5.js 做过的互动创意小项目,希望能给大家一些启发。
- RGB 色彩为主题的互动演示,并结合了 Blob 这种设计元素,即自然曲线形成的环状结构。点击屏幕即可平缓生成一组动态 RGB Blobs,也可以观察各种颜色的叠加效果,在线试玩。
- 根据随机漫步算法做的互动小项目,在线试玩。
- 根据叶序规则做的生成类似多肉植物或者花朵形状的演示项目,在线试玩。
实验总结
不管是编程初学者,还是有经验的 Web 开发者,学习创意编程都是受益匪浅的选择。
蓝桥云课新课《P5.js 创意编程之旅》会带着我们逐步学习用 p5.js 绘制图形、填涂颜色、实现鼠标互动等等方法,进而学习创意编程常用的算法和理念,并加以实践和自我发挥。
玩点创意编程,发现另一个世界相关推荐
- 发现了一个不错的开心网001的论坛
不知道大家都玩开心网吗? 发现了一个不错的开心网论坛, www.kaixin0018.com(开心网论坛),如果玩的人可以去看看. 转载于:https://www.cnblogs.com/tzbl/a ...
- 专访拼命玩三郎|在别人的世界里游荡,不如自己构建一个世界
近日,知名社区CocoaChina采访到了人称拼命玩三郎的"壕游戏"创意总监梁铁欣先生,如果你想了解独立游戏人背后的故事,那可别错过了这篇访谈哦. 拼命玩三郎履历: 2000 年拼 ...
- js高级编程_这位设计师用Processing把创意编程玩到了极致!
Processing作为新媒体从业者的必备工具,近来却越来越成为设计师们的新宠! 今天小编将介绍以为用Processing把创意编程玩到极致的设计师Tim Rodenbröker. "我们的 ...
- 37 岁学编程,发现第一个 Bug,创造商业编程语言 | 人物志
Humans are allergic to change. They love to say, "We've always done it this way." I try to ...
- python积木式编程_【发现教育版亮点之美】3D One还能这么玩:“趣味编程”建模让你脑洞大开...
原标题:[发现教育版亮点之美]3D One还能这么玩:"趣味编程"建模让你脑洞大开 "[有奖征文]发现3D One教育版亮点之美"教育版功能文章征集活动已经告一 ...
- c++ 一个函数包括多个返回值判断_轻松玩转函数式编程
最近和一些同学讨论了函数式编程,很多同学总觉得听起来很高大上,但用起来却无从下手.于是我抽时间捋了捋,将平时工作中用到的函数式编程案例和思想整理了出来,相信阅读本文后,大家都能快速上手函数式编程. 函 ...
- 什么用计算机算出自己在世界上活.了几天,据说科学家发现了一个“寿命计算器”,来算一下自己能活多久?...
原标题:据说科学家发现了一个"寿命计算器",来算一下自己能活多久? 为什么有的人能活到100岁? 为什么有的人却早早离世? 到底是什么影响着我们的寿命? 据生命时报,美国坦普尔大学 ...
- 编程迷宫_少儿创意编程(特23)scratch之迷宫模式探索(上)
上一期的公众号发布了迷宫背景生成的内容,又一次在相关微信群和QQ群引起了大家热烈的讨论,在这里非常感谢大家的支持与参与! 本期内容承接上一期,来介绍几种迷宫的模式吧! 一.碰到颜色返回模式. 这是初学 ...
- Linux就这个范儿 第12章 一个网络一个世界
Linux就这个范儿 第12章 一个网络一个世界 与Linux有缘相识还得从一项开发任务说起.十八年前,我在Nucleus OS上开发无线网桥AP,需要加入STP生成树协议(SpanningTree ...
最新文章
- 多长的企业视频最受欢迎?小于60秒
- 年月跨度_建筑结构丨国内跨度最大的张弦桁架工程——合肥滨湖国际会展中心二期首榀桁架滑移成功...
- Golang函数,包笔记
- ROS笔记(25) 自主探索SLAM
- 充满含金量的一场云原生Meetup,入场券免费发送中……
- 不均衡数据集采样1——SMOTE算法(过采样)
- 高手教您编写简单的JSON解析器
- linux 分析系统配置,在Linux系统上部署AWStats日志分析系统
- Win32 Application和Win32 Console Application区别
- 百度php获取当前经纬度,百度地图获取经纬度的示例
- 苹果appstore审核等待很长时间的解决方案
- 蒙特卡罗(洛)方法及其在布丰投针试验中的应用(一)
- uva1589 Xiangqi
- 毕业前三年如何拿到好绩效
- jq实现多开关效果互不影响
- python认证证书有哪些-国家认证的Python技术工程师有什么能力要求?
- Python爬虫实战之电影爬取过程
- JDK1.8中文文档(免费高清可搜索版)
- scanf/fscanf 的%[]和%n使用方法
- 华硕X550C系列安装ubuntu后wifi显示被硬件禁用的解决方法