Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 类似于X轴,Y轴-需要检查的多个值,如何进行检查?_Php_Algorithm_Function_Math - Fatal编程技术网

Php 类似于X轴,Y轴-需要检查的多个值,如何进行检查?

Php 类似于X轴,Y轴-需要检查的多个值,如何进行检查?,php,algorithm,function,math,Php,Algorithm,Function,Math,我有很多表需要检查具体的值 我需要输入特定的数字,然后我需要一个函数来检查是否在特定区域中找到了方形块,如果是,该区域得到了什么数字(70或75) 价值观是: 0.00至-12.00(左垂直方向) 0.00至+4.00(上部水平高度) 数字75或70只是为整个街区设置的数字 每个蓝色方形块在两个表中都是0.25 例如,如果我输入-11.00和+2.00的平方和数字70,另一个例子是,当我输入-11.00和+1.00时,输入-5.00和2.25的平方和数字75 有人知道怎么做吗 我开始写函数,但

我有很多表需要检查具体的值

我需要输入特定的数字,然后我需要一个函数来检查是否在特定区域中找到了方形块,如果是,该区域得到了什么数字(70或75)

价值观是:

0.00至-12.00(左垂直方向) 0.00至+4.00(上部水平高度)

数字75或70只是为整个街区设置的数字

每个蓝色方形块在两个表中都是0.25

例如,如果我输入-11.00和+2.00的平方和数字70,另一个例子是,当我输入-11.00和+1.00时,输入-5.00和2.25的平方和数字75

有人知道怎么做吗


我开始写函数,但最后我不知道怎么做。

你的想法是对的。从图中可以看出,函数在您指定的区域中是线性的,因此您可以使用y=mx+b来获得每条线的方程(我至少看到4条)。本页介绍如何计算所需的直线方程

一旦得到直线的公式,给定一个点(X,Y),可以使用点的X值来计算每条直线的Y值,然后将点的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(点Y=Y\u第一点和点Y=Y秒和点Y
您可能还应该检查点是否在图形给定的范围内,因为您无法确定图形在该范围外的外观。这更容易做到:

if(Point_Y <= y_max && Point_Y >= y_min 
    && Point_X <= x_max && Point_X >= x_min){
    // in range
} 
if(点Y=Y\u min
&&点X=X(最小值){
//射程内
} 

否否,图表在我的cataloque中,我将使用单个图表并将其写入数据库的值中。但我仍然需要知道如何生成函数,因为我不知道需要从该图中获取什么值。你还必须将线和点的值适当地四舍五入,以使点适合网格。没错。如果区域必须精确匹配网格,则必须将“一个单位”设置为图片中给定单位中每个单元格的长度和宽度。Thx伙计们,我现在必须考虑:)