【发布时间】:2021-03-27 08:30:16
【问题描述】:
我确定这已经是答案了,但我仍然对我在 stackoverflow 上找到的帖子感到困惑,这就是我决定发布我的问题的原因。
我对几何变换不是很熟悉(除了平移,但这个很简单),我需要根据图片中描述的 3 个点的选择来变换一组 3D 点
这是我目前的计划:
- 基于 3 个点创建一个三角形(我们称之为
tri)-> 可以 - 计算我的 3 个点形成的三角形的质心 -> 这样就可以了
- 将所有点平移到原点 (0,0,0) -> 也可以
- 旋转每个点,使
tri的点Z坐标等于 0 -> 这是我迷路了,不确定如何处理(没有任何错误...)
我知道这不是一个难题,但如果有人知道如何使用 numpy 进行处理,例如,我很乐意 :-)
感谢您的帮助:-)
【问题讨论】:
-
您的问题会有多种解决方案 - 例如,整个三角形可以上下颠倒。您需要做的是找到定义三角形的平面(我们称之为 P)。然后你需要找到 z 轴和 P 的法线向量之间的角度(我们称之为 n)。您还需要找到垂直于 z 轴和 n 的旋转轴(称为 u)。然后使用 theta 围绕 u 执行轴角旋转。这种旋转应该应用于所有点。
标签: python 3d rotation translation