- •Синхронизация процессов и цепочек
- •Венгерская нотация, ссылки и ресурсы
- •Стандартные кисти, иконки, курсоры
- •Пример:
- •Введение в ресурсы
- •Курсоры, пиктограммы и растровые изображения
- •Работа с текстом
- •Работа с мышью
- •Ресурс панель диалога
- •Основные понятия машинной графики
- •Рассмотрим такие примитивы, как вершина, отрезок, воксель и модели, строящиеся на их основе, а также функциональные модели. Полигональные модели
- •Воксельные модели
- •Поверхности свободных форм (функциональные модели)
- •Проекции
- •Различают следующие проекции.
- •Алгоритм Коэна - Сазерленда отсечения прямоугольной областью
- •Метод дихотомии
- •Задача удаления невидимых линий и поверхностей
- •Удаление нелицевых граней многогранника. Алгоритм Робертса
- •Алгоритм Варнока
- •Алгоритм Вейлера-Азертона
- •Метод z-буфера
- •Методы приоритетов. Алгоритм художника.
- •Алгоритм плавающего горизонта
- •Алгоритмы построчного сканирования для криволинейных поверхностей
- •Библиотека OpenGl
- •Простейшая программа
- •Создание формы
- •Формат пикселя
- •Вершины и система координат
- •Треугольники
- •Многоугольники
- •Область рисования
- •Преобразование координат. Матрицы
- •Видовое преобразование. Масштабирование, поворот и перенос
- •Параметры вида. Перспективная проекция
- •Буфер глубины
- •Надстройки над OpenGl
- •Источник света
- •Свойства материала и модель освещения
- •Отсечение
- •Анализ алгоритмов. Модель вычислений
- •Асимптотический анализ алгоритмов
- •Анализ рекурсивных алгоритмов
- •Метод заметающей прямой
- •Метод локусов. Задачи геометрического поиска
- •Задачи регионального поиска. Многомерное двоичное дерево
- •Задачи локализации точки. Метод луча
- •Локализация точки на планарном подразбиении. Метод полос
- •Некоторые основные понятия вычислительной геометрии
- •Построение звездчатого полигона
- •Предварительная разработка алгоритма построения выпуклой оболочки на плоскости
- •Метод обода Грэхема
- •Триангуляция Делоне
- •Диаграмма Вороного
- •Построение диаграммы Вороного
- •Модель osi
- •Уровни модели tcp/ip
Рассмотрим такие примитивы, как вершина, отрезок, воксель и модели, строящиеся на их основе, а также функциональные модели. Полигональные модели
Для этих пространственных моделей используются в качестве примитивов вершины (точки в пространстве), отрезки прямых (векторы), из которых строятся полилинии, полигоны и полигональные поверхности. Главным элементом описания является вершина, все остальные являются производными. В трехмерной декартовой системе координаты вершины определяются своими координатами (x,y,z), линия задается двумя вершинами, полилиния представляет собой незамкнутую ломаную линию, полигон - замкнутую ломаную линию. Полигон моделирует плоский объект и может описывать плоскую грань объемного объекта. Несколько граней составляют этот объект в виде полигональной поверхности - многогранник или незамкнутую поверхность ("полигональная сетка").
Рис. 4.1. Полигональные модели
В современной компьютерной графике векторно-полигональная модель является наиболее распространенной. Она применяется в системах автоматизированного проектирования, компьютерных играх, тренажерах, ГИС, САПР и т. д. Достоинства этой модели заключаются в следующем:
Удобство масштабирования объектов.
Небольшой объем данных для описания простых поверхностей.
Аппаратная поддержка многих операций.
К числу недостатков полигональных моделей можно отнести то, что алгоритмы визуализации выполнения топологических операций (например, построение сечений) довольно сложны. Кроме того, аппроксимация плоскими гранями приводит к значительной погрешности, особенно при моделировании поверхностей сложной формы.
Воксельные модели
Воксельная модель - это представление объектов в виде трехмерного массива объемных (кубических) элементов. Само название "воксель" составлено из двух слов: volume element. Так же как и пиксель, воксель имеет свои атрибуты (цвет, прозрачность и т. п.). Полная прозрачность вокселя означает пустоту в соответствующей точке объема. Чем больше вокселей в определенном объеме и меньше их размер, тем точнее моделируются трехмерные объекты.
Рис. 4.2. Воксельная модель
Положительными чертами воксельной модели являются:
Возможность представлять внутренность объекта, а не только внешний слой; простая процедура отображения объемных сцен.
Простое выполнение топологических операций; например, чтобы показать сечение пространственного тела, достаточно воксели сделать прозрачными.
К ее недостаткам относятся:
Большое количество информации, необходимое для представления объемных данных.
Значительные затраты памяти, ограничивающие разрешающую способность, точность моделирования.
Проблемы при увеличении или уменьшении изображения; например, с увеличением ухудшается разрешающая способность изображения.
Поверхности свободных форм (функциональные модели)
Характерной
особенностью предлагаемого способа
задания поверхностей является то, что
основным примитивом здесь является
поверхность второго порядка - квадрик.
Он определяется с помощью вещественной
непрерывной функции трех переменных
в
виде неравенства
Таким образом, квадрик есть замкнутое подмножество евклидова пространства, все точки которого удовлетворяют указанному неравенству. Уравнение
описывает границу этого множества. Множество точек, удовлетворяющих неравенству
образует внешнюю область квадрика.
Свободная форма - это произвольная поверхность, обладающая свойствами гладкости, непрерывности и неразрывности. На базе квадриков строятся свободные формы, которые описывают функциональные модели. Свободная форма, построенная на этих принципах, имеет ряд достоинств, к которым, в первую очередь, надо отнести следующие:
Легкая процедура расчета координат каждой точки.
Небольшой объем информации для описания достаточно сложных форм.
Возможность строить поверхности на основе скалярных данных без предварительной триангуляции.
