Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Разработать программу объектно-ориентированного графического редактора, обеспечивающего выполнение следующих основных функций:

- выбор, размещение на экране и визуализация примитивов из заданного набора;

- синтез более сложных фигур с помощью теоретико-множественных операций (ТМО) как над примитивами, так и над ранее синтезированными фигурами;

- выделение любого объекта, выведенного на экран, и выполнение над ним любой последовательности геометрических преобразований из заданного набора в интерактивном режиме;

- выделение любого объекта на экране и его удаление.

Уровень сложности синтезируемых фигур по числу используемых для этого ТМО не должен ограничиваться. Не должно быть также ограничений на количество примитивов любого вида или сложных фигур, выводимых на экран. При выполнении ТМО объекты – операнды данной операции следует удалять из списка самостоятельных объектов, а их изображения – стирать с экрана.

Любые геометрические преобразования нужно выполнять в однородных координатах в матричной форме и применять ко всем видам объектов.

Геометрические преобразования над каким-либо объектом не должны приводить к стиранию изображения или другим искажениям остальных объектов.

Программа должна располагать общепринятыми элементами интерфейса: системным и контекстными меню, инструментальными панелями, другими элементами диалога, системой помощи и подсказок по всем основным функциям программы. Предусмотреть диалоговые средства для выбора цвета рисования.

Программа должна быть рассчитана на работу в операционной системе Windows XPи выше.

В табл. 2.1 приведен перечень примитивов, их внешнего вида в исходном состоянии и обозначений. Все приведенные в табл. 2.1 примитивы, кроме кривых, – закрашиваемые многоугольники.

Для расчета координат вершин правильных многоугольников и звезд, а также правильного креста в исходном состоянии в программе необходимо разработать соответствующие процедуры. Координаты вершин таких фигур, как треугольники, прямоугольник, ромб, параллелограмм, равнобедренная трапеция, также следует рассчитывать, задав такие параметры, как высота и ширина. Для расчета вершин параллелограмма и равнобедренной трапеции дополнительно следует задать один из углов.

Таблица 2.1

Примитивы Вид Обозначение
Кривая Безье   BZ
Кривая Эрмита   ER
Равнобедренный треугольник   Tgr
Прямоугольный треугольник   Tgp
Ромб   Romb
Параллелограмм   Prlg
Равнобедренная трапеция   Trp
Произвольный n -угольник, n <= 20   FPg
Правильный n -угольник, n <= 20   Pgn
Правильная n -конечная звезда, n <= 20 Zv
Стрелка 1 Str1
Стрелка 2 Str2
Стрелка 3   Str3
Флаг   Flag
Правильный крест     Kr
Уголок 1 Ugl1
Уголок 2   Ugl2
Уголок 3 Ugl3

Вершины таких фигур, как стрелки, флаг, уголки можно либо также рассчитывать на основании высоты и ширины, выбрав какие-либо пропорции, либо их можно задать в константах программы по чертежу фигуры в исходном состоянии.

Пример алгоритма для задания координат верши трапеции на основании координат (x 1, y 1) и (x 2, y 2) диагонали прямоугольника, заданного мышью (рис. 2.1), приведен ниже.

Рис. 2.1

P[1].x = x2; P[1].y = y2;

P[2].x = x1; P[2].y = y2;

dx = (x2 – x1)/4;

P[1].x = x1 + dx; P[1].y = y1;

P[1].x = x2 – dx; P[1].y = y1;

В табл. 2.2 перечислены виды геометрических преобразований и их обозначения.

Таблица 2.2

Геометрические преобразования Обозначение
Поворот вокруг заданного центра на произвольный угол
Поворот вокруг заданного центра на угол 30о Rс30
Поворот вокруг центра фигуры на произвольный угол Rf
Поворот вокруг центра фигуры на угол 60о Rf60
Масштабирование по оси X относительно заданного центра Sxc
Масштабирование по оси X относительно центра фигуры Sxf
Масштабирование по оси Y относительно заданного центра Syc
Масштабирование по оси Y относительно центра фигуры Syf
Пропорциональное масштабирование относительно заданного центра Sxyc
Пропорциональное масштабирование относительно центра фигуры Sxyf
Зеркальное отражение относительно заданного центра SPc
Зеркальное отражение относительно центра фигуры SPf
Зеркальное отражение относительно вертикальной прямой SV
Зеркальное отражение относительно горизонтальной прямой SH
Зеркальное отражение относительно прямой общего положения SL

Под заданным центром подразумевается любая точка области вывода на экране, указанная с помощью мыши, которую в дальнейшем следует использовать как центр преобразования. До окончания преобразования центр нужно показывать каким-либо условным обозначением, например, в виде перекрестья (рис. 2.2).

Рис. 2.2

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

Вертикальная, горизонтальная или прямая общего положения для соответствующих видов зеркального отражения должны строиться на экране интерактивно и автоматически стираться с экрана после окончания преобразования.





Дата публикования: 2015-04-07; Прочитано: 361 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...