我需要找到一种确定正方形和矩形之间关系的算法.它必须能够确定是否:
>正方形完全在矩形内
>正方形部分位于矩形内(重叠)
>正方形的角仅接触矩形的角
>正方形的边缘在矩形的边缘
以下是输入(给定值),它们将帮助我们为每种情况提取数学公式:
>正方形中心的x坐标= squareX
>正方形中心的y坐标= squareY
>正方形的宽度= squareW
>矩形中心的x坐标= recX
>矩形中心的y坐标= recY
>矩形的宽度= recW
>矩形的长度= recL
附注:矩形的大小总是大于正方形的宽度.
一旦我们可以使用数学运算提取算法,就将用Java编写代码.
编辑:
对于碰到的角,这是我编写的代码,它可以工作(Math.abs表示绝对值):
((Math.abs(Math.abs(recX-squareX)-(recW+squareW)/2))<=0.001) && ((Math.abs(Math.abs(recY-squareY)-(recL+squareW)/2))<=0.001)
解决方法:
更新为双打
double dx = Math.abs(rectX - squareX);
double dy = Math.abs(rectY - squarey);
double dw2 = (rectW + squareW) / 2;
double dh2 = (rectL + squareW)