Java 检查是否在特定区域内
**由于混淆,重新编辑了问题以使其更有意义 假设有一个坐标平面,其尺寸如下: X:0-1000 Z:0-1000 我们将平面分成十个区域,如下所示: 区域1: X:0-99 Z:0-99 区域2: X:100-199 Z:100-199 等等 然后,我们生成三个随机数,例如: X:56 Z:38 检查坐标所在区域的最有效方法是什么? 这看起来像是使用一种阻塞方法,例如:Java 检查是否在特定区域内,java,minecraft,Java,Minecraft,**由于混淆,重新编辑了问题以使其更有意义 假设有一个坐标平面,其尺寸如下: X:0-1000 Z:0-1000 我们将平面分成十个区域,如下所示: 区域1: X:0-99 Z:0-99 区域2: X:100-199 Z:100-199 等等 然后,我们生成三个随机数,例如: X:56 Z:38 检查坐标所在区域的最有效方法是什么? 这看起来像是使用一种阻塞方法,例如: if(X < 100 && Z < 100){ regionA(); } else if
if(X < 100 && Z < 100){
regionA();
} else if(X < 200 && Z < 200){
regionB();
}
//and so on..
if(X<100&&Z<100){
区域();
}否则如果(X<200&&Z<200){
区域b();
}
//等等。。
效率会非常低
是否有其他方法检查坐标位于哪个区域
另一个例子是:
根据纬度和经度,你怎么知道坐标在哪个国家(或者在海洋中,等等?好吧,因为每个区域,也就是说,都有100个区块宽,我们可以使用坐标中的数百个值。我假设你把飞机分成100x100个区域
int x; //Your coordinates here
int z;
double regionx = math.ceil(x/100);
double regionz = math.ceil(z/100);
你可以用
regionx.intValue()
或regionz.intValue()
如果需要返回一个int值如果它有三个维度,它不是一个平面,它是一个立方体,就像你分解它一样,你的随机数很可能不会落在10个较小的块中。你只会在一个1000单位的一维区域中占据所有可能的值,该区域有10个分区(线)。2维需要100个分区(正方形/平面),3维需要1000个分区(立方体)来填充整个空间。例如,0、0、101在哪里结束?还有0,0,201?还有100,0201?等等。我的问题与区域划分无关,我的问题是找到坐标所在区域的最佳方法是什么?@user3344572问题是您的区域划分不清楚。从您列出的内容来看,听起来您只使用了对角线区域。您需要更全面地解释区域划分,因为听起来人类列出的区域似乎不存在。