當前位置:
首頁 > 知識 > 自繪Mandelbrot集合(六)

自繪Mandelbrot集合(六)

十四、維基百科「放大」系列調色盤


前面提到過,在英文維基百科Mandelbrot集合條目中有一個「放大」系列,我覺得它很漂亮,所以想在這裡模仿一下它的調色盤。

自繪Mandelbrot集合(六)



維基百科中的「放大」系列

大家可以看到本文開頭的三幅圖像均在其內。


請把目前的程序源代碼的第(8)部分完全替換為下面的代碼:


Java版本


JavaScript版本


其中的函數其實並未作變動,只是為了完整性重新給出一遍。


前一節中我說過,調色板的問題更是個藝術和口味問題,更何況我不是這個調色板的作者,所以為什麼這個調色板是這麼寫的,我沒法詳細解釋。這個調色板在「放大」系列的畫面中表現相當出色,但在某些區域,尤其是棕黃色為主調的區域,就未必那麼漂亮了。另外要提醒的是,這個調色板函數和「放大」系列使用的調色板並不完全一致,只是十分接近。


如果我們看調色板函數的主體部分


第一句先是對迭代次數作了一個線性變換,乘了一個係數0.021,使得顏色的變化不那麼快。然後第二句主要是一個對數函數,使得顏色的變化更慢,它的一個作用是使得比如本文開始的第一幅圖像中的每一個扇形中心能夠有那種統一的明亮感。大家完全可以自己修改這些函數和參數來體會它們的作用。


接下去是,它使得顏色被重複輪流使用。被使用的則是後麵條件語句中所提到的五種顏色和它們間的線性插值:


「放大」系列使用的顏色

現在運行一下目前的程序:

自繪Mandelbrot集合(六)



-0.743030 + 0.126433i @ 0.016110 /0.75


在色調方面顯然很象回事了,不過圖像質量方面顯然有很大問題。


十五、抗鋸齒


最明顯的圖像質量問題是有許多雜亂的點。產生這一現象的原因和字體以及遊戲圖像中物體邊緣出現鋸齒的原因差不多。比如下面左邊的字體中,每個像素要麼算作字體的一部分,顏色純黑,要麼算作字體外的部分,顏色純白,那麼在字體邊緣必然產生鋸齒現象。要減輕鋸齒效應的話,就得進行抗鋸齒處理。

自繪Mandelbrot集合(六)



字體的抗鋸齒效果

因為分形具有無限細節,在那些Mandelbrot集合邊緣的那些像素內部有無限多的圖形邊緣,可是對每一個像素,我們卻只以其中心點的計算結果來確定它的顏色,所以同樣也會出現鋸齒效應。這裡我們將使用最暴力的超級採樣法來處理這個問題。原理很簡單:為一個像素我們多計算幾個點,像素的顏色取這幾個點顏色的平均。具體地說,原本我們只計算像素代表的正方形中點的顏色,現在將正方形劃分成3x3的小正方形,並計算它們的中點的顏色,最後此像素的顏色為這9種顏色的平均:

自繪Mandelbrot集合(六)



3x3的超級採樣


當然,現在計算量是原先的9倍。


於是將程序代碼中的第(6)部分改成如下形式:


Java版本


JavaScript版本


注意到對顏色取平均必須是分別對紅綠藍三個分量取平均,再拼合成最終的顏色。


運行程序,得到以下圖像(注意運行時間大約為前面的9倍):

自繪Mandelbrot集合(六)



-0.743030 + 0.126433i @ 0.016110 /0.75


很接近我們最終希望得到的結果了。


(待續)


參考文獻:


[1] 維基百科Mandelbrot set條目https://en.wikipedia.org/wiki/Mandelbrot_set


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科學公園 的精彩文章:

辣是一種說得出的痛
中國所有保健品都是騙人的,沒有例外
李小龍的格鬥能力真是天下無敵嗎?
三國歷史上,譙周真的誤國了嗎?

TAG:科學公園 |

您可能感興趣

Redis 集合(Set)
曝光 竟是iPad、iMac、MacBook Pro的集合體
PentestPackage-Pentesting腳本集合
Walkers 集合
Bank Holiday折扣集合:Coach, Topshop, La Mer, 小CK等都有驚喜折扣
Chinese Word Vectors:目前最全的中文預訓練詞向量集合
「冰港」the bigint 設計師集合品牌 開業首秀「icebreak
樂高新品:漫威全員集合《復仇者聯盟3:無限之戰》&Avengers:Infinity War 電影盒組
Marc Jacobs 新品上市 | IT Bag 大集合
巴黎世家(Balenciaga )Triple S老爹鞋,開會啦,集合完畢,請檢閱
華碩Zenfone 5系列全體集合!Zenfone 5 Max跑分現身
國內基本沒有貨的supreme聯名NikeLab Air Max 98各配色大集合!
"IT Girl " Petra Collins 攝影作品集合,少女系的復古氣息大片賞析!
MongoDB 刪除集合
用Python 實現的機器人演算法示例集合——PythonRobotics
第七屆GaonMusicAwards頒獎禮眾星雲集 紅毯照大集合
集合最強女Idol合唱《Wow Thing》28日公開
AJ4配色三巨頭集合,Air Jordan 4 "What the" 正面照來啦!
用TensorFlow 實現的模型集合
ajax傳遞list集合