I did a complex division with Cmath and it works fine
then redone it in numpy and get an error
and not certain why the angle is not right
here is numpy script
import bpy, math , cmath
import numpy as np
from numpy import linalg as la
from numpy import array,angle,conj,arange,matrix , exp ,deg2rad , rad2deg
"""
Math module
http://docs.python.org/library/math.html#module-math
http://docs.python.org/library/cmath.html#module-cmat
"""
d2r = lambda x: deg2rad(x)
r2d = lambda x: rad2deg(x)
to_rd = lambda m, d: m * exp(1j*d2r(d))
to_pd = lambda x: (abs(x), r2d(angle(x)))
z1 = 7.49+0.71j
z2 = 127.01705922171767+0j
z3 =z2/z1
print ('z1=',z1)
print ('z1 abs =',np.absolute(z1),' z1 ang =',np.angle(z1, deg=True),' Deg')
print ('z2=',z2)
print ('z2 abs =',np.absolute(z2),' z2 ang =',np.angle(z2, deg=True),' Deg')
print ('z2/z1 = z3=',z3)
print ('z3 real =',z3.real,'z3 imag =',z3.imag)
print ()
print ('z3 abs =',np.absolute(z3),'z3 ang =',np.angle(z3, deg=True),' Deg')
print ('angle =', rad2deg(angle(z3)))
print
can someone explain if this is a bug or an error ?
angle should be around -5 degrees and not -174 degrees !
if I calculate it from atan I get the right angle
print ( ‘z3.real =’,z3.real )
print ( ‘z3.imag =’,z3.imag )
print ()
ang =atan(z3.imag / z3.real)
print ( ‘ang =’,ang ,’ Rad’, degrees(ang),’ deg’ )
print ()
see angles here
thanks for feedback
happy bl