Файл: Контрольная работа.docx

ВУЗ: Не указан

Категория: Задание

Дисциплина: Программирование

Добавлен: 30.10.2018

Просмотров: 211

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Работу необходимо выполнить на одном из следующих языков: C++ / C# / Java. Разработать оконный проект (winforms, WPF, JavaFX/SWING) с решением задачи. В окне должен выводиться графический результат работы программы и другие упомянутые в задании параметры. Опционально предусмотреть ввод параметров (точки вершин) из окна. Решение первой задачи привел ниже.



Задание 1. Условие и решение

Пусть замкнутый многоугольник задан точками Р1, Р2, Р3, где: Р1=(-1,1), Р2=(-1,2), Р3=(2,1). Привести шаги выполнения алгоритма Сазерланда-Ходжмена при отсечении по границе, заданной осью Y. Рассчитать координаты точек многоугольника после отсечения.

Решение:

Обозначения:

S и P – начальная и конечная точка ребра SP;

j – номер ребра.

  1. Р1 Р2 Р3

(-1,1) (-1,2) (2,1)

2) S=P3=(2,1); j=1 P=P1=(-1,1)

3) P внутри? – Нет

4) S внутри? – Да

I1 – точка пересечения

m=0

Координаты точки пересечения I1:

х=0, у=1.

5) j=1? – Нет

6) S=P1=(-1,1), j=2,

P=P2=(-1,2)

7) P – внутри? – Нет

8) S – внутри? – Нет

9) j=3? – Нет

10) S=P2=(-1,2)

P=P3=(2,1)

11) P - внутри

S – не внутри

I2 – точка пересечения.

  1. Координаты точки пересечения I2:

  1. Добавить (2,1)

  2. j=3 выход

Таким образом, координаты точек многоугольника после отсечения:

I1 I2 P3

(0,1) (0, ) (2,1)





Задание 1.

Пусть замкнутый многоугольник задан точками Р1, Р2, Р3, где: Р1: (-1,1), Р2: (-1,2), Р3: (2,1). Привести шаги выполнения алгоритма Сазерледа-Ходжмена при отсечении по границе заданной осью Y. Рассчитать координаты точек многоугольника после отсечения.

Задание 2.

Пусть в пространстве изображения заданы два многоугольника S1(z=0, цвет 1), S2(z=1, цвет 2) (см. рис.).

Используя метод построчного сканирования, показать:

-         таблицу ребер, таблицу многоугольников;

-         таблицу активных ребер (последовательно для каждой строки сканирования);

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