MIT 6.031 Software Construction Lab1-Part2-Personal-Art

利用Turtle Graphics制作一些比较有趣的图形。
Turtle Graphics的模型支持点的连续移动,主要通过调用turn()和forward()方法。
适合用来绘制连续函数的图象,可以利用平面解析几何知识制作图形。
比如利用极坐标绘制对数螺线,心形线等等。
这里介绍一种利用递归方法绘制一类有趣图形的方法。

先看代码:

    private static void polyspi(double angle, double inc, double side, int times, Turtle turtle)
    {
        if (times > 0)
        {
            turtle.color(PenColor.getColor(times));
            turtle.forward(side);
            turtle.turn(angle);
            polyspi(angle, inc, (side + inc), (times-1), turtle);
        }
    }

效果:
1339509-20180304091913778-1343475166.png

这张图的参数是:
double angle = 59.5;
double inc = 0.5;
double side = 3;
int times = 300;

简要说明一下参数的作用:
@parameter : angle 影响的是图形的外轮廓,angle = 180° - inside angle
@parameter : inc 影响图形的大小与线的密集程度
@parameter : side 影响初始的线长度,即中央的空白
@parameter : times 影响图形的大小

参考:https://www.codeproject.com/Articles/117957/Turtle-Graphics-and-L-systems-with-F-and-WPF

转载于:https://www.cnblogs.com/KarlZhang/p/8503785.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值