2016-07-29 5 views
0

У меня есть мой прямоугольник. Приложение создает другой прямоугольник. Он может быть меньше или больше моего прямоугольника. Как я могу узнать, когда его прямо возле шахты, используя их X, Y, вес и высоту ?? Я не хочу знать, есть ли в моем прямоугольнике.Проверьте, нет ли прямоугольника рядом с другим прямоугольником

+0

, пожалуйста, определите «рядом» – Matt

+0

Возможно, попробуйте алгоритм из этого вопроса http://stackoverflow.com/questions/4978323/how-to-calculate-distance-between-two-rectangles-context-a-game-in- lua –

+0

Сгенерированный прямоугольник не должен находиться внутри. Это может быть немного выше или выше или в ширину. но не очень, чем! – Liuk

ответ

-1

Вы можете использовать формулу 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; 
} 
+0

У него прямоугольники, а не точки. – Matt

+0

Да, но он может использовать это также для вычисления расстояния между центрами или некоторыми другими двумя точками прямоугольников, которые он принимает. –

+1

Я признаю, что ваш подход может быть частью решения, но ваш ответ вообще не решает его проблемы. Вы должны хотя бы предложить алгоритм, который вычисляет расстояние между прямоугольниками. – Matt

0

Draw 1 или более не видимые форм, которые по отношению к положению вашего прямоугольника, которые соответствуют вашему определению «ряд» , а затем проверьте, пересекаются ли эти фигуры с прямоугольником, созданным приложением.

Например, одним из способов реализации этого является рисование невидимого прямоугольника, который окружает ваш прямоугольник, а затем проверку того, пересекает ли окружающий прямоугольник прямоугольник, созданный приложением.

0

Я нашел решение! Я вычислил среднюю точку моего прямоугольника. Если прямоугольник сгенерирован в точку, рядом!

+1

Что такое «* have to the point *»? – user1803551

+0

Если сформированный прямоугольник имеет среднюю точку в своей области, находится рядом! * – Liuk