跳轉到內容

分形/複平面中的迭代/tsa

來自華夏公益教科書

用於計算多項式 Julia 集影像的演算法,具有針對浮點算術中的取樣偽影和舍入誤差的數學保證。

  • 真形演算法 (TSA) 

演算法計算複平面的三區域分解

  • 一個白色區域,包含在 Julia 集的外部
  • 一個黑色區域,包含在 Julia 集的內部
  • 一個灰色區域,不能被分類為白色或灰色。它是一個包含 julia 集 J 的區域

它給出了 Julia 集的自適應近似。空間解析度受可用記憶體限制。

K 包含在以原點為中心、半徑為 R = max(|c|, 2) 的逃逸圓內。


100% 保證正確的影像:[1]

  • 白色畫素保證不包含任何內部或邊界點
  • 黑色畫素保證只包含內部點
  • 紅色畫素在當前解析度下無法確定(它們可能同時包含內部或邊界和外部點)。

不幸的是,在實踐中,影像中有許多紅色畫素。這意味著此演算法用於證明影像在數學上是正確的。點取樣方法用於建立影像。如果一個人看到影像不光滑(元件的邊界是光滑的曲線),那麼採取更大的解析度(亞畫素精度)才能獲得適當的光滑影像。如果一個人獲取高質量的點取樣影像,那麼 TSA 演算法不會在其上找到錯誤的畫素。

關鍵詞

[編輯 | 編輯原始碼]
  • 複平面
    • 區域 = 具有相同標籤的單元的並集
    • 單元 = 複平面中的矩形
    • 四叉樹
    • 有向圖
    • 表示單元對映的單元圖
  • IA = 區間算術[2]
  • 二進分數 : 透過使用近似二進分數來處理精確的雙精度表示數字

演算法

[編輯 | 編輯原始碼]
  • 演算法的目標是影像的數學正確性
  • 代價是影像緩慢且不美觀。TSA 非常慢,不適合建立具有美觀外觀的影像。
  • 該演算法是為 Julia 集設計的

演算法避免 

  • 點取樣(1 畫素近似):樣本之間會發生什麼?
  • 逃逸時間演算法中的函式迭代(不要使用它)
  • 浮點舍入誤差(平方需要雙精度數字)[3]
  • 部分軌道(程式無法永遠執行)

演算法的主要特點

  • “單元對映以可靠地對複平面中的‘整個矩形’進行分類”,而不僅僅是對點的有限樣本進行分類
  • “它透過使用單元對映誘導的圖中的顏色傳播來處理軌道” = “透過檢查單元對映誘導的有向圖來跟蹤復軌道的命運”
  • “演算法處理的數字是二進分數,其範圍和精度受到限制,並且演算法使用無誤差定點算術,其精度僅取決於影像的空間解析度。”

複平面的四叉樹分解

自適應細化 = 將每個灰色葉節點單元細分為四個新的灰色子單元

單元對映

[編輯 | 編輯原始碼]
  • 簡單單元對映 (SCM)
  • 廣義單元對映 (GCM)[4]

標籤傳播

[編輯 | 編輯原始碼]
  • 圖中的標籤傳播

程式碼

[編輯 | 編輯原始碼]
  • “您可以信賴的 Julia 集影像”作者 Luiz-Henrique de Figueiredo、Diego Nehab、Jofge Stolfi、Joao Batista Oliveira - 2013[5][6]
  • “多項式 Julia 集的嚴格邊界”作者 Luiz-Henrique de Figueiredo、Diego Nehab、Jofge Stolfi、Joao Batista Oliveira

參考文獻

[編輯 | 編輯原始碼]
  1. fractalforums.org : 使用級數近似確定要跳過的最佳迭代次數
  2. 維基百科中的區間算術
  3. 來自帕利斯-巴爾贊國際研討會的您可以信賴的 Julia 集影像
  4. flacco-教程 gcm
  5. LUIZ HENRIQUE DE FIGUEIREDO 編寫的您可以信賴的 Julia 集影像。DIEGO NEHAB、JOAO BATISTA OLIVEIRA
  6. Luiz Henrique de Figueiredo 編寫的您可以信賴的 Julia 集影像 oktobermat
華夏公益教科書