還真有點生成式藝術的fu

閱讀時間約 3 分鐘

跑程式時,畫出了漂亮的圖。下面是程式執行當中,先後擷取出來的兩張截圖。

raw-image
raw-image

這圖看著挺漂亮的,重點是,你可以看著螢幕畫面從一片空白,然後一條線一條線的不斷變化、發展,而且除非中斷程式,它可以就這麼永不停止地畫下去。不過說是這麼說,畫到最後應該看起來就會是黑黑的一塊而已,畢竟螢幕的解析度有限。

這個圖案其實是模擬兩大兩小四個物體,大的叫attractor,小的叫mover,在萬有引力的作用下,那兩個比較小的物體的運動軌跡。不過這是個簡化了的模擬,這裡的引力只發生在大物體和小物體之間,大物體和大物體、小物體和小物體之間,是沒有引力的。

會畫出這樣的圖案,完全是意料之外的事,因為變數實在太多了,從attractor和mover的數量和它們本身質量的大小,到它們所在的位置,以及萬有引力常數的大小,無不影響圖案的長相。一開始是用亂數隨便擺幾個attractor和mover,結果跑出來的圖案只能用慘不忍睹來形容,就亂糟糟的一團,活像被調皮的小貓咪蹂躪過的毛線團。

畫了老半天都畫不出至少可以看的圖案,突然想到Lorenz attractor那個像是蝴蝶展翅的漂亮圖案。「如果只用兩個attractor和兩個mover,說不定可以畫出類似的圖案。」一面想著,一面就試著畫看看。

嘿!蝴蝶展翅沒畫成,沒想到倒是出現了前面兩張截圖那樣的圖案。那個直立的桶子是其中一個mover的軌跡,而腰帶部分,則是另一個mover的軌跡。如果仔細觀察,可以發現所有的軌跡都沒有重複。所以囉,如果一直畫個不停,那個圖案最後看起來應該會是黑壓壓的一片。這也就是說,用一維的線,可以把二維的面給填滿,然後那個介於一維和二維之間的分數維度就冒出來了。碎形(fractal)很多迷人的圖案都有這種特性。

身為頂級藝術細胞缺乏者,總是非常羨慕那些能隨手畫出漂亮圖畫的人。看著自己寫的程式在螢幕上展現出事先無法預期的漂亮圖案,還真是很有成就感,也不免有些興奮地想著:「嘿!看來頂級藝術細胞缺乏者有藥醫了!」

畫那兩張圖的主程式放在 《The Nature of Code閱讀心得筆記——使用Python實作》 《The Nature of Code閱讀心得與Python實作》第2.5節Exercise 2.12中。除了主程式之外,另外還需要Mover和Attractor這兩個class,也可以在該節中找到。

要結束這篇隨筆時,又忍不住手癢,創作了另一個漂亮的圖案,這次還加了點顏色上去。

raw-image
raw-image


avatar-img
15會員
131內容數
寫點東西自娛娛人
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
ysf的沙龍 的其他內容
忽然覺得,似乎、彷彿、好像、應該有個for... else語法,可以讓程式漂亮一點。
就這樣,因為拖延症犯了想偷懶,結果是對dictionary的使用時機和使用方式,有了新的體會。原來,dictionary這樣用,也是可以的啦!
「蛤?!居然當機!」瞪著畫面凍結的螢幕,心裡一面嘀嘀咕咕,一面敲著鍵盤,企圖死馬當活馬醫,看看能不能免去重開機的麻煩。 一切的努力都是徒然,這是徹底的當機!滑鼠、鍵盤完全失去作用,只餘關電源強迫關機一條路可走。 在重開機的當兒,一面看著螢幕有沒有顯示異常的訊息,一面開始分析可能的當機原因。
看來這應該是pygame的bug,而不是自己寫的程式有問題。為了進一步證實這個猜測,重寫了一個單純只畫出圓球的程式,除了畫出不同位置的圓球之外,沒有任何其他作用
俗話說「萬事起頭難」還真是一點也沒錯,從開始動筆寫《The Nature of Code閱讀心得筆記——使用Python實作》,到寫完頭一章,再到把文章放上網站開始發表,總共隔了快三個月的時間。
不知道為什麼,原本相安無事的兩個人,突然間看對了眼,開始出雙入對、形影不離。這除了讓人看了很不順眼之外,也很浪費時間。雖然想盡辦法要拆散他們,但都沒成功。逼不得已,只好狠下心來,冒險將一切抹除,讓他們走完「成、住、壞、空」最後的階段,輪迴至下一輪的「成、住、壞、空」。只是沒想到
忽然覺得,似乎、彷彿、好像、應該有個for... else語法,可以讓程式漂亮一點。
就這樣,因為拖延症犯了想偷懶,結果是對dictionary的使用時機和使用方式,有了新的體會。原來,dictionary這樣用,也是可以的啦!
「蛤?!居然當機!」瞪著畫面凍結的螢幕,心裡一面嘀嘀咕咕,一面敲著鍵盤,企圖死馬當活馬醫,看看能不能免去重開機的麻煩。 一切的努力都是徒然,這是徹底的當機!滑鼠、鍵盤完全失去作用,只餘關電源強迫關機一條路可走。 在重開機的當兒,一面看著螢幕有沒有顯示異常的訊息,一面開始分析可能的當機原因。
看來這應該是pygame的bug,而不是自己寫的程式有問題。為了進一步證實這個猜測,重寫了一個單純只畫出圓球的程式,除了畫出不同位置的圓球之外,沒有任何其他作用
俗話說「萬事起頭難」還真是一點也沒錯,從開始動筆寫《The Nature of Code閱讀心得筆記——使用Python實作》,到寫完頭一章,再到把文章放上網站開始發表,總共隔了快三個月的時間。
不知道為什麼,原本相安無事的兩個人,突然間看對了眼,開始出雙入對、形影不離。這除了讓人看了很不順眼之外,也很浪費時間。雖然想盡辦法要拆散他們,但都沒成功。逼不得已,只好狠下心來,冒險將一切抹除,讓他們走完「成、住、壞、空」最後的階段,輪迴至下一輪的「成、住、壞、空」。只是沒想到
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
自從AI繪圖成效可以上檯面以來,各種聲浪不斷出現,在此也藉由這一張插畫說說個人主觀的看法。
Thumbnail
等等~ 這是我使用 TensorArt 有史以來,沒看過的狀況! 違規? TensorArt 連全裸都可以畫了,會是什麼樣的圖算會 "違規"?
Thumbnail
接下來要說個跟「蝴蝶效應」以及我自己有關的故事。 大家都知道,設計系要畢業都必須通過「畢業製作」,就是做出一個作品來,讓老師評分,通過就能順利畢業。 我讀的是輔大應用美術系,大一時每個人修的課都一樣,大都著重在美術和設計的基礎上,一面鍛鍊美術底子一面培養設計的思維。 到了大二就要選組了,應美系
Thumbnail
吳明益老師的小說《單車失竊記》故事中提到的蝶畫,在南投木生昆蟲博物館看得到!用蝴蝶翅膀所拼成的畫,可以說是一種拼貼藝術,然而,在實際看過蝶畫之後,我認為這樣的表現更貼近後印象主義藝術家秀拉「點描法」的概念,蝴蝶翅膀上的色彩經過工藝師的剪、黏、拼、湊,在觀者的腦中「融合」,增添色彩和對比色的豐富。
Thumbnail
習以為常的捷運車廂,居然出現一隻飛舞的蝴蝶?如果我沒抬頭看見牠,於我來說牠就相當於不曾存在過。在我們的生活中,是否也有許多共時性,就像這隻蝴蝶一樣?
Thumbnail
▪︎咒語描述: 水彩風格的花園中,飛舞的鳥兒與蝴蝶,添加微妙的陰影與光線效果。 ▪︎工具:Copilot
Thumbnail
今天魔法的重點就是要畫出蝸牛,但這個對Moonshot來說很困難。失敗非常多張,大概是20張才勉強有一張接近,不論是怎樣的風格指令通通嘗試,但這蝸牛殼就是沒有想像中的漂亮。還要再研究研究。
Thumbnail
這張是前年一位學伴,看到網上有張松鼠與蝴蝶的照片,想到我畫的松鼠,於是標註我去看,然後我把它存了起來,那年八月份畫了出來。 構圖也挺有趣味,松鼠看見蝴蝶,眼睛瞪得又圓又大,好像驚訝,又好像覺得新奇,蝴蝶倒是老神在在地自顧自地飛。 如果喜歡我的作品,歡迎隨喜贊助,中年媽媽喬宜思感謝你😊
Thumbnail
這個作品就沒有小說甚麼的想法了,原本是想畫漩渦而已,但中間那部份我畫到煩了,就突然靈光一閃,把中間的部分改成眼睛;記得以前友人看到這作品時,還問我壓力是不是很大,但我自己是感覺沒有甚麼壓力啦~
Thumbnail
曾經我翩翩起舞 灑落絲綢的華彩 在陽光灑落的舞台 我舞出最美的韻律 可是這個世界 註定不屬於我 我只是個平凡的蝴蝶 被困在黑暗的牢籠 我努力振翅飛翔 想掙脫枷鎖的束縛 卻不知我的翅膀早已 被這現實生活所摧殘 當所有人都只看重成就 看重名利的虛榮 我用盡全力編織美夢 換
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
自從AI繪圖成效可以上檯面以來,各種聲浪不斷出現,在此也藉由這一張插畫說說個人主觀的看法。
Thumbnail
等等~ 這是我使用 TensorArt 有史以來,沒看過的狀況! 違規? TensorArt 連全裸都可以畫了,會是什麼樣的圖算會 "違規"?
Thumbnail
接下來要說個跟「蝴蝶效應」以及我自己有關的故事。 大家都知道,設計系要畢業都必須通過「畢業製作」,就是做出一個作品來,讓老師評分,通過就能順利畢業。 我讀的是輔大應用美術系,大一時每個人修的課都一樣,大都著重在美術和設計的基礎上,一面鍛鍊美術底子一面培養設計的思維。 到了大二就要選組了,應美系
Thumbnail
吳明益老師的小說《單車失竊記》故事中提到的蝶畫,在南投木生昆蟲博物館看得到!用蝴蝶翅膀所拼成的畫,可以說是一種拼貼藝術,然而,在實際看過蝶畫之後,我認為這樣的表現更貼近後印象主義藝術家秀拉「點描法」的概念,蝴蝶翅膀上的色彩經過工藝師的剪、黏、拼、湊,在觀者的腦中「融合」,增添色彩和對比色的豐富。
Thumbnail
習以為常的捷運車廂,居然出現一隻飛舞的蝴蝶?如果我沒抬頭看見牠,於我來說牠就相當於不曾存在過。在我們的生活中,是否也有許多共時性,就像這隻蝴蝶一樣?
Thumbnail
▪︎咒語描述: 水彩風格的花園中,飛舞的鳥兒與蝴蝶,添加微妙的陰影與光線效果。 ▪︎工具:Copilot
Thumbnail
今天魔法的重點就是要畫出蝸牛,但這個對Moonshot來說很困難。失敗非常多張,大概是20張才勉強有一張接近,不論是怎樣的風格指令通通嘗試,但這蝸牛殼就是沒有想像中的漂亮。還要再研究研究。
Thumbnail
這張是前年一位學伴,看到網上有張松鼠與蝴蝶的照片,想到我畫的松鼠,於是標註我去看,然後我把它存了起來,那年八月份畫了出來。 構圖也挺有趣味,松鼠看見蝴蝶,眼睛瞪得又圓又大,好像驚訝,又好像覺得新奇,蝴蝶倒是老神在在地自顧自地飛。 如果喜歡我的作品,歡迎隨喜贊助,中年媽媽喬宜思感謝你😊
Thumbnail
這個作品就沒有小說甚麼的想法了,原本是想畫漩渦而已,但中間那部份我畫到煩了,就突然靈光一閃,把中間的部分改成眼睛;記得以前友人看到這作品時,還問我壓力是不是很大,但我自己是感覺沒有甚麼壓力啦~
Thumbnail
曾經我翩翩起舞 灑落絲綢的華彩 在陽光灑落的舞台 我舞出最美的韻律 可是這個世界 註定不屬於我 我只是個平凡的蝴蝶 被困在黑暗的牢籠 我努力振翅飛翔 想掙脫枷鎖的束縛 卻不知我的翅膀早已 被這現實生活所摧殘 當所有人都只看重成就 看重名利的虛榮 我用盡全力編織美夢 換