Мне нужно найти алгоритм, который определяет связь между квадратом и прямоугольником. Он должен быть в состоянии определить:Алгоритм, определяющий связь между квадратом и прямоугольником
- квадрат полностью находится внутри прямоугольника
- Квадрат частично внутри (перекрывает) прямоугольник
- углу Квадрата только прикасается углу прямоугольника
- края Square является на краю прямоугольника
А вот входы (заданные значения), которые помогут нам извлечь математическую формулу для каждого случая:
- х координата центра квадрата = squareX
- у координаты центра квадрата = squareY
- ширина площади = squareW
- х координата центра прямоугольника = recX
- координату центра прямоугольника = 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)
Пожалуйста, разместите код, который вы написали. Люди обычно не любят просто писать свой код для вас. Как бы то ни было, это описание работы, а не вопрос. –
Как точно определены x и y (левый верхний угол, центр, ...)? – lweller
Вы даже попытались решить эту проблему? – ash