- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
L系统模型构建
第一章 L 系统的基本理论
1、L 系统
L 系统实质上就是一个并行重写系统. 其核心概念是重写( rewriting) ,重写的基本思想是根据预先定义的重写规则(生成规则) 集不断地生成复合形状并用它来取代初始简单物体的某些部分以定义复杂物体. L系统是一个形式语言系统,对迭代生成的字符串从左至右连续扫描,并对每一个字符做出相应的几何解释,这样就由字符串得到植物的结构形态.
2、L 系统的平面解释
L 系统在平面内采用“二维龟解释模型”. 设想1只乌龟在平面上爬行,其状态用3 个值描述,记作( x , y ,α) 其中x , y 为乌龟所在位置的直角坐标,α表示乌龟头的朝向. 再给定乌龟爬行的步长d 及扭转方向的角度增量δ.
F:向前移动一步,步长为d. 乌龟到达状态( x’ , y’ ,α) ,其中
x’ = x + d * ;y’ = y + d *; (1. 1)
+: 向左转δ角,乌龟下一状态为( x , y ,α+δ) ,规定正向角是逆时针方向;
-: 向右转δ角,乌龟下一状态为( x , y ,α- δ) ,规定负向角是顺时针方向.
其中d、α和δ是可以改变的参数,经过这样反复重写,最后可以得到分形图.
3、L 系统的空间解释
在三维空间内,本文采用的是“三维龟模型”符号解释. 龟有它的状态,包括笛卡尔坐标系下的位置和方向,还有一些附加的属性,如当前的颜色和线宽. 位置由矢量P 定义,方向由3 个矢量H ,L ,U 定义,分别表示乌龟的方向:向前、向左、向上.
这3 个向量都具有单位长度,且互相垂直,满足HXL = U. 因此,龟行的旋转可以用下面的式子表示:
[ H′ L′ U′] = [ H L U ]R (1. 2)
其中R 为旋转矩阵,绕H 逆时针方向旋转, θ旋转矩阵用RU (θ) 和RL (θ) 表示,绕L 及绕H 的旋转矩阵分别用RL (θ) 和RH (θ) 表示,分别有如下形式:
RU (θ) =, RL (θ) =, RH (θ) =
其中c =;s = ; (1. 3)
龟在空间改变方向采用下列符号:
(1)控制龟图方向的符号
+(δ) : 绕U向左转δ角,用矩阵
-(δ) : 绕U向右转δ角,用矩阵
(δ) : 绕L向下转δ角,用矩阵
^(δ) : 绕L向上转δ角,用矩阵
\(δ) : 绕H向左转δ角,用矩阵
/(δ) : 绕H向右转δ角,用矩阵
| : 绕U 向右翻180°,用矩阵
用上述符号可画出三维图空间方向及旋转示意图如下:
(2)模仿分枝结构的符号
[ 将当前龟图的状态压入栈(位置,方向,坐标)
] 从栈中弹出一个状态并且当做当前的状态;不画线
(3)创建与合并曲面的符号
{ 保存随后的龟图坐标,作为被填充多边形的顶点
} 填充保存的多边形
~X(s) 在龟图当前位置和方向的基础上,以s为比例画曲面。这个曲面通常是双三次曲面片
(4)改变画图属性的符号
#(w) 设置线的宽度为w,或者在没有给定参数的情况下使用默认宽度增量增加宽度
!(w) 设置线的宽度为w,或者在没有给定参数的情况下使用默认宽度减量降低宽度
;(n) 设置颜色地图的索引为n,或者在没有给定参数的情况下使用默认颜色增量增加当期索引值
,(n) 设置颜色地图的索引为n,或者在没有给定参数的情况下使用默认颜色减量降低当期索引值
第二章 参数L 系统
参数L 系统把最基本的平行重写概念,从仅有字符组成的单词,扩展到带参数的单词.
参数OL 系统是一个四元组: G = ( V 、Σ、ω、P) (2. 1)
其中:
·V 表示系统字母表;
·Σ为形式参数集合;
·是非空的带参数的单词,谓之公理;
·为产生式的有限集;
OL 系统中的“O”是不考虑前驱字符的上下文语义.
参数OL 系统产生式可写成: pred : cond - succ (2. 2)
其中: pred 是前驱,cond 是条件,succ 是后继.
如果满足以下所有条件,则一个产生式和一个带参数的模块相匹配:
(1) 模块中的字符和产生式的前驱字符相同;
(2) 模块中的实参个数和产生式中的形参个数相等;
(3) 用实参代替产生式中的形参,条件表达式为真.
如果某个产生式和某个模块匹配,就用该产生式的后继代替这个模块中的字符串,并用实参代替相应位置的形参.
如果某个模块没有和它相匹配的产生式,则在字符串重写的过程中就用它自身来替换. 在这种情况下,当且仅当对每一个模块A ( t1 , t2 ?, tn ) ∈ 只对应一个应用产生式,则这种参数OL 系统称为参数DOL 系统,即确定的参数OL 系统.
下图是参数DOL 系统的空间扩展的实例研究,4 个图例有同一产生式P 1 生成.
ω: A (s; w0 )
P
文档评论(0)