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

大憨熊 提交于 2021-02-01 11:37:53

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

绘制结果:

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!