所以不需要查看所有代码,但基本上我有一个初始点:
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()
in存在数值精度问题numpy
。有人可以帮我绕过错误吗?