Лабораторная работа 2: Рубежный контроль вариант 16, 16М, 16M
Описание
Лабораторная работа была защищена на высший балл.
Задание:
Разработать программу, которая отображает равномерное вращение деформируемого треугольника в плоскости графического окна вокруг его центра. При этом вершины треугольника должны синхронно передвигаться по траектории эллипса, который вписан в графическое окно программы и обозначен пунктиром. В начальном положении стороны треугольника должны быть видны под равными углами из центра эллипса, а одна из его вершин совпадает с нижней точкой эллипса. Вращение и деформация треугольника должны происходить, пока клавиша «+» или «-» на клавиатуре удерживается в нажатом состоянии. При этом направления вращения треугольника должны быть взаимно противоположны. Кроме того, при любых реконфигурациях графического окна программы должны пропорционально изменяться длины сторон треугольника, а текущее угловое смещение его вершин должно сохраняться неизменным. Необходимо также предусмотреть возможность вернуть начальное расположение треугольника в графическом окне любой конфигурации нажатием клавиши ESC на клавиатуре. Завершение программы должно обеспечивать нажатие комбинации клавиш CTRL+T на клавиатуре. При разработке программы необходимо предусмотреть соответствующую обработку событий и изображений в её графическом окне, используя библиотечные функции программного интерфейса Xlib из состава X Window System.
Показать/скрыть дополнительное описание
Разработать программу, которая отображает равномерное вращение деформируемого треугольника в плоскости графического окна вокруг его центра. При этом вершины треугольника должны синхронно передвигаться по траектории эллипса, который вписан в графическое окно программы и обозначен пунктиром. В начальном положении стороны треугольника должны быть видны под равными углами из центра эллипса, а одна из его вершин совпадает с нижней точкой эллипса. Вращение и деформация треугольника должны происходить, пока клавиша «+» или «-» на клавиатуре удерживается в нажатом состоянии. При этом направления вращения треугольника должны быть взаимно противоположны. Кроме того, при любых реконфигурациях графического окна программы должны пропорционально изменяться длины сторон треугольника, а текущее угловое смещение его вершин должно сохраняться неизменным.
Необходимо также предусмотреть возможность вернуть начальное расположение треугольника в графическом окне любой конфигурации нажатием клавиши ESC на клавиатуре. Завершение программы должно обеспечивать нажатие комбинации клавиш CTRL+T на клавиатуре. При разработке программы необходимо предусмотреть соответствующую обработку событий и изображений в её графическом окне, используя библиотечные функции программного интерфейса Xlib из состава X Window System..