120 likes | 325 Views
第 3 章. 文法构图算法. 3.1 LS 文法 3.2 单一规则的 LS 文法生成. 3.3 多规则的 LS 文法生成 3.4 随机 LS 文法. 文法构图算法. 字母表: L , R 生成规则: L→R , R→L R 初始字母: R 则有: R→L R→R L R→L R R L R→R L R L R R L R→L R R L R R L R L R R L R→ ……. LS 文法. 3.1. 二维 LS 是字母表的绘图规则如下: F :以当前方向前进一步,并画线; f :以当前方向前进一步,不画线; +:逆时针旋转角;
E N D
第 3章 文法构图算法 3.1 LS文法 3.2 单一规则的LS文法生成 3.3 多规则的LS文法生成 3.4 随机LS文法 参考书:《分形算法与程序设计》
文法构图算法 字母表:L,R 生成规则:L→R,R→L R 初始字母:R 则有:R→L R→R L R→L R R L R→R L R L R R L R→L R R L R R L R L R R L R→…… 参考书:《分形算法与程序设计》
LS文法 3.1 二维LS是字母表的绘图规则如下: F:以当前方向前进一步,并画线; f:以当前方向前进一步,不画线; +:逆时针旋转角; -:顺时针旋转角; [:将海龟当前信息压栈; ]:将“[”时刻的海龟信息出栈。 参考书:《分形算法与程序设计》
单一规则的LS文法生成 3.2 步骤0:F 步骤1:F +F - - F + F 步骤2:F +F - - F +F +F +F - - F +F - - F +F - - F +F +F +F - - F +F 步骤3:F +F - - F +F +F +F - - F +F - - F +F - - F +F +F +F - - F +F +F +F - - F +F +F +F - - F +F - - F +F - - F +F +F +F - - F +F - - F +F - - F +F +F +F - - F +F - - F+F - - F +F +F +F - - F +F +F +F - - F +F +F +F - - F +F - - F+F - - F +F +F +F - - F +F 步骤4:…… Koch曲线的LS文法如下: w:F a :60o P:F → F + F - - F + F 参考书:《分形算法与程序设计》
单一规则的LS算法实现 3.3 参考书:《分形算法与程序设计》
单一规则的LS算法实现 3.3 参考书:《分形算法与程序设计》
单一规则的LS算法实现 3.3 参考书:《分形算法与程序设计》
多规则的LS文法生成 3.3 为了生成更复杂的图形,可将字母表增加字母元素 Sierpinski垫片的LS文法如下: w:L a :600 P1:L → + R - L - R + P2:R → - L + R + L - 相应的改造1: 参考书:《分形算法与程序设计》
多规则的LS文法生成 3.3 相应的改造2: 参考书:《分形算法与程序设计》
多规则的LS文法生成 3.3 相应的改造3: 参考书:《分形算法与程序设计》
随机LS文法 3.4 为了更好的模拟自然景物,需要随机使用多个变换规则。 w:F a:25 P1:F————→F[+F]F[-F]F P2:F————→F[+F]F[-F[+F]] P3:F————→FF[-F+F+F]+[+F-F-F] 相应的改造2: p1 p2 p3 相应的改造1: 参考书:《分形算法与程序设计》
随机LS文法 3.4 参考书:《分形算法与程序设计》