如果我绘制了诸如y = sin(x)
之类的函数,则只有在鼠标在函数上时才能显示鼠标坐标?
大概是通过计算值并绘制曲线来绘制sin(x)
的曲线。因此,当x = 27
(例如,y
)将是一些已知值时。然后,您将sin(0)
绘制在窗口上的某些x,y
坐标上的曲线。屏幕上的角度x
和x
坐标之间以及sin(x)
的结果与屏幕上的y
坐标之间有一些映射。
例如,假设您为0到180之间的所有值生成了sin(x)
的值。结果的范围为-1至 1。而且您有此映射:
xCoordinate = (int)(2*x);
yCoordinate = (int)((100*y) + 200);
现在,如果您想查看鼠标是否在曲线上,则需要将鼠标的当前x
协调回到角度。您可以通过反转翻译来做到这一点:
x = xCoordinate/2;
现在,再次计算sin(x)
,并使用翻译确定y
坐标。将结果与鼠标当前y
坐标进行比较。如果它们相等,那么您就在曲线上。
我将铸件使用int
的原因是因为否则您将获得分数值,而鼠标坐标始终是整数。因此,您对y
坐标的计算可能会为您提供270.71的sin(45)
。当您绘制它时,它将被截断为270。