寫在前面
生成的藝術,指尖上的藝術,通過鍵盤上韻律般的敲敲打打,一幅幅美輪美奐的藝術作品便躍然于屏,這樣的畫作,包含了無窮的創(chuàng)意,糅合了現代計算機科技與傳統繪畫藝術,于我看來,難道還有比這更令人陶醉的美事嗎?
用代碼進行藝術創(chuàng)作,其過程與在畫紙上進行繪畫大同小異。當某個靈感創(chuàng)意突然在頭腦中閃過的時候,例如地理刊物上的一個輪廓圖案或是科學雜志上的某個函數圖形,我會馬上在畫紙上打草稿,并記錄下若干重要的描述字眼,力求最大限度地把想法留下。而后,我會通過編程(一般是通過Python和Nodebox)這個筆刷來進行畫畫。經過不斷的細化處理,一步步調整形狀、顏色、透明度等屬性,最后在屏幕上得出我心中的作品。而這一切,都是透過修改相關繪圖包或函數參數來實現的。例如,下面這個PY代碼段里,我定義了一個用于繪制波形圖的調色板。
之后,調用一個波形繪圖函數,來進行具體的圖形繪制:
隨機參數的鬼斧神工
盡管多數情況下,我會把相關參數設置為靜態(tài)變量,但是,若果在某些場合適當地使用隨機動態(tài)參數,可能會收到意想不到的奇妙效果。甚至有時候,在看到最后的作品前,我都不能確定它會是什么樣子。除了這種不可預知的奇妙,更為珍貴的是因為隨機它更是不可復制的,是唯一的。
代碼就是藝術家
計算機圖形學是基于一定的數學邏輯的,在用代碼進行創(chuàng)作的過程中,我能領略到一般情況下不能體會到,藏于數理中的結構之美、抽象之美以及復合之美。例如,以下的這個海嘯海浪作品,這六幅作品都是通過同一函數來繪制的,這里使用了一個Nodebox繪圖類-Cornu Curve(角度與曲線)。透過不同顏色、透明度、圖層等參數的搭配,如此可愛的作品就出來了。
無限可能 圖形復合
請先看以下這個作品―心眼
怎么樣?還不錯吧。如果你讓我用畫筆一筆筆地畫出來,真的不知要畫到猴年馬月。這就是運用代碼創(chuàng)作的另外一個重要用途―圖形復合。只需執(zhí)行一個多重循環(huán)或遞歸,把上百萬不同顏色、透明度、紋理的線條交由計算機進行繪制,如此復雜的作品便能在彈指間迅速完成。記住,請把復雜的事情交給計算機。
其核心代碼分別是,一個定義了筆刷和一個描述了繪制過程:
實用的創(chuàng)意設計
除了上述看似天馬行空的作品,在實際生活中如衣物、雕塑、家居用品等的設計,代碼創(chuàng)作也能大顯身手。例如以下這個我們IDEO公司的Logo:
具體的代碼,請看這里:
寫在最后
計算機為我們的生活帶來了不計其數的變化,現在,我們不妨也把它與藝術結合起來,去從機器的角度來為生活增添活力與色彩,開拓一個無限可能的藝術創(chuàng)作新境界。
注:本文所有示例的完整代碼請點擊這里進行下載,可以在安裝了Nodebox的環(huán)境下運行
原文出自:labs.ideo.com