蕨类植物的叶片中,这些羽状复叶都暗含精致的自相似性。这也就意味着不管蕨类的叶片放大或缩小多少倍,它们的图案都可以进行数学上的推导和重现,而人们将这种符合奇妙秩序的图形称为“分形”(fractal)图形。
1988年,数学教授迈克尔·巴恩斯利(Michael Barnsley)依据蹄盖蕨提出了著名的“巴恩斯利蕨”(Barnsley Fern)模型,用以阐释分形现象中的迭代函数系统,并创建了“巴恩斯利蕨叶”,一种经由计算机、人工绘制出来的“数学蕨叶”。
input:
function fern = fenxingfern(n)
if nargin < 1
n = 10000;
end
a = [ 0.00 0.00 0.00 0.16 0.00 0.00;
0.85 0.04 -0.04 0.85 0.00 1.60;
0.20 -0.26 0.23 0.22 0.00 1.60;
-0.15 0.28 0.26 0.24 0.00 0.44 ];
fern(1,:)=[0 0];
for i = 2:n
r=rand;
p=find(r<=cumsum(a(:,1)),1,'first');
fern(i,1)=a(p,1)*fern(i-1,1)+a(p,2)*fern(i-1,2)+a(p,5);
fern(i,2)=a(p,3)*fern(i-1,1)+a(p,4)*fern(i-1,2)+a(p,6);
end
plot(fern(:,1),fern(:,2),'.','MarkerSize',1);
set(gca,'Color',[0.2 0.2 0.2],'XTick',[],'YTick',[]);
axis([-3 3 0 10]);
xlabel(' ');
ylabel(' ');
title('巴恩斯利蕨类');
fenxingfern(10000);
print('fenxingfern.png', '-dpng', '-r300')
output:
input(完整分形叶面):
function fenxingfernifs()
f1 = @(x,y) [0 0.00;0.00 0.16]*[x;y];
f2 = @(x,y) [0.85 0.04;-0.04 0.85]*[x;y]+[0;1.60];
f3 = @(x,y) [0.20 -0.26;0.23 0.22]*[x;y]+[0;1.60];
f4 = @(x,y) [-0.15 0.28;0.26 0.24]*[x;y]+[0;0.44];
w = [0.01 0.85 0.07 0.07];
n = 1000000;
x = zeros(2, n);
x(:, 1) = [0; 0];
for i = 2:n
r = rand();
if r < w(1)
x(:, i) = f1(x(1, i-1), x(2, i-1));
elseif r < w(1) + w(2)
x(:, i) = f2(x(1, i-1), x(2, i-1));
elseif r < w(1) + w(2) + w(3)
x(:, i) = f3(x(1, i-1), x(2, i-1));
else
x(:, i) = f4(x(1, i-1), x(2, i-1));
end
end
plot(x(1,:), x(2,:), '.', 'MarkerSize',1);
set(gca,'Color',[1 1 1],'XTick',[],'YTick',[]);
axis([-3 3 0 10]);
xlabel(' ');
ylabel(' ');
title('巴恩斯利蕨类');
end
output:
相关知识
分形几何: 从宝塔菜花说起
利用MATLAB绘制各种表白心形
分形艺术所画的抽象花
分形艺术理论引入现代景观设计初探
花卉抽象色彩艺术分形(flowers
基于分形理论研究土壤结构及其水分特征关系
基于平面格局三要素的澳门城镇景观分形特征
程序员表白神器。安卓程序员表白软件。程序员追女友利器=android+雪花效果+彩色气泡+心形花园+心形玫瑰花资源
Science封面文章解读:花椰菜分形结构的起源
花球(唇形科植物):形態特徵,生長習性,地理分布,繁殖方法,分株,扦插,播種,栽培
网址: 【matlab分形】2.1.分形之巴恩斯利蕨类 https://m.huajiangbk.com/newsview1570489.html
上一篇: 大花飞燕草为毛茛科多生草本,株高 |
下一篇: 科学网—火红的枫香树,话说枫香树 |