创意编程资源站 inslab.cn
inslab 的网站最近上线了!域名为 inslab.cn。过往创意编程的相关文章,都会陆续更新到上面。
简单介绍网站的功能,分五个板块
- OpenFrameworks 教程 (OpenFrameworks 原创教程分享)
- Processing 教程 (Processing 原创教程分享)
- CreativeCoding 资源索引(学习资源分类索引)
- Relative 相关文章(相关文章整理)
- Resources 知识库(打造最佳范例库)
说一点自己的设想。
OF 与 P5 的两个教程板块,连载的是正在写作的两本书籍。我希望写两本通俗易懂,有趣有用的入门书。因此在阅读过程中若有教程相关的问题,都欢迎反馈到邮箱 inslabcn@foxmail.com。
至于资源索引,顾名思义是一个目录索引。上面囊括了大部分创意编程的相关书籍,网站。初学者可以根据上面的信息按图索骥,迅速入门此领域。
而相关文章板块会针对特定主题分享一些教程实例。最后则是知识库。
创意编程知识库
关于知识库这里作一些详细说明,许多学习者其实都会关心一个问题:怎样巩固基础?
书籍教程大多是以讲解编程概念作为向导,后面会补充少量的练习来巩固知识点,但这并不系统。所以多数人面临的问题是,看完一本教程后,缺乏方向,不了解如何练习提高。
所以我想梳理一个以练习为导向的知识库,让不同段位的学习者都可以通过它巩固基础,又或者通过索引,迅速解决某个问题。
最终它会以问题集的形式组织起来,并按不同的主题来分组。
根目录
(1)绘画模拟
(2)算法动画
(3)函数曲线
(4)掌握类
(5)音频控制
(6)视频控制
(7)Kinect控制
(8)场
(9)粒子效果
(10)shader
(11)递归分形
...
每个主题都从最简单,最基础的问题开始,之后逐级递进。
以[算法动画]为例。
二级目录
(1)制作一个作平移运动的圆(通过改变图形坐标实现)
(2)制作一个作平移运动的圆(通过改变坐标系实现)
(3)制作一个往任意角度平移的圆 (通过改变图形坐标实现)
(4)制作一个作圆周运动的圆(通过改变坐标系实现)
(5)制作一个作圆周运动的圆(通过改变图形坐标实现)
(6)制作一个作匀减速直线运动的圆
(7)制作一个作匀加速直线运动的圆
(8)制作一个作随机运动的圆(用random函数实现)
(9)制作一个作随机运动的圆(用noise函数实现)
(10)制作一个作旋转运动的矩形
(11)制作一个作曲线运动的圆(通过改变图形坐标实现)
(12)制作一个作曲线运动的圆(通过bezier曲线实现)
(13)制作一个作曲线运动的圆(通过curve曲线实现)
(14)制作一系列作波形运动的圆
(15)用函数曲线控制圆的运动速度
....
(20) 制作一个关节,关节长度,旋转角度可调控
(21)制作一个 2D 骨骼系统
(22) 制作一个 3D 骨骼系统
......
每个问题都会提供两个代码版本(P5 与 OF)。
学习者可以用它来巩固基础,检验基础。针对具体的专题,你可以对着列表逐个往下扫,当发现有不太熟悉的例子,就尝试动手写一写,争取每个例子都做到娴熟。这样以后需要实现某些复杂效果时,就能真正做到游刃有余。
自己在接触创意编程的过程中有过很长的一段自学时间,发现很多“困难”并不是由语言本身导致的,只是由于大部分知识本身是分散零碎的,所以在检索和解决问题的过程中会耗费不少精力。
以 Openframeworks 的学习为例,一般人都认为 Openframeworks 比 Processing 难度更大。但实际应用起来,两者没有太大的差别。前者的学习难度主要是由于缺乏好的学习资源所造成的。其实对于稍微熟悉 Processing 的人而言,在有完善范例和教程的支持下,零基础入门 Openframeworks 只需一周。
其他知识也一样,所以建造这样的范例库非常有必要。
End
最后, 网站都是大家抽空去做的。初衷是希望对创意编程学习者能产生些帮助。没有人能了解所有领域的所有知识,但如果每人都愿意分享自己熟悉的领域,知识库就能扩充起来,产生更大的价值,正如维基百科一样。
希望除了我之外,将来有更多的知识贡献者。每个人都可以可以提交问题,编写案例,共同打造一个开源知识库。
最后感谢中国美院的卢周亨(blog: : peressio),搭建了 inslab 的第一版网站。
如果你也希望成为知识贡献者,或是熟悉网站开发,有兴趣共同运营网站。欢迎 email 到 inslabcn@foxmail.com,并说明你感兴趣的领域,熟悉的技能,希望参与的部分。