Кафедра САПР
ФКТИ
Дисциплина: Компьютерная графика
«Исследование алгоритмов отсечения отрезков и многоугольников окнами различного вида»
Вариант 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. Как и просится в
задании при нажатии на кнопку ОК сначала выводятся все линии, после чего
нажатием на канву появляется окно. Перемещать окно можно мышкой, наиболее
удобная и понятная пользователю форма его перемещения. Линии полностью входящие
в окно подсвечиваются красным. Не полностью – синим. Не входящие в окно -
бледно-розовым.
Выводы по работе
В данной лабораторной работе мы обеспечили реализацию простого алгоритма отсечения массива произвольных отрезков заданным прямоугольным окном
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.