謝爾賓斯基三角形,以下簡稱分形三角形,先來個最簡單的繪製方式
內置函數直接繪製
mma內置函數可以直接繪製分形三角形,參數為迭代次數,次數越大,圖形越精細,同時需要越多的運算
仿射變換繪製
定義一個隨機仿射變換函數,規則為選取三個點b1,b2,b3,從任何一個點開始迭代,每次隨機選取一個b點,然後計算該b點與最後一個點的中點作為下一個點,下面為變換規則函數
繪製圖形
通過改變三個點b1,b2,b3的座標,可以得到不同的分形,下面是一個等腰直角分形三角形
使用替代系統繪製
mma有個替代規則系統,下面的規則可以生成分形三角形
上面的規則描述為:在每一步替代中單位黑色方塊會被替換成3個黑色和一個白色方塊,白色方塊替代為4個白色方塊,在數據裡面,1代表黑色方塊,0代表白色方塊,圖形都為方正
這個規則不斷迭代,就會得到越來越精細的分形三角形,不過都是等腰直角分形三角形
其他替代規則
使用三階生成規則,可以得到以下分形
可以看到分形規則有所變化,正宗的分形是每個三角形均分成4塊,然後挖空中間的一塊,使用三階生成規則是均分成9塊,然後挖空其中的三塊
從中間可以找出某種規律,都是一種針對三角形的分形迭代
上圖為2階規則迭代10次和4階規則迭代5次,結果矩陣相加後的結果
只要結果矩陣的大小相同,他們相加減,都可以是新的分形三角形