Python編寫(xiě)萬(wàn)花尺圖案實(shí)例
小的時(shí)候大家應(yīng)該都玩過(guò)萬(wàn)花尺,將筆尖放置萬(wàn)花尺內(nèi)不停的轉(zhuǎn)動(dòng),便可以畫(huà)出一幅精致的線稿圖,現(xiàn)在我們不用萬(wàn)花尺,我們通過(guò)Python也能繪制出萬(wàn)花尺圖案。
(一)代碼
#!/usr/bin/python# -*- coding: UTF-8 - *-import mathclass PTS:def __ init __(self):self.x = 0self.y = 0points = []def LineToDemo():from Tkinter import *screenx = 400screeny = 400canvas = Canvas(width = screenx,height = screeny,bg = ‘white’)AspectRatio = 0.85MAXPTS = 15h = screenyw = screenxxcenter = w / 2ycenter = h / 2radius = (h - 30) / (AspectRatio * 2) - 20step = 360 / MAXPTSangle = 0.0for i in range(MAXPTS): rads = angle * math.pi / 180.0 p = PTS() p.x = xcenter + int(math.cos(rads) * radius) p.y = ycenter - int(math.sin(rads) * radius * AspectRatio) angle += step points.append(p)canvas.create_oval(xcenter - radius,ycenter - radius, xcenter + radius,ycenter + radius)for i in range(MAXPTS): for j in range(i,MAXPTS): canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y)canvas.pack()mainloop()if __name__ == ’__main__’:LineToDemo()
(二)實(shí)現(xiàn)結(jié)果
我們還可以通過(guò)修改不同的參數(shù)來(lái)實(shí)現(xiàn)不同的圖案轉(zhuǎn)化,大家可以多試試,做出多種不同的效果圖。
到此這篇關(guān)于Python編寫(xiě)萬(wàn)花尺圖案實(shí)例的文章就介紹到這了,更多相關(guān)Python之萬(wàn)花尺圖案內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Java類加載機(jī)制實(shí)現(xiàn)步驟解析2. python3實(shí)現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)3. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問(wèn)題及解決4. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊5. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML6. PHP如何打印跟蹤調(diào)試信息7. Java8內(nèi)存模型PermGen Metaspace實(shí)例解析8. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法9. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法10. 匹配模式 - XSL教程 - 4
