找到比率/算法来转换不同的坐标系?

时间:2015-05-20 21:21:40

标签: algorithm math

所以我有两个不同的坐标系,一个是输入数据,另一个是我在应用程序中绘制点的方式。有一个公式,给定一些对齐的点,会给我一个计算未来点的算法吗?例如:

一个系统上的

PSPP.app在另一个系统中为== X = 6.5 & Y = 2

另一组是X = 3101 & Y = 3441。从这两场比赛中,我怎样才能计算出一个公式来翻译"翻译"一个系统进入另一个系统?

2 个答案:

答案 0 :(得分:1)

你想要的是线性插值,三规则等等

答案 1 :(得分:1)

你需要解决两个方程,其中两个未知数用于X,然后相同用于Y.

让我们来看看。首先我们做X:

3101 = 6.5  * a + b
3211 = 6.45 * a + b

首先我们隔离b:

3101 - 6.5  * a = b
3211 - 6.45 * a = b

给出了:

3101 - 6.5 * a = 3211 - 6.45 * a

现在我们可以解决:

3101 - 6.5 * a - 3211 + 6.45 * a = 0
-110 -0.05 * a = 0
-110 = 0.05 * a
-2200 = a

鉴于此,我们可以使用原始的两个方程中的任何一个求解b:

3101 - 6.5  * a = b 
3101 - 6.5 * -2200 = b
3101 + 14300 = b
17401 = b
b = 17401

所以对于X我们有这个公式:

X2 = -2200 * X1 + 17401

让我们尝试X1 = 6.5和X1 = 6.45:

X2 = -2200 * 6.5 + 17401
X2 = -14300 + 17401
X2 = 3101

X2 = -2200 * 6.45 + 17401
X2 = -14190 + 17401
X2 = 3211

对Y做完全相同的数学运算,这使我得出这个关系遵循这个公式:

Y2 = Y1 * A + B
3441 = 2 * A + B                 3414 = 2.37 * A + B
3441 - 2 * A = B                 3414 - 2.37 * A = B
3441 - 2 * A = 3414 - 2.37 * A
3441 - 2 * A - 3414 + 2.37 * A = 0
27 + 0.37 * A = 0
     0.37 * A = -27
     0.37 * A = -27
            A = -72.973

3441 = 2 * A + B
3441 = 2 * -72.973 + B
3441 - 2 * -72.973 = B
3441 + 145.946 = B
3586.946 = B
B = 3586.946

给出了:

Y2 = Y1 * -72.973 + 3586.946

让我们测试一下:

Y2 = 2 * -72.973 + 3586.946
Y2 = -145.946 + 3586.946
Y2 = 3441

Y2 = 2.37 * -72.973 + 3586.946
Y2 = -172.946 + 3586.946
Y2 = 3414

您的翻译公式如下:

X2 = X1 * -2200  + 17401
Y2 = Y1 * 72.973 + 3586.946