基于python分享极坐标下的几类典型曲线
作者:帅帅de三叔 发布时间:2023-05-02 18:18:37
导言:
忽然发现数学家还是很擅长发明新玩意构造新东西的,如很早的欧几里得几何体系,后来的笛卡尔直角坐标系,还有极坐标系,埃尔朗根纲领,一门学科的发展需要一代又一代的人前赴后继为其添砖加瓦,筑成一座大厦,今天我们来简单介绍一下极坐标系。
一、极坐标
极坐标系统是一套区别于笛卡尔直角坐标系的二维坐标系统,它是指在平面内取一个定点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


猜你喜欢
- js原生方法map实现<!DOCTYPE html><html lang="en"><he
- 控制字符控制字符(Control Character),或者说非打印字符,出现于特定的信息文本中,表示某一控制功能的字符,如控制符:LF(换
- defineExpose要在变量和方法声明定义之后再使用,否则浏览器的控制台会输出很多警告,并且最终将该页面卡死。[Vue3] define
- 这次主要教的是如何通过Python 获取Windows系统下的所有的磁盘盘符,以列表的形式展示出来,获取磁盘号下的盘符包括能够获取到我们正在
- 前言一段时间没有用Union和Union,再用的时候忘了怎么用了。。。所以做一篇文章来记录自己学Union和Union的经历。提前准备在Sq
- Dreamweaver中一直变色的超级链接,css+javascript实现超级链接变色,当鼠标移动到链接上时,链接的颜色不停闪烁变色。&l
- 上一篇文章讲解了重置 MySQL 的密码,有同学反馈无法程连接到数据库,这是因为 MySQL 安装完成后只支持 localhost 访问,我
- 前言大家应该都知道在编程语言中,定时任务是常用的一种调度形式,在Python中也涌现了非常多的调度模块,本文将简要介绍APScheduler
- 本文实例为大家分享了JavaScript实现简易购物车的具体代码,供大家参考,具体内容如下代码:<!DOCTYPE html>&
- 前言前段时间在一个项目里使用到了分布式锁进行共享资源的访问限制,后来了解到Golang里还能够使用singleflight对共享资源的访问做
- 1.Series介绍Pandas模块的数据结构主要有两种:1.Series 2.DataFrameSeries 是一维数组,基于Numpy的
- 一、插入排序插入排序与我们平时打扑克牌非常相似,将新摸到的牌插入到已有的牌中合适的位置,而已有的牌往往是有序的。1.1 执行流程(1)在执行
- 运行截图运行效果:什么?你说你看不清烟花?那我换一种颜色,请点开看。实现过程准备工作使用语言和框架:python、pygame。安装pyga
- 在做一个客户端基建项目的时候,多处需要用到JS调取命令行执行shell脚本,这里对shell命令、JS执行shell命令做一个简单的介绍和总
- PHP chr() 函数实例从不同 ASCII 值返回字符:<?php echo chr(52) . "<br>
- 引言如果熟悉使用JDBC来连接数据库的同学一定很清楚连接数据库的代码中一定会有依据Class.forName("com.mysql
- 介绍flask介绍Flask是一个轻量级的Python Web框架,它基于Werkzeug和Jinja2库构建,因其简洁、灵活、易扩展等特性
- 在最近一个项目中,表单验证需要对时间的起止范围进行判断:结束时间需大于或等于开始时间。即:结束年须大于起始年;如果相等,则比较起始月与结束月
- 如下所示:f=file('a.txt')for eachline in f: print eachline来源:https:
- 近来有客户要求用table显示一大串数据,由于滚动后就看不到表头,很不方便,所以想到这个效果。上次做table排序对table有了一些了解,