将逻辑坐标设置为屏幕坐标映射,从而使图表具有将逻辑坐标中的范围(-5,-4)到(+5,+6)映射到带有像素的屏幕上坐标从0,0到300,400。用户点击像素200,300。这是什么意思?对应于图的逻辑坐标吗?
我们是否创建矩阵(30x 40y 1)?然后200=30x => x=6.67 300=40y => y=7.5 ??
对于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)这个事实来简化,但即使不是这种情况,也可以遵循相同的原则。