Написать две программы на QT

Ульяна3 года в сервисе
Данные заказчика будут вам доступны после подачи заявки
01.12.2021

1 Задача

Даны 3 точки на плоскости в формате

x1 y1 x2 y2 x3 y3

Требуется найти координаты следующих точек

1. точка пересечения медиан

2. точка пересечения биссектрис (центр вписанной окружности)

3. точка пересечения биссектрисы угла A и внешних углов B и C (центр вневписанной окружности)

4. точка пересечения высот

5. точка пересечения серединных перпендикуляров к сторонам (центр описанной окружности)

5. точка Жергонна - точка пересечения отрезков, соединяющих вершины треугольника с точками касания вписанной окружности

6. точка Нагеля - точка пересечения отрезков, соединяющих вершины треугольника с точками касания трех вневписанных окружностей

Пусть программа продемонстрирует, что в каждом случае три отрезка пересекаются в одной точке.

Используйте классы R2Point, R2Vector из предыдущего задания. Могут быть полезны следующие соображения:

*для двух точек A и B середину отрезка AB можно определить как ( A+B )/2 (посмотрите, как опеределен operator + для R2Point)

*для двух векторов найти вектор, направленный вдоль биссектриссы между ними можно, взяв сумму нормализованных векторов

*найти пересечение отрезков и прямых можно с помощью функций intersectLineSegments, intersectLineSegmentAndLine, intersectStraightLines (функции эти реализованы в R2Graph.cpp - если компилируете из командной строки, сделайте makefile)

2 Задача

В приложенном архиве - пример приложения на Qt. В дополнение к тому, о чем говорили на занятии:

вызываем setSizePolicy(Expanding, Expanding), чтобы виджет захватывал максимальную область в layout

вызываем painter.setRenderHint(painter.Antialiasing) для того, чтобы линии получались гладкие

точки сохраняем в QList

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

Модифицируйте программу так, чтобы она не позволяла задавать более 3 точек и рисовала треугольник и центр пересечения медиан треугольника.

По нажатию на кнопку в верхней панели - очищаем список точек и рисунок (reset).

Если будет нужно, то ссылку на урок отправлю