我想对此示例数据集执行转换。
在一个坐标[primary_system]系统中有四个坐标为x,y,z的已知点,以及坐标为x,y,h的下一个四个已知点属于另一个坐标系[secondary_system]。 这些点对应;例如primary_system1点和secondary_system1点是完全相同的点,但我们在两个不同的坐标系中有它的坐标。 所以我在这里有四对调整点,并希望根据调整将另一个点坐标从主系统转换到辅助系统。如何使用python执行坐标仿射变换?
primary_system1 = (3531820.440, 1174966.736, 5162268.086)
primary_system2 = (3531746.800, 1175275.159, 5162241.325)
primary_system3 = (3532510.182, 1174373.785, 5161954.920)
primary_system4 = (3532495.968, 1175507.195, 5161685.049)
secondary_system1 = (6089665.610, 3591595.470, 148.810)
secondary_system2 = (6089633.900, 3591912.090, 143.120)
secondary_system3 = (6089088.170, 3590826.470, 166.350)
secondary_system4 = (6088672.490, 3591914.630, 147.440)
#transform this point
x = 3532412.323
y = 1175511.432
z = 5161677.111<br>
此刻我尝试翻译的平均使用四个点对喜欢的X,Y和Z轴:
#x axis
xt1 = secondary_system1[0] - primary_system1[0]
xt2 = secondary_system2[0] - primary_system2[0]
xt3 = secondary_system3[0] - primary_system3[0]
xt4 = secondary_system4[0] - primary_system4[0]
xt = (xt1+xt2+xt3+xt4)/4 #averaging
...等为y和Z轴
#y axis
yt1 = secondary_system1[1] - primary_system1[1]
yt2 = secondary_system2[1] - primary_system2[1]
yt3 = secondary_system3[1] - primary_system3[1]
yt4 = secondary_system4[1] - primary_system4[1]
yt = (yt1+yt2+yt3+yt4)/4 #averaging
#z axis
zt1 = secondary_system1[2] - primary_system1[2]
zt2 = secondary_system2[2] - primary_system2[2]
zt3 = secondary_system3[2] - primary_system3[2]
zt4 = secondary_system4[2] - primary_system4[2]
zt = (zt1+zt2+zt3+zt4)/4 #averaging
所以上面我试图计算平均平移矢量各轴
你的问题很晦涩!这些数字是什么? – 2012-01-15 21:35:12
那么,你有什么尝试?你有什么代码? – Marcin 2012-01-15 21:37:18
@Rig Poggi如果你对这些数字不清楚,那么你可能不知道该做什么,那么你的评论是什么? – daikini 2012-01-15 21:49:21