Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Кафедра САПР
ФКТИ
Дисциплина: Компьютерная графика
«Исследование алгоритмов отсечения отрезков и многоугольников окнами различного вида»
Вариант 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. Как и просится в
задании при нажатии на кнопку ОК сначала выводятся все линии, после чего
нажатием на канву появляется окно. Перемещать окно можно мышкой, наиболее
удобная и понятная пользователю форма его перемещения. Линии полностью входящие
в окно подсвечиваются красным. Не полностью – синим. Не входящие в окно -
бледно-розовым.
Выводы по работе
В данной лабораторной работе мы обеспечили реализацию простого алгоритма отсечения массива произвольных отрезков заданным прямоугольным окном
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.