Python3 趣味系列題14----分形

julia_140.png

分形(Fractal)一詞,是由美國數(shù)學家曼德勃羅先生(Mandelbrot)創(chuàng)造出來的。分形幾何學是一門以非規(guī)則幾何形態(tài)為研究對象的幾何學。按照分形幾何學的觀點,一切復雜的對象雖然看似雜亂無章,但他們具有相似性。簡單地說,就是把復雜對象的某個局部進行放大,其形態(tài)和復雜程度與整體相似。

本文給出基于復動力系統(tǒng),例如Mandelbrot集、Julia集;基于迭代函數(shù)系統(tǒng),例如科赫雪花、謝爾賓斯基三角形。

一、基于復動力系統(tǒng)

因為復數(shù)可以用平面直角坐標系上的點來表示。橫坐標軸表示復數(shù)的實數(shù)部分,縱坐標軸表示復數(shù)的虛數(shù)部分,則復數(shù) A+Bi就對應(yīng)了平面上的點 (A, B),其中復數(shù)A+Bi的模就是A^2 + B^2 的算數(shù)平方根。這個平面直角坐標系也就成為了復平面。

  • Julia集

所謂Julia集就是復平面上的點經(jīng)過如下形式:

image

的無數(shù)次迭代得到的復數(shù)的模不大于2的點構(gòu)成的集合。其中Z代表復平面上的點,C是任意的復數(shù)。對于不同的C值,不同的迭代次數(shù),所得到的圖像是不同的。下面給出幾種不同的C值對應(yīng)的圖像。之所以限定模值為2,是因為隨著迭代次數(shù)的增大,模大于2的點肯定會發(fā)散。為了圖片的美觀,根據(jù)不同的模值定義不同的顏色。

image
image
  • Mandelbrot集

生成Mandelbrot集和Julia集的原理是類似的,唯一的不同在于,迭代的表達式變?yōu)椋?/p>

image

其中Z0表示復平面上的每個點。計算Mandelbrot集,也就是記錄每個點在迭代過程中得到的復數(shù)的模值大于2時的迭代次數(shù),然后根據(jù)迭代次數(shù)進行繪圖,不同的迭代次數(shù)用不同的顏色表示,即可繪制出圖。

在Julia集中,C值是任意給定的復平面上的一點,對于所有復平面上的點Z而言,都是一樣的。而Mandelbrot集中C就是該點Z,對于所有復平面上的點Z而言,都是不一樣的。Julia集每個圖形表示的是一個C值,而C值肯定是Z0值中的一個。因此Mandelbrot集是Julia集的高度概括,也就是任意一個C值對應(yīng)的Julia圖形,肯定可以在Mandelbrot集的圖形中找到與其對應(yīng)的圖像。下面給出Mandelbrot集的圖像:

image

下面給出

image

時的Mandelbrot集的圖像:

image

下面給出次數(shù)為2時的Mandelbrot集局部放大時的圖像:

image
image

二、基于迭代函數(shù)

基于迭代函數(shù)就是根據(jù)一定的規(guī)則,迭代生成分形圖像。下面以謝爾賓斯基三角形和科赫雪花為例:

  • 謝爾賓斯基三角形

由波蘭數(shù)學家謝爾賓斯基在1915年提出。

迭代規(guī)則:

1,取一個底色為黑色的三角形,一般為等邊三角形;
2,沿三邊中點的連線,將它分成四個小三角形;
3,將中間的那一個小三角形底色變?yōu)榘咨?4,對其余三個小三角形重復步驟2,3;
5,重復以上步驟;

圖示:

image

除了迭代法之外,也可以利用隨機的方法獲得。

隨機方法規(guī)則:

1,在平面上選取3個點,并標出,為了美觀,這3個點可以為等邊三角形的頂點;
2,在平面上任意選取一個點作為第4個點,作為候選點,在平面上標出;
3,在數(shù)字1,2,3中隨機選擇一個數(shù)字。數(shù)字1,2,3的分別點1,2,3對應(yīng);
4,選中的點和當前候選點的中點作為新的候選點,并在平面上標出;
5,重復步驟3,4;

圖示:

image
  • 科赫雪花曲線

最早出現(xiàn)在海里格·馮·科赫1904年的論文中。

規(guī)則:

1,對于一個等邊三角形,把每一邊都三等分;
2,將每個邊的中間一段,向外旋轉(zhuǎn)60度,作為等邊三角形的一邊,繪制出等邊三角形;
3,將中間的這一段去掉;
4,重復上述步驟;

圖示:

image

點擊獲得更多趣味謎題以及基于Python3的解決方案代碼。歡迎Follow,感謝Star?。?! 掃描關(guān)注微信公眾號pythonfan,獲取更多。

image
image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 令人目眩的萬花筒,螺旋紋路的西蘭花,它們之間存在什么相似之處? 我們說“一花一世界,一樹一菩提”,說的是以小見大,...
    牛油果進化論閱讀 4,145評論 0 16
  • 20170301 協(xié)方差矩陣的理解 協(xié)方差矩陣的幾何解釋(Very Good) [LDA 線性判別分析](1)(2...
    NoneLand閱讀 473評論 0 1
  • 這段時間看了一個關(guān)于維度的視頻介紹,嘆于其驚艷的多維幾何體和分形的視覺動畫效果。其實關(guān)于分形,已經(jīng)有很成熟的分形軟...
    尤利西斯U閱讀 3,500評論 1 1
  • 認識分形據(jù)芒德布羅教授自己說,fractal一詞是1975年夏天的一個寂靜夜晚,他在冥思苦想之余偶翻他兒子的拉丁文...
    升維洞察閱讀 1,257評論 0 3
  • 姓名:李睿 公司:海南美蘭美購城實業(yè)有限公司 組別:第420期謙虛四組 【日精進打卡第347天】 【知~學習】 《...
    木子灬睿睿閱讀 49評論 0 1

友情鏈接更多精彩內(nèi)容