zoukankan      html  css  js  c++  java
  • turtle绘制图形

    Example1:

    1 import turtle as t
    2 #初始设置画笔的宽度(size)、颜色(color)
    3 t.pensize(5)
    4 t.pencolor("black")
    5 #循环结构,减少代码
    6 for i in range(4):
    7     t.forward(200)
    8     t.left(90)

    Example2:

    方法一:把上面绘制四边形的代码:行6中的4改为6即可

    #方法二
    import turtle as t
    t.pensize(5)
    t.pencolor("black")
    t.right(30)
    t.circle(100,steps=6)
    #下面是绘制该六边形的外接圆
    t.pencolor("red")
    t.circle(100)

    结果:

    所绘制出来的六边形与题目要求的不一样的原因:用turtle.circle(r,steps=n)绘制正n多边形的时候,其“半径”默认是“海龟”视角下的正左边,即以“海龟”为原点,它头的朝向为x轴正方向,圆心在与它垂直的左边,所以绘制正n多边形跟绘制它的外接圆是一样的

    先改变朝向,在绘制即可:

     

    Example3:

     1 import turtle as t
     2 t.pensize(5)
     3 t.pencolor("black")
     4 for i in range(4):
     5     t.forward(150)  
     6     t.right(90)
     7     t.circle(-150,45)
     8     t.right(90)
     9     t.forward(150)
    10     t.left(135)

    Conclusions:

      对于规则且重复的图像,建议用“相对移动”函数:forward()backward()和“相对角度”函数:right()left(),因为这样便于用for循环。如果用“绝对移动”函数:goto()和“绝对角度”函数:setheading(),则无法用循环,每次改变位置或角度都要修改参数,比较麻烦

  • 相关阅读:
    javascript实现根据时间段显示问候语的方法
    视觉会议收藏一
    cv的期刊和会议
    CVPR2016 Paper list
    CVPR 2017 Paper list
    关注的牛人
    cvpr2016论文
    linux命令技巧:scp多文件远程拷贝
    linux命令技巧--df -lh:查看磁盘占用情况
    spark--01编译安装spark1.3.1
  • 原文地址:https://www.cnblogs.com/kenny-feng/p/11321846.html
Copyright © 2011-2022 走看看