日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

基于python分享極坐標(biāo)下的幾類典型曲線_python

作者:帥帥de三叔 ? 更新時(shí)間: 2022-05-06 編程語(yǔ)言

導(dǎo)言:

忽然發(fā)現(xiàn)數(shù)學(xué)家還是很擅長(zhǎng)發(fā)明新玩意構(gòu)造新東西的,如很早的歐幾里得幾何體系,后來(lái)的笛卡爾直角坐標(biāo)系,還有極坐標(biāo)系,埃爾朗根綱領(lǐng),一門(mén)學(xué)科的發(fā)展需要一代又一代的人前赴后繼為其添磚加瓦,筑成一座大廈,今天我們來(lái)簡(jiǎn)單介紹一下極坐標(biāo)系。

一、極坐標(biāo)

極坐標(biāo)系統(tǒng)是一套區(qū)別于笛卡爾直角坐標(biāo)系的二維坐標(biāo)系統(tǒng),它是指在平面內(nèi)取一個(gè)定點(diǎn)O,然后從O點(diǎn)引一條射線Ox,再選定一個(gè)長(zhǎng)度單位和角度的正方向(通常取逆時(shí)針?lè)较颍┒鴱埑傻囊粡埰矫娼欠Q為極坐標(biāo)系統(tǒng),簡(jiǎn)稱極坐標(biāo)。其中,點(diǎn)O叫極點(diǎn),射線Ox叫做極軸,對(duì)于平面內(nèi)任何一點(diǎn)M,用ρ表示線段OM的長(zhǎng)度,θ表示從Ox到OM的角度,那么,點(diǎn)M就可以用有序數(shù)對(duì) (ρ,θ)來(lái)表示,該有序數(shù)對(duì)就叫點(diǎn)M的極坐標(biāo),其中,ρ叫做點(diǎn)M的極徑,θ叫做點(diǎn)M的極角。

二、直角坐標(biāo)系與極坐標(biāo)互換

在笛卡爾直角坐標(biāo)系里,任何一點(diǎn)M都可以用一對(duì)有序數(shù)對(duì)(x,y)來(lái)表示,其中x叫做點(diǎn)M的橫坐標(biāo),y叫做點(diǎn)M的縱坐標(biāo),這與在極坐標(biāo)里任何一點(diǎn)可以用極徑和極角構(gòu)成的有序數(shù)對(duì) (ρ,θ)來(lái)表示類似,這是一種巧合還是一種必然呢?其實(shí)極坐標(biāo)和笛卡爾直角坐標(biāo)系是可以進(jìn)行坐標(biāo)轉(zhuǎn)換的,具體的

(i)極坐標(biāo)轉(zhuǎn)笛卡爾直角坐標(biāo)系

已知線段OM的長(zhǎng)度為ρ,從M點(diǎn)向x軸和y軸引垂線,設(shè)垂足分別是A,B,那么

這樣,點(diǎn)M在笛卡爾直角坐標(biāo)系就可以用有序數(shù)對(duì)(ρcosθ,ρsinθ)來(lái)表示。

(ii)笛卡爾直角坐標(biāo)系轉(zhuǎn)極坐標(biāo)

已知點(diǎn)M的坐標(biāo)為(x,y),那么可以求出OM與x軸的夾角

特別的,當(dāng)x=0時(shí),θ=90°或270°,這樣點(diǎn)M在極坐標(biāo)系就可以用有序數(shù)對(duì)

笛卡爾直角坐標(biāo)系與極坐標(biāo)系各有其優(yōu)點(diǎn),我們平時(shí)使用笛卡爾直角坐標(biāo)系更多些也會(huì)更習(xí)慣些,但是在有些時(shí)候使用極坐標(biāo)系會(huì)更簡(jiǎn)便些,如兩點(diǎn)間的關(guān)系用夾角和距離會(huì)更容易表示,一些曲線方程,極坐標(biāo)系下的方程的表達(dá)形式更簡(jiǎn)單些,如雙扭線,心形線等。

三、幾類典型的極坐標(biāo)方程

圓:

心形線:

玫瑰線:

阿基米德螺線:

雙扭線:

四、代碼繪制幾類典型極坐標(biāo)方程圖像

圓:

import matplotlib.pyplot as plt #導(dǎo)入繪圖模塊
import math #導(dǎo)入數(shù)學(xué)模塊

thetas =[] #用來(lái)存放極角
rhos = [] #用來(lái)存放極徑

for i in range(0, 361):
? ? theta = math.pi/180*i #角度轉(zhuǎn)弧度
? ? rho = 1
? ? thetas.append(theta)
? ? rhos.append(rho)

fig = plt.figure() #新建畫(huà)布
plt.polar(thetas, rhos, color = "red") #極坐標(biāo)畫(huà)圖
plt.show()

心形線:

import matplotlib.pyplot as plt #導(dǎo)入繪圖模塊
import math #導(dǎo)入數(shù)學(xué)模塊

thetas =[] #用來(lái)存放極角
rhos = [] #用來(lái)存放極徑

for i in range(0, 361):
? ? theta = i*math.pi/180 #角度轉(zhuǎn)弧度
? ? rho = 1- math.cos(theta) #極徑
? ? thetas.append(theta)
? ? rhos.append(rho)

fig = plt.figure() #新建畫(huà)布
plt.polar(thetas, rhos, color = "red") #極坐標(biāo)畫(huà)圖
plt.show()

玫瑰線:

import matplotlib.pyplot as plt #導(dǎo)入繪圖模塊
import math #導(dǎo)入數(shù)學(xué)模塊

thetas =[] #用來(lái)存放極角
rhos = [] #用來(lái)存放極徑

for i in range(0, 361):
? ? theta = i*math.pi/180 #角度轉(zhuǎn)弧度,極角
? ? rho = math.cos(6*theta) #極徑
? ? thetas.append(theta)
? ? rhos.append(rho)

fig = plt.figure() #新建畫(huà)布
plt.polar(thetas, rhos, color = "red") #極坐標(biāo)畫(huà)圖
plt.show()

阿基米德螺線:

import matplotlib.pyplot as plt #導(dǎo)入繪圖模塊
import math #導(dǎo)入數(shù)學(xué)模塊

thetas =[] #用來(lái)存放極角
rhos = [] #用來(lái)存放極徑

for i in range(0, 721):
? ? theta = i*math.pi/180
? ? rho = 0+2*theta
? ? thetas.append(theta)
? ? rhos.append(rho)

fig = plt.figure() #新建畫(huà)布
plt.polar(thetas, rhos, color = "red") #極坐標(biāo)畫(huà)圖
plt.show()

雙扭線:

import matplotlib.pyplot as plt #導(dǎo)入繪圖模塊
import math #導(dǎo)入數(shù)學(xué)模塊

thetas =[] #用來(lái)存放極角
rhos = [] #用來(lái)存放極徑

for i in range(0, 361):
? ? theta = i*math.pi/180
? ? rho = math.sqrt(2)*(math.cos(2*theta))**(1/2)
? ? thetas.append(theta)
? ? rhos.append(rho)

fig = plt.figure() #新建畫(huà)布
plt.polar(thetas, rhos, color = "red") #極坐標(biāo)畫(huà)圖
plt.show()

原文鏈接:https://blog.csdn.net/zengbowengood/article/details/123151616

欄目分類
最近更新