У меня есть мой прямоугольник. Приложение создает другой прямоугольник. Он может быть меньше или больше моего прямоугольника. Как я могу узнать, когда его прямо возле шахты, используя их X, Y, вес и высоту ?? Я не хочу знать, есть ли в моем прямоугольнике.Проверьте, нет ли прямоугольника рядом с другим прямоугольником
ответ
Вы можете использовать формулу Math для вычисления расстояния между двумя точками, как это:
double getDistance(int x, int y, int x2, int y2) {
double distance;
distance = Math.sqrt(Math.pow(Math.abs(x2 - x) , 2) + Math.pow(Math.abs(y2 - y) , 2));
return distance;
}
У него прямоугольники, а не точки. – Matt
Да, но он может использовать это также для вычисления расстояния между центрами или некоторыми другими двумя точками прямоугольников, которые он принимает. –
Я признаю, что ваш подход может быть частью решения, но ваш ответ вообще не решает его проблемы. Вы должны хотя бы предложить алгоритм, который вычисляет расстояние между прямоугольниками. – Matt
Draw 1 или более не видимые форм, которые по отношению к положению вашего прямоугольника, которые соответствуют вашему определению «ряд» , а затем проверьте, пересекаются ли эти фигуры с прямоугольником, созданным приложением.
Например, одним из способов реализации этого является рисование невидимого прямоугольника, который окружает ваш прямоугольник, а затем проверку того, пересекает ли окружающий прямоугольник прямоугольник, созданный приложением.
Я нашел решение! Я вычислил среднюю точку моего прямоугольника. Если прямоугольник сгенерирован в точку, рядом!
Что такое «* have to the point *»? – user1803551
Если сформированный прямоугольник имеет среднюю точку в своей области, находится рядом! * – Liuk
, пожалуйста, определите «рядом» – Matt
Возможно, попробуйте алгоритм из этого вопроса http://stackoverflow.com/questions/4978323/how-to-calculate-distance-between-two-rectangles-context-a-game-in- lua –
Сгенерированный прямоугольник не должен находиться внутри. Это может быть немного выше или выше или в ширину. но не очень, чем! – Liuk