知识点

  • 什么是创意编程
  • 创意编程的应用领域
  • 创意编程的常见工具
  • 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 绘制图形、填涂颜色、实现鼠标互动等等方法,进而学习创意编程常用的算法和理念,并加以实践和自我发挥。

玩点创意编程,发现另一个世界相关推荐

  1. 发现了一个不错的开心网001的论坛

    不知道大家都玩开心网吗? 发现了一个不错的开心网论坛, www.kaixin0018.com(开心网论坛),如果玩的人可以去看看. 转载于:https://www.cnblogs.com/tzbl/a ...

  2. 专访拼命玩三郎|在别人的世界里游荡,不如自己构建一个世界

    近日,知名社区CocoaChina采访到了人称拼命玩三郎的"壕游戏"创意总监梁铁欣先生,如果你想了解独立游戏人背后的故事,那可别错过了这篇访谈哦. 拼命玩三郎履历: 2000 年拼 ...

  3. js高级编程_这位设计师用Processing把创意编程玩到了极致!

    Processing作为新媒体从业者的必备工具,近来却越来越成为设计师们的新宠! 今天小编将介绍以为用Processing把创意编程玩到极致的设计师Tim Rodenbröker. "我们的 ...

  4. 37 岁学编程,发现第一个 Bug,创造商业编程语言 | 人物志

    Humans are allergic to change. They love to say, "We've always done it this way." I try to ...

  5. python积木式编程_【发现教育版亮点之美】3D One还能这么玩:“趣味编程”建模让你脑洞大开...

    原标题:[发现教育版亮点之美]3D One还能这么玩:"趣味编程"建模让你脑洞大开 "[有奖征文]发现3D One教育版亮点之美"教育版功能文章征集活动已经告一 ...

  6. c++ 一个函数包括多个返回值判断_轻松玩转函数式编程

    最近和一些同学讨论了函数式编程,很多同学总觉得听起来很高大上,但用起来却无从下手.于是我抽时间捋了捋,将平时工作中用到的函数式编程案例和思想整理了出来,相信阅读本文后,大家都能快速上手函数式编程. 函 ...

  7. 什么用计算机算出自己在世界上活.了几天,据说科学家发现了一个“寿命计算器”,来算一下自己能活多久?...

    原标题:据说科学家发现了一个"寿命计算器",来算一下自己能活多久? 为什么有的人能活到100岁? 为什么有的人却早早离世? 到底是什么影响着我们的寿命? 据生命时报,美国坦普尔大学 ...

  8. 编程迷宫_少儿创意编程(特23)scratch之迷宫模式探索(上)

    上一期的公众号发布了迷宫背景生成的内容,又一次在相关微信群和QQ群引起了大家热烈的讨论,在这里非常感谢大家的支持与参与! 本期内容承接上一期,来介绍几种迷宫的模式吧! 一.碰到颜色返回模式. 这是初学 ...

  9. Linux就这个范儿 第12章 一个网络一个世界

    Linux就这个范儿 第12章 一个网络一个世界 与Linux有缘相识还得从一项开发任务说起.十八年前,我在Nucleus  OS上开发无线网桥AP,需要加入STP生成树协议(SpanningTree ...

最新文章

  1. 多长的企业视频最受欢迎?小于60秒
  2. 年月跨度_建筑结构丨国内跨度最大的张弦桁架工程——合肥滨湖国际会展中心二期首榀桁架滑移成功...
  3. Golang函数,包笔记
  4. ROS笔记(25) 自主探索SLAM
  5. 充满含金量的一场云原生Meetup,入场券免费发送中……
  6. 不均衡数据集采样1——SMOTE算法(过采样)
  7. 高手教您编写简单的JSON解析器
  8. linux 分析系统配置,在Linux系统上部署AWStats日志分析系统
  9. Win32 Application和Win32 Console Application区别
  10. 百度php获取当前经纬度,百度地图获取经纬度的示例
  11. 苹果appstore审核等待很长时间的解决方案
  12. 蒙特卡罗(洛)方法及其在布丰投针试验中的应用(一)
  13. uva1589 Xiangqi
  14. 毕业前三年如何拿到好绩效
  15. jq实现多开关效果互不影响
  16. python认证证书有哪些-国家认证的Python技术工程师有什么能力要求?
  17. Python爬虫实战之电影爬取过程
  18. JDK1.8中文文档(免费高清可搜索版)
  19. scanf/fscanf 的%[]和%n使用方法
  20. 华硕X550C系列安装ubuntu后wifi显示被硬件禁用的解决方法

热门文章

  1. Project Eular 634
  2. ASP.NET Core Web 支付功能接入 微信-扫码支付篇
  3. python面向对象进阶
  4. [.net]webform 版本冲突
  5. ASP.NET MVC视图和控制器之间的传值总结(一)
  6. 2016年12月数据库流行度排行榜
  7. SpringMvc和Mybatis整合需要配置的xml
  8. 从零开始写一个武侠冒险游戏-6-用GPU提升性能(1)
  9. 如何解包/编辑/打包boot.img文件
  10. C'mon C'mon-Von Bondies