還真有點生成式藝術的fu

閱讀時間約 2 分鐘

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

raw-image
raw-image

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

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

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

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

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

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

畫那兩張圖的主程式放在《The Nature of Code閱讀心得筆記——使用Python實作》第二章2.9節練習2.8。除了主程式之外,還需要Mover和Attractor這兩個class。這兩個class的程式碼可以在2.5和2.9節找到。

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

raw-image
raw-image


15會員
116Content count
寫點東西自娛娛人
留言0
查看全部
發表第一個留言支持創作者!
ysf的沙龍 的其他內容
忽然覺得,似乎、彷彿、好像、應該有個for... else語法,可以讓程式漂亮一點。
就這樣,因為拖延症犯了想偷懶,結果是對dictionary的使用時機和使用方式,有了新的體會。原來,dictionary這樣用,也是可以的啦!
「蛤?!居然當機!」瞪著畫面凍結的螢幕,心裡一面嘀嘀咕咕,一面敲著鍵盤,企圖死馬當活馬醫,看看能不能免去重開機的麻煩。 一切的努力都是徒然,這是徹底的當機!滑鼠、鍵盤完全失去作用,只餘關電源強迫關機一條路可走。 在重開機的當兒,一面看著螢幕有沒有顯示異常的訊息,一面開始分析可能的當機原因。
看來這應該是pygame的bug,而不是自己寫的程式有問題。為了進一步證實這個猜測,重寫了一個單純只畫出圓球的程式,除了畫出不同位置的圓球之外,沒有任何其他作用
俗話說「萬事起頭難」還真是一點也沒錯,從開始動筆寫《The Nature of Code閱讀心得筆記——使用Python實作》,到寫完頭一章,再到把文章放上網站開始發表,總共隔了快三個月的時間。
不知道為什麼,原本相安無事的兩個人,突然間看對了眼,開始出雙入對、形影不離。這除了讓人看了很不順眼之外,也很浪費時間。雖然想盡辦法要拆散他們,但都沒成功。逼不得已,只好狠下心來,冒險將一切抹除,讓他們走完「成、住、壞、空」最後的階段,輪迴至下一輪的「成、住、壞、空」。只是沒想到
忽然覺得,似乎、彷彿、好像、應該有個for... else語法,可以讓程式漂亮一點。
就這樣,因為拖延症犯了想偷懶,結果是對dictionary的使用時機和使用方式,有了新的體會。原來,dictionary這樣用,也是可以的啦!
「蛤?!居然當機!」瞪著畫面凍結的螢幕,心裡一面嘀嘀咕咕,一面敲著鍵盤,企圖死馬當活馬醫,看看能不能免去重開機的麻煩。 一切的努力都是徒然,這是徹底的當機!滑鼠、鍵盤完全失去作用,只餘關電源強迫關機一條路可走。 在重開機的當兒,一面看著螢幕有沒有顯示異常的訊息,一面開始分析可能的當機原因。
看來這應該是pygame的bug,而不是自己寫的程式有問題。為了進一步證實這個猜測,重寫了一個單純只畫出圓球的程式,除了畫出不同位置的圓球之外,沒有任何其他作用
俗話說「萬事起頭難」還真是一點也沒錯,從開始動筆寫《The Nature of Code閱讀心得筆記——使用Python實作》,到寫完頭一章,再到把文章放上網站開始發表,總共隔了快三個月的時間。
不知道為什麼,原本相安無事的兩個人,突然間看對了眼,開始出雙入對、形影不離。這除了讓人看了很不順眼之外,也很浪費時間。雖然想盡辦法要拆散他們,但都沒成功。逼不得已,只好狠下心來,冒險將一切抹除,讓他們走完「成、住、壞、空」最後的階段,輪迴至下一輪的「成、住、壞、空」。只是沒想到
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
我預計這第五浪結束也不會這麼快就下殺 上次急殺20893-19269,可能是為了 承接急殺的巨量當作推動波 但之後的下殺震盪,並非要往上推, 而是反覆拉高倒貨,下來叫散戶接 然後又拉上去,開始橫盤整理做頭。 預計今天倉位跳空向下後,先做短暫整理。 開始要做新的區間震盪操作。 沒那
Thumbnail
尼媽因為懷了雙胞胎,產檢時醫生判斷需要安胎,當下馬上住進病房,然後竟一路住了四個月!
俗話說「 前低不破多頭不死、尬空不止」 「前高不過、空頭不死、殺低不止」 其實跌是有限、大概從高點下來 漲多少跌一半差不多, 漲則是無限可能。 已經離當初的地面15980非常遠。 也離12660大底 將近8000點距離 不論滿足是20800、22000、3萬(一堆人開價🤣
Thumbnail
身為頂級藝術細胞缺乏者,總是非常羨慕那些能隨手畫出漂亮圖畫的人。看著自己寫的程式在螢幕上展現出事先無法預期的漂亮圖案,還真是很有成就感,也不免有些興奮地想著:「嘿!看來頂級藝術細胞缺乏者有藥醫了!」 這個圖
Thumbnail
絲塔從小就很愛看電視,沒錯我不是出生在喝奶配平板的年代,而是經歷過胖屁股電視跟電腦的人,劇看完了看綜藝看完了看動漫,無所不看,總稱看電視,也當作懷念不停看電視的小時候
Thumbnail
咖哩加了金針菇,是要我明天見的意思嗎?知道了,品咖哩。
Thumbnail
小說《純真博物館》,小說是這樣展開的:那是我一生中最幸福的時刻,而我卻不知道。如果知道,我能夠守護這份幸福嗎?一切也會變得完全不同嗎?
Thumbnail
以經營事務所或企業營運的角度而言,如果有設置事務機,應直接將傳真功能加入選配,傳真可以印出來、也可以無紙化,屬於進可攻、退可守的最佳方案,未來也能結合自動化收發文或檔案管理。
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
我預計這第五浪結束也不會這麼快就下殺 上次急殺20893-19269,可能是為了 承接急殺的巨量當作推動波 但之後的下殺震盪,並非要往上推, 而是反覆拉高倒貨,下來叫散戶接 然後又拉上去,開始橫盤整理做頭。 預計今天倉位跳空向下後,先做短暫整理。 開始要做新的區間震盪操作。 沒那
Thumbnail
尼媽因為懷了雙胞胎,產檢時醫生判斷需要安胎,當下馬上住進病房,然後竟一路住了四個月!
俗話說「 前低不破多頭不死、尬空不止」 「前高不過、空頭不死、殺低不止」 其實跌是有限、大概從高點下來 漲多少跌一半差不多, 漲則是無限可能。 已經離當初的地面15980非常遠。 也離12660大底 將近8000點距離 不論滿足是20800、22000、3萬(一堆人開價🤣
Thumbnail
身為頂級藝術細胞缺乏者,總是非常羨慕那些能隨手畫出漂亮圖畫的人。看著自己寫的程式在螢幕上展現出事先無法預期的漂亮圖案,還真是很有成就感,也不免有些興奮地想著:「嘿!看來頂級藝術細胞缺乏者有藥醫了!」 這個圖
Thumbnail
絲塔從小就很愛看電視,沒錯我不是出生在喝奶配平板的年代,而是經歷過胖屁股電視跟電腦的人,劇看完了看綜藝看完了看動漫,無所不看,總稱看電視,也當作懷念不停看電視的小時候
Thumbnail
咖哩加了金針菇,是要我明天見的意思嗎?知道了,品咖哩。
Thumbnail
小說《純真博物館》,小說是這樣展開的:那是我一生中最幸福的時刻,而我卻不知道。如果知道,我能夠守護這份幸福嗎?一切也會變得完全不同嗎?
Thumbnail
以經營事務所或企業營運的角度而言,如果有設置事務機,應直接將傳真功能加入選配,傳真可以印出來、也可以無紙化,屬於進可攻、退可守的最佳方案,未來也能結合自動化收發文或檔案管理。