C# 實作用 Pascal's triangle 趨近 Sierpinski triangle

名詞解釋

建構方法

要建立謝爾賓斯基三角形有幾種方法,可參考 Wiki:

  1. 去掉中心 (Removing triangles)
  2. 縮小複製 (Shrinking and duplication)
  3. 隨機 (Chaos game)
  4. 箭頭曲線 (Arrowhead curve)
  5. 細胞自動機 (Cellular automata)
  6. 帕斯卡三角形 (Pascal's triangle)
  7. 河內塔 (Towers of Hanoi)

本 C# 程式用 #6 帕斯卡三角形來趨近謝爾賓斯基三角形, 較複雜且詳盡的圖形趨近用 #3 來建立較佳, 因為帕斯卡三角形越下面數字越大,不容易計算

用帕斯卡三角形建構

screenshot4

說明: 將某個 N 階帕斯卡三角形中的所有數字和 2 取餘數,結果為 0 拿掉 (圖中灰色),也就是將偶數去掉,剩下的小三角形 (圖中藍色) 會長得像謝爾賓斯基三角形。

當 N 趨近無限大,結果會是完美的謝爾賓斯基三角形

原始碼和執行檔

on Github

本程式功能

  • 三種模式: 略過、取餘數、數學表達式
  • 可自訂取餘數數字和結果
  • 可自訂帕斯卡三角形階層 (最好不要大於 100 階)
  • 可自訂各種樣式
  • 可顯示數字
  • 圖片可存檔

Shawn http://ebola777.pixnet.net/
arrow
arrow
    文章標籤
    C# Sierpinski triangle
    全站熱搜

    Shawn 發表在 痞客邦 留言(0) 人氣()