- •Синхронизация процессов и цепочек
- •Венгерская нотация, ссылки и ресурсы
- •Стандартные кисти, иконки, курсоры
- •Пример:
- •Введение в ресурсы
- •Курсоры, пиктограммы и растровые изображения
- •Работа с текстом
- •Работа с мышью
- •Ресурс панель диалога
- •Основные понятия машинной графики
- •Рассмотрим такие примитивы, как вершина, отрезок, воксель и модели, строящиеся на их основе, а также функциональные модели. Полигональные модели
- •Воксельные модели
- •Поверхности свободных форм (функциональные модели)
- •Проекции
- •Различают следующие проекции.
- •Алгоритм Коэна - Сазерленда отсечения прямоугольной областью
- •Метод дихотомии
- •Задача удаления невидимых линий и поверхностей
- •Удаление нелицевых граней многогранника. Алгоритм Робертса
- •Алгоритм Варнока
- •Алгоритм Вейлера-Азертона
- •Метод z-буфера
- •Методы приоритетов. Алгоритм художника.
- •Алгоритм плавающего горизонта
- •Алгоритмы построчного сканирования для криволинейных поверхностей
- •Библиотека OpenGl
- •Простейшая программа
- •Создание формы
- •Формат пикселя
- •Вершины и система координат
- •Треугольники
- •Многоугольники
- •Область рисования
- •Преобразование координат. Матрицы
- •Видовое преобразование. Масштабирование, поворот и перенос
- •Параметры вида. Перспективная проекция
- •Буфер глубины
- •Надстройки над OpenGl
- •Источник света
- •Свойства материала и модель освещения
- •Отсечение
- •Анализ алгоритмов. Модель вычислений
- •Асимптотический анализ алгоритмов
- •Анализ рекурсивных алгоритмов
- •Метод заметающей прямой
- •Метод локусов. Задачи геометрического поиска
- •Задачи регионального поиска. Многомерное двоичное дерево
- •Задачи локализации точки. Метод луча
- •Локализация точки на планарном подразбиении. Метод полос
- •Некоторые основные понятия вычислительной геометрии
- •Построение звездчатого полигона
- •Предварительная разработка алгоритма построения выпуклой оболочки на плоскости
- •Метод обода Грэхема
- •Триангуляция Делоне
- •Диаграмма Вороного
- •Построение диаграммы Вороного
- •Модель osi
- •Уровни модели tcp/ip
Проекции
В математическом смысле проекции - это преобразования точек пространства размерности n в точки пространства размерности меньшей, чем n, или, как еще говорят, на подпространство исходного пространства. В компьютерной графике рассматриваются преимущественно проекции трехмерного пространства образа на двумерную картинную плоскость. Проекция трехмерного объекта, представленного в виде совокупности точек, строится при помощи прямых проецирующих лучей, которые называются проекторами и которые выходят из центра проекции, проходят через каждую точку объекта и, пересекая картинную плоскость, образуют проекцию.
Определенный таким образом класс проекций называют плоскими геометрическими проекциями, поскольку проецирование в этом случае производится на проекционную плоскость и в качестве проекторов используются прямые. Существуют и другие проекции, в которых проецирование осуществляется на криволинейные поверхности или же проецирование осуществляется не с помощью прямых (такие проекции используются, например, в картографии).
Плоские геометрические проекции подразделяются на два основных класса: центральные и параллельные. Различие между ними определяется соотношением между центром проекции и проекционной плоскостью. Если расстояние между ними конечно, то проекция будет центральной, если же оно бесконечно, то проекция будет параллельной. Параллельные проекции названы так потому, что центр проекции бесконечно удален и все проекторы параллельны. При описании центральной проекции мы явно задаем ее центр проекции, в то время как, определяя параллельную проекцию, мы указываем направление проецирования.
Различают следующие проекции.
Ортографическая – картинная плоскость совпадает с одной из плоскостей проецирования или параллельна ей. Т.е. можно отбросить z.
Аксонометрическая – лучи проецирования перпендикулярны картинной плоскости.
Косоугольная - делится на свободную и кабинетную (см. ниже).
Триметрическая – углы между нормалью картинной плоскости и осями координат все различны.
Диметрическая – два угла равны.
Изометрическая – все углы равны.
Свободная – угол наклона лучей к картинной плоскости 45.
Кабинетная – частный случай свободной, но масштаб по z вдвое меньше.
В общем случае имеется три точки схода, для каждой из осей.
При одной точке схода лучей матрица проецирования имеет вид:
Другая интерпретация (необязательно):
Ортогональная – матрица преобразования осуществляет только вращение, т.об. координатные оси остаются ортогональными во время проецирования. Для получения проекции достаточно отбросить координату z.
Диметрическая – две из трех осей во время проецирования сокращаются на одинаковое значение.
Изометрическая – все три оси во время проецирования сокращаются на одинаковое значение.
Перспективная – точка (x,y,z) удаляется от плана просмотра на расстояние D:
X*=D*x/z Y*=D*y/z
Алгоритм Коэна - Сазерленда отсечения прямоугольной областью
Пусть задан
некоторый прямоугольник Р со сторонами
параллельными осям координат. I
– некоторое изображение. Тогда получение
называют задачей отсечения, Р – поле
индикации.
Если некоторая область (из 9-ти) выше центральной области (0000), то второй разряд -1, если правее - то третий разряд - 1 и т.д.
Очевидно, что решение задачи для произвольного вектора изображения сводится к решению для одного отрезка.
Концам отрезка приписываются коды соответствующих областей: А - 1001, В - 0100.
Если поразрядная дизъюнкция этих кодов неравна 0, то выполняется поразрядная конъюнкция и если она неравна 0, то весь отбрасывается простейшим способом. В других случаях продолжениями сторон поля индикации отрезок разбивается на две части и для каждой части вновь выполняется описанная процедура.
Проверяем a и b. Вводим точку с (1001), следовательно ас отбрасываем, рассматриваем сb. Вводим точку d с координатами (1000), cd отбрасываем. Вводим точку е (0100), eb отбрасываем. Остается de.
