我一直在考虑制作一个程序,让我输入一个数字,然后计算并显示这个数字迭代的龙曲线。老实说,我不知道如何开始解决这个问题,我也不知道如何让它尽可能优雅和有效。我希望程序中显示的曲线也可以保存(我不知道该怎么做)。
我知道如何从根本上创造一条龙曲线,或者有时被称为高速公路龙。一种方法如下。
从基础段开始,将每个段以直角替换为2段,并在右侧和左侧交替旋转45°。
另一种方法是考虑使用
的Lindenmayer系统另一种创建龙曲线的方法是考虑曲线所做的转动。对于前几次迭代,右(R)和左(L)转弯的顺序如下:
第一次迭代:R
第二次迭代:RRL
第3次迭代:RRLRRLL
第四次迭代:RRLRRLLRRRLLRLL
这表明了以下模式:每次迭代都是通过前一次迭代形成的,最后添加一个R,然后再次进行原始迭代,将其逆行翻转,交换每个字母并在R之后添加结果。 / p>
有关如何创建龙曲线或龙曲线本身的更多信息,请考虑this Wikipedia article。
我要求的是Cocoa中的一个程序,它会让我进行迭代,为我计算和显示曲线,然后允许我将此曲线保存为图像(最好是JPEG,但这无关紧要)。
提前致谢。
我发现this site在几种编程语言中列出了几种方法,但我似乎无法在Cocoa编程中找到任何方法。