花布作品復刻- Part.2

110405065
·
(修改过)
·
IPFS
·
W3 - 繼續花布作品ㄉ重製~

前情提要:

W2 課程介紹了「生成式藝術」,讓我想到自己高中時的一份程式課作品好像也有生成式藝術的概念,於是我決定將當年的程式碼挖出來 & 重製成 NFT。

part. 1:初識生成式藝術&花布作品復刻 

上週產出的其中一塊花布成品

——————————————————————————————————————————————

上週壯志凌雲地說這週就要把花布做成 NFT 上架,這週我原本預期將花布程式改良一下後就上架,然而才修修整整程式碼一下,就發現馬上要到本週週記死線了!!於是乎,為了我的分數著想,我決定還是先動筆寫週記,紀錄本週程式的改變歷程,上架成 NFT 什麼的,下週一定⋯⋯

調整中心花(中央四朵)

這週最主要的時間都花在調整中心花上,主要調整了位置、畫法、隨機顏色三項設定。

首先是位置的部分,雖然我已經偷偷換掉上週初版的 po 文裡的圖了,不過其實上週原始花布中心花的位置不在中心、是跑掉的。這部分的修改最簡單,只要把前面畫三種花的 if 條件裡的參數改成正確數值就完成了!

左 before 右 after

再來是畫法和顏色的部分,原本中心花的畫法是每次產出都是固定的圖形(同樣顏色、圖案),然而想到既然都是以「生成式藝術」為主題了,每次都一樣多無趣,於是我決定將「隨機」這個元素也放入中心花中。

然而,要將「隨機」加在哪裡也是一個課題。隨機顏色嗎?還是隨機圖案?四朵中心花都要隨機嗎還是統一隨機一個樣式畫四次?在反覆組合與嘗試之後,我最後決定將中心花的設定定為「每次生成都隨機產生不同的顏色、圖案組合、四朵中心花統一樣式」。並且也重寫了中心花原本的畫法,讓它的漸層能更加明顯並且圖案層次更高。

一些調整的歷程紀錄:

測試中的錯版中心花,把每次的旋轉角度設太大 + 沒有統一四朵中心花的樣式。(好像莫名也有種藝術感?)


四朵都隨機顏色但同圖案版的中心花,有種奧運 Logo 風的感覺?(這時還沒幫圖案增加漸層設定)
最終版中心花函式跑出來的一些酷酷的花~(比原版的紫色圈圈真的有趣多了吧!)
另外也有機會跑出正多邊形的圖案~

修改中心花的函式花了我這週絕大多數的時間,不過調整的過程也很有趣,每次改完函式後都會很期待下次會跑出什麼樣的組合~

調整斜向花(就是斜的那兩條)

修整完中心花的函式後,我接著調整的是斜向花的設定。斜向花我原本就有每朵的圖案、大小都會隨機不同的設定(顏色其實也有隨機,但差異太小了所以看不太出來),所以本次調整主要是增加顏色的變幻程度。

增加隨機顏色的程式修改蠻簡單的,我最終選擇的方式是每次生成花布時先隨機出一個 rgb 區間,接著每次畫斜向花時,都在這個隨機的 rgb 區間內再隨機出一個顏色,所以最終每次生成的花布中,斜向花都會是不同顏色但近似色系的,而不同花布中斜向花的顏色也都會不同。

左:斜向花顏色完全隨機,看起來太雜。 右:顏色區間無限制隨機,有時跑出藍綠色系,直接與普通花融為一體。

經歷過上面的一些試錯後,最終我將每輪的隨機區間定在r(100~255), g(0~210, b(20~180),這樣每次生成都能有不同色系的斜向花,並且色系也會避開藍綠色系的區間,讓斜向花不會有與背景普通花的融為一體的問題(不過其實還是有很小機率出現藍綠色系的斜向花,這是刻意保留的,作為一種有趣的可能性~)。

程式效率 & 易讀性調整

最後修改的是程式的效率 & 易讀性問題,效率的調整起因是我這週在上 JavaScript 課程時,老師提到在寫 if 函式時要將最常出現的狀況放第一個,少出現的放後面。聽到這段時我心頭一顫,我的花布程式豈止沒有把出現率最高的狀況放最前,我放最前的甚至是出席率最低的中心花(整張圖走 200 次迴圈只會執行四次⋯⋯),而出現率最高的普通花反而被我放在最後,於是本週修改進程的最後,我也順便調整了 if 函式中判斷條件的順序,把普通花移至最前,並把中心花移至最後。

至於易讀性的部分,在上週的週記中我也有提到,我舊版 python 的程式碼真的很雜,而且還有一堆莫名所以的變數名稱,真的很難讀(讀的時候很想穿越回去給自己巴落去然後問到底為什麼要把參數命名成這些奇怪的縮寫),為了避免更多年後的我也想穿越回來給現在的我也巴落去,所以這週我也幫程式加了一些註腳 + 把變數名稱修改成能直接從字面上看懂到底在幹嘛的名字。希望下次未來的我哪天再看到這份程式碼時能(容易地)看懂~

本週各種修改後最終ㄉ程式碼!

小結

這週除了修改花布的生成程式以外,我其實也有逛了一下 objkt 和 akaSwap,不過都還沒看到心儀(且符合我鐵公雞預算)的作品,所以最終還是沒有購買作品(逛的時候突然想到,這好像也算一種 window shopping 哈哈,看看就滿足了)。

其中我有搜尋「symmetry 」這個關鍵字,因為感覺或許會和與我的花布作品有關,並且具有對稱、數學之美的圖像也是我很心儀的一個種類,結果發現跑出來的作品許多都是動態的,所以我也開始思考要不要也將自己的作品改為動態。然而要怎麼動就又是一個問題了,我這週有嘗試讓畫面隨著每幀產生不同的花布,但看起來只能說效果非常差,所以或許我下週還會再繼續思考要怎麼調整讓它變成有趣的動態~

本週修改完程式後產出的三款花布




CC BY-NC-ND 4.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!