Определите, перекрываются ли два прямоугольника друг друга?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Определите, перекрываются ли два прямоугольника друг друга?

Сообщение Anonymous »

Я пытаюсь написать программу на C++, которая принимает от пользователя следующие входные данные для построения прямоугольников (от 2 до 5): высота, ширина, x-pos, y-pos. Все эти прямоугольники будут существовать параллельно осям x и y, то есть все их края будут иметь наклон 0 или бесконечности.

Я пытался реализовать то, что упомянуто в этом вопросе, но мне не очень повезло.

Моя текущая реализация делает следующее:

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

// Gets all the vertices for Rectangle 1 and stores them in an array -> arrRect1
// point 1 x: arrRect1[0], point 1 y: arrRect1[1] and so on...
// Gets all the vertices for Rectangle 2 and stores them in an array -> arrRect2

// rotated edge of point a, rect 1
int rot_x, rot_y;
rot_x = -arrRect1[3];
rot_y = arrRect1[2];
// point on rotated edge
int pnt_x, pnt_y;
pnt_x = arrRect1[2];
pnt_y = arrRect1[3];
// test point, a from rect 2
int tst_x, tst_y;
tst_x = arrRect2[0];
tst_y = arrRect2[1];

int value;
value = (rot_x * (tst_x - pnt_x)) + (rot_y * (tst_y - pnt_y));
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/306316/determine-if-two-rectangles-overlap-each-other[/url]
Ответить

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

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

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

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

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