应该如何解释 ~ 以重写植物算法之美中 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°.
&
表示 'bend down'
/
表示 'roll right'
[
表示开始新的分支,save-state
]
表示跳回到上一个保存状态
我知道它打算表示螺旋或扭曲运动 - 但不清楚这是“稍微移动”还是呈现多个连续操作的东西,在重写。
我翻阅了 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 系统生产语句,使用 ~
符号表示根据出现的符号显示相关表面在 ~
.
之后
在 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°.
&
表示 'bend down'/
表示 'roll right'[
表示开始新的分支,save-state]
表示跳回到上一个保存状态
我知道它打算表示螺旋或扭曲运动 - 但不清楚这是“稍微移动”还是呈现多个连续操作的东西,在重写。
我翻阅了 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 系统生产语句,使用 ~
符号表示根据出现的符号显示相关表面在 ~
.