网络编程
位置:首页>> 网络编程>> Python编程>> 基于python分享极坐标下的几类典型曲线

基于python分享极坐标下的几类典型曲线

作者:帅帅de三叔  发布时间:2023-05-02 18:18:37 

标签:python,极坐标,曲线

导言:

忽然发现数学家还是很擅长发明新玩意构造新东西的,如很早的欧几里得几何体系,后来的笛卡尔直角坐标系,还有极坐标系,埃尔朗根纲领,一门学科的发展需要一代又一代的人前赴后继为其添砖加瓦,筑成一座大厦,今天我们来简单介绍一下极坐标系。

基于python分享极坐标下的几类典型曲线

一、极坐标

极坐标系统是一套区别于笛卡尔直角坐标系的二维坐标系统,它是指在平面内取一个定点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,那么

基于python分享极坐标下的几类典型曲线

这样,点M在笛卡尔直角坐标系就可以用有序数对(ρcosθ,ρsinθ)来表示。

(ii)笛卡尔直角坐标系转极坐标

已知点M的坐标为(x,y),那么可以求出OM与x轴的夹角

基于python分享极坐标下的几类典型曲线

特别的,当x=0时,θ=90°或270°,这样点M在极坐标系就可以用有序数对

基于python分享极坐标下的几类典型曲线

笛卡尔直角坐标系与极坐标系各有其优点,我们平时使用笛卡尔直角坐标系更多些也会更习惯些,但是在有些时候使用极坐标系会更简便些,如两点间的关系用夹角和距离会更容易表示,一些曲线方程,极坐标系下的方程的表达形式更简单些,如双扭线,心形线等。

三、几类典型的极坐标方程

圆:

基于python分享极坐标下的几类典型曲线

心形线:

基于python分享极坐标下的几类典型曲线

玫瑰线:

基于python分享极坐标下的几类典型曲线

阿基米德螺线:

基于python分享极坐标下的几类典型曲线

双扭线:

基于python分享极坐标下的几类典型曲线

四、代码绘制几类典型极坐标方程图像

圆:

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()

基于python分享极坐标下的几类典型曲线

心形线:

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()

基于python分享极坐标下的几类典型曲线

玫瑰线:

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()

基于python分享极坐标下的几类典型曲线

阿基米德螺线:

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()

基于python分享极坐标下的几类典型曲线

双扭线:

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分享极坐标下的几类典型曲线

来源:https://blog.csdn.net/zengbowengood/article/details/123151616

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com