JAVA:
我正在研究一个网格,其中每个方格的中心点是一个整数坐标,我在两个整数之间画一条线,需要检查它是否通过整数坐标的特定网格方格。
我看过类似的帖子/谷歌搜索结果,但是我的基本结果更加基本,所以我想知道是否有一个我无法理解的简单解决方案。 (最有可能)
感谢您提供的任何帮助!
答案 0 :(得分:1)
答案 1 :(得分:0)
我想你问的是一条特定的线是否与一个特定的方格相交(如果该问题得到解决,它适用于任意数量的方格)。
试试这个。假设线有等式y = a * x + b,并且方块的左下角有 坐标(x1,y1),而左上角有坐标(x2,y2)。
找到点y'= a * x1 + b,y''= a * x2 + b(乘以“*”);
然后取决于是否'>> y''或反之亦然,你有一个区间[y',y'']或[y'',y'],比如说区间是[y',y'']。
(在数学符号中,[m,n]代表所有数字> = m,< = n。)
如果[y',y'']与[y1,y2]相交,则该行进入正方形。