我需要计算两个矩形在特殊 x/y 网格上的重叠(数量或是/否)。网格为 500x500,但边和角连接(连续)。所以 499 之后的下一个点又变成了 0。
在上一个问题中,我询问了一种计算此网格中两点之间距离的方法。原来是欧几里得距离:
sqrt(min(|x1 - x2|, gridwidth - |x1 - x2|)^2 + min(|y1 - y2|, gridheight - |y1-y2|)^2)
计算两个矩形(由点(x,y),宽度和高度定义)是否在此网格中重叠的良好数学方法是什么?
Rectangle-1 ( [x=0,y=0], w=20, h=20
) 和 Rectangle-2 ( [x=495,y=0], w=10, h=10
) 应该有重叠。重叠的矩形(不是真的需要,但是)应该是 ( [x=0,y=0], w=5, h=10
)