An open API service indexing awesome lists of open source software.

https://github.com/vemneyy/rectangles-lab

Implement three methods for working with rectangles in the RectangleTask.cs class
https://github.com/vemneyy/rectangles-lab

college csharp labs

Last synced: 11 months ago
JSON representation

Implement three methods for working with rectangles in the RectangleTask.cs class

Awesome Lists containing this project

README

          

### Задание 1. Два прямоугольника

Скачайте проект Rectangles

Вам даны два прямоугольника на плоскости, со сторонами параллельными осям координат с целочисленными координатами.

Реализуйте в классе RectanglesTask.cs три метода для работы с прямоугольниками:

определение, есть ли у двух прямоугольников хотя бы одна общая точка (и граница и внутренность считаются частью прямоугольника);
вычисление площади пересечения;
определение, вложен ли один в другой.
Решите задание без использования библиотечных методов, кроме Min и Max.

Обратите внимание, что ваше решение должно корректно работать с вырожденными прямоугольниками: у которых длина или ширина равны 0.

Для проверки своего решения запустите скачанный проект.

В мире компьютерной графики принято, что верхний левый угол экрана имеет координаты (0, 0), а ось Y направлена вниз, а не вверх, как принято в математике. Поэтому в этой задаче нижний край прямоугольника имеет большую координату, чем верхний. Учитывайте это при решении задачи!

Подсказки:
1. Прямоугольники пересекаются, если пересекаются их проекции.
2. Площадь пересечения — это произведение длин пересечения проекций прямоугольников на оси OX и OY.,
3. Первый прямоугольник находится во втором, если во втором находятся две противоположные вершины первого.
4. Задачу пересечения прямоугольников легко свести к задаче пересечения отрезков на числовой прямой