编程与手绘的对比【动态篇】

编程与手绘的对比【动态篇】

先放对比图:
在这里插入图片描述在这里插入图片描述
很明显了,第一幅是手绘,第二幅是码绘。
之前,手绘与码绘的对比——静态图已做过比较,二者可以说各有千秋,难分胜负。而在这次动态图的比较中,我个人认为,明显码绘更胜一筹。
首先,操作过程来看,码绘更为简易。这次我画的是一个旋转的三叶草,仔细看你会发现,三叶草不仅叶子在旋转,而组成叶子的每个色块,也在旋转。而这个过程,仅靠两个循环,就实现了。多彩的颜色,也仅靠p5内置的函数,一行代码,就实现了。但如果用手绘呢,就头疼了。我们要选颜色,每一块都自己选颜色,他不会自己生成,当然也有一点好处,我们可以选择自己喜欢的颜色,但是有一点弊端的就是对于部分人来说他们不会配色,更何况需要那么多种颜色,配出来的颜色可能很影响美观。电脑自己生成的颜色就不一样了,绚丽,多彩。
其次,就是美观性。颜色上一部分已经提到过,这一部分就不再赘述。码绘有一个很大的优点,就是“画圆很圆,画方很方”。我们手绘的三叶草,哪怕我们用尺子、圆规比着去画,也会有人为的误差,正着看可能还不明显,但如果旋转起来,比例的问题带来的不美就暴露了。码绘就不一样了,用公式、数字、比例画出来的图,肯定没有问题,各个部分只要你设置的是一样的,那画出来也一定是一样的,三叶草的每片叶子,也一定是对称的。而且,码绘图画布的中心找的刚刚好,旋转的时候绝不会出现手绘中三叶草的中心到处乱跑的情况。
当然,任何事都有它存在的价值。码绘手绘的应用价值我个人认为是不相上下的。码绘做出来的图可能更绚丽一些,而手绘,可能带一些“烟火气”。当然,也可能是我画工、配色的问题。但是实际应用,我觉得是没什么区别的。
以下是码绘的代码,仅供参考。

function setup() {
    createCanvas(540, 540);
    noStroke();
   colorMode(HSB,1);
}

var N = 16,
    n = 6;
var th, r, t;
var speed = 7e-4;

function draw() {
    t = (Date.now() * speed) % 1;
    console.log(t);
    background(0);
    push();
    translate(width / 2, height / 2);
    for (var i = 0; i < N; i++) {
        for (var j = 0; j < n; j++) {
            fill(i / N, 1, j / n);
            push();
            th = TWO_PI * i / N;
            rotate(th);
            r = 130 + 90 * cos(3 * th + TWO_PI * t + .065 * j);
            ellipse(r, 0, 10 + .5 * j, 10 + .5 * j);
            pop();
        }
    }
    pop();
}

猜你喜欢

转载自blog.csdn.net/qq_40338354/article/details/84196545
今日推荐