擅长:python、mysql、java
<p>为了快速的结果,我转换np.数组按以下步骤计算:</p>
<pre><code>import numpy as np
from numpy import radians, cos, sin, matrix
deltaX = -419.375
deltaY = -99.352
deltaZ = -591.349
deltaXYZ = np.array([deltaX,deltaY,deltaZ]).reshape(3,1)
delXYZ = matrix(deltaXYZ) # matrix
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(1,3) # 3*1
swc = matrix(swerefkoordinates) # matrix
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)
mR = matrix(R) # matrix
# finally,
RR92 = delXYZ + (delta+1) * (mR*swc.T) # matrix operatoionz
RR92
# Output
# matrix([[ 3239535.00769073],
# [ 990603.65962255],
# [ 5385205.71977643]])
</code></pre>