Проверьте, перекрываются ли две ограничивающие рамкиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проверьте, перекрываются ли две ограничивающие рамки

Сообщение Anonymous »

Я сделал что-то вроде этого:

Код: Выделить всё

Pseudo:
`Function checkOverlap(thisRectangle, otherRectangle):
if thisRectangle.UpperRight.Longitude < otherRectangle.LowerLeft.Longitude
return false
if thisRectangle.LowerLeft.Longitude > otherRectangle.UpperRight.Longitude
return false
if thisRectangle.UpperRight.Latitude < otherRectangle.LowerLeft.Latitude
return false
if thisRectangle.LowerLeft.Latitude > otherRectangle.UpperRight.Latitude
return false
return true`
Но мне также приходится иметь дело с международной линией дат. Любые предложения, как это объяснить - я немного запутался.
Редактировать
Ограничительная рамка в основном состоит из двух координат с долготой и широты между -180 и 180. У нас есть LowerLeft и Upperright для определения ограничивающей рамки. Мы определяем нижнюю левую координату по двум заданным координатам, сравнивая их значения широты и долготы с помощью функции min. Мы делаем то же самое, чтобы получить координату UpperRight, используя функцию max как для широты, так и для долготы. Используя это, мы имеем нижние левые и верхние правые координаты ограничивающего прямоугольника, поэтому мы можем использовать приведенную выше логику для проверки пересечений. Однако я сомневаюсь в пересечении линии даты, поскольку мы переходим от -180 к +180 и наоборот

Подробнее здесь: https://stackoverflow.com/questions/785 ... es-overlap
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»