只是老把戲用 JavaScript 實作而已,不用手工繪圖程式碼短了很多。用 sort() trick 做 shuffle 在 IE 好像行不通,所以 IE 使用者請自行把 v.sort(...) 換成你最喜歡的 shuffle 演算法。
簡易版原始碼附於文末,幻覺版原始碼請自行從連結觀看。
只是老把戲用 JavaScript 實作而已,不用手工繪圖程式碼短了很多。用 sort() trick 做 shuffle 在 IE 好像行不通,所以 IE 使用者請自行把 v.sort(...) 換成你最喜歡的 shuffle 演算法。
簡易版原始碼附於文末,幻覺版原始碼請自行從連結觀看。
週末又生了一些高次方的 Julia Set,感覺反而不像平方那麼多變,似乎大部分都很單調,但是在靠近發散區的邊界變化極激烈,往往初始值只差小數點以下四五位就會產生大異其趣的圖,在 6 次方的時候感覺更加明顯。
下圖是 z = z^3 + c 比較漂亮的一張,我取的 c 為 0.125 + 0.8j。
如果把 Julia Set 按照種子的座標排列,最後就會得到像下面這樣的圖形。這張圖用了625 個不同種子的 Julia Set 排列而成。在圖形中間偏右的圓圈為原點(0, 0i),相鄰兩張圖的差距皆為 0.1,由此可以得知每個位置的 Julia Set 大致的模樣,可算是 Julia Set 的導覽地圖。
看了網路上一些錯覺圖後產生靈感,就隨手寫了個小程式來驗證想法,不過效果似乎不太好。我也不知道其他人看起來感覺如何,歡迎回饋意見讓我知道。
程式執行後會在同資料夾輸出 maze.bmp ,如下圖。 (滑鼠請點擊放大,才看得到效果)
(彩色版請見 http://novus.pixnet.net/blog/post/26679362 )
Buddhabrot第2版,和前一個版本架構上沒有太大的不同。和我猜的一樣,很多奇奇怪怪的問題在增加取樣之後就解決了,不過圖形也變得單調許多。另一項小小的改良則是計算走捷徑,使得速度大幅提升。
多試了幾張 Buddhabrot
(2010.5.03補充: 本篇程式碼有一些不理想的地方,已修正於第二版,這裡僅保留方便網友理解流程。更進階的 render 法見 Nebulabrot)
對上次 Julia Set 有興趣的人應該也會喜歡這個。