使用Python的turtle库实现六角形以及正方形螺旋线的绘制

时间:2019-09-11 20:17:13   收藏:0   阅读:1126

1.六角形的绘制

思路:一个六角形可以看作是两个等边三角形具有共同的中心且垂线互成60°角。所以只需实现一个等边三角形的绘制以及第二个三角形绘制起点的移动即可。

代码如下:

import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.pensize(1)
turtle.pencolor("red")
turtle.fd(100)
turtle.seth(30)
turtle.pendown()
turtle.fd(80)
turtle.seth(-90)
turtle.fd(80)
turtle.seth(150)
turtle.fd(80)      //第一个三角形绘制完成
turtle.penup()     //将画笔抬起,此时任何画笔操作都不会绘制出来
turtle.seth(30)
turtle.fd(80/3)
turtle.seth(90)
turtle.fd(80/3)     //调整第二个三角形的绘制起点
turtle.pendown()    //将画笔放下,绘制接下来的画笔移动路径
turtle.seth(-30)
turtle.fd(80)
turtle.seth(-150)
turtle.fd(80)
turtle.seth(90)
turtle.fd(80)

 

2.正方形螺旋线的绘制

思路:每画四条线作为一个循环,根据设置的边长来设置循环次数(循环次数应为设置的边长的四分之一)

import turtle
turtle.setup(1000,1000,0,0)
turtle.pensize(1)
turtle.pencolor("violet")
turtle.speed(0)
turtle.penup()
turtle.fd(-250)
turtle.seth(-90)
turtle.fd(250)      //设置绘制起点
turtle.pendown()

x = 100        //正方形初始边长
for i in range(25):   

    turtle.seth(90)
    turtle.fd(x)
    turtle.seth(0)
    turtle.fd(x)
    turtle.seth(-90)
    turtle.fd(x-2)     //每次绘制边长比前一次少2
    turtle.seth(180)
    turtle.fd(x-2)   
    x = x-4

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!