Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по компьютерной графике [по билетам].doc
Скачиваний:
68
Добавлен:
02.05.2014
Размер:
805.89 Кб
Скачать

4. Архитектура рабочих станций. Графический ускоритель. Арi.

Видеокарта предназначена для преобразования информации, хранящейся и обрабатываемой ПК в визуальную форму, пригодную для воспроизведения на мониторе. Комплект “видеокарта-монитор” – это интерфейс между человеком и ПК.

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

В настоящий момент в видеоакселерации можно выделить следующие направления:

1) 2D – ускорители (прорисовка окон при открытии и свертывании, аппаратный курсор, постоянно видимый при перемещении указателя, аппаратная поддержка примитивов линий, окружностей, шрифтов, закраска областей на экране, заливка градиентов и т.д.);

2) обработка видеопотоков (компрессия/декомпрессия в реальном времени);

3) 3D – ускорители.

API

Интерфейс между прикладной программой и графической системой – это множество функций, которые в совокупности образуют графическую библиотеку. Спецификация этих функций и есть то, что мы называем интерфейсом прикладного программирования (API –Appli cation programmer’s interface). Для программиста, занимающегося разработкой прикладной программы, существует только API, таким образом, он избавлен от необходимости вникать в подробности работы аппаратуры и программной реализации функций графической библиотеки. Программируемый интерфейс приложений (API) состоит из функций, управляющих 3D-конвейером на программном уровне, но при этом может использовать преимущества аппаратной реализации 3D при наличии этой возможности. Если имеется аппаратный ускоритель, API использует его преимущества, если нет, то API работает с оптимальными настройками, рассчитанными на самые обычные системы. Таким образом, благодаря применению API любое количество программных средств может поддерживаться любым количеством аппаратных 3D-ускорителей.

Вопрос 30

Задачи вычислительной геометрии: задача о ближайшей паре. Метод «Разделяй и властвуй для плоского случая».

Алгоритмы типа "разделяй и властвуй"

В данном алгоритме в отличие от предыдущего множество S разбивается на два равномощных подмножества S и S', а затем ре­курсивно строятся отдельно оболочки для каждого из них и объеди­няются

СH(S )= CH(S ' S’’) = CH(H(S') CH(S'')).

Сложность этого метода состоит в эффективном нахождении слияния двух выпуклых оболочек. Следующий алгоритм слияния был предложен Шеймосом.

Пусть есть выпуклые многоугольники P’ иP’. Требуется найти Р - их слияние. Для этого берется любая внутренняя точка р для P' и проверяется на принадлежность P’. Если она принадле­жит, то по теореме 4 мы имеем два множества, упорядоченных отно­сительно полярного угла к p. За время, равное сумме точек в них, можно из них получить один упорядоченный список, после чего, ис­пользуя обход Грэхема, за такое же время получить требуемый вы­пуклый многоугольник.

В случае, когда p не принадлежит Р , нужно найти левую и правую опорные прямые изp к P,pl иpr соответственно. Опорной прямой к выпуклому многоугольнику P будем называть прямую l, проходящую через некоторую вершину этого многоугольника таким образом, что внутренняя часть P находится по одну сторону от l. Для этого нам достаточно время O(N). Все вершины Р" между lиr при движении от l к r против часовой стрелки не рассматриваем и выпол­няем те действия, которые выполняли в случае принадлежности.

Теорема 4. Выпуклая оболочка объединения двух выпуклых многоугольников может быть найдена за время, пропорциональное суммарному числу их вершин.

Задача о ближайшей паре

Постановка задачи: задано N точек, необходимо найти пару наи­более близких точек.

Простейший алгоритм заключается в переборе всех пар точек и сравнении расстояний между ними. Всего N(N-1) пар, таким образом, сложность алгоритма O(N ).

Для повышения эффективности применяются методы семейства «разделяй и властвуй».

Разобьем мно­жество точек пополам прямой

Найдем ближайшую пару в каждой половине (например, про­стым перебором), пусть минимальные расстояния соответственно равны l1 и l2. Для объединения решений необходимо учесть расстоя­ние между точками, ближайшими к линии. Для этого найдем мини­мальное из двух расстояний /3 =min(,l2). Проведем параллельно

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

llmin=min(3,l4).

Билет 20