1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Matlab 谢尔宾斯基三角形

Matlab 谢尔宾斯基三角形

时间:2019-01-14 13:01:14

相关推荐

Matlab 谢尔宾斯基三角形

本文主要介绍了一种谢尔宾斯基三角形生产方法。谢尔宾斯基三角形是混沌与分形学里面的一个经典案例,能生成谢尔宾斯基三角形的方法很多,我采用的方法是取中点的方式,具体流程如下:

1.在任意三角形△ABC内或外任取一点P;

2.在1、2、3中随机取数,如果随机数是1,则取PA的中点(如果随机数是2,则取PB的中点;如果随机数是3,则取PC的中点;),作为新的点P,不断重复该过程。

MATLAB程序如下:

tic;clear;clc;xa=250;ya=30;xb=30;yb=480;xc=480;yc=480;plot(xa,ya,'.r');hold on;plot(xb,yb,'.r');plot(xc,yc,'.r');x0=250;y0=250;j=1;k=0.5;for i=1:1:20000x=randperm(3,1);if(x==1)xi=k*(x0+xa);yi=k*(y0+ya);elseif(x==2)xi=k*(x0+xb);yi=k*(y0+yb);elsexi=k*(x0+xc);yi=k*(y0+yc);endendix0=xi;y0=yi;if(k==0.1)plot(x0,y0,'.b');endif(k==0.2)plot(x0,y0,'.r');endif(k==0.3)plot(x0,y0,'.b');endif(k==0.4)plot(x0,y0,'.g');endif(k==0.5)plot(x0,y0,'.b');endif(k==0.6)plot(x0,y0,'.r');endif(k==0.7)plot(x0,y0,'.b');endif(k==0.8)plot(x0,y0,'.g');endif(k==0.9)plot(x0,y0,'.r');endendtoc;

效果如图:

Amazing!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。