我试着用矩阵做计算。这是我几乎完成。你知道吗
deltaX = -419.375
deltaY = -99.352
deltaZ = -591.349
deltaXYZ = np.array([deltaX,deltaY,deltaZ]).reshape(3,1)
omegaX = 0.850458
omegaY = 1.817245
omegaZ= -7.862245
omegaXR=radians(omegaX/3600)
omegaYR=radians(omegaY/3600)
omegaZR=radians(omegaZ/3600)
delta = (0.99496/(10**6))
x = 3240036.3696
y = 990578.5272
z = 5385763.1648
swerefkoordinates = np.array([x,y,z]).reshape(3,1)
rZ=np.array([cos(omegaZR),sin(omegaZR),0,-sin(omegaZR),cos(omegaZR),0,0,0,1]).reshape(3,3)
rY=np.array([cos(omegaYR),0,-sin(omegaYR),0,1,0,sin(omegaYR),0,cos(omegaYR)]).reshape(3,3)
rX=np.array([1,0,0,0,cos(omegaXR),sin(omegaXR),0,-sin(omegaXR),cos(omegaXR)]).reshape(3,3)
R=np.dot(rZ,rY,rX)
到目前为止还不错
下一行的计算给了我一些麻烦,我的意思是错误的答案。你知道吗
RR92 = deltaXYZ+(delta+1)*np.dot(R,swerefkoordinates)
我想做的是下面的公式(RR92)。你知道吗
[XYZ] = [deltaX,deltaY,deltaZ]+(1+delta)R[x,y,z]
我很难想象这个公式(现在还不允许添加图片)。不管怎样,[]中的内容都是一个矩阵格式:3行一列。你知道吗
我设法解决了这个问题:
正确:
3239535.0069元 990625.8659 5385201.6355元
为了快速的结果,我转换np.数组按以下步骤计算:
相关问题 更多 >
编程相关推荐