Python繪制圓形方法及turtle模塊詳解
方法一生成圓:

方法二生成圓:

這里我們使用的是【matplotlib】生成的,但是我用的是中文的title,故而里需要單獨(dú)加上兩句話:
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用來(lái)正常顯示中文標(biāo)簽 plt.rcParams['axes.unicode_minus'] = False # 用來(lái)正常顯示負(fù)號(hào)
有了這兩句話,我們?cè)陲@示的時(shí)候就能正常的顯示在面板上了。
我們使用axis('equal')可以是軸向的x軸與y軸都相等,這樣才能畫(huà)出一個(gè)更好的圓。
axis('equal')
下面是我們以r=2作為半徑,a,b=(0.,0.)為圓心坐標(biāo)的方式進(jìn)行圓的繪制,我這里使用了兩種方法進(jìn)行計(jì)算,相對(duì)來(lái)說(shuō)難度都不大,但是一個(gè)是使用con與sin進(jìn)行繪制的,另外的第二個(gè)使用的是sqrt開(kāi)根號(hào)的方式進(jìn)行繪制的,過(guò)程中我們要注意所有的變量都是浮點(diǎn)數(shù),如果只進(jìn)行整數(shù)計(jì)算在單位坐標(biāo)內(nèi)是很難繪制出來(lái)一個(gè)比較好看圓的。
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用來(lái)正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus'] = False # 用來(lái)正常顯示負(fù)號(hào)
# ==========================================
# 圓的基本信息
# 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í)最簡(jiǎn)單的圓還得看下面這個(gè):這里我們使用的是turtle,直接利用自身所帶的函數(shù)color設(shè)置顏色,circle就是設(shè)置圓的半徑,最后顯示就行。很痛快的。
import turtle
turtle.color('red')
turtle.circle(120)
turtle.done()這個(gè)圓是相當(dāng)于手繪的過(guò)程。效果還是很好的。

Python畫(huà)圖之turtle模塊:
在中國(guó)電子學(xué)會(huì)組織的“全國(guó)青少年軟件編程等級(jí)考試”Python一級(jí)考綱里要求考生知道turtle庫(kù)的功能,知道如何導(dǎo)入該庫(kù)文件,掌握它的使用方法:前進(jìn)、后退、左右轉(zhuǎn)、提落筆、畫(huà)點(diǎn)、畫(huà)圓等。
turtle,中文是海龜,所以我們有時(shí)也稱叫海龜作圖。
turtle模塊繪圖思路
- 首先導(dǎo)入turtle模塊;
- 起始默認(rèn)位置被設(shè)定在(0,0)處,即窗口的中心(起始位置可以設(shè)置),且繪制方向是從左往右;
- turtle模塊是模擬用筆繪制圖形的,默認(rèn)筆是向下的(turtle.pendown()),好像筆尖放在紙上一樣;
- 開(kāi)始畫(huà)圖時(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
#這里使用了列表來(lái)存放圓的顏色和半徑
#這里使用turtle.goto(x,y)讓畫(huà)筆移動(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python字符串對(duì)象實(shí)現(xiàn)原理詳解
這篇文章主要介紹了Python字符串對(duì)象實(shí)現(xiàn)原理詳解,在Python世界中將對(duì)象分為兩種:一種是定長(zhǎng)對(duì)象,比如整數(shù),整數(shù)對(duì)象定義的時(shí)候就能確定它所占用的內(nèi)存空間大小,另一種是變長(zhǎng)對(duì)象,在對(duì)象定義時(shí)并不知道是多少,需要的朋友可以參考下2019-07-07
Python文字截圖識(shí)別OCR工具實(shí)例解析
這篇文章主要介紹了Python文字截圖識(shí)別OCR工具實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
pythonfor循環(huán)中range與len區(qū)別
這篇文章主要介紹了pythonfor循環(huán)中range與len區(qū)別,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定參考價(jià)值,需要的小伙伴可以參考一下2022-06-06
pytorch中torch.max和Tensor.view函數(shù)用法詳解
今天小編就為大家分享一篇pytorch中torch.max和Tensor.view函數(shù)用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python的pip在命令行無(wú)法使用問(wèn)題的解決方法
PIP是通用的Python包管理工具,提供了對(duì)?Python?包的查找、下載、安裝、卸載、更新等功能,安裝諸如Pygame、Pymysql等Python包時(shí),都要用到pip,許多人在第一次使用pip的時(shí)候都會(huì)出現(xiàn)'pip'?不是內(nèi)部或外部命令,所以本文介紹了Python的pip在命令行無(wú)法使用問(wèn)題的解決方法2025-05-05
對(duì)Django中static(靜態(tài))文件詳解以及{% static %}標(biāo)簽的使用方法
今天小編就為大家分享一篇對(duì)Django中static(靜態(tài))文件詳解以及{% static %}標(biāo)簽的使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
pandas按某2列進(jìn)行分層隨機(jī)抽樣的實(shí)現(xiàn)
本文主要介紹了pandas按某2列進(jìn)行分層隨機(jī)抽樣的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
python中的十大%占位符對(duì)應(yīng)的格式化的使用方法
本文主要介紹了python中的十大%占位符對(duì)應(yīng)的格式化的使用方法,它可以很好的幫助我們解決一些字符串格式化的問(wèn)題, 文中通過(guò)示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下2022-01-01

