手绘和码绘———静态绘图
码绘图:
手绘:
代码:
function setup()
{
createCanvas(600, 1200);
}
function draw()
{
background(255,255,0);
stroke(0,0,0);
fill(255,255,0);
bezier(140,110,250,50,350,50,450,100);
bezier(150,100,100,30,70,10,0,-30);
bezier(450,100,500,60,530,10,750,0);
bezier(100,190,40,180,0,100,-30,20);
bezier(100,160,100,240,20,420,170,480);
bezier(500,190,560,180,600,100,630,20);
bezier(500,160,500,240,580,420,430,480);
bezier(80,300,50,260,10,250,-40,180);
bezier(90,600,60,560,10,550,-100,300);
bezier(110,550,90,600,20,920,120,930);
bezier(500,420,550,440,590,460,640,490);
bezier(510,630,550,630,590,620,640,620);
bezier(490,550,510,600,580,920,480,930);
bezier(120,930,30,1030,100,1070,190,930);
line(120,960,80,1000);
line(130,970,85,1015);
bezier(480,930,570,1030,500,1070,410,930);
line(480,960,520,1000);
line(470,970,515,1015);
line(190,930,410,930);
ellipseMode(CENTER);
strokeWeight(0);
fill(0);
ellipse(200,250,70,70);
fill(255);
ellipse(185,235,20,20);
fill(0);
ellipse(400,250,70,70);
fill(255);
ellipse(385,235,20,20);
fill(255,80,80);
ellipse(150,330,60,60);
ellipse(450,330,60,60);
stroke(0,0,0);
strokeWeight(7);
strokeCap(ROUND);
fill(0);
line(300,350,290,342);
line(300,350,310,342);
line(290,342,310,342);
strokeWeight(7);
strokeCap(ROUND);
bezier(260,400,260,440,340,440,340,400);
stroke(255,0,80);
beginShape();
fill(255,0,80);
bezier(270,404,260,435,340,435,330,404);
line(270,404,330,404);
endShape(); }
主要也就是利用贝塞尔曲线来绘制边线,用圆形,半圆来绘制面部。
手绘和码绘的区别
画图的方式
第一次使用代码绘图,画图方式还是使用类似手绘的方式,一步步绘制每一个线条。而且用代码绘制和手绘一样,后画的图像会挡住之前的图。两种画图方式在某些方面会有共同点。
优缺点
用代码画图时,想画出一个符合形状的曲线需要调试很多次,而用手画图就比较简单,能随意画出想要的形状。
但是手绘会受到画图材料的限制,比如我身边没有颜料就不能给图案上色,码绘却能随意改变颜色。手绘的成就感更强烈一些,码绘更有精确的感受。
体会
可能是刚刚使用代码画图,觉得比较繁琐。相比之下我更喜欢手绘的方式,毕竟绘制这种不规则的图案,手绘更加方便于修改和绘制自己想要的形状,而码绘则更耗费时间。
参考链接:
1.《用代码画画》:
0.1 用代码画画——搞艺术的学编程有啥用?
https://blog.csdn.net/magicbrushlv/article/details/77922119
1.1 开始第一幅“码绘”——以编程作画的基本方法
https://blog.csdn.net/magicbrushlv/article/details/77840565