Форум программистов, компьютерный форум CyberForum.ru

Условие НЕ пересечения прямоугольников - C++

Восстановить пароль Регистрация
 
молодой_горячий
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 42
01.12.2013, 17:51     Условие НЕ пересечения прямоугольников #1
Доброго времени суток. И так вопрос в самой теме. По началу я искал все возможные варианты пересечения прямоугольников типа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
bool Intersects(Rect Obj1, Rect Obj2)
{
    //int ax,ay,ax1,ay1,bx,by,bx1,by1;
 
    int ax = Obj1.ItsLeftUpperGetX();
    int ay = Obj1.ItsLeftUpperGetY();
    int ax1 = Obj1.ItsRightLowerGetX();
    int ay1 = Obj1.ItsRightLowerGetY();
 
    int bx = Obj2.ItsLeftUpperGetX();
    int by = Obj2.ItsLeftUpperGetY();
    int bx1 = Obj2.ItsRightLowerGetX();
    int by1 = Obj2.ItsRightLowerGetY();
    if  (((ay<by)&&(ay1>by))&&((ax<bx)&&(ax1>bx))) return true; //
    if  (((ay<by1)&&(ay1>by1))&&((ax<bx)&&(ax1>bx))) return true;// 
    if  (((ay<by1)&&(ay1>by1))&&((ax<bx1)&&(ax1>bx1))) return true;//
    if  (((ay<by)&&(ay1>by))&&((ax<bx1)&&(ax1>bx1))) return true;//
        return false;
}
Функция не всегда работала правильно и тут я подумал: "Нахрена я все это делаю, если можно выйти от последнего". То есть просто сделать проверку на НЕ пересекаемость. Но к сожалению, я уже часа как 3 не могу правильно настроить условие. Надеюсь на Вашу помощь. Благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2013, 17:51     Условие НЕ пересечения прямоугольников
Посмотрите здесь:

C++ Найти площадь пересечения прямоугольников
C++ Последовательно вводятся габариты n прямоугольников. В процессе ввода находить площадь их пересечения, не запоминая самих габаритов.
C++ Последовательно вводятся габариты n прямоугольников. Определить площадь их пересечения.
Нахождение площадей пересечения случайных прямоугольников C++
координаты пересечения двух прямоугольников C++
Площадь пересечения двух прямоугольников C++
C++ Площадь пересечения двух прямоугольников
Площадь пересечения прямоугольников C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru