所以不需要查看所有代码,但基本上我有一个初始点:
import numpy as np
point = np.array([3.0000, 8.0000, 0.0000])
我还有一个转换矩阵M,它可以很好地工作,只需要将点转换为X轴,这会产生以下结果:
[-5.09901951 0. 0. ] // which is perfectly what I need it to be
通常在我的代码中,我需要在局部坐标中执行更改,然后将其转换回全局。为此,我使用逆矩阵将其收回。然而,仅仅为了测试,我将把这一点改回来。
//Using numpy:
MInv =np.linalg.inv(M)
now when I use the same function to transform my output to the original state I get:
[ 3.01941932 7.90290338 0. ] // result should be [3.0000, 8.0000, 0.0000]
显然,在linalg.inv()
中使用numpy
存在数值精度问题。有人可以帮助我绕过错误吗?