Какой идиоматический способ повернуть список точек в нп? - PullRequest
2 голосов
/ 12 марта 2019

Вот код, который я использую для поворота 2D вектора на 100 градусов:

theta = np.deg2rad(100)
c, s = np.cos(theta), np.sin(theta)
R = np.matrix([[c, -s], [s, c]])
V = np.transpose(np.matrix([[1., 1.]]))
Z = np.matmul(R, V)

Есть ли встроенная функция для этого в numpy?

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Если вас интересуют маленькие векторы фиксированного размера, я бы жестко закодировал результат матричных операций и оставил его зависимым от cos () и sin ().Если матрица маленькая, но математика будет полезна, я рекомендую попробовать wxMaxima , чтобы получить аналитический результат для жесткого кода.С другой стороны, если это пример, нацеленный на более крупные векторы, я бы последовал предложению Михая и пошел бы на Скипи.

0 голосов
/ 12 марта 2019

Я бы посчитал то, что ты сделал, идиоматическим. Если вы хотите быть модным, вы можете использовать scipy .

Избегайте numpy.matrix, используйте обычные массивы и array.dot (другое).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...