Набор классов для решения геометрических задач на плоскости. Все координаты предполагаются целочисленными.
-
Класс Vector для вектора на плоскости.
-
Набор классов-фигур, которые наследуются от абстрактного класса IShape для работы с двумерными примитивами: Point или точка
Segment или отрезок
Line или прямая
Ray или луч
Polygon или многоугольник
Circle или окружность
-
В базовом классе имеются следующие методы: void Move(const Vector&) — сдвиг фигуры на соответствующий вектор
bool ContainsPoint(const Point&) — проверка, содержит ли фигура точку
bool CrossSegment(const Segment&) — проверка, пересекает ли отрезок фигуру
IShape* Clone() — вернуть указатель на копию фигуры
void ToString() — строковое представление фигуры