math - 两次旋转之间的误差?

抱歉 - 我应该知道,但我不知道。 我通过两个不同的过程计算了引用系 (S1) 相对于基本引用系 (S0) 的位置,这两个过程为我提供了两个不同的 4x4 仿射变换矩阵。我想计算两者之间的误差,但不确定如何处理旋转分量。会喜欢任何建议。

谢谢!

最佳答案

如果 R0 和 R1 是两个应该相同的旋转矩阵,那么 R0*R1' 应该是恒等的。对应于 R0*R1' 的旋转矢量的大小是来自身份的旋转(通常以弧度为单位)。通过 Rodrigues 公式可以高效地将旋转矩阵转换为旋转向量。

用一个常见的用例Python和OpenCV来回答你的问题,错误是

r, _ = cv2.Rodrigues(R0.dot(R1.T))
rotation_error_from_identity = np.linalg.norm(r)

https://stackoverflow.com/questions/6522108/

相关文章:

sql - ManyToManyField 中 Django 中对象子集的不同值

delphi - 什么是重置(句柄,1)?

image - 禁用从 Canvas 下载图像

.net - Base64 编码替代下划线

java - 在这种情况下应该使用哪个集合?

php - 使用正则表达式阻止某些电子邮件提供商

c - 如何在 Linux 中找到不同的内存段起始位置及其大小

mongodb - 我可以在 MongoDB 中存储关系数据库结构吗

asp.net - 在 asp 的 gridview 中使用 eval 获取 this 对象

c# - BinaryWriter 问题 - "code adds some byte betwee