使用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)

 

繪制結果:

 

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

繪制結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM