Геометрические фигуры заданы на координатной плоскости с помощью координат вершин. Реализовать классы равностороннего треугольника и правильного пятиугольника.
Каждая из этих фигур должна обладать методами: получить размер стороны, получить площадь, получить периметр, метод сравнения текущей фигуры с другой (здесь можно сделать просто метод, а можно посмотреть магические методы в python). Фигуры равны, если координаты вершин равны.
Необязательное, для продвинутых: Если при создании фигуры заданы вершины, не образующие эту фигуру, необходимо сгенерировать исключение WrongFigureTypeError (его нужно сделать тоже самостоятельно) с соответствующим сообщением.
При этом, реализовать класс вершины, у которого есть две координаты и метод расчёта расстояния от текущей вершины до любой другой.
Создан абстрактный базовый клас для фигур из любого количества углов (Shapes). Заданные фигуры: треугольник (class Triangle) и пятиугольник (class Pentagon) создаются из вершин (class Vertices). При создании фигуры проверяется образуют ли указанные вершины, данную фигуру, в противном случае генерируются исключения:
- WrongFigureTypeError: если количество вершин не соответствует создаваемой фигуре (3 - Triangle или 5 - Pentagon);
- WrongFigureVerticesError: вершины не должны повторяються, все грани равны, расстояния между вершинами через одну тоже должны быть одинаковыми.
У вершины есть метод растчёта растояния от текущей до указанной (get_distance) У каждой фигуры есть методы:
- Получить площадь (get_area);
- Получить периметр (get_perimetr);
- Получить строку всех значей (get_info).
Вершины и фигуры можно сравнивать друг с другом. Введена константа округления (NUM_ROUND) для расчета при текущих координатах вершин.
Python 3.7