我想對此示例數據集執行轉換。
在一個座標[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