跳轉到內容

分形/複平面迭代/演算法

來自華夏公益教科書,開放的書籍,面向開放的世界


2D靜態影像的工作流程

[編輯 | 編輯原始碼]
                    Separate the calculation phase from the colouring phase (Claude Heiland-Allen)

工作流程

  • 計算階段:第一個程式計算實際迭代或使用表示函式計算其他畫素引數
  • 將原始畫素資料儲存到檔案中
  • 著色階段:然後使用另一個程式將結果著色到影像中
  • 使用不同的繪圖演算法[1]併合成影像(圖層)


例子

Image Magic 使用 CLUT

convert input.pgm -level 0,65532 clut.ppm  -clut -depth 8 output.png


PFract程式

./pfract -x 0.160211 -y -0.684246 -size $xSize $ySize -iterations 256 -rad -10 example5.raw
./colorize example5.raw example5.ppm -spawn -400 -scale 1.6 -fadedepth 25
  • 空間(2D平面)
    • 平面描述
    • 平面掃描
    • 平面變換
  • 畫素
    • 畫素特徵:復勢(外部/內部角和實勢)、距離估計、平均z、盆地、軌道陷阱、紋理、纖維
  • 著色(顏色梯度)
  • 閃電(將2D分形帶入3D的燈光效果)=高度場
  • 計算機生成的影像(CGI)是計算機圖形的一種特定技術或應用,用於在藝術、印刷媒體、模擬器、影片和影片遊戲中建立或改進影像。
  • 特效(通常縮寫為SFX、F/X或簡稱為FX)是在劇院、電影、電視、電子遊戲、遊樂園和模擬器行業中使用的幻覺或視覺技巧,用於模擬故事或虛擬世界中想象的事件。現代圖形處理單元(GPU)提供稱為紋理取樣器或紋理對映單元的專用固定功能單元,以執行紋理對映,通常使用三線性濾波或更好的多點各向異性濾波,以及用於解碼特定格式(如DXTn)的硬體。截至2016年,紋理對映硬體無處不在,因為大多數SOC都包含合適的GPU。

演算法型別

[編輯 | 編輯原始碼]

通用計算機圖形演算法

[編輯 | 編輯原始碼]
  • 紋理對映
  • 閃電
  • 著色
  • 特效


著色演算法

[編輯 | 編輯原始碼]
  • 通用著色演算法:(畫素特徵 -> 顏色):
    • 離散梯度
    • 連續梯度:以歸一化位置([0.0, 1.0]範圍內的浮點數)作為輸入,並輸出顏色,與分形無關,但在通用計算機圖形中使用;


頁面

表示函式

[編輯 | 編輯原始碼]

演算法:演算法、繪製/計算方法或表示函式(有關空間變換,請參見此處


  1. (水平集方法 (LSM)、水平曲線方法 (LCM))的逃逸和吸引時間
    1. Julia集
      1. 目標集、陷阱和溢位測試
        1. 目標集的分解:二元分解方法 (BDM),在拋物線情況下給出:Qn 的零點或拋物線棋盤格(棋盤)
        2. 埃舍爾式的平鋪
        3. 軌道陷阱
    2. 曼德布羅特集的布林逃逸時間
      1. BDM/M
  2. 用於繪製的逆迭代法(IIM)
    1. Julia 集 = IIM/J
  3. 復勢
    1. 在引數平面上
    2. 在動力平面上
  4. 原子域
  5. bof60
  6. Lyapunov 指數
  7. 真實形狀
  8. 離散拉格朗日描述符
  9. 曲線
    1. 邊界 - 掃描
    2. 展開閉合曲線,然後拉伸成無限條
    3. 等勢線
    4. 外部射線(引數和動力)軌跡
      1. 引數射線
      2. 動力射線
    5. 內部射線
    6. 路徑:逃逸路線
  10. DEM = 距離估計方法
    1. DEM/M - 用於曼德布羅特集
    2. DEM/J 用於 Julia 集
  11. 將分量對映到單位圓盤(黎曼對映
    1. 乘數對映 和內部射線
      1. 在引數平面上
      2. 在動力平面上
    2. Boettcher 對映,復勢和外部射線
      1. 在引數平面上
        1. 引數射線 = 場線
        2. 復勢,外部角
      2. 在動力平面上
  12. 直方圖著色:“主要思想是使用直方圖更有效地將顏色梯度分佈到已使用的索引,而不是均勻地將許多顏色浪費在未使用的索引上。它還使用特定的視覺上令人愉悅的梯度函式”(Spektre)
  13. 平均著色“是使用平滑迭代計數的小數部分在平均和之間進行插值的著色函式族。” Jussi Harkonen
    1. 三角不等式平均著色 = TIA 和曲率平均演算法(CAA)
    2. 條紋平均著色 = SAC
    3. Chris King的非吸引盆地和花瓣的離散速度
    4. 平均距離
  14. 2D 到 3D:凹凸對映
    1. 高度圖
    2. 斜率
    3. 浮雕[3] 和照明
    4. 照明
  15. 引數平面:組合演算法
    1. 尾流:如何找到落在尾流根點的外部射線的角度(= 尾流的角度)?
    2. 尾流 k/r 的主 Misiurewicz 點,調諧:如何找到落在尾流主 Misiurewicz 點的外部射線的角度?
    3. 分支和尖端
    4. 子尾流,調整和內部地址
    5. 根、島嶼和 Douady 調諧 - 如何找到落在任何曼德布羅特集分量的根點的外部射線的角度,這些分量無法透過有限次邊界交叉訪問主心形線 (M0)?
    6. 週期倍增級聯和 1/2 族中的 Myrberg-Feigenbaum 點。逃逸路線 1/2
  16. 縮放
    1. 在引數平面上
      1. (淺或正常)縮放
      2. 深度縮放和擾動方法
        1. Julia變形 - 用於雕刻曼德布羅特集部分的形狀(縮放)並顯示拐點
      3. 指數對映或墨卡託投影或對數極座標對映


引數平面(使用曼德布羅特集,它的分量、島嶼、裝飾等)

動力平面(帶有 Julia 集和 Fatou 集)

Claude Heiland-Allen 的演算法

[edit | edit source]
  • 圖形演算法 或著色演算法或表示函式[4]
    • 成員資格
    • 逃逸時間
    • 二進位制分解
    • 連續停留
    • 外部座標
    • 停留梯度
    • 外部距離
    • 原子域
    • Misiurewicz 域
    • 內部座標
    • 內部距離
  • 數值演算法
    • 吸引子
    • 內部點
    • Misiurewicz 點(“樸素”)
    • Misiurewicz 點(“完整”)
    • 子大小
    • 大小估計
    • 形狀估計
    • 域大小
    • 外部射線進入(曲線跟蹤)
    • 外部射線離開(曲線跟蹤):用於在 c 不在曼德布羅特集的情況下查詢外部角 θ。與外部射線進入相同,但 λ>1。在透過停留帶時以相反順序收集 θ 的位。
    • 外部角
  • 符號演算法
    • 調諧
    • 主球莖
    • Farey 樹
    • Lavaurs 的演算法
    • 輻條導航
    • 頭髮中的島嶼
    • 頭髮導航
    • 其他角度
  • 其他(更遠)演算法
    • 擾動
    • 毛刺校正
    • 級數逼近
    • 縮放插值
    • 龐加萊縮放
    • 指數對映
    • 拉伸尖點
    • Julia 變形
    • Buddhabrot
    • 蜘蛛演算法
    • 曼德布羅特集中的 π
    • Julia 集的分形維數
    • 曼德布羅特筆記本
    • 位置分析


程式碼

外部示例

[edit | edit source]

參考文獻

[edit | edit source]
  1. 二進位制分解 來自曼德布羅特集詞彙表和百科全書,作者:Robert Munafo,版權所有 1987-2023。
  2. fractalforums:tricky-mandelbrot-problem
  3. fractalforums.org:3d-emboss-effect-for-2d-fractals
  4. 來自曼德布羅特集詞彙表和百科全書的表示函式,作者:Robert Munafo,版權所有 1987-2023
華夏公益教科書