- •Цели и задачи компьютерной графики
- •Растровая и векторная визуализация изображений. Основные характеристики растровых изображений
- •Аддитивная цветовая модель rgb. Кодирование цвета. Палитра
- •Графические форматы. Работа с растровыми изображениями (форматы ddb, dib, bmp – файлы)
- •Понятие об инкрементных алгоритмах растеризации. Растровое представление отрезка (вывод алгоритма). Реализация алгоритма (Листинг функции по лабораторной работе)
- •Понятие об инкрементных алгоритмах растеризации. Алгоритм построения окружности методом средней точки (вывод алгоритма). Реализация алгоритма. (Листинг функции по лабораторной работе)
- •Стиль линии (перо). Алгоритмы вывода линий
- •Стиль заполнения, кисть, текстура
- •Геометрические основы компьютерной графики. Системы координат (декартова, полярная, сферическая) и векторы. Скалярное и векторное произведение векторов
- •Построение кривых. Интерполяционный полином Лагранжа. Достоинства и недостатки. (Листинг функции для реализации полинома Лагранжа по лабораторной работе).
- •Построение кривых. Интерполяционный кубический сплайн. (Листинг функции для реализации кубического сплайна по лабораторной работе).
- •Мировые и экранные координаты. Алгоритм пересчета мировых 2d-координат в оконные. Вывод и реализация (Листинг функции SpaceToWindow)
- •15. Физическая и логическая системы координат. Режимы отображения (без настройки параметров). Алгоритм преобразования координат в gdi и его связь с алгоритмом пересчёта мировых координат в оконные
- •16. Режимы отображения и настройка их параметров (функции класса cdc mfc). Функция SetMyMode, назначение, параметры и реализация
- •17. Аффинные преобразования на плоскости. Преобразование системы координат: смещение, растяжение-сжатие, поворот
- •18. Аффинные преобразования на плоскости. Преобразование объектов: смещение, растяжение-сжатие, поворот
- •19. Аффинные преобразования в пространстве. Преобразование системы координат: смещение, растяжение-сжатие, повороты вокруг осей координат
- •20. Аффинные преобразования в пространстве. Преобразования объектов: смещение, растяжение-сжатие, повороты вокруг осей координат
- •21. Основные типы проекций. Видовая система координат (вывод матрицы преобразования)
- •22. Перспективные преобразования (вывод матрицы преобразования). Схема пересчёта координат при переходе от мировых 3d-координат к экранным
- •23. Модели описания поверхностей
- •24. Каркасная визуализация трёхмерных изображений. Принцип удаления невидимых граней для выпуклого многогранника. Реализация
- •26. Закрашивание поверхностей. Модели отражения света
- •27. Закрашивание поверхностей. Вычисление нормалей и углов отражения. Реализация
- •28. Метод закрашивания Гуро
- •30. Графическая библиотека OpenGl. Структура glut-приложения. Пример
- •31. Графическая библиотека OpenGl. Рисование графических примитивов. Дисплейные списки. Удаление нелицевых граней. Вывод текста. Примеры
- •32. Графическая библиотека OpenGl. Системы координат. Модельно-видовые преобразования. Примеры
- •33. Графическая библиотека OpenGl. Проекции. Область вывода. Создание анимации. Примеры
- •34. Графическая библиотека OpenGl. Материалы и освещение. Примеры
- •35. Графическая библиотека OpenGl. Структура приложения с использованием библиотеки mfc
Стиль линии (перо). Алгоритмы вывода линий
Для описания различных по виду изображений на основе линий используют термин стиль линий или перо. Термин перо иногда делает более понятной суть алгоритма вывода линий для некоторых стилей – в особенности для толстых линий. Например, если для тонкой непрерывной линии перо соответствует одному пикселу, то для толстых линий перо можно представить себе как фигуру или отрезок линии, который скользит вдоль оси линии, оставляя за собой след.
Алгоритмы вывода:
Вывод пиксела (х, у) Можно представить себе такой алгоритм, как цикл, в котором определяются координаты
каждого пиксела.Вывод фигуры (или линии) пера с центром (х, у) Вместо вывода отдельного пиксела стоит вывод фигуры или линии, соответствующей перу – прямоугольник, круг, отрезок прямой. Такой подход к разработке алгоритмов толстых линий имеет преимущества и недостатки. Преимущество – можно прямо использовать эффективные алгоритмы для вычисления координат точек линии оси, например, алгоритмы Брезенхэма. Недостаток – неэффективность для некоторых форм пера.
Стиль заполнения, кисть, текстура
При выводе фигур могут использоваться различные стили заполнения. Для обозначения стилей заполнения, отличных от сплошного стиля, используют такие понятия, как кисть и текстура. Их можно считать синонимами, однако понятие текстуры обычно используется применительно к трехмерным объектам, а кисть – для изображения двумерных объектов. Текстура – это стиль заполнения, закрашивание, которое имитирует сложную рельефную объемную поверхность, выполненную из какого-то материала.
Вывод пиксела заполнения цвета С с координатами (х, у)
Например,
в алгоритме вывода полигонов пикселы
заполнения рисуются в теле цикла
горизонталей, а все другие операции
предназначены для подсчета координат
этих пикселов. Сплошное заполнение
означает, что цвет (С) всех пикселов
одинаков, то есть C=const.
Для получения определенного узора
необходимо изменять
цвет пикселов заполнения.
Вывод
пиксела заполнения
цветом
Функция
будет определять стиль заполнения.
Аргументами функции цвета являются
координаты текущего пиксела заполнения.
Однако в отдельных случаях эти аргументы
не нужны. Например, если цвет С вычислять
как случайное значение в определенных
границах:
то можно создать иллюзию шершавой
матовой поверхности
Геометрические основы компьютерной графики. Системы координат (декартова, полярная, сферическая) и векторы. Скалярное и векторное произведение векторов
Полярная система координат
|
|
В прямоугольной
системе координат
направление осей задается тройкой
перпендикулярных единичных векторов.
Начальная точка векторов обозначается буквой О.
Пусть заданы два
вектора
и
и
Тогда
При этом справедливы равенства
Скалярное произведение векторов
,
где
- угол между векторами
и
В координатной форме
Если
,
то угол между векторами
и
является
острым
,
при
–
вектора
и
ортогональны
,
а если
,
то угол между векторами является тупым
.
Отметим некоторые свойства скалярного произведения.
Пусть
,
,
-
некоторые числа. Тогда справедливы
равенства:
Векторное произведение векторов
Векторное
произведение векторов
и
определяется выражением
,где
– угол между векторами
и
.
Направление вектора
перпендикулярно векторам
и
и таково, что вектора
,
,
в приведенной последовательности
образуют правостороннюю тройку.
Отметим некоторые свойства векторного произведения.
Длина вектора равна
(7.16)
Если
,
где
скаляр, то
,
(7.17)
так как
(см. ниже).
Пусть – некоторая константа, тогда справедливы соотношения
(7.18)
Рассмотрим еще одну форму записи векторного произведения
Геометрические основы компьютерной графики. Уравнение прямой, проходящей через две точки (на плоскости). Параметрическое уравнение прямой. Уравнение отрезка прямой. Задача о взаимном расположении двух отрезков
Пусть
в декартовой системе координат на
плоскости
заданы две точки
и
Тогда уравнение прямой, проходящей через эти точки имеет вид:
(7.20)
Пологая в (7.20)
,
получаем
параметрическое уравнение прямой на
плоскости, проходящей через точки
и
.
,
(7.21)
Пусть
Тогда (21) можно записать в виде
,
(7.22)
или в более компактной форме
(7.23)
Из
(7.23) следует, что при
,
а при
получаем, что
.
Таким
образом, при
точка
принадлежит отрезку
.
Следовательно,
при
,
уравнение (7.23) можно считать уравнением
отрезка
.

Сферическая
система
координат