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

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)

绘制结果:

634d57d1e601638651ff783f4f03217b.png

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

绘制结果:

fd6474a3b005751ff32fe13566af5fa0.png

来源:oschina

链接:https://my.oschina.net/u/4375228/blog/3398869