只是老把戲用 JavaScript 實作而已,不用手工繪圖程式碼短了很多。用 sort() trick 做 shuffle 在 IE 好像行不通,所以 IE 使用者請自行把 v.sort(...) 換成你最喜歡的 shuffle 演算法。
簡易版原始碼附於文末,幻覺版原始碼請自行從連結觀看。
novus 發表在 痞客邦 留言(0) 人氣(694)
本來想說週末就可以完成的,結果拖到剛剛,我寫程式的能力真是有待加強。
沒有時間在不同的瀏覽器跑過,只知 Chrome、Opera、Firefox 較新的版本可以執行。在實驗過程中發現 Palemoon 呈現卡死狀態,但是以「重新啟動並停用所有附加元件」模式仍稱得上順暢,我還沒有追蹤問題來源,總之,如果網友的瀏覽器無法負荷或許可以嘗試一下。
JavaScript Firework 正常版(可能會卡死)
JavaScript Firework 樸素版(稍微沒那麼容易卡死... orz)
畢竟 JavaScript 不是我專長的語言,而且程式寫得很趕,沒有經過太仔細的規劃,所以程式碼中看起來很醜陋的地方也就難免了。一些微調,像是色調、淡入淡出等等也都來不及做,但我想應該還算可以看啦。
補充一下,我用的是 setInterval 而非新的 requestAnimationFrame,因為後者時間不固定,運動模型寫起來可能會比較複雜。
novus 發表在 痞客邦 留言(0) 人氣(154)

週末又生了一些高次方的 Julia Set,感覺反而不像平方那麼多變,似乎大部分都很單調,但是在靠近發散區的邊界變化極激烈,往往初始值只差小數點以下四五位就會產生大異其趣的圖,在 6 次方的時候感覺更加明顯。
下圖是 z = z^3 + c 比較漂亮的一張,我取的 c 為 0.125 + 0.8j。
再來這張是 z = z^3 + 1.5z^2 + c,我取的 c 值為 -0.52 + 0.61j。
novus 發表在 痞客邦 留言(1) 人氣(742)

如果把 Julia Set 按照種子的座標排列,最後就會得到像下面這樣的圖形。這張圖用了625 個不同種子的 Julia Set 排列而成。在圖形中間偏右的圓圈為原點(0, 0i),相鄰兩張圖的差距皆為 0.1,由此可以得知每個位置的 Julia Set 大致的模樣,可算是 Julia Set 的導覽地圖。
如果離遠一點看會發現,這張導覽地圖依稀浮現出 Mandelbrot Set 的影子。仔細想想Mandelbrot Set 和 Julia Set 之間的關聯,或許就沒那麼令人驚訝
下面再提供一張更加精細的地圖,一共取了 2025 個 Julia Set 圖形。
novus 發表在 痞客邦 留言(0) 人氣(279)

看了網路上一些錯覺圖後產生靈感,就隨手寫了個小程式來驗證想法,不過效果似乎不太好。我也不知道其他人看起來感覺如何,歡迎回饋意見讓我知道。
程式執行後會在同資料夾輸出 maze.bmp ,如下圖。 (滑鼠請點擊放大,才看得到效果)
novus 發表在 痞客邦 留言(4) 人氣(905)

這是 Buddhabrot 的一種特殊 render 法,據發明人 Melinda Green
的說法,靈感來自於哈伯望遠鏡合成影像的方式。
這個配色我試了很久,感覺好像還沒達到完美。程式碼有點懶得整理,有需要的人再留言吧。
novus 發表在 痞客邦 留言(1) 人氣(138)

(彩色版請見 http://novus.pixnet.net/blog/post/26679362 )
Buddhabrot第2版,和前一個版本架構上沒有太大的不同。和我猜的一樣,很多奇奇怪怪的問題在增加取樣之後就解決了,不過圖形也變得單調許多。另一項小小的改良則是計算走捷徑,使得速度大幅提升。
novus 發表在 痞客邦 留言(1) 人氣(90)

多試了幾張 Buddhabrot
我發現和 Mandelbrot Set 一般 render 法有一個很大的差別,在一般 render 法當中要放大圖只要直接增加 pixel 數就好了,但 Buddhabrot 如果直接這樣就會影響到取樣的點,每個取樣點都會影響整條trace因而影響數十甚至數百點。因此有時候只是長寬各加 1 pixel就會畫出大異其趣的圖。
另外有兩點讓我感到比較不滿,其中之一是中間那條線很礙眼,雖然我大概知道原因,但一時還沒法消除。另一個就是圖形常常不太對稱,我想主要的原因出在浮點數和整數互轉時資料遺失,導致複數平面上的取樣不對稱,而這些微小的差異被反覆放大
novus 發表在 痞客邦 留言(1) 人氣(123)

(2010.5.03補充: 本篇程式碼有一些不理想的地方,已修正於第二版,這裡僅保留方便網友理解流程。更進階的 render 法見 Nebulabrot)
對上次 Julia Set 有興趣的人應該也會喜歡這個。
novus 發表在 痞客邦 留言(2) 人氣(178)

本站標題列的底圖其實是傳說中的Julia Set,經過美工軟體處理過的結果。其實產生本blog圖形的程式碼用完就丟了,相關的參數也不太記得,所以我自己也沒辦法產生一模一樣的圖形了。
這裡提供一個非常簡單產生此圖形的方法。執行結果應該類似於下圖 (滑鼠移近放大)
novus 發表在 痞客邦 留言(1) 人氣(792)