Python學習之旅(三十二)
Python基礎知識(31):圖形介面(Ⅱ)
Python內建了turtle庫,可以在計算機上繪圖
運動控制:
1、畫筆定位到座標(x,y):turtle.goto(x,y)
2、向正方向運動 distance 長的距離:turtle.forward(distance)
3、向負方向運動 distance 長的距離:turtle.backward(distance)
4、向右偏angle度:turtle.right(angle)
5、向左偏angle度:turtle.left(angle)
6、回到原點:turtle.home()
7、畫圓形以radius為半徑,extent為圓的角度:turtle.circle(radius, extent=None, steps=None)
8、以speed速度運動:turtle.speed(speed)
一、簡單的長方形
width()
函式可以設定筆刷寬度,pencolor()
函式可以設定顏色
#匯入turtle包的所有內容 from turtle import * #設定筆刷寬度 width(5) #前進 forward(200) #右轉90度 right(90) #筆刷顏色 pencolor('red') forward(100) right(90) pencolor('green') forward(200) right(90) pencolor('blue') forward(100) right(90) #呼叫done()使得視窗等待被關閉,否則將立即關閉視窗done()
執行上述程式碼,會自動彈出一個繪圖視窗,然後繪製出一個長方形
二、用正方形畫圓
60 個正方形每隔 1 度排列,短短几行程式碼可以生成一個漂亮規則的圖形
import turtle
for i in range(360):
turtle.setheading(i)
for i in range(4):
turtle.forward(100)
turtle.left(90)
執行完這個程式大概要幾分鐘的時間,效果圖如下
三、繪製一棵分型樹
使用遞迴繪製一棵分型樹
from turtle import * #設定色彩模式是RGB: colormode(255) lt(90) lv = 14 l = 120 s = 45 width(lv) # 初始化RGB顏色: r = 0 g = 0 b = 0 pencolor(r, g, b) penup() bk(l) pendown() fd(l) def draw_tree(l, level): global r, g, b # save the current pen width w = width() # narrow the pen width width(w * 3.0 / 4.0) # set color: r = r + 1 g = g + 2 b = b + 3 pencolor(r % 200, g % 200, b % 200) l = 3.0 / 4.0 * l lt(s) fd(l) if level < lv: draw_tree(l, level + 1) bk(l) rt(2 * s) fd(l) if level < lv: draw_tree(l, level + 1) bk(l) lt(s) # restore the previous pen width width(w) speed("fastest") draw_tree(l, 4) done()
執行大概要幾分鐘的時間,效果圖如下
參考資料:
1、廖雪峰學習官網:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001542537415495bc2748dc8ceb4d3890301cf8235e3728000
2、不會飛的章魚:https://www.cnblogs.com/OctoptusLian/p/6363354.html
3、海龜繪圖簡易教程|Turtle for Python:https://blog.csdn.net/u013468614/article/details/82622497