1

在 The Algorithmic Beauty of Plants中,有一个示例参数 L 系统(第 69 页)显示了番红花的模型:

用于建模番红花的 L 系统规则

我还不能完全弄清楚如何解释~生产中的符号:

p1: a(t) : t<Ta --> F(1)[&(30)~L(0)]/(137.5)a(t+1)

上面描述的文字如下:

生产 p1 描述了由植物顶点 a 产生的连续节间 F 和叶 L。叶子从茎部以 30° 的角度分枝,并围绕主轴旋转,发散角等于 137.5°。

  • &意思是“弯下腰”
  • /意思是“向右滚动”
  • [意味着开始一个新的分支,保存状态
  • ]表示跳回之前的保存状态

我知道它打算表示一个螺旋或扭曲的运动 - 但目前尚不清楚这是否是“移动一点”或呈现多个连续操作的东西,在重写中抛出了许多额外的元素。

我翻遍了Algorithmic Botany的用户手册,但没有找到任何关于生产最终结果的参考资料。上面的图像似乎显示了相反两侧的叶子,当它们向上推进时,它们会盘旋。如果这只是“扭曲了一下并扔出一片叶子”,我希望只看到一片叶子,而不是一对。

生产 3 中使用了相同的符号,它也以螺旋形式显示花瓣:

p3 : A : * --> ~K(0)

任何人都可以阐明我所缺少的东西吗?

4

1 回答 1

1

当然在这里问了之后,我才找到了答案。~不代表螺旋或扭曲,而是代表“呈现一个表面” 。

我在James Hanan 的 1992 年关于实现 L-systems 的论文中找到了对它的引用,幸运的是从algorithmicbotany.com网站链接。

根据论文(论文第36页)

当海龟遇到一个表示前面有波浪号 ( ~) 的表面的符号时,就会绘制相应的表面。使用用户定义的接触点 Ps、航向矢量 Hs 和向上矢量 Us 作为参考来确定预定义表面 S 的确切位置和方向。

然后,本文继续展示了一个渲染苹果花和雄蕊的示例,并带有适当的 L 系统生产语句,使用该~符号表示基于~.

于 2021-02-28T18:38:42.573 回答