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

學無先后,達者為師

網站首頁 編程語言 正文

基于python分享極坐標下的幾類典型曲線_python

作者:帥帥de三叔 ? 更新時間: 2022-05-06 編程語言

導言:

忽然發現數學家還是很擅長發明新玩意構造新東西的,如很早的歐幾里得幾何體系,后來的笛卡爾直角坐標系,還有極坐標系,埃爾朗根綱領,一門學科的發展需要一代又一代的人前赴后繼為其添磚加瓦,筑成一座大廈,今天我們來簡單介紹一下極坐標系。

一、極坐標

極坐標系統是一套區別于笛卡爾直角坐標系的二維坐標系統,它是指在平面內取一個定點O,然后從O點引一條射線Ox,再選定一個長度單位和角度的正方向(通常取逆時針方向)而張成的一張平面角稱為極坐標系統,簡稱極坐標。其中,點O叫極點,射線Ox叫做極軸,對于平面內任何一點M,用ρ表示線段OM的長度,θ表示從Ox到OM的角度,那么,點M就可以用有序數對 (ρ,θ)來表示,該有序數對就叫點M的極坐標,其中,ρ叫做點M的極徑,θ叫做點M的極角。

二、直角坐標系與極坐標互換

在笛卡爾直角坐標系里,任何一點M都可以用一對有序數對(x,y)來表示,其中x叫做點M的橫坐標,y叫做點M的縱坐標,這與在極坐標里任何一點可以用極徑和極角構成的有序數對 (ρ,θ)來表示類似,這是一種巧合還是一種必然呢?其實極坐標和笛卡爾直角坐標系是可以進行坐標轉換的,具體的

(i)極坐標轉笛卡爾直角坐標系

已知線段OM的長度為ρ,從M點向x軸和y軸引垂線,設垂足分別是A,B,那么

這樣,點M在笛卡爾直角坐標系就可以用有序數對(ρcosθ,ρsinθ)來表示。

(ii)笛卡爾直角坐標系轉極坐標

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

特別的,當x=0時,θ=90°或270°,這樣點M在極坐標系就可以用有序數對

笛卡爾直角坐標系與極坐標系各有其優點,我們平時使用笛卡爾直角坐標系更多些也會更習慣些,但是在有些時候使用極坐標系會更簡便些,如兩點間的關系用夾角和距離會更容易表示,一些曲線方程,極坐標系下的方程的表達形式更簡單些,如雙扭線,心形線等。

三、幾類典型的極坐標方程

圓:

心形線:

玫瑰線:

阿基米德螺線:

雙扭線:

四、代碼繪制幾類典型極坐標方程圖像

圓:

import matplotlib.pyplot as plt #導入繪圖模塊
import math #導入數學模塊

thetas =[] #用來存放極角
rhos = [] #用來存放極徑

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

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

心形線:

import matplotlib.pyplot as plt #導入繪圖模塊
import math #導入數學模塊

thetas =[] #用來存放極角
rhos = [] #用來存放極徑

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

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

玫瑰線:

import matplotlib.pyplot as plt #導入繪圖模塊
import math #導入數學模塊

thetas =[] #用來存放極角
rhos = [] #用來存放極徑

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

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

阿基米德螺線:

import matplotlib.pyplot as plt #導入繪圖模塊
import math #導入數學模塊

thetas =[] #用來存放極角
rhos = [] #用來存放極徑

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

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

雙扭線:

import matplotlib.pyplot as plt #導入繪圖模塊
import math #導入數學模塊

thetas =[] #用來存放極角
rhos = [] #用來存放極徑

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() #新建畫布
plt.polar(thetas, rhos, color = "red") #極坐標畫圖
plt.show()

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

欄目分類
最近更新