求点和轴之间的旋转角

2024-04-25 23:09:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件1,它包含一组三维空间的点,类似于一个矩形。我还有一个file2,它是一组相同的3D坐标,但是围绕X,Y,Z轴旋转了一些。在

如何计算出每个轴的旋转量?我甚至在为这个问题制定一个攻击计划时遇到了问题,否则我会展示一些示例代码。谢谢你的帮助。在


Tags: 文件代码示例计划file2矩形我会三维空间
2条回答

我没有足够的声誉发表评论,我觉得这不是你问题的完整答案,但我想至少帮助你朝着正确的方向前进。这绝对是一些与矩阵数学有关的东西,我不是专家,但已经做了几个项目。仔细阅读以下内容可能会为你提供一些方向。Numpy是一个你应该研究的包,它允许你做你需要的矩阵运算。在

关于什么是单值分解的wiki: https://en.wikipedia.org/wiki/Singular_value_decomposition

这是Procrustes分析中的一个步骤,它分析了点集之间的关系。 Procrustes Analysis with NumPy?

无论如何,研究矩阵数学至少是一个起点。我知道这不是一个完整的答案,但希望这在某种程度上有所帮助。在

这个问题可以有一个基础:“如果我有转换前后的坐标,我如何计算affine transformation是什么?”在

maths.stackexchange中有一个很好的解释,它给出了创建转换矩阵所需的精确数学。在

问题是如何在代码中实现这一点?您使用的是python,所以numpy将是您的朋友,特别是,您需要numpy inverse matrix method,它将找到所需的逆矩阵。在

从这里开始,您可以使用this SO question中描述的方法和代码来获得特定角度的最终结果。这基本上就是说,既然我们知道了仿射变换,让我们把它应用到基本单位向量上,看看旋转是什么。注意(编辑)numpy implementation of the angle between two vectors can be found here

相关问题 更多 >

    热门问题