Более быстрое преобразование декартовых координат в сферические?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Более быстрое преобразование декартовых координат в сферические?

Сообщение Anonymous »

У меня есть массив из 3 миллионов точек данных трехосного акселерометра (XYZ), и я хочу добавить 3 столбца в массив, содержащий эквивалентные сферические координаты (r, тета, фи). Следующий код работает, но кажется слишком медленным. Как я могу добиться большего?

import numpy as np
import math as m

def cart2sph(x,y,z):
XsqPlusYsq = x**2 + y**2
r = m.sqrt(XsqPlusYsq + z**2) # r
elev = m.atan2(z,m.sqrt(XsqPlusYsq)) # theta
az = m.atan2(y,x) # phi
return r, elev, az

def cart2sphA(pts):
return np.array([cart2sph(x,y,z) for x,y,z in pts])

def appendSpherical(xyz):
np.hstack((xyz, cart2sphA(xyz)))


Подробнее здесь: https://stackoverflow.com/questions/411 ... conversion
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»