Python conversion between coordinates

前端 未结 7 1729
我寻月下人不归
我寻月下人不归 2020-12-01 05:03

Are there functions for conversion between different coordinate systems?

For example, Matlab has [rho,phi] = cart2pol(x,y) for conversion from cartesian

7条回答
  •  不知归路
    2020-12-01 05:39

    The existing answers can be simplified:

    from numpy import exp, abs, angle
    
    def polar2z(r,theta):
        return r * exp( 1j * theta )
    
    def z2polar(z):
        return ( abs(z), angle(z) )
    

    Or even:

    polar2z = lambda r,θ: r * exp( 1j * θ )
    z2polar = lambda z: ( abs(z), angle(z) )
    

    Note these also work on arrays!

    rS, thetaS = z2polar( [z1,z2,z3] )
    zS = polar2z( rS, thetaS )
    

提交回复
热议问题