- •Классификация применения машинной графики.
- •Основные понятия машинной графики: Графическая система. Графическая станция. Графические преобразования.
- •Алгоритмы машинной графики, особенности и ограничения. Проблемы построения графических систем. Сегмент. Графические файлы и их структура. Видовое преобразование.
- •Развертка окружности. Преобразование отрезков. Развертка эллипса.
- •Двухмерные преобразования
- •Трехмерные преобразования
- •Параметрические в-сплайны.
- •Трехмерный алгоритм разрезания невыпуклых тел. Последовательное отсечение многоугольника. Алгоритм Сазерленда-Ходжмана.
- •Алгоритм построения пересечения двух выпуклых многоугольников. Алгоритм Вейлера-Айзертона пересечения произвольных многоугольников.
- •Алгоритмы удаления скрытых линий и поверхностей. Алгоритм плавающего горизонта. Алгоритм Робертса.
Основные понятия машинной графики: Графическая система. Графическая станция. Графические преобразования.
граф. файл Набор структурированных файлов хранящий графические данные
граф. примитив - простейшее графическое изображение, которое может быть воспринято компьютером.
граф. система - П.О. которое реализует графические данные
граф. станция комплекс специальных аппаратных средств для работы с графикой.
граф. библиотека - набор функций доступных графическому пакету
граф. файл - структурированный набор данных, хранящих графические объекты.
граф. система – комплекс программных и технических средств для обработки изображений.
граф. станция – комплекс аппаратных средств..
граф. библиотека – набор функций для работы с графикой.
граф. преобразование – какое либо изменение изображения.
>Графический пакет. Графический язык. Системы координат в машинной графике. Окно вывода. Графические примитивы и их параметры (точка, отрезок, ломаная, окружность, текст, многоугольник, множество связных точек, произвольный графический объект). (Домрачев)
граф. пакет – специальное ПО для решения графических задач.
-П.О. реализующее задание некоторой области
-Интерфейс с пользователем
-Ввод вывод графических данных
-Синтез изображения (Визуализация) из любых графических примитивов
-Модификация
-Интеграция с внешней средой(другими приложениями)
граф. язык – исторически сложившаяся совокупность изобразительных и знаковых. систем, выполняющих познавательную и коммуникационную функции.
граф. примитив – простейшая граф. констр-я. (набор), с пом. кот. синтез-ся. изобр-е.
СК
мировые координаты – точка отсчёта и линейно независимый базис.
нормализованные координаты (учитываются масштабные преобразования).
экранная система координат связана с тем графическим устройством, где в заданной проекции на картинной плоскости (в общем случае - картинной поверхности) отображается создаваемая трёхмерная сцена.
однородные координаты дают возможность свести все геометрические преобразования к умножению матриц. Это экономит аппаратные ресурсы и унифицирует запись любого преобразования в виде матрицы.
Окно вывода – окна, в которых выводят данные на экране.
Графические примитивы и их параметры:
точка: x, y, z, цвет; мерцание, видимость;
отрезок: две точки, тип линии, толщина;
ломаная линия: число точек, отрезки;
многоугольник: число точек, отрезки, заливка, текстура;
окружность: точка, радиус;
дуга: точка, радиус, две граничные координаты полярного угла;
текст: число символов, коды, цвет, размер, шрифт, x1, y1; направление;
кривые высших порядков;
синтезированные граф. примитивы;
Алгоритмы машинной графики, особенности и ограничения. Проблемы построения графических систем. Сегмент. Графические файлы и их структура. Видовое преобразование.
Графический файл - структурированный набор данных, хранящий графические объекты.
видовое преобр. – преобр. изобр-я. из одной СК в др.
Алгоритмы машинной графики: нижний и верхний.
нижний уровень: для реализации графических примитивов (линий, окружностей, заполнений и т.п.). (воспроизведены в графических библиотеках языков высокого уровня) или реализованы аппаратно в графических процессорах рабочих станций (Silicon Graphics и др.).
Среди алгоритмов нижнего уровня можно выделить следующие группы :
- Простейшие в смысле используемых математических методов и отличающиеся простотой реализации. Такие алгоритмы не являются наилучшими по объему выполняемых вычислений или требуемым ресурсам памяти.
- Вторая группа алгоритмов, использующих более сложные математические предпосылки (но часто и эвристические) и отличающихся большей эффективностью.
- Третья группа: алгоритмы, которые могут быть без больших затруднений реализованы аппаратно (допускающие распараллеливание, рекурсивные, реализуемые в простейших командах). В эту группу могут попасть и алгоритмы, представленные в первых двух группах.
- Четвертая группа: алгоритмы со специальным назначением (например, для устранения лестничного эффекта).
Верхнего уровня: алгоритмы удаления невидимых линий и поверхностей. От эффективности алгоритмов, позволяющих решить эту задачу, зависят качество и скорость построения трехмерного изображения.
К задаче удаления невидимых линий и поверхностей примыкает задача построения (закрашивания) полутоновых (реалистических) изображений, т.е. учета явлений, связанных с количеством и характером источников света, учета свойств поверхности тела (прозрачность, преломление, отражение света).
Для научной графики большое значение имеет универсальность алгоритма, быстродействие может отходить на второй план. Для систем моделирования, воспроизводящих движущиеся объекты, быстродействие становится главным критерием.
Экран растрового дисплея представляется матрицей дискретных элементов, имеющих конкретные физические размеры. При этом число их ограничено. Поэтому можно выполнить только аппроксимацию линии с отображением ее на дискретной матрице (плоскости). Такую плоскость также называют целочисленной решеткой, растровой плоскостью или растром. Эта решетка представляется квадратной сеткой с шагом 1. Отображение любого объекта на целочисленную решетку называется разложением его в растр или просто растровым представлением.
Сегментация
в мировой системе координат можно задать часть объекта (окно) и проецировать ее на некоторую область экрана - поле вывода. При этом выводится только та часть объекта, которая видна из окна. часть изображения, не попадающая в окно, делается невидимой с помощью процедуры отсечения. процесс отсечения и отображения окна на поле вывода называется видовая операция. При обновлении изображения в интерактивном режиме обычно изменяется только его часть. Для ускорения обновления, изображение разбивается на отдельные сегменты, которые перерисовываются независимо, это называется сегментация.
Графические файлы
Векторные –– математич. опис. об-ов. отн. точки нач. коорд. Векторная иллюстр. – набор граф. примитивов. Структура формата – матем. описание.
Растровые – стр-ра. предст. список точек (пикселей) цветов. Харак-ки.: кол-во. пикселей, кол-во. цветов, цветовое простр-во. (RGB, CMYK и др.)
Видовое преобраз-е. – проект-е. преобраз-е. мир-х. коорд. (сцены) в коорд. рез-го. изображ-я. – порта вывода. Порт вывода (viewport) – прямоуг. обл. экрана или клиентского окна. (перенос, масшт-е., поворот).
>Алгоритмы растровой развертки примитива.(прохоров)
Алгоритмы развертки отрезка
Процесс проведения отрезков непростой, каждый раз надо принимать решение об отнесении точки к отрезку.
Общие требования к алгоритмам проведения отрезков:
отрезки должны выглядеть прямыми, начинаться и заканчиваться в заданных точках.
яркость вдоль отрезка должна быть постоянной и не зависеть от длины и наклона.
рисовать нужно быстро.
обычный компромисс: нахождение приближенной длины отрезка, сведение вычислений к минимуму, предпочтительно использование целой арифметики и реализация алгоритма на аппаратном или микропрограммном уровнях.
алгоритм с прямым вычислением координат
точки отрезка находятся через уравнение прямой
В рез-те. нужно вычислять коорд. точек сетки, ближ-е. к зад-м. точкам
Алгоритм Брезенхэма
Этот алгоритм выбирает оптимальные растровые координаты для представления отрезков. Одна из координат (x или y), в зависимости от углового коэффициента, изменяется на 1.
уравнение отрезка y=kx+b
координаты отрезка P1 (x1,y1) P2 (x2,y2)
алгоритм работает при b=0 и 0<=k<=1 (при других параметрах меняют координаты применяют преобразования)
dx=(x2-x1) dy=(y2-y1)
если (s-t)>0
выбираем точку
если (s-t)<0
