Science 版 (精华区)
发信人: qpcwth (独翅鸟), 信区: Science
标 题: 《分形艺术》53
发信站: 哈工大紫丁香 (2001年11月03日18:23:17 星期六), 站内信件
第七章 对称图案与平面铺砌
7.5 平面铺砌的L系统生成
第五章已经说过用L系统方法生成经典分形图形,如皮亚诺曲线,也说过用L系统生
成植物形 态。这里将介绍用L系统生成平面铺砌图案,特别是非周期铺砌图案。所用符
号的含义同前 。我们主要用实例作说明。
1.彭罗斯KD铺砌
此例用两种类型的花砖(一种称风筝(K),另一种称箭头(D)),生成5次对称的铺砌图
形,其L 系统程序的伪码为:
FifthSymmKD { ; by Martin Gardner
Angle 10
Axiom WG+XG+WG+XG+WG+XG+WG+XG+WG+X
W=[F][++@1618033989F][++G---@618033989G|X-Y|G|W]
X=[F+++@1618033989F][++@618033989GZ|X|-G|W]
Y=[+F][@1618033989F][+G@618033989|Y+X]
Z=[-F][@1618033989F][@618033989G--WG|+Z]
F=
}
2.沃德堡螺旋铺砌
此例是沃德堡(H.Voderberg)给出的,其特点是采用螺旋形式铺满二维空间,并且只
用了一 种形状的“万能”花砖,其L系统程序伪码如下:
VoderbergTile { ; by Herb Savage
; based on Martin Gardner's "Penrose Tiles to Trapdoor Ciphers",
; A spiral tiling by Heinz Voderberg
Angle 30
Axiom \841A\96@4783386117M@I4783386117/96A
A=X\12X\12X\12X\12X\12X\12X\12X\12X\12X\12X\12X\12X\12X\12X\12Z
X=[D\78D\\4637236@3393427D@I3393427/4637236D\114
[\168X\24Y]D\78D\4637236@3393427D@I3393427/4637236D/78D]
Y=[D\78D\4637236@3393427D@I3393427/4637236D/78D\
168[\192Y]D\78D\4637236@3393427D@I3393427/4637236D]
Z=[D\78D\4637236@3393427D@I3393427/4637236D\114D\
78D\4637236@3393427D@I3393427/4637236D/78D]
}
3.彭罗斯KD铺砌第二、第三种生成方法
生成彭罗斯KD铺砌有许多方法,我们再给出两种,伪码如下:
PKD2 { ; by P.Hurbain, Penrose's KD tiling, with kites seed
Angle 10
Axiom [k]++[k]++[k]++[k]++[k]
k=+[@.618034a]f@.618034---[-k]f-f---[-k]@i.618034f[@.618034|a]
a=[@.618034k]+f@.618034[|a]----f+f----[a]@i.618034f
f=g
}
PKD3 {;Penrose's KD tiling, K generates the kite, A generates the dart
Angle 10
Axiom K
K=+[@.618034A]f@.618034---[-K]f-f---[-K]@i.618034f[@.618034|A]
A=[@.618034k]+f@.618034[|A]----f+f----[a]@i.618034f
f=g
}
4.阿曼多边形铺砌
此例采用不规则的五边形和六边形进行平面铺砌,其L系统伪码如下:
AmmannPoly { ; by P.Hurbain, showing only the pentagon/hexagon tiling
Angle 10
Axiom x
x=@.618034/36[\9@.66D]M[/196.5@.363D][/180y]\72M[/180x]
x=[\144@.618034M@i.618034x]\108[\36@.509D@1.18\30D][x]
M[\153@.66D]\72 [y]M
y=@.618034/72[x][\36@.509D]M\144[\9@.66D]M[/180y]
[/196.5@.363D]
y=\36[y]M\144M[/180x]
D=M
}
5.彭罗斯双菱形铺砌
此例采用两种菱形,得到非周期平面铺砌,图形具有5次旋转对称性,其伪码如下:
Penrose3 { ; by Herb Savage, Roger Penroses rhombuses
Angle 10
Axiom [X]++[X]++[X]++[X]++[X]
W=YF++ZF----XF[-YF----WF]++
X=+YF--ZF[---WF--XF]+
Y=-WF++XF[+++YF++ZF]-
Z=--YF++++WF[+ZF++++XF]--XF
F=
}
6.彭罗斯六花砖铺砌
此例采用6种花砖,在下面的程序中u生成星形,v生成船形,w生成窄菱形,x、y、
z分别 生成三种五边形。在图7.16中,左图用L系统迭代3次,右图迭代了5次。
StarsPentas {; by Philippe Hurbain,Penroses stars and pentagons
;u is the star, v is the boat, w is the thin rhombus
;x, y and z are the pentagons
Angle 10
Axiom u
u=@.381966[v]F[|y][-u]++F|+[v]F[|y]++F|+[v]F[|y]++F|+
u=[v]F[|y]++F|+[v]F[|y]++F
v=@.381966[v]F[|y]++F|+[v]F[|y]-[u]F-F|+[v]F[|y]++F
w=@.381966G++[u]F|+F-F|+[v]F[|y]
y=@.381966[x][y][w]F[|!y]++F++[y][w]F[|!y]++F++[z]F
x=@.381966G++G++[!x][!z]F--[!z]F--[!z]F--[!z]F--[!z]F
z=@.381966[z][x]F++[z]F++[w][y]F[|!y]++F++[z]F
F=G
}
图7.17 故宫石刻纹样。图中六角格子本来是6次旋转对称的,但图中引入一只凤和花卉
,对 称性破缺。正是对称与不对称的奇妙组合才构成了具有灵气的美。
--
心事浩茫连广宇,于无声处听惊雷
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.154]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.203毫秒