Лабораторная работа: ЛР P17
Описание
Лаба. Ниже условие.
Код программ в отчете, структура отчета в подарок.Разработать программу раскраски граней многоугольного графа плоской прямолинейной укладки заданного (полу)правильного многогранника. Требуемая фигура должна формироваться по массивам его вершин, граней и ребер, которые определяют их взаимное расположение в графическом окне программы. При этом положение каждой вершины должно фиксироваться ее координатами в условных единицах, пропорциональных размеру графического окна программы. Для каждой грани должны быть указаны: список номеров и число ее вершин. Все ребра должны быть перечислены в минимальном наборе цепей из них, специфицированных списками номеров смежных вершин. Закодированное таким образом изображение должно быть симметрично расположено в графическом окне и пропорционально реконфигурироваться при любых изменениях его размера. При этом минимальный габарит графического окна программы должен быть установлен из расчета визуальной различаемости граней заданной фигуры. В начале все грани должны иметь одинаковый цвет фона. Изменение цвета каждой грани должно осуществляться по щелчку любой кнопки мыши, когда ее курсор находится внутри грани. Для раскраски граней в программе должна быть распределена палитра из цветов (плюс еще 1 цвет для изображения вершин и ребер). Чтобы установить необходимый цвет для любой грани в программе должен быть реализован циклический перебор цветов палитры с перекраской указанной грани последовательно в каждый из них. Кроме того, следует предусмотреть восстановление исходного цвета всех граней по нажатию клавиши Escape на клавиатуре и принудительную перерисовку графического окна по нажатию комбинации клавиш Ctrl-L. Завершение программы должно происходить по нажатию клавиши F10. При разработке программы должна быть реализована обработка соответствующих событий и изображений в ее графическом окне с его многоугольными регионами. Для этого необходимо применить библиотечные функции программного интерфейса Xlib из XWindowSystem.