Read the book: «Курс компьютерной графики»

Font::

ГЛАВА 1. ВВЕДЕНИЕ В КОМПЬЮТЕРНУЮ ГРАФИКУ

1.1. Что такое компьютерная графика

Компьютерная графика - это область информатики, занимающаяся созданием,

обработкой, анализом и визуализацией изображений с помощью вычислительных

систем. Она находится на стыке математики, физики, алгоритмов и аппаратного

обеспечения.

Основные задачи компьютерной графики:

- Синтез изображений (rendering) - создание картинки по описанию сцены

- Обработка изображений - фильтрация, улучшение, сжатие, анализ

- Геометрическое моделирование - описание формы объектов

- Анимация - создание движения

- Визуализация данных - представление научной и инженерной информации

1.2. Краткая история

1950-1960-е годы

- 1950 - Ben Laposky создаёт первые "осциллонные" абстрактные изображения

- 1961 - Spacewar! - одна из первых компьютерных игр (MIT)

- 1963 - Sketchpad Айвена Сазерленда: интерактивное черчение световым пером.

Эта работа считается рождением интерактивной компьютерной графики.

- 1968 - Сазерленд демонстрирует первый HMD (шлем виртуальной реальности)

1970-е годы

- Алгоритмы затенения Гуро (1971) и Фонга (1975)

- Z-буфер Эдвина Катмулла (1974)

- Первые системы CAD

- Появление персональных компьютеров с графическими возможностями

1980-1990-е

- Появление графических ускорителей (SGI, позже 3dfx Voodoo, NVIDIA, ATI)

- OpenGL (1992) и DirectX

- Фотореалистичный оффлайн-рендеринг в кино (Pixar, Industrial Light & Magic)

- Расцвет 3D-игр (Quake, Unreal)

2000-2020-е

- Программируемые шейдеры (DirectX 8/9, OpenGL 2.0)

- Физически корректный рендеринг (PBR)

- Аппаратный ray tracing (NVIDIA RTX, 2018)

- Нейросетевой рендеринг, Gaussian Splatting, генеративный ИИ

1.3. Основные направления

1. Синтез изображений (Computer-Generated Imagery, CGI)

Создание изображений "с нуля" по геометрическому и физическому описанию сцены.

2. Обработка и анализ изображений

Работа с уже существующими растрами: фильтрация, сегментация, распознавание,

компьютерное зрение.

3. Геометрическое моделирование

Способы представления формы: полигональные сетки, NURBS, неявные поверхности,

воксели, облака точек.

4. Компьютерная анимация

Ключевые кадры, скелетная анимация, физическая симуляция, motion capture.

5. Научная и информационная визуализация

Отображение многомерных данных, потоков, объёмных сканов (КТ, МРТ).

6. Виртуальная, дополненная и смешанная реальность (VR / AR / MR)

1.4. Области применения

- Кино и телевидение (визуальные эффекты, полная CGI-анимация)

- Компьютерные игры и интерактивные развлечения

- Промышленный дизайн, CAD/CAM/CAE

- Архитектура и строительство (BIM)

- Медицина (визуализация томографии, хирургические симуляторы)

- Научные исследования (молекулярная графика, астрофизика, CFD)

- Симуляторы (авиационные, автомобильные, военные)

- Реклама, дизайн интерфейсов, картография

- Образование и тренажёры

1.5. Базовые понятия

Пиксель (pixel) - наименьший элемент растрового изображения.

Разрешение - количество пикселей (например, 1920x1080).

Глубина цвета - сколько бит отведено на цвет одного пикселя (8, 24, 32 бит).

Кадр (frame) - одно полное изображение.

Частота кадров (FPS) - количество кадров в секунду.

Буфер кадра (framebuffer) - область памяти, в которой формируется изображение.

Конвейер рендеринга (graphics pipeline) - последовательность этапов

преобразования данных сцены в пиксели на экране.

Латентность (latency) - задержка между действием пользователя и обновлением

картинки (критично для VR и игр).

1.6. Программное и аппаратное обеспечение

Программное:

- Графические API: OpenGL, Vulkan, DirectX, Metal, WebGPU

- Движки: Unreal Engine, Unity, Godot, CryEngine

- Пакеты моделирования: Blender, Maya, 3ds Max, Cinema 4D

- CAD: SolidWorks, AutoCAD, FreeCAD

Аппаратное:

- GPU (Graphics Processing Unit) - специализированный процессор

- Видеопамять (VRAM)

- Дисплеи (LCD, OLED, мини-LED), VR-шлемы, графические планшеты

ГЛАВА 2. РАСТРОВАЯ И ВЕКТОРНАЯ ГРАФИКА

2.1. Растровая графика

Растровое изображение - это прямоугольная матрица пикселей. Каждый пиксель

хранит информацию о цвете (и иногда о прозрачности - альфа-канал).

Характеристики:

- Ширина и высота в пикселях

- Глубина цвета (bits per pixel, bpp)

- Цветовое пространство (sRGB, Adobe RGB, Display P3 и др.)

- Наличие альфа-канала

Преимущества:

+ Естественность для фотографий и сложных текстур

+ Простота отображения на растровых экранах

+ Поддержка сложных эффектов и фильтров

+ Хорошая поддержка прозрачности и полупрозрачности

Недостатки:

- Потеря качества при увеличении (пикселизация)

- Большой объём данных (особенно без сжатия)

- Сложность редактирования отдельных объектов сцены

- Зависимость от разрешения

Пример объёма данных:

Изображение 1920x1080, 24 бита на пиксель без сжатия:

1920 x 1080 x 3 байта ~ 6,2 МБ на один кадр.

При 60 кадрах в секунду - уже около 372 МБ/с (отсюда необходимость сжатия

и аппаратного ускорения).

Популярные форматы:

- BMP - простой, без сжатия (или RLE)

- PNG - сжатие без потерь + альфа-канал, идеален для графики с резкими краями

- JPEG - сжатие с потерями, отлично для фотографий

- GIF - до 256 цветов, поддержка простой анимации

- WebP / AVIF - современные форматы с лучшим сжатием

- EXR - HDR-изображения, используется в кино и VFX

- TGA, TIFF - часто применяются в промежуточных пайплайнах

2.2. Векторная графика

Векторное изображение описывается математическими примитивами:

- Точки

- Отрезки и ломаные

- Кривые Безье

- Многоугольники

- Текст (как набор контуров)

- Заливки и обводки

Преимущества:

+ Идеальная масштабируемость без потери качества

+ Компактность для схем, логотипов, иллюстраций

+ Лёгкость редактирования отдельных объектов

+ Возможность точного позиционирования

Недостатки:

- Сложность представления фотореалистичных изображений

- Более высокая вычислительная нагрузка при растеризации сложных сцен

- Ограниченная естественность для органических форм (хотя современные

инструменты сильно продвинулись)

Форматы:

- SVG - стандарт для веба, текстовый XML-формат

- AI - Adobe Illustrator

- EPS - Encapsulated PostScript

- PDF - может содержать как вектор, так и растр

- DXF - обмен данными CAD

Пример SVG (простой круг):

<svg width="100" height="100">

<circle cx="50" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />

</svg>

Age restriction:
12+
Release date on Litres:
03 October 2026
Writing date:
2026
Volume:
30 p. 1 illustration
Copyright Holder::
Автор
Download format:

Similar books