Добавлен: 30.10.2018
Просмотров: 264
Скачиваний: 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 Р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 – точка пересечения.
-
Координаты точки пересечения I2:
-
Добавить (2,1)
-
j=3 выход
Таким образом, координаты точек многоугольника после отсечения:
I1 I2 P3
(0,1) (0, ) (2,1)
Задание 1.
Пусть замкнутый многоугольник задан точками Р1, Р2, Р3, где: Р1: (-1,1), Р2: (-1,2), Р3: (2,1). Привести шаги выполнения алгоритма Сазерледа-Ходжмена при отсечении по границе заданной осью Y. Рассчитать координаты точек многоугольника после отсечения.
Пусть в пространстве изображения заданы два многоугольника S1(z=0, цвет 1), S2(z=1, цвет 2) (см. рис.).
Используя метод построчного сканирования, показать:
- таблицу ребер, таблицу многоугольников;
- таблицу активных ребер (последовательно для каждой строки сканирования);
- процесс заполнения буфера регенерации (последовательно для каждой строки сканирования), привести необходимые вычисления.