Лабораторная работа 2: Лабораторная работа вариант 12
Описание
Разработать программу раскраски граней многоугольного графа плоской прямолинейной укладки любого заданного правильного или полуправильного многогранника. Требуемая фигура должна формироваться по массивам его вершин, граней и ребер, которые определяют их взаимное расположение в графическом окне программы. При этом положение каждой вершины должно фиксироваться ее координатами в условных единицах, пропорциональных размеру графического окна программы, по заданной схеме. Для каждой грани должны быть указаны список номеров и число их вершин. Все ребра должны быть заданы списком инциденций из пар номеров своих вершин (или перечислены в минимальном наборе цепей из них, которые специфицированы списками номеров смежных вершин). Закодированное таким образом изображение должно симметрично располагаться в графическом окне и пропорционально реконфигурироваться при любых изменениях его размера. При любых реконфигурациях размер графического окна программы должен быть ограничен сверху габаритами экрана дисплея, а его минимальный размен должен быть установлен из расчета визуальной различимости граней заданной фигуры. В начале выполнения программы графическое окно должно быть занимать четверть площади экрана в его центре, а все грани изображения графа в нем должны иметь одинаковый цвет фона. Изменение цвета каждой грани должно осуществляться по щелчку любой кнопки мыши, когда ее курсор находится внутри грани. Для раскраски граней в программе должна быть распределена палитра из n=4 различных цветов (плюс еще один цвет для изображения вершин и ребер). Чтобы установить необходимый цвет для любой грани в программе должен быть реализован циклический перебор цветов палитры с перекраской указанной грани последовательно в каждый из них по щелчку любой кнопки мыши. Кроме того, следует предусмотреть перезагрузку изображения графа с перекраской в одинаковый фоновый цвет всех граней по нажатию клавиши ESC на клавиатуре, а также принудительную перерисовку графического окна по нажатию комбинации клавиш ALT-ESC с сохранением раскраски граней. Завершение программы должно происходить по нажатию клавиши F10 клавиатуре. При разработке программы должна быть реализована обработка соответствующих событий и изображений в ее графическом окне с многоугольными регионами для граней графа. Для этого следует применить библиотечные функции базового программного интерфейса X Window System. При выполнении программы требуется построить правильную раскраску граней заданной фигуры многоугольного графа минимальным числом цветов, когда все смежные грани имеют различные цвета.
Файлы условия, демо
Характеристики лабораторной работы
Список файлов
- lab2 (2).docx.pdf 319,12 Kb