基於Koch分形曲線方法計算中國大陸海岸線長度

2021-07-22 20:56:53 字數 1734 閱讀 1203

一、 實驗內容

運用koch分形曲線的方法來計算中國海岸線長度,分析實驗結果並對此實驗加以改進。

二、實驗目的

了解正交矩陣在幾何圖形繪製中的應用,掌握迴圈語句的常用方法。在此過程中運用並體會座標變換、滑鼠輸入資料等方法,複習讀入**及文字檔案的方法。得出計算結果後與實際的長度進行比較並分析,最後給出改進方式。

三、 實驗原理

很顯然海岸線是一種複雜但是在區域性會保持與整體相似的性質,當然這也是我們可以用分形的方式來模擬出海岸線的形狀進而估算出海岸線的長度的理論基礎,也是數學家曼德勃羅在2023年所提出的理論。

其具體演算法如下:

(1)首先用滑鼠讀取的方式在選定的海岸線圖上讀出盡可能多的點;

(2)然後進行koch分形的迭代;

(3)最後算出分形迭代後的圖形長度。

四、實驗程式

(一)中國海岸線長度讀取檔案程式:

(二)分型計算程式:

function koch(p,n)

if nargin==0,p=[0 0;1 0];n=3;end

n=max(size(p))-1;

a=[cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3)];

for k=1:n

p1=p(1:n,:);p2=p(2:n+1,:);

d=(p2-p1)/3;

q1=p1+d;q3=p1+2*d;q2=q1+d*a';

n=4*n;ii=1:4:n-3;

p(ii,:)=p1;p(ii+4,:)=p2;

p(ii+1,:)=q1;p(ii+2,:)=q2;p(ii+3,:)=q3;

endplot(p(:,1),p(:,2)),axis off

axis image

(三)中國海岸線長度計算程式:

x=p(:,1);y=p(:,2);

plot(x,y)

x=diff(x);y=diff(y);

l=sum(sqrt(x.^2+y.^2))

五、實驗結果及分析

l(模擬海岸線長度)=

17857.2794

即由分形模擬出的中國海岸線長度為17857.2794千公尺。

實驗得到的分形圖:

真實影象對比:

在查閱相關資料後,我們可以得到中國大陸海岸線的公認值為18000千公尺 ,我們顯然可以看到此次實驗得到的實驗結果已相當接近真實值,其相對誤差為:

(17857.2794 -18000)/18000=0.79%

六、實驗結論

由koch分形方法迭代8次後得到的圖形來模擬中國海岸線,求出的長度已相當接近真實值相對誤差為0.79%。

七、對本實驗的思考及注意事項總結

在本次實驗中,最容易出現錯誤的就是在用滑鼠採集資料時應該沿著某個路徑來採集,並且要切記計算機的座標並非我們常見的右手系而是左手系,所以倘若我們所沿的路徑是從下向上則採用正確方法將所得影象反轉過來尤為重要。這個反轉的方法十分簡單且操作易行,但是卻因為其過於簡單可能會被遺忘。

(一)程式法

**反轉(上下方向):

x=p(:,1);y=p(:,2);

y=-y;

plot(x.y)

(二)操作法

千萬不能忘記影象本身就有乙個反轉的功能,所以這個方法更加適合,不過要注意的是在採取本方法是要注意翻轉的座標不能扭曲,不然所得影象的形狀將會發生改變。

緩和曲線計算方法

x l l5 40 rls 2 l9 3456 rls 4 l13 599040 rls 6 l17 175472640 rls 8 l21 7.80337152 1010 rls 10 y l3 6 rls l7 336 rls 3 l11 42240 rls 5 l15 9676800 rls ...

卵形曲線座標計算方法

一 概念 卵形曲線 是指在兩半徑不等的圓曲線間插入一段緩和曲線。也就是說 卵形曲線本身是緩和曲線的一段,只是在插入時去掉了靠近半徑無窮大方向的一段,而非是一條完整的緩和曲線。二 卵形曲線座標計算原理 根據已知的設計引數,求出包括卵形曲線的完整緩和曲線的相關引數和曲線要素,再按緩和曲線座標計算的方法來...

緩和曲線長度計算方法

緩和曲線段長度的計算分析 上海市政工程設計研究總院中原分院郭建光 在道路線形設計的過程中,緩和曲線佔據著非常重要的角色,如何科學合理的設定其長度是很多路線設計者乙個很關心的問題。本文中將講述計算緩和曲線長度的具體方法。關鍵詞 超高緩和曲線長度 1 從滿足超高緩和段的角度分析 給出超高緩和段長度計算公...