Растровая графика представлена в виде сетки пикселей. Каждый пиксель имеет определённый цвет, который кодируется числом. Преимущества: Высокая детализация Недостатки: Потеря качества при масштабировании, большие размеры файлов Применение: фото, вебдизайн, цифровое искусство Векторная графика описывается математическими формулами: линиями, кривыми, фигурами и их свойствами (цвет, толщина, заливка). Она не зависит от разрешения. Недостатки: сложно создавать реалистичные изображения, ограниченность работы с градиентами и полутонами Преимущества: масштабируемость без потери качества, комактность - малый размер файла. Применение: логотипы, чертежи и схемы, инфографика Трёхмерная графика представляет объекты в трёх измерениях. Объекты создаются как модели, состоящие из вершин, рёбер и граней, которые могут быть текстурированы и освещены. Преимущества: возможность создания сложных сцен и реалистичных эффектов Недостатки: Высокие требования к вычислительным ресурсам, сложность разработки. Применение: компьютерные игры и симуляторы, архитектурная визуализация, фильмы и анимация, научная визуализация. ### Области применения компьютерной графики 1. Игры. Основа игровой индустрии. 2. CAD Computer-Aided Design. Используются для проектирования зданий, машин... 3. Визуализация данных 4. VR/AR 5. Медицина 6. Научная визуализация ### Понятие графического конвейера (pipeline) Графический конвейер - последовательность этапов, через которые проходит графическая информация для её отображения на экране. Этот процесс начинается с загрузки данных и заканчивается выводом готового изображения на экран. Графический конвейер реализуется на уровне GPU, что позволяет обрабатывать миллионы операций в секунду. Основные этапы: 1. Ввод данных. На этом этапе загружаются исходные данные, необходимые для создания изображения: вершины, текстуры, шейдеры. 2. Геометрические преобразования. Выполняются математические операции для изменения положения, размера или ориентации объектов. 3. Проекция. 3Д координаты объектов преобразуются в 2Д координаты экрана. (Параллельная, перспективная проекции) 4. Растеризация. Геометрические примитивы преобразуются в пиксели. Каждый пиксель получает начальные атрибуты, такие как цвет, глубина и текстурные координаты. 5. Затенение. Вычисляется окончательный цвет каждого пикселя с учётом освещения, текстур и других эффектов. (шейдеры, вершинные шейдеры, фрагметные шейдеры). 6. Вывод на экран. # Матешка ## Операции с векторами Скалярное произведение векторов применяется для вычисления углов между объектами и определения видимости объектов (например, освещение) Векторное произведение применяется для нахождения нормалей к поверхностям Нормализация (приведение длины вектора к единице) используется для работы с направлениями. ## Матрицы Матрица это таблица чисел, которая используется для выполнения линейных преобразований. В компьютерной графике матрицы применяются для преобразования координат объектов (перенос, масштабирование, поворот). Для 2д графики применяется матрица 3x3, для 3д - 4х4. ### Операции с матрицами Умножение матриц применяется для оптимизации вычислений в графическом конвейере. Поворот - операция вращения объекта вокруг одной из осей координат. Угол поворота измеряется в радианах. Поворот объекта в пространстве осуществляется с помощью матриц, которые зависят от оси вращения и угла поворота Объединение преобразований - умножение матриц последовательно: перемещение, масштабирование, поворот. ### Аффинные преобразования Аффинные преобразования - это класс геометрических преобразований, которые сохраняют прямолинейность и параллельность. Однако расстояния и углы могут изменяться. ## Проекции: параллельная и перспективная Параллельная проекция не деформирует объекты и параллельные линии остаются параллельными даже при проекции. Перспективная проекция демонстрирует объекты в виде, соответствующем реальному зрению, объекты находящиеся ближе масштабируются чтобы казаться больше, дальше - меньше. ## Системы координат: локальная, мировая, экранная Локальная система координат. Каждый объект имеет свою собственную систему координат, которая называется локальной. Она используется для описания геометрии объекта относительно его центра или начала координат. *Все вершины объекта хранятся в этой системе координат.* Мировая система координат. Является промежуточным этапом перед проекцией. Экранная система координат. Используется для отображения объектов на экране. Это двумерная система координат, в которой каждая точка соответствует пикселю на экране.