基于python分享極坐標下的幾類典型曲線
導言:
忽然發(fā)現數學家還是很擅長發(fā)明新玩意構造新東西的,如很早的歐幾里得幾何體系,后來的笛卡爾直角坐標系,還有極坐標系,埃爾朗根綱領,一門學科的發(fā)展需要一代又一代的人前赴后繼為其添磚加瓦,筑成一座大廈,今天我們來簡單介紹一下極坐標系。
一、極坐標
極坐標系統(tǒng)是一套區(qū)別于笛卡爾直角坐標系的二維坐標系統(tǒng),它是指在平面內取一個定點O,然后從O點引一條射線Ox,再選定一個長度單位和角度的正方向(通常取逆時針方向)而張成的一張平面角稱為極坐標系統(tǒng),簡稱極坐標。其中,點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在極坐標系就可以用有序數對
笛卡爾直角坐標系與極坐標系各有其優(yōu)點,我們平時使用笛卡爾直角坐標系更多些也會更習慣些,但是在有些時候使用極坐標系會更簡便些,如兩點間的關系用夾角和距離會更容易表示,一些曲線方程,極坐標系下的方程的表達形式更簡單些,如雙扭線,心形線等。
三、幾類典型的極坐標方程
圓:
心形線:
玫瑰線:
阿基米德螺線:
雙扭線:
四、代碼繪制幾類典型極坐標方程圖像
圓:
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()
到此這篇關于基于python分享極坐標下的幾類典型曲線的文章就介紹到這了,更多相關極坐標下的幾類典型曲線內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python的selenium模塊使用find_element_by_id無效解決方案
這篇文章主要介紹了Python的selenium模塊使用find_element_by_id無效解決方案,find_element_by_id無效可能是因為版本問題,而4.5.0版本不支持頁面對象的定位find_element_by_id方法,以前版本支持這些進行元素定位,需要的朋友可以參考下2023-12-12Python編程中NotImplementedError的使用方法
下面小編就為大家分享一篇Python編程中NotImplementedError的使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Keras神經網絡efficientnet模型搭建yolov3目標檢測平臺
這篇文章主要為大家介紹了Keras利用efficientnet系列模型搭建yolov3目標檢測平臺的過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05