- 手绘和码绘的对比
刚开始老师说让用编程绘画出一幅作品,我一听是有点“懵”的,因为在我看来,编程绘画可能会把简单地问题复杂化,比如说要进行各种公式、节点的计算等等。但是真正的做下来看看这些代码和自己实现的过程,其实也没有想象中的那么难。
这是我刚开始做出来的成品,做的时间久,而且不好看:
手绘画了两分钟也就画好了,背景全部上色非常麻烦,而且会斑驳之类的
这是在后来自己有时间慢慢耐心做的一幅码绘,虽然还是有很多不足的地方,但比起之前已经进步很多了。根据一幅作品临摹,自己也进行了一些修改:
比如说原画是有小熊描边的,刚开始不知道怎么做,直接在圆形里加描边,一下变得非常丑陋,后来想想可以做两只熊,叠加起来就好像描边一样。
在实现这幅码绘的时候,我学习到了translate()和rotate()函数的运用,让小熊的右手,以及左腿可以展示出想要去够星星的感觉,期间因为rotate函数是根据圆点旋转,也进行了很多次translate函数的调试,才真正连接起来;以及学习了vertex顶点函数,它遇到曲线连续性中断,直线连接,用它画出了五角星。
function setup() {
// put setup code here
createCanvas(600, 800);
//画布的坐标系统为,左上角(0,0)
//x方向水平向右,y垂直向下
}
function draw() {
// put drawing code here
background(255, 255, 255);
noStroke();
fill(208, 100, 113);
quad(70, 20, 430, 20, 430, 480, 70, 480);
fill(43, 77, 122);
quad(100, 50, 400, 50, 400, 450, 100, 450);
fill(255, 255, 255);
ellipse(160, 340, 9 , 9);
ellipse(290, 90, 8 , 8);
ellipse(350, 400, 5 , 5);
ellipse(350, 230, 5 , 5);
ellipse(150, 220, 5 , 5);
fill(255, 255, 255);
textSize(30);
textStyle(BOLD);
text('MORE', 120, 62);
fill(255, 255, 255);
textSize(15);
textStyle(NORMAL);
text('more bright', 330, 442);
textl();
bear();
love();
}
function textl()
{
fill(0,0,0);
var d = day();
var m=month();
textSize(10);
textStyle(NORMAL);
text('Today: ' +m+'.'+d, 80,460);
}
function bear(){
//stroke(0,0,0);
//strokeWeight(4);
fill(20, 20, 20);
ellipse(240, 182, 30, 30);
ellipse(273, 180, 30, 30);//ears
ellipse(258, 192, 47, 45);//face
ellipse(258, 230, 49, 70);//body
ellipse(250, 260, 28, 50);//feet
ellipse(268, 260, 27, 50);
ellipse(245, 220, 46, 35);//hands
ellipse(275, 220, 36, 30);
fill(238, 223, 204);
ellipse(240, 182, 20, 20);
ellipse(273, 180, 20, 20);//ears
ellipse(258, 192, 37, 35);//face
ellipse(258, 230, 39, 60);//body
ellipse(250, 260, 18, 40);//feet
ellipse(268, 260, 17, 40);
ellipse(245, 220, 36, 20);//hands
ellipse(275, 220, 26, 20);
}
function love(){
fill(255,255,255);
ellipse(245, 305, 50, 50);
ellipse(285, 305,50, 50);
// triangle(235,322,314,323,275,365);
//ellipse(265, 305, 20, 20);
fill(208, 100, 113);
ellipse(245, 305, 40, 40);
ellipse(285, 305, 40, 40);
triangle(225,312,304,313,265,355);
ellipse(265, 305, 15, 15);
}
它们二者最大的不同应该就体现在过程中,比如编程是通过电脑,键盘和鼠标,可以代码的应用,我们会省掉很多繁复的劳动。而且电脑设计精确度会非常高,是人为难以企及的,比如说在进行码绘的时候,首先我们要精确计算好每个点的坐标,又或者可以直接运用公式用电脑计算出来。而且电脑上方便修改,如果哪里做错了ctrl+z重新做就好了。
对于手绘来说,是相比之下更为感性的。手绘可以更生动的表现作者的感情,也许会出错,但这也恰恰是人类的特征。在我在画自己编程做出来的码绘的时候,因为图案不是特别复杂,一会儿就画好了,但是背景的蓝色如果要全部涂满,就占用我很多的时间,而且涂出来也会斑驳、不均匀,这也是码绘绝不需要担心的问题。但是码绘和手绘都可以通过调整参数、选择工具的不同画出不同材质的作品。
做一件艺术品是需要热情的,当我对编程感兴趣的时候,我用代码就能画出一幅相对不错的作品,如果我更擅长于手绘,让情感释放不间断,也是很有意义的。
手绘和编程都是视觉的表达方式,而且通过掌握其相应的技术,都可以画出好看的作品,不过手绘更加有艺术底蕴、贴近人性,更倾向于“艺术品”,而编程效率很高,非常精确,在当代市场也更具有潜力,光它的粒子系统可以变幻出许多有趣的画面和场景,也许两者互补,会更加完美。所以学习手绘,学好编程,也是我们学院对我们期待。