Python conversion entre les coordonnées
Sont là des fonctions de conversion entre les différents systèmes de coordonnées?
Par exemple, Matlab a [rho,phi] = cart2pol(x,y)
pour la conversion de cartésiennes en coordonnées polaires. Semble comme il devrait être dans numpy ou scipy.
Vous devez vous connecter pour publier un commentaire.
Utilisation de numpy, vous pouvez définir les éléments suivants:
numpy.linalg.norm(arr)
est très pratique comme solution de rechange ànp.sqrt(arr[:, 0]**2....)
Les questions /réponses peut être simplifiée:
Ou encore:
Remarque également le travail sur les tableaux!
z = x + 1j * y
x = np.real(z)
ety = np.imag(z)
Aussi,np.angle()
a undeg
option qui renvoie degrés au lieu de radians. Vous pouvez simplement passer que par le biais dez2polar()
si vous voulez degrés.z
est exprimée comme un nombre complexe. Pour les autres formes, vous devez d'abord convertir complexes, puis d'appliquer cette fonction.Si vous ne pouvez pas le trouver dans numpy ou scipy, ici sont un couple de fonctions rapides et une classe point:
polar()
quandx = 0
?Vous pouvez utiliser le cmath module.
Si le nombre est converti en un complexe de format, puis il devient plus facile de simplement appeler le polar méthode sur le nombre.
Il y a une meilleure manière d'écrire du polar(), elle est ici:
return np.hypot(x, y), np.arctan2(y, x)
Si vos coordonnées sont enregistrées comme des nombres complexes, vous pouvez utiliser cmath
De réflexion à ce sujet en général, je vais considérer la clandestinité coordonner le système bien conçu de l'abstraction. Citant l'Oncle Bob et son livre:
Avec interface de ce genre n'importe quel utilisateur de la classe Point peut choisir la pratique de la représentation, explicite pas les conversions sont effectuées. Tout cela laid sinus, cosinus, etc. seront cachés dans un seul endroit. Classe Point. Le seul endroit où vous devriez les soins de la représentation est utilisée dans la mémoire de l'ordinateur.