У меня есть две точки в исходной системе координат, называемые P и Q. Затем, переместив и повернув координаты, мы получим новую координату, а P 'и Q', P 'и Q' будут в локальной координате. Матрица вращения, которую мы назвали R Матрица вращения, которую мы назвали t Тогда
P = R*P' + t
Q = R*Q' + t
R = [[cosx, sinx], [- sinx, cosx]] t = [a, b]
Мы знаем P, Q, P ', Q' и хотим получить R и т.
sinx = ((p.x - q.x)/(p_.x - q_.x) - (p.y - q.y)/(p_.y - q_.y)) / \
((p_.y - q_.y)/(p_.x - q_.x) - (q_.x - p_.x)/(p_.y - q_.y))
cosx = ((p.x - q.x)/(p_.y - q_.y) - (p.y - q.y)/(q_.x - p_.x)) / \
((p_.x - q_.x)/(p_.y - q_.y) - (p_.y - q_.y)/(q_.x - p_.x))
self.rotationMatrix = np.mat([[cosx, sinx],[-sinx, cosx]])
Я не хочу, чтобы длинный код вызывал c R, Is Есть элегантный способ найти матрицу вращения через NumPy 100