Реализация гиперсферических координатPython

Программы на Python
Ответить
Anonymous
 Реализация гиперсферических координат

Сообщение Anonymous »

Кто-нибудь знает хорошо проверенную и надежную реализацию гиперсферических координат, преобразующую декартовы векторы в сферические углы? Я бы предпочел Python, но при необходимости могу его перевести.

Другими словами, по сути противоположно этому вопросу.

Прежде чем вы скажете мне, что реализовать это тривиально, вот моя реализация (для пятимерного пространства):

Код: Выделить всё

def theta(x):
n = 5
x = np.array(x)
toFill = np.array([0.0, 0.0, 0.0, 0.0])
r_array = np.sqrt( np.array( [ sum( [xj**2 for xj in x[i+1:]] ) for i in range(0,n-1) ] ) )
for k in range(0,n-2):
toFill[k] = np.arctan2( r_array[k] , x[k] )
toFill[n-2] = 2 * np.arctan2( x[n-1] , ( x[n-2] + np.sqrt(x[n-1]**2 + x[n-2]**2) ) )
return toFill
Обратите внимание, что меня интересуют только углы, а не радиус. Реализация по существу отсюда.

Кажется, работает, но в некоторых симуляциях я получаю некоторые странные результаты (хотя я думаю, что это может быть связано с этим методом). Я еще не нашел проблему напрямую). Если вы заметили здесь проблемы с граничными условиями, дайте мне знать.

Подробнее здесь: https://stackoverflow.com/questions/457 ... ementation
Ответить

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

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

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

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

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