2009-01-14 63 views

回答

2

從我記得你會得到一個很好的手柄上的遞歸,如果沒有別的......也許有點位級編程以及...

+0

有沒有必要使用遞歸來繪製分形。我知道的大多數分形,如Mandelbrot集使用簡單的迭代。 – recursive 2009-01-14 21:01:05

+0

即使他們完成遞歸,它也是遞歸的限制,無論如何都會重構迭代。或者至少我見過的每個例子都有明確的限制。 – EBGreen 2009-01-14 21:09:57

+0

遞歸如何處理軌道和固定點?IIRC證明了對於所有N> = 1,在Mandelbrot集合中存在長度爲N的循環非終止軌道。 – Jimmy 2009-01-14 21:17:31

0

任何一種編程經驗是有用的。所以是的。

:特別適用:

  • 數學問題
  • 基本算法
  • ,當然分編程
0

這將可能給你實現數學公式練習。

0

一些分形是顯式遞歸的好例子;如果你對這個概念感到困難,那麼他們可能是一個很好的工作問題。你可以從「龜圖形」風格分形路徑開始,如希爾伯特曲線或經典的「雪花」分形。

許多分形生成方法使用重型數字運算(例如Mandelbrot和Julia集合)。數字運算本身就是一個領域,調整分形生成器以儘可能快地運行可能是優化中的一個很好的練習。

0

我不認爲編程分形將教你什麼特別。根據分形,我想它可能會教你一些關於數學或分形的一般信息。

但是,我認爲分形作爲編程的入門很有趣,而初學者/學生往往對結果着迷,無論是更多的圖形分形如mandelbrot或茱莉亞集合,還是更易於理解的L-系統。

當然,如果你是新手編程,它也希望能夠教你很多關於編程的知識。如果沒有別的,分形是有趣的看看。

0

當我還是一名本科生時,我們使用分形圖來推動我們的工作。它可以快速獲得相當大的計算量,因此可以使用多個CPU來完成這項工作,這樣可以顯着提高效率。

所以,隨着遞歸,我會說它有助於學習如何在並行處理器之間平衡CPU負載。

...或者如果設備不可用,它可能會教你禪樣耐心。 :)

1

分形讓我想起了複數和branch-points。我想,這是否是一件好事是一個意見。 :-)

5

分形編程將向您介紹遞歸,迭代,圖形編程概念,圖像處理和用戶界面設計。從數學的角度來看,您將學習幾何,複數,Mobius變換(Kleinian分形),仿射變換(IFS分形),根發現方法(牛頓分形)。

最重要的是,您可以看到您的努力會產生奇怪和不尋常的圖像。

2

如果您是初學者,此類活動肯定會幫助您提高技能。除了根據分形類型和設置可能會給你一些特定的技能或知識類的目標是編程分形可視化:

  • 與圖形,圖像處理工作;
  • 理解遞歸和遞歸 結構;
  • 優化技術;
  • 低級程序優化;
  • 理解如何計算機的運行 (例如爲何分辨率將是 通常限於 - >浮點 精度和誤差積累);
  • 並行編程;
  • 一些數學改進和 擴展您的興趣範圍;
  • 瞭解各種技術 (例如,您可以code Mandelbrot setPixelBender這是 真的很快,因爲可能會在 GPU上執行);
  • 瞭解複雜壓縮算法(例如某種分形 壓縮);
  • 創造力(例如,你發明自己的 分形集着色算法);
  • 更多別的:)

這確實是一個多才多藝和有趣的領域,很多事情探索和學習。我用來繪製分形很多:)

0

好主意!我認爲編碼分形是一個偉大的「練習」(研究)大小的程序。它有這樣一些很好的功能:通常你不需要太多的第三方代碼,它們可以在相當短的時間內(和複雜性)實現,並且你最終還能看到一些很好的東西,這也驗證了你的工作。

此外,在數學和數值算法的實現方面都存在大量的基本問題,如果你這樣做,你會碰到這些問題。

從一個基本的Mandelbrot集合生成器那樣簡單的事情,你可以像評論者提到的那樣分支出各種各樣的問題。儘管如此,你仍然可以學習優化技術(爲什麼我的發生器很慢)和數值問題(爲什麼我不能在這裏放大),而且如果你想要一點色彩理論(什麼是L a b *空間無論如何)和其他零碎。

玩得開心!

0

分形是一個非常智力上有趣的話題,甚至最簡單的實現也會讓你學習複數數學,圖形生成,縮放圖像和一般編程。