逻辑和屏幕坐标

时间:2011-05-01 11:05:06

标签: language-agnostic layout user-interface geometry coordinates

设置屏幕坐标映射的逻辑坐标,使其具有的图表 逻辑坐标中的(-5,-4)到(+ 5,+ 6)的范围被映射到具有像素的屏幕上 从0,0到300,400的坐标。用户点击像素200,300。这是什么 对应于图中的逻辑坐标?

我们创建矩阵(30x 40y 1)吗?然后200 = 30x => x = 6.67 300 = 40y => y = 7.5 ???

1 个答案:

答案 0 :(得分:1)

对于X,您需要从(0,300)到(-5,+ 5)的映射。因此,您需要线性函数f(x),使得f(0)= - 5和f(300)= + 5。您可以通过检查将其写下来:

f(x) = -5 + [(+5 - -5)/(300 - 0)]x
     = -5 + (10/300)x

您可以将相同的逻辑应用于其他轴。

由于屏幕矩形的左上角位于(0,0),但即使不是这种情况,也可以遵循相同的原则来简化此问题。