我一直在尝试使用Python解决以下问题:
1. 我们有点a、b、c、d组成一个刚体 2. 对该刚体施加了未知的3D平移和旋转 3. 我们现在知道了a、b、c的坐标 4. 我们想要计算d的坐标
目前我所知道的是:
1. 试图使用“直接”的欧拉角计算似乎不是一个好主意,因为会出现万向节锁等问题。 2. 因此第四步涉及到一个转换矩阵,一旦你知道了旋转和平移矩阵,使用这些之一看起来很容易完成这一步骤: - http://www.lfd.uci.edu/~gohlke/code/transformations.py.html - https://pypi.python.org/pypi/euclid/0.01 我无法确定如何根据点a、b、c的“新”坐标计算旋转和平移矩阵。
我知道在一般情况下(非刚体),旋转部分是Wahba's problem,但我认为对于刚体,应该有一种更快的直接计算方法,通过使用这些点来计算一组正交单位向量。
1. 我们有点a、b、c、d组成一个刚体 2. 对该刚体施加了未知的3D平移和旋转 3. 我们现在知道了a、b、c的坐标 4. 我们想要计算d的坐标
目前我所知道的是:
1. 试图使用“直接”的欧拉角计算似乎不是一个好主意,因为会出现万向节锁等问题。 2. 因此第四步涉及到一个转换矩阵,一旦你知道了旋转和平移矩阵,使用这些之一看起来很容易完成这一步骤: - http://www.lfd.uci.edu/~gohlke/code/transformations.py.html - https://pypi.python.org/pypi/euclid/0.01 我无法确定如何根据点a、b、c的“新”坐标计算旋转和平移矩阵。
我知道在一般情况下(非刚体),旋转部分是Wahba's problem,但我认为对于刚体,应该有一种更快的直接计算方法,通过使用这些点来计算一组正交单位向量。
affine_matrix_from_points(abc, abc_new, shear=False, scale=False)
计算“未知的 3D 平移和旋转”矩阵,然后将其应用于d
。 - cgohlkesuperimposition_matrix
在同样的情况下似乎可以解决我的问题?如果您将您上面的评论作为答案,我会接受它! - lost