網站首頁 編程語言 正文
導言:
忽然發現數學家還是很擅長發明新玩意構造新東西的,如很早的歐幾里得幾何體系,后來的笛卡爾直角坐標系,還有極坐標系,埃爾朗根綱領,一門學科的發展需要一代又一代的人前赴后繼為其添磚加瓦,筑成一座大廈,今天我們來簡單介紹一下極坐標系。
一、極坐標
極坐標系統是一套區別于笛卡爾直角坐標系的二維坐標系統,它是指在平面內取一個定點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
相關推薦
- 2022-05-11 Synchronized鎖優化
- 2022-03-03 Module build failed: Error: Node Sass version 6.0.
- 2022-10-17 C++右值引用與move和forward函數的使用詳解_C 語言
- 2023-01-14 Go庫text與template包使用示例詳解_Golang
- 2022-09-10 Python自動打印被調用函數變量名及對應值?_python
- 2023-12-26 Mapper.xml文件中SQL新增數據的簡便寫法
- 2022-11-21 Android自定義ListView實現下拉刷新上拉加載更多_Android
- 2022-06-10 C++?STL?中的數值算法示例講解_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支