Мне нужно найти алгоритм, который определяет отношения между квадратом и прямоугольником. Он должен быть в состоянии определить, если:
- Квадрат полностью внутри прямоугольника
- Квадрат частично внутри (перекрывает) прямоугольник
- Угол квадрата касается только угла прямоугольника
- Край квадрата находится на краю прямоугольника
А вот входные данные (данные значения), которые помогут нам извлечь математическую формулу для каждого случая:
- х координата центра квадрата = квадратX
- y координата центра квадрата = квадратY
- ширина квадрата = квадратW
- x координата центра прямоугольника = recX
- y координата центра прямоугольника = recY
- ширина прямоугольника = recW
- длина прямоугольника = recL
P.S: Размеры прямоугольника всегда больше ширины квадрата.
Я напишу код на Java, как только мы сможем извлечь алгоритм, используя математические операции.
Edit:
Для случая касания углов, вот код, который я написал, и он работает (Math.abs означает абсолютное значение):
((Math.abs(Math.abs(recX-squareX)-(recW+squareW)/2))<=0.001) && ((Math.abs(Math.abs(recY-squareY)-(recL+squareW)/2))<=0.001)