我有很多表需要检查特定值
我需要输入特定的数字,然后我需要一个函数来检查是否在特定区域找到了方块,如果是,那么该区域得到的数字(70或75)。
值为:
0.00至-12.00(左垂直) 0.00至+4.00(水平上层)
数字75或70只是为整个块设置的数字。
两个元素中的每个蓝色方块都是0.25。
例如,如果我输入-11.00和+2.00平方找到数字70,另一个例子,当我把-5.00和2.25平方找到75时,当输入-11.00和+1.00时没有去。
任何人都知道该怎么做?
table http://img709.imageshack.us/img709/9449/imag0965.jpg
我开始编写函数,但我结束了一点,我只是不知道该怎么做。
答案 0 :(得分:1)
你有正确的想法。从图中看,函数在您指定的区域中是线性的,因此您可以使用y = mx + b来获取每条线的等式(我至少看到4)。此页http://www.purplemath.com/modules/slopgrph.htm说明了如何计算所需的线方程。
一旦得到线的公式,给定一个点(X,Y),你可以使用你的点的X值来计算每条线的y值,然后将你的点的Y与你的每一行进行比较。你的顺序是:
if (Point_Y < y_first){
// in region 1
} else if(Point_Y >= y_first && Point_Y < y_second){
// region 2
} else if(Point_Y >= y_second && Point_Y < y_third){
// in region 3
} .... etc
您可能还应该检查该点是否在您所拥有的图表所给出的范围内,因为您不知道该图形在该范围之外是什么样的。这更容易做到:
if(Point_Y <= y_max && Point_Y >= y_min
&& Point_X <= x_max && Point_X >= x_min){
// in range
}