如果我们想象它旋转 45°,那么在不改变概念的情况下制作矩形并检查点位置吗?

Make rectangle and check point location against it without changing concept very much if we imagine it being rotated by 45°?

看看这个矩形区域创建和点定位的简单组合。

虽然当前计算检索到此点位于计算区域内的 TRUE,但新调整后的计算应将相同的点位置解释为 FALSE,就好像对象已旋转 45°(此点现在位于外部).

在旋转矩形的条件检查中使用 X+Y 和 X-Y。

基本上你比较一条直线 y=m*x+b 和 m=tan ±45°=±1

Y>y=1x+b=X+b可以简化为Y-X>b(<也一样) 并且 Y>-1x+b=-X+b 到 Y+X>b(对于 <)

也是一样

对于相同大小的正方形,支票中的常量(在您的情况下为 16)必须乘以 sqrt(2)。 (或 X±Y 除以 sqrt(2))

point1 Y-X <= Y-X position of object - 16*sqrt(2)
point1 Y-X >= Y-X position of object + 16*sqrt(2)
point1 X+Y >= X+Y position of object + 16*sqrt(2)
point1 X+Y <= X+Y position of object - 16*sqrt(2)