引言
我们知道,二维笛卡尔坐标就是我们平时常见的(x,y)坐标。这个坐标不仅可以表示二维平面的一个点,也可以表示一个起点在原点的向量。
如图,坐标(1,2)不仅表示一个点也可以表示一个向量。而极坐标则是用一个长度坐标和一个角度坐标来表示向量,这个角度是逆时针旋转时向量与x轴正向的夹角。在Python中,这个角度常常用弧度表示。如(5,pi/4)。
笛卡尔坐标转换为极坐标
在Python中,内置的math库中就有相关函数。如atan2( )函数,该函数接受一对笛卡尔坐标,返回对应的弧度。而极坐标中的长度坐标要如何计算呢?可以用计算向量长度的方法,就是我们平时说的坐标平方和开根号。根号的操作可以用math库中的sqrt( )函数,该函数返回传入参数开根号后的结果。
具体实现代码如下:
from math import sqrt
def length(v): #计算二维向量长度
return sqrt(v[0]**2 + v[1]**2)
def to_polar(vector): #把笛卡尔坐标转化为极坐标
x, y = vector[0], vector[1]
angle =