Python繪制圓形方法及turtle模塊詳解
方法一生成圓:
方法二生成圓:
這里我們使用的是【matplotlib】生成的,但是我用的是中文的title,故而里需要單獨(dú)加上兩句話:
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用來正常顯示中文標(biāo)簽 plt.rcParams['axes.unicode_minus'] = False # 用來正常顯示負(fù)號
有了這兩句話,我們在顯示的時(shí)候就能正常的顯示在面板上了。
我們使用axis('equal')可以是軸向的x軸與y軸都相等,這樣才能畫出一個(gè)更好的圓。
axis('equal')
下面是我們以r=2作為半徑,a,b=(0.,0.)為圓心坐標(biāo)的方式進(jìn)行圓的繪制,我這里使用了兩種方法進(jìn)行計(jì)算,相對來說難度都不大,但是一個(gè)是使用con與sin進(jìn)行繪制的,另外的第二個(gè)使用的是sqrt開根號的方式進(jìn)行繪制的,過程中我們要注意所有的變量都是浮點(diǎn)數(shù),如果只進(jìn)行整數(shù)計(jì)算在單位坐標(biāo)內(nèi)是很難繪制出來一個(gè)比較好看圓的。
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 用來正常顯示中文標(biāo)簽 plt.rcParams['axes.unicode_minus'] = False # 用來正常顯示負(fù)號 # ========================================== # 圓的基本信息 # 1.圓半徑 r = 2.0 # 2.圓心坐標(biāo) a, b = (0., 0.) # ========================================== # 方法一:參數(shù)方程 theta = np.arange(0, 2 * np.pi, 0.01) x = a + r * np.cos(theta) y = b + r * np.sin(theta) fig = plt.figure() axes = fig.add_subplot(111) axes.plot(x, y) axes.axis('equal') plt.title('圓形繪制1') # ========================================== # 方法二:標(biāo)準(zhǔn)方程 x = np.arange(a - r, a + r, 0.01) y = b + np.sqrt(r ** 2 - (x - a) ** 2) fig = plt.figure() axes = fig.add_subplot(111) axes.plot(x, y) # 上半部 axes.plot(x, -y) # 下半部 plt.axis('equal') plt.title('圓形繪制2') # ========================================== plt.show()
其實(shí)最簡單的圓還得看下面這個(gè):這里我們使用的是turtle,直接利用自身所帶的函數(shù)color設(shè)置顏色,circle就是設(shè)置圓的半徑,最后顯示就行。很痛快的。
import turtle turtle.color('red') turtle.circle(120) turtle.done()
這個(gè)圓是相當(dāng)于手繪的過程。效果還是很好的。
Python畫圖之turtle模塊:
在中國電子學(xué)會組織的“全國青少年軟件編程等級考試”Python一級考綱里要求考生知道turtle庫的功能,知道如何導(dǎo)入該庫文件,掌握它的使用方法:前進(jìn)、后退、左右轉(zhuǎn)、提落筆、畫點(diǎn)、畫圓等。
turtle,中文是海龜,所以我們有時(shí)也稱叫海龜作圖。
turtle模塊繪圖思路
- 首先導(dǎo)入turtle模塊;
- 起始默認(rèn)位置被設(shè)定在(0,0)處,即窗口的中心(起始位置可以設(shè)置),且繪制方向是從左往右;
- turtle模塊是模擬用筆繪制圖形的,默認(rèn)筆是向下的(turtle.pendown()),好像筆尖放在紙上一樣;
- 開始畫圖時(shí),設(shè)置筆向下,按照要求移動(dòng)繪制圖形。
- 繪制結(jié)束,將筆抬起turtle.penup()
附:繪制同心圓的代碼
import turtle #以坐標(biāo)為(0,10)為共同的圓心 turtle.color('red') turtle.circle(10) turtle.penup() turtle.goto(0,-30) turtle.down() turtle.color('green') turtle.circle(40) turtle.penup() turtle.goto(0,-70) turtle.down() turtle.color('blue') turtle.circle(80) turtle.penup() turtle.goto(0,-170) turtle.down() turtle.color('black') turtle.circle(180) turtle.done() ''' import turtle #這里使用了列表來存放圓的顏色和半徑 #這里使用turtle.goto(x,y)讓畫筆移動(dòng),從而達(dá)到實(shí)現(xiàn)同心圓的繪制 #以坐標(biāo)為(0,0)為共同的圓心 color = ['red','green','blue','black']#存放圓的顏色 r = [10,40,80,160]#存放圓的半徑 for i in range(4): turtle.penup() turtle.goto(0, -r[i]) turtle.pendown() turtle.pencolor(color[i]) turtle.circle(r[i]) turtle.done() '''
總結(jié)
到此這篇關(guān)于Python繪制圓形方法及turtle模塊的文章就介紹到這了,更多相關(guān)Python繪制圓形內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)刪除windows下的長路徑文件
這篇文章主要為大家詳細(xì)介紹一下如何利用Python語言實(shí)現(xiàn)刪除windows下的長路徑文件功能,文中的示例代碼講解詳細(xì),具有一定參考借鑒價(jià)值,感興趣的可以了解一下2022-07-07利用Seaborn繪制20個(gè)精美的pairplot圖
本文記錄的使用seaborn繪制pairplot圖,主要是用來顯示兩兩變量之間的關(guān)系(線性或非線性,有無較為明顯的相關(guān)關(guān)系等),感興趣的可以了解一下2022-07-07Python matplotlib 動(dòng)畫繪制詳情
這篇文章主要介紹了Python matplotlib 動(dòng)畫繪制,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09Python實(shí)現(xiàn)AI自動(dòng)玩俄羅斯方塊游戲
提到《俄羅斯方塊》,那真是幾乎無人不知無人不曉。其歷史之悠久,可玩性之持久,能手輕輕一揮,吊打一大波游戲。本文將利用Python實(shí)現(xiàn)俄羅斯方塊進(jìn)階版—AI自動(dòng)玩俄羅斯方塊,感興趣的可以學(xué)習(xí)一下2022-03-03