Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Векторный графический редактор

Автор:   •  Май 11, 2023  •  Курсовая работа  •  9,104 Слов (37 Страниц)  •  166 Просмотры

Страница 1 из 37

Министерство науки и высшего образования РФ федеральное государственное бюджетное[pic 1]

образовательное учреждение высшего образования

«Самарский государственный технический университет» (ФГБОУ ВО «СамГТУ»)

Кафедра «Вычислительная техника»

ГРАФИЧЕСКИЕ

СИСТЕМЫ КОМПЬЮТЕРОВ

КУРСОВАЯ РАБОТА

на тему                 ВЕКТОРНЫЙ ГРАФИЧЕСКИЙ РЕДАКТОР

Вариант индивидуального задания №93

Руководитель

Доцент кафедры «Вычислительная техника»                                        Пугачев А.И.

Выполнил обучающийся группы 3-ИАИТ-3                                             Ушков Д.Е.

Самара

2022

Оглавление

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

2.        Реализация        4

2.1 Вспомогательный класс MyPoint:        4

2.2 Вспомогательная структура M        4

2.3.1 Fill - закрашивание многоугольника        5

2.3.2 PaintingLineInFigure – рисование ребер многоугольника        6

2.3.3 SearchYMinAndMax – нахождение минимального и максимального Y        6

2.3.4 CheckIntersection – добавление точки при пересечении с прямой Y        7

2.3.5 Check – проверка пересечение прямой Y с отрезком        7

3.        Реализация функции Кубического сплайна        8

4.        Реализация создания фигур        11

4.1 Fill – закрашивание фигуры.        12

4.2 ToAndFromCenter - перемещение фигуры в центр и обратно.        13

4.3 Создание фигуры «Правильный n-угольник»        13

4.4 Создание фигуры «Стрелка 1»        14

5.        Поворот вокруг заданного центра на произвольный угол        15

5.1 GeometricTransformation- определяет над каким количеством фигур нужно сделать преобразование        15

5.2 OperationGeometric – определяет действие с фигурой        16

5.3 Rotation – метод для вычисления координат при вращении фигуры        16

6.        Пропорциональное масштабирование относительно центра фигуры        17

6.1 Zoom – метод масштабирования фигуры        18

7. Зеркальное отражение относительно вертикальной прямой        18

7.1 Mirror – метод отражения фигуры        19

8.        Реализация теоретико-множественных операций        20

8.1 Tmo – алгоритм построения фигур с помощью ТМО        20

9.        Руководство использования        22


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

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

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

[pic 2]

Рисунок 1. Техническое задание из методички

Вариант 93

Нужно сделать:

  1. ER - Кубический сплайн
  2. Pgn - Правильный n-угольник
  3. Str1 - Стрелка 1
  4. Rc - Поворот вокруг заданного центра на произвольный угол
  5. Sxyf - Пропорциональное масштабирование относительно центра фигуры
  6. MV - Зеркальное отражение относительно вертикальной прямой
  7. / - разность
  8.  - объединение

  1.  Реализация

2.1 Вспомогательный класс MyPoint:

Содержит в себя поля для решение таких задач как:

Определение функции и фигуры

Определение было или не было сделано ТМО (Теоретико-Множественных Операции)

Содержит в себе переменную Thirst для вычисления матриц 3х3

public class MyPoint

        {

            public float X;

            public float Y;

            public float Third;

            public bool Function;

            public bool DoTmo;

            public MyPoint (float x = 0.0f, float y = 0.0f, float third = 1.0f)

            {

                X = x;

                Y = y;

                Third = third;

                Function = false;

                DoTmo = false;

            }

            public Point ToPoint () => new Point((int) X, (int) Y);

...

Скачать:   txt (43.1 Kb)   pdf (527.4 Kb)   docx (425.3 Kb)  
Продолжить читать еще 36 страниц(ы) »
Доступно только на Essays.club