Sierpinski三角
2015-10-28 00:00
344 查看
摘要: 计算机图形 分形 MATLAB
分形现象在自然界普遍存在。以上MATLAB程序实现了Sierpinski's triangle。
按照不同的概率进行不同的仿射变换,最终画出图形。
![](http://static.oschina.net/uploads/space/2015/1028/095352_7hoS_2392809.png)
随着时间的推移、采样点的增加,图形越来越明显。
function Sierpinski %Sierpinski MATLAB implementation of the Sierpinski. shg clf reset set(gcf,'color','white','menubar','none', ... 'numbertitle','off','name','Fractal Sierpinski') x = [0; 0]; darkgreen = [0 2/3 0]; plot(x(1),x(2),'.','markersize',4,'color',darkgreen) axis([-3 3 -3 3]) axis off stop = uicontrol('style','toggle','string','stop', ... 'background','white'); drawnow hold on p = [ 1/3 2/3 1 ]; A = [ 1/2 0; 0 1/2]; b1 = [0; 0]; b2 = [1/2; 0]; b3 = [1/4; sqrt(3)/4]; cnt = 1; tic while ~get(stop,'value') r = rand; if r < p(1) x = A*x + b1; elseif r < p(2) x = A*x + b2; else x = A*x + b3; end plot(x(1),x(2),'.','markersize',4,'color',darkgreen) drawnow cnt = cnt + 1; end t = toc; s = sprintf('%8.0f points in %6.3f seconds',cnt,t); text(-1.5,-0.5,s,'fontweight','bold'); set(stop,'style','pushbutton','string','close','callback','close(gcf)') hold off
分形现象在自然界普遍存在。以上MATLAB程序实现了Sierpinski's triangle。
按照不同的概率进行不同的仿射变换,最终画出图形。
![](http://static.oschina.net/uploads/space/2015/1028/095352_7hoS_2392809.png)
随着时间的推移、采样点的增加,图形越来越明显。
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- MATLAB for Mac使编辑器支持中文
- [转]matlab中plot用法
- 初学数模-MATLAB Quick Start! Part I
- 初学数模-MATLAB Quick Start! Part II
- matlab程序优化以及eclipse与github的结合
- matlab中的rand函数(用于产生随机数)
- 图像增强算法四种,图示与源码,包括retinex(ssr、msr、msrcr)和一种混合算法