python简单图画程序_用Python的Turtple画图形
不知道各位是否還記得在小學或者初中的時候,我們接觸過一種語言叫做logo語言,這個語言可以畫正方形,畫三角形,畫圓。而用Python畫圖形也有點類似logo語言的意思。
在畫圖之前,我們需要啟動一個模塊,turtple。然后在這個turtple下有一個屬性叫pen,顧名思義就是畫筆的意思。當輸入完pen這個屬性的時候,idle會打開一個叫Python Turtle Graphics的東西,在屏幕中間有一個三角的原點,這個點就有點類似logo的點,我們就是操作它來回移動留下痕跡。在idle里寫完一句話,后面的Graphics就會畫一道,然后再寫一句話,再畫一道。如果是直接的.py文件,那么就會按步驟的出現圖形。
import turtple
t=turtple.Pen() #設定這個t就是整個的變量,注意大寫P
讓原點前進50個像素:t.forward(50)
讓原點左轉90度:t.left(90)
讓原點右轉30度:t.right(30)
讓原點抬起來:t.up() #這樣使用forward就不會留下痕跡,因為筆在紙面上抬起來了嘛
讓原點落下:t.down()
讓原點是藍色:t.color("blue")
需要使用藍色填充圖案:t.begin_fill() #需要和上面的語句搭配
填充圖案停止:t.end_fill()
清空左右圖案并且原點回到原始位置:t.reset()
讓原點移動到(70,100)的位置:t.goto(70,100) #注意中間是逗號,默認整個圖案是四象限的
了解了上面的幾個簡單語句,就可以畫一個八邊形,比如這個圖:
這個圖的程序就比較靈活了:
import time
import turtle
#x邊形內角和180*(x-3)
#函數:給出大小和頂點數繪制星星
#size:星星的核心是個等邊多邊形,這是該多邊形的頂點到其中心的距離
#point:頂點數
def funcDrawStar(size, point):
t = turtle.Pen()
#調校坐標位置
t.up()
t.backward(200)
t.right(90)
t.forward(100)
t.left(90)
t.down()
#開始畫圖
t.color(1, 0, 0)
t.begin_fill()
for x in range(1, point * 2 + 1):
t.forward(size)
if x % 2 == 0:
t.left(120)
else:
t.right(180 * (point - 2) / point - 60)
t.end_fill()
#funcDrawStar(100, 6)
funcDrawStar(100, 9)
time.sleep(5)
上面都是一些簡單的應用,但是要知道python也是可以畫出來美妙的圖形的,比如下圖:
這個圖形的代碼如下(代碼是轉載的,感謝大牛分享,python 3.5親測好使,而且整個過程非常美妙,強烈推薦各位感受一下。)
from numpy import *
from random import random
import turtle
turtle.reset()
x = array([[.5],[.5]])
p = [0.85,0.92,0.99,1.00]
A1 = array([[.85, 0.04], [-0.04,.85]])
b1 = array([[0],[1.6]])
A2 = array([[0.20,-0.26], [0.23,0.22]])
b2 = array([[0],[1.6]])
A3 = array([[-0.15,0.28],[0.26,0.24]])
b3 = array([[0],[0.44]])
A4 = array([[0,0], [0,0.16]])
turtle.color("red")
cnt = 1
while True:
cnt += 1
if cnt == 2000:
break
r = random()
if r < p[0]:
x = dot(A1 , x) + b1
elif r < p[1]:
x = dot(A2 , x) + b2
elif r < p[2]:
x = dot(A3 , x) + b3
else:
x = dot(A4 , x)
#print x[1]
turtle.up()
turtle.goto(x[0][0] * 50,x[1][0] * 40 - 240)
turtle.down()
turtle.dot()
總結
以上是生活随笔為你收集整理的python简单图画程序_用Python的Turtple画图形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 行程单图片python预处理_GCC编译
- 下一篇: websocket python爬虫_p