Исследование алгоритмов отсечения отрезков и многоугольников окнами различного вида. Описание интерфейса

Страницы работы

Содержание работы

МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение 
высшего профессионального образования
“Санкт-Петербургский государственный электротехнический университет “ЛЭТИ” им. В.И. Ульянова (Ленина)”
 (СПбГЭТУ)


,  


Кафедра САПР

ФКТИ

Дисциплина: Компьютерная графика

                                                  ЛАБОРАТОРНАЯ РАБОТА №   4 

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

Вариант 1

Выполнили:

студент гр.0373

Проверил:

«Выполнено»  «____» __________    2014

Подпись преподавателя _______________

Санкт-Петербург

2014

ЛАБОРАТОРНАЯ РАБОТА №   4      

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

Задача:

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

Теоретические сведения:

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

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

1.  Полностью  внутри или полностью снаружи отсекающего окна.

2.  Если линия не относится к полностью внутренним или полностью внешним, нужно вычислить точки пересечения линии с периметром окна.

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

Для проверки пересечения окна с прямой используются следующие формулы:

x = x0 + u(xend - x0);

y = y0 + u(yend - y0);

где (x0, y0) и (xend, yend)  - концы отрезка; 0 £ u £1

Описание интерфейса

Интерфейс программы выполнен наглядным и интуитивно понятным образом. В нижней части окна имеются поля для редактирования ширины и высоты окна, количества линий, а также шага для расчета параметра U. Как и просится в задании при нажатии на кнопку ОК сначала выводятся все линии, после чего нажатием на канву появляется окно. Перемещать окно можно мышкой, наиболее удобная и понятная пользователю форма его перемещения. Линии полностью входящие в окно подсвечиваются красным. Не полностью – синим. Не входящие в окно - бледно-розовым.

Выводы по работе

В данной лабораторной работе мы обеспечили реализацию простого алгоритма отсечения массива произвольных отрезков заданным прямоугольным окном

Похожие материалы

Информация о работе