应该如何解释 ~ 以重写植物算法之美中 L 系统语法中的模块?

How should the ~ be interpreted for rewriting a module in the L-systems grammar from Algorithmic Beauty of Plants?

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

我还没弄清楚如何解释生产中的 ~ 符号:

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

上面描述这个的文字是:

Production p1 describes the creation of successive internodes F and leaves L by the vegetative apex a. The leaves branch from the stem at an angle of 30° and spiral around the main axis with a divergence equal to 137.5°.

我知道它打算表示螺旋或扭曲运动 - 但不清楚这是“稍微移动”还是呈现多个连续操作的东西,在重写。

我翻阅了 Algorithmic Botany 的用户手册,但没有找到任何关于制作最终结果的参考资料。上图似乎显示了两边的叶子,随着它们沿着茎向上移动,它们呈螺旋状旋转。如果这只是“扭曲了一下并扔出一片叶子”,我希望看到的只是一片叶子,而不是一对。

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

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

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

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

我在 James Hanan's 1992 dissertation on implementing L-systems, fortunately linked from the algorithmicbotany.com 站点中找到了对它的引用。

根据论文(论文第 36 页)

When the turtle encounters a symbol representing a surface preceded by a tilde (~), the corresponding surface is drawn. The exact position and orientation of a predefined surface S is determined using the user-defined contact-point Ps, heading vector Hs, and up vector Us as references.

然后本文继续展示了一个渲染苹果花和雄蕊的例子,使用适当的 L 系统生产语句,使用 ~ 符号表示根据出现的符号显示相关表面在 ~.

之后