Stats

Popular Posts

Followers

Mathematica 教學 Koch triangle

戴忠淵 於 2010年6月4日星期五 上午11:36 發表





碎形裡面的一個有趣的範例,給定一正三角形,切掉每邊的三等份的中間段,並以此段為底邊向外做一正三角形,此為一次製作步驟。對現有的圖形的每一 邊做一次製作步驟的處理,且無窮的作下去。

tp[{a_,b_},{c_,d_}]:=If[c>=a,{(a^2-c^2+Sqrt[3]Sqrt[(a-c)^2](-b+d))/(2(a-c)),
1/2(b+Sqrt[3]Sqrt[(a-c)^2]+d)},{(a^2-c^2+Sqrt[3]Sqrt[(a-c)^2](b-d))/(2(a-c)),
1/2(b-Sqrt[3]Sqrt[(a-c)^2]+d)}];

newpt[A_List,B_List]:={A,A+1/3*(B-A),tp[A+1/3*(B-A),A+2/3*(B-A)],A+2/3*(B-A),B}

Graphics[{Red,Thickness[0.005],Line/@Nest[Partition[DeleteDuplicates[
Flatten[newpt@@@#,1]],2,1]&,{{{0,0},{2,0}}},4]},ImageSize->500];

data=N@{{{0,0},{1,Sqrt[3]}},{{1,Sqrt[3]},{2,0}},{{2,0},{0,0}}}

Show[Graphics[{Red,Thickness[0.005],Line/@Nest[Partition[DeleteDuplicates[
Flatten[newpt@@@#,1]],2,1]&,{data[[#]]},6]},ImageSize->250]&/@{1,2,3}]
Tags: , , ,

讀者回應 ( 0 意見 )

發佈留言

Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.

如果這篇文章對你有幫助,那請留個訊息給我~