1。直角坐标转极坐标
import cmath
cn = complex(3,4)
cmath.polar(cn) #返回长度和弧度
2.极坐标转直角坐标
cn1 = cmath.rect(2, cmath.pi)
cn1.real,cn1.imag,
补充:弧度转角度:
import math
math.degrees(x)弧度转换为角度。
角度转为弧度:
import math
math.radians(x)
极坐标和直角坐标互相转换的一个应用:
#计算A线段在B线段中所占的比例
def getPorAInB(LineAS,LineAE,LineBS,LineBE):
#首先,选定LineB的一个点作为起点,大家都转为极坐标
#然后,各点的角度都减去LineB的那个角度
#然后,将极坐标转为x,y坐标
LineAS = np.array(LineAS)
LineAE = np.array(LineAE)
LineBS = np.array(LineBS)
LineBE = np.array(LineBE)
(LineAS, LineAE,LineBS, LineBE) = (LineAS-LineBS, LineAE-LineBS,LineBS-LineBS, LineBE-LineBS)
LineASPo = cartToPolar(LineAS[0],LineAS[1] ) #极坐标顺序是先r,后角度
LineAEPo = cartToPolar(LineAE[0], LineAE[1])
LineBEPo = cartToPolar(Li