首页 > scratch > 正文

用代码来画窗花是最容易不过的事。信手涂鸦几个奇怪造型,再旋转着敲图章,窗花就画好了。

同样的造型,旋转不同角度重复敲不同次数的章,效果会就不一样。

但那么简单的玩法可实在拿不出手啊~~翻出我的“代码艺术课”私家珍藏,找到“对称图案”这章中的一个程序,稍作改动就成为剪窗花游戏。

美滋滋的玩了好久后,我开始犯愁 Scratch Day 那天要怎么教孩子们。别的不说,估计光讲完八个对称位置的坐标关系,孩子们就都找 Tom 去玩了。

继续在我的“代码艺术课”私家珍藏里找,翻来翻去都是逻辑性很强的作品,好些甚至还用到了分形、三角函数等知识。这些作品很能体现 Seymour Papert 的“通过计算机去学习其它知识”的思想,但我毕竟不是去上数学课的呀。

反省:逻辑 or 创意 

想起上周末代码捣鼓日的晚上,和老师们聊起从 Piaget 到 Papert 到 Resnick 的思想的演变。Resnick 很好的继承了 Papert 的思想,且在其基础上顺应时代需求,将关注点放到了创造力培养上。那我的用代码画窗花的工作坊,怎样才能超越 LOGO 式的画画,更多的发挥孩子们的创造力呢?

我没有答案。

干脆,自己先来玩一玩吧。

尽可能降低代码的逻辑要求,甚至不用画线功能,看看光靠敲图章,能敲出怎样的创意来。

蒙德里安?草间弥生?如果不使用复杂逻辑,我该怎样才能创作出有艺术味道的画呢?也许只能画画波洛克?

我试着学草间弥生:

用点点装饰圣诞树:

还用来给甜甜圈添加糖粒:

但还能玩什么呢?我的创意又进入了死胡同。

忽然看着被彩灯掩埋的圣诞树,我想到了修拉:我可以用点彩的方式来给窗花涂色呢。

玩出来的创造力

只要把造型设成一个小点,在画布上随机移动,遇到不是白色的地方盖章,就可以了呢,代码比给圣诞树装彩灯更简单。

实验一:

通过颜色特效代码,可以让造型变成各种彩点。所以在下图背景上运行代码,就可以得到一朵五彩窗花。

(重要技巧:按住shift键的同时点击绿旗,可以进入加速模式。)

实验二:

继续玩,改一下颜色特效的随机数范围,就是冰蓝的雪花了。

实验三:

换个颜色范围,就是烈焰般的色彩,更适合用婀娜女郎做背景图。

实验四:

不过我还是更喜欢冰蓝的雪花,从网上找了些雪花剪影,发现很有意思,于是最初的窗花代码又可以派上用场了,还是省略了变量的极简版:

正在我精心设计雪花瓣的时候女儿跑来了,乱涂了几根线条发现效果竟也都不错。特别是搞笑的卡通上下眼,我怎么都想象不出它能演变成那么正常的一幅窗花。

实验五:

现在程序是:按 a 键画黑色窗花剪影,按空格点彩上色。玩够了随机色后,我的逻辑脑又不甘静默了。添加一个求距离的公式,染出彩虹色的花。

如果不想教孩子们公式,其实也有简单方法:添加一个在(0,0)位置的“原点”角色,然后复杂的公式就变成如下易理解的代码:

实验六:

继续玩,把圆点变成细斜线后图画的风格都变了。

实验七:

继续玩。之前是“碰到白色不成立就敲图章”,彩点都严格画在黑色轮廓之内。将判断条件换成“碰到黑色就敲图章”,彩点会跑到轮廓之外,画出来的是毛毛的感觉。

实验八:

画的彩点多了把黑色全部盖住成了一个个圆环,不够有趣,再添加一个亮度的随机值:

实验九:

旋转的花纹玩过瘾了,换成平移。小时候也剪过这样拉花式的窗花呢。

实验十:

把颜色设为x坐标,就出现了彩虹拉花。

实验十一:

按y坐标来设颜色,是另一种趣味。我应该做一个只有上半部分的火焰图案。

实验十二:

直接拿 Scratch 自带的造型也可以作画

上图使用的是“碰到白色不成立就敲章”的逻辑。如果要用“碰到黑色就敲章”的逻辑,只需要把背景造型的亮度改成-100就可以了。

实验十三:

正当我玩得起劲时,女儿又来捣乱了:她拖动蝴蝶角色到处飞,结果点彩跟着蝴蝶动,竟然满屏都是彩点。

这给了我灵感:干脆让彩点遇到角色就敲图章吧。为了提升效率,把一个彩点变成一堆彩点也不错。

结果很让人欢喜:图像如小草般迅速长成了模板的形状。

回顾:创意的源泉

近十个作品、十几个实验玩下来,再回头去看用了八个坐标关系的剪窗花游戏,虽然我依旧喜欢它的简洁精美,但已经清楚的知道:工作坊上我有更值得带孩子们玩的东西。

用代码画画是 LOGO 的标志性玩法,用来教数学再好不过,我的整套“代码艺术课”中用到大堆的数学知识,也正是因此我一直没把这门课做出来:毕竟现在学 scratch 的以低龄孩子为主。作为一个喜欢逻辑思考的工程师,我的创意也常常是强逻辑性的。但这次,我尝到了“玩”的精彩。

用点彩法画画,来自于程序运行过头后的意外;

两次灵感突破都来自女儿的捣乱;

从旋转的窗花到长条的拉花来自童年剪纸的记忆;

唯有色彩选择用到了一点点逻辑思考。其实我只是还不知道,如果换做孩子们来写色彩相关的代码,会有什么意外效果给我们带来惊喜呢。

猜你喜欢
文章评论已关闭!