L系统 - 减少较新分支的圆柱半径

时间:2011-11-15 00:27:12

标签: fractals turtle-graphics l-systems

我有一个由圆柱体制作的简单3D L系统,我现在只需浏览最终字符串中的每个符号,并执行适当的操作,如绘制,旋转,旋转,推动和弹出。我知道push和pop非常类似于一个新的分支,但我尝试在调用push时改变半径,但它会导致奇怪的结果。

有没有人有正确的方法让新的分支变得比以前的分支更薄?

感谢。

    else if((*it) == Push)
    {
       Radius -= 0.1f;
       PushMatrix();
    }
    else if((*it) == Pop)
    {
       Radius += 0.1f;
       PopMatrix();
    }

1 个答案:

答案 0 :(得分:0)

您还需要将乌龟的位置重置回分支点。