1. 程式人生 > >手繪vs碼繪

手繪vs碼繪

手繪vs碼繪

主題

比較用程式碼與手繪創作靜態畫的異同

手繪作品

在這裡插入圖片描述

碼繪作品

在這裡插入圖片描述

碼繪程式碼

使用processing實現

void setup(){
 size(400, 400);
 smooth();
}
 
void draw(){ 
  //頭
  fill(255);
  ellipse(100,100,80,60);
  
  //眼睛
  fill(0);
  ellipse(90,100,10,10);
  
  //身體
  fill
(255); ellipse(180,150,140,90); //arc(180,150,150,100,PI,TWO_PI+HALF_PI,OPEN); //嘴 triangle(75,125,95,130,75,150); //腳 line(160,192,155,220); line(155,220,145,235); line(155,220,156,240); line(155,220,165,235); line(190,193,192,220); line(192,220,180,235); line(192,220,191,240); line(192,220,200,235
); //尾巴 triangle(250,150,270,165,242,170); //翅膀 arc(175, 155, 80, 50, 0, PI+QUARTER_PI, CHORD); }

體會

一開始覺得畫幅簡單的畫應該很容易,然後發現雖然手繪簡單,但用繪圖函式只是畫些比較規則的圖形簡單,稍微不規則一點的線條形狀就比較費事。最後想到了小黃雞,我這裡只用到了三角橢圓線條等繪圖基元,但事實上我在網上找圖片時,找不到能只用這些繪圖基元畫出來的小雞,我把圖形簡化了一下才做成這樣。在思路方面,如果是手繪,我想畫幅簡單的畫,這個“簡單”我覺得是指線條少形狀簡單,但是程式碼,簡單應該是能用簡單的圖形基元拼湊。像是簡單的曲線,手繪並不難,但程式碼想要找到準確的位置就很麻煩。

這幅圖我覺的無論是手繪還是程式設計都沒有太大技術含量,比較簡單,一定要說區別的話,手繪可能不太好畫出標準的形狀,程式碼則很簡單,但程式碼需要嘗試幾次才能找到準確的位置和大小。

創作體驗上我覺得程式設計還要好一點,我的手繪功底比較差,手繪的時候需要嘗試多次,程式設計則要好得多,我可以先畫上去一個標準的圖形基元,再進行微調,每次修改都能準確的表現出我想要修改後的效果,但手繪我不能保證每次修改,都讓我的手跟著我的想法走。程式設計給我的反饋更好。

畫這些簡單的規則的圖形,我更偏好程式設計,而複雜的圖形,我認為手繪更好實現。

小雞的翅膀我手繪我一直沒找到好的感覺,一開始想的是個斜著的橢圓切掉一點,但這樣程式設計我要arc()並且旋轉,試了下三角形效果也不好。我程式設計試了下arc函式,驚喜的發現我隨手試驗的效果比我手繪想了好久的效果都好。在程式設計的時候經常會有這種感覺,我想實現某種功能,但我程式碼實現的過程中,不斷嘗試出現了我意料外的效果,並且這種效果很好。我印象中有很多遊戲一些比較有創意的操作最開始可能只是個bug,所以這種情況在程式設計中應該是時有發生的。

新的體會

前面提到了程式碼出現“良性”的bug的情況,後來又想了一下,程式設計的程式碼和最終實現的結果差別是很大的,程式碼是ellipse(),顯現出來的是一個圓,修改一個簡單的引數,最終的圓變化也很大,但手繪的時候,腦海中想什麼,畫出來的結果是固定的,是沒有特別大的差距的。所以程式設計的時候出現的一個小bug,最終顯示的效果是難以想象的,而手繪時是很難出現這種情況的,當然會有靈感閃現,但是手繪是先有了靈感然後有結果,而程式設計是先出結果,隨後才能推出如何出現的特殊情況。

這個實驗只是畫了個簡單的圖形,我對碼繪與手繪的區別和感受實際上沒有什麼特別的體會,後面做作業三“運動”主題的作品時,又有了些新的感受。

這裡不討論動態,只是靜態的話,在做重複的工作時,碼繪有著巨大的優勢。