1. 程式人生 > >程式設計與手繪的對比

程式設計與手繪的對比

程式設計與手繪的對比

                                                                                                                                                      數媒1604 劉妍 1030516402

一、思路

1、首先選定用P5.JS創造一幅二維靜態繪畫作品

2、以前未接觸過P5.JS,所以參考https://p5js.org/ 瞭解到P5.JS能提供一下二維形狀及其屬性

3、接下來思考畫什麼,先在紙上畫個草圖,

並決定好各部分的顏色。

4、因為作品是根據座標來畫到螢幕上的,所以大致推導一下座標和比例。

5、直接在P5.JS安裝包裡的empty_example的基礎上做,先完成基本形狀的繪製,再上色就可以了。

二、技術實現:

1、原始碼:

function setup() {    //準備階段

  // put setup code here

  createCanvas(700,700);   //畫布大小

}


function draw() {       //作畫階段

  strokeWeight(5);  //線寬 5px


fill(220,182,102);

rect(300,150,250,150);  //頭


fill(182,150,120);

rect(280,180,20,90);   //左耳朵


fill(182,150,120);

rect(550,180,20,90);   //右耳朵


line(280,210,300,210);   //耳朵的線條

line(280,240,300,240);

line(550,210,570,210);

line(550,240,570,240);


line(350,300,350,330);   //脖子

line(500,300,500,330);


fill(220,182,102);

quad(300,330,420,330,400,400,300,400);  //身子 前面

quad(420,330,530,330,515,400,400,400);

quad(300,400,515,400,500,450,300,450);

quad(300,450,500,450,530,500,300,500);


fill(171,90,57);

quad(530,330,560,342,530,500,500,450);  //身子 側面   四角形


rect(320,500,200,80);  //腿

rect(300,580,240,20);  //腳


fill(255,255,255);     //褲襠

arc(420, 602, 80, 110, 3.12,0, OPEN);


fill(182,150,120);

quad(170,420,300,330,300,400,200,460);  //左胳膊

quad(558,351,674,400,658,445,540,400)  //yougebo


fill(0,0,0);

ellipse(375,220,15,15);   //眼睛

ellipse(465,220,15,15);


fill(220,182,102);     //嘴巴

arc(420, 250, 80, 60, 0,3.12, OPEN);


fill(226,0,66);

arc(420, 150, 70, 70, 3.12,0, OPEN);   //頭頂的包


line(386,140,300,100);     //倆犄角

line(458,140,550,100);


}

2、程式碼實現效果:

3、手繪效果

三、創作體驗

  1. 因為不太瞭解P5.JS,所以我的思路和實際操作有很大的差別。

繪畫過程和程式設計過程的聯絡只有”過程”吧,這兩個過程都遵循一定的順序,但是具體的操作過程不同,比如說,手繪是先畫輪廓再上色,但是程式設計過程中是這樣的:

fill(182,150,120);

rect(550,180,20,90);   //右耳朵

先設定顏色,再畫。並且,顏色的設定比較麻煩,也很難實現真實情況下顏料的暈染、層次等效果。

  1. 還有一個非常大的差別在於,手繪是一個很直接的過程,“看到哪畫到哪”,但是程式設計過程中,是間接操作“畫筆”在“畫布”上繪畫,找座標好難,尤其是找線的交叉點,只能改一點->看看效果->改一點->看看效果,好累。
  2. 個人感覺用程式設計畫畫的思路根本不是畫畫的思路,程式設計更傾向於“拼湊”“調整”。
  3. 程式設計繪畫解決了手繪過程的很多問題,比如說,修改痕跡重、標準圖形不好把控、上色不均勻、不易儲存等,而且程式設計繪畫能自由操作畫布大小、更改圖形位置等,更靈活。
  4. 其實我之所以感覺這次程式設計繪畫很煩,很大程度上是因為工具操作不熟練、或者P5.JS本身存在的弊端,如果選用更好的技術,比如說直接用一個畫圖板程式,或者更直接的:用手繪板操作,就完全是另一種感受了。
  5. 即使,計算機能達到普通手繪達不到的效率和效果,但是,我覺得程式設計實現的作品缺少靈氣,沒有質感,也缺少了手繪過程獨特的心思沉澱、實時創作的樂趣所在。

 

四、創作偏好:

單純就現階段的“應用P5.JS進行繪畫”和“手繪作品”來講,我更喜歡直接手繪。我更傾向於,用計算機技術去完善手繪作品。

五、總結:

程式設計過程和繪畫過程有重疊的部分:創作。程式設計和繪畫行為都是將作品呈現出來,只是過程和思路不同。程式設計的過程邏輯縝密,步驟嚴謹,手繪過程比較隨意。