- •10.Перспективные изображения как результат центрального проецирования.
- •11.Видовое преобразование как аппарат построения аксонометрических изображений.
- •12.Перспективное преобразование и её проективная концепция.
- •13.Внутреннее компьютерное представления каркаса геометрической модели.
- •14.Аппроксимация. Непараметрические функции. Параметрические функции
- •15.Аппроксимация окружности. Параметрическое представление функции
- •16.Аппроксимация. Параметрическое представление функции эллипса.
- •17.Интерполяция. Кривые Безье.
- •18.Интерполяция. Интерполяция полиномами.
- •19.!Интерполяция. Сплайн–поверхность
- •20.Интерполяция. Гладкий кубический сплайн.
- •21.!Генерация файла для геометрического объекта «тор».
- •22.Основная концепция решения задач загораживания.
- •23.!Известные методы решения задач загораживания.
- •24.Метод переборного типа.
- •25.Метод Z–буфера.
- •26.Метод билинейной интерполяции Гуро.
- •27.Метод билинейной интерполяции Фонга.
- •28.!Локальные геометрические характеристики для плоской фигуры
- •29.Локальная геометрическая модель
- •30.Понятие однородных координат. Полное представление локальной функции.
- •31.Свойства локальной функции.
- •32.Область значений функции. Область значений функции для плоской фигуры.
- •33.Воксельная геометрическая модель на основе локальных геометрических характеристик.
- •34.Функционально–воксельная согласованность модели
- •35.Точность компьютерного представления функционально–воксельной модели.
- •36.Т–преобразование или пространственный сдвиг функционально-воксельной модели.
- •37.R–преобразование или пространственный поворот функционально воксельной модели
- •38.M–преобразование или пространственное масштабирование функционально–воксельной модели.
- •39.Функционально–воксельная сумма, разность.
- •40.Возведение в степень. Взятие под корень. Взятие по модулю в локальной геометрии.
- •41.Функционально–воксельное умножение/деление.
- •42.Применение функционально–воксельных моделей в решении простых уравнений с функциями.
- •44.Воксельное порождение дифференциальных М–образов.
- •45.Функционально–воксельное интегральное исчисление. Площадь единичного круга, или приближение к числу π.
- •47.Функционально–воксельное интегральное исчисление. Определение значения интеграла функционально–воксельным методом.
- •48.Аналитическая геометрия. Прямая и обратная задача.
- •49.Моделирование геометрических объектов алгебраическими функциями. R–функциональное моделирование.
- •50.R–функциональное моделирование локальной геометрии.
- •51.Булевы функции и их геометрическая интерпретация.
- •52.Формальное определение R–функций.
- •53.Примеры R–функционального моделирования. Разобрать свой пример.
- •54.Описание области алгебраической функции для кривой Безье.
- •55.Применение рекурсивного алгоритма Поля де Кастельжо для построения алгебраической функции кривой Безье
- •56.Алгоритм билинейной интерполяции компонентов вектора нормали в узловых точках триангулированной сетки (алгоритм Фонга).
- •57.Объёмная интерполяция. Применение гомотопии на основе линейного многочлена С.Н. Бернштейна.
- •58.Алгоритм локальной оптимизации. Градиентный спуск.
- •59.Решение задач математического программирования в локальной компьютерной геометрии.
- •60.Автоматизация решения МП–задач методом ФВМ.
- •61.Решение нелинейных МП–задач методом ФВМ.
- •62.Длина дуги. Нахождение площади сегмента поверхности сложной формы.
- •63.Локализация площадок на сложных поверхностях.
- •64.Конструкция минимизации в решении САУ в локальной геометрии.
- •65.Решение обыкновенных дифференциальных уравнений в локальной геометрии.
- •66.Функционально–воксельное моделирование задачи Коши.
1. Основные этапы развития компьютерной графики. Основные направления развития компьютерной графики.
Можно выделить следующие этапы развития:
● 60-70-е годы научная дисциплина. Бурное развитие методов, алгоритмов - отсечение, генерация примитивных графических элементов, закраска узорами, реалистическое представление сцен (удаление невидимых линий и граней, трассировка лучей, излучающие поверхности);
● 80-е годы прикладная наука. Отработка методов, средств, аппаратуры в различных сферах приложений;
● 90-е годы основное средство общения человека с ЭВМ. Направления компьютерной графики Принято разделять компьютерную графику на следующие направления:
● изобразительная компьютерная графика, ● обработка и анализ изображений,
● анализ сцен (перцептивная компьютерная графика), ● компьютерная графика для научных абстракций (когнитивная
компьютерная графика, способствующая познанию). Изобразительная компьютерная графика Объекты: синтезированные изображения.
Задачи:
● построение модели объекта и генерация изображения, ● преобразование модели и изображения,
● идентификация объекта и получение требуемой информации. Обработка и анализ изображений Объекты: дискретное, числовое представление фотографий. Задачи:
● повышение качества изображения, ● оценка изображения - определение формы, местоположения, размеров и
других параметров требуемых объектов, ● распознавание образов - выделение и классификация свойств объектов.
Анализ сцен Предмет: исследование абстрактных моделей графических объектов и
взаимосвязей между ними. Объекты могут быть как синтезированными, так и выделенными на фотоснимках. Первый шаг в анализе сцены - выделение характерных особенностей, формирующих графический объект(ы).
Итак, в основе анализа сцен (перцептивной компьютерной графики) находятся изобразительная графика + анализ изображений + специализированные средства.
Когнитивная компьютерная графика Это компьютерная графика для научных абстракций, способствующая
рождению нового научного знания. База - мощные ЭВМ и высокопроизводительные средства визуализации.
Общая последовательность познания заключается в, возможно циклическом, продвижении от гипотезы к модели (объекта, явления) и решению, результатом которого является знание.
2. Приложения компьютерной графики. Виды представления компьютерной графики.
Компьютерная графика стала основным средством взаимодействия человека с ЭВМ. Важнейшими сформировавшимися областями приложений являются:
● компьютерное моделирование, которое явилось исторически первым широким приложением компьютерной графики,
● системы автоматизации научных исследований, проектирования, конструирования и производства, автоматизированные системы управления технологическими процессами,
● бизнес, ● искусство,
● средства массовой информации, ● досуг.
В настоящее время появилось новое, очень интересное приложение компьютерной графики - виртуальная реальность. По телевидению часто можно видеть передачи иллюстрирующие приложения компьютерной графики в автоматизации проектирования (были передачи об автоматизированном проектировании самолетов, автомобилей), много передач об автоматизации производства с различными робототехническими системами. Передачи о мире бизнеса практически не обходятся без показа различной дисплейной техники и ее использования. Что касается искусства, то достаточно упомянуть, что один из самых крупных первых суперкомпьютерных центров мира находился на студии Уолта Диснея и использовался для подготовки мультфильмов.
В компьютерной графике выделяют разные виды представления изображений: растровую, векторную и фрактальную. Они отличаются принципами построения изображений, способами хранения и обработки информации.
3. Виды графического представления геометрических моделей. Цвет.
Система RGB, CMYK.
Виды графического представления геометрических моделей – это фундаментальные способы математического и структурного описания формы объекта в памяти компьютера.
Основные виды:
1. Аналитическое (уравнениями). Объект задаётся математическими уравнениями (неявными или параметрическими). Например, сфера: `x² + y² + z² = R²`. Подходит только для простых, регулярных форм.
2. Каркасное (Проволочное) Модель – это просто набор вершин (точек) и рёбер (линий), соединяющих их. Представляет собой "скелет" объекта.
3. Поверхностное. Объект определяется ограничивающими его поверхностями. Это эволюция каркаса, где добавлены "грани". Основные типы:
○ Полигональное: Поверхность составлена из множества плоских многоугольников (чаще треугольников).
○ Криволинейное (Параметрическое): Поверхности описываются гладкими математическими кривыми.
4. Граничное представление. Это развитие поверхностного моделирования в полноценную топологическую структуру. Модель описывается как замкнутый набор граней, которые ограничены рёбрами, которые, в свою очередь, соединены вершинами. Чётко определены связи между всеми элементами и указано, какая сторона грани является внешней.
5. Объёмное (Твердотельное). Объект рассматривается как физическое тело, занимающее часть пространства. Основные подходы:
○ Конструктивная блочная геометрия: Модель создаётся путём комбинации простых "примитивов" (куб, шар, цилиндр) с помощью булевых операций (объединение, вычитание, пересечение).
○ Воксельное: Пространство разбито на мелкие кубики (вокселы), подобно пикселям в 3D. Каждый воксел хранит информацию.
Цвет — это абстрактная модель описания в виде наборов чисел, которая обычно состоит из трёх или четырёх значений, называемых цветовыми координатами.
Цветовая модель — средство описания цвета посредством его разложения на простые составляющие. Все используемые в настоящее время цветовые модели можно условно классифицировать следующим образом:
1. Монохромные:
○ двухградационные (черно–белые).
○ полутоновые (с оттенками серых цветов). 2. Цветные:
○ индексные — каждому цвету в цветовой таблице ставится в соответствие индекс.
○ полноцветные
■ аддитивные (RGB) — основанные на сложении цветов;
■ субтрактивные (CMY, CMYK) — основанные на вычитании цветов;
■ перцепционные (HSV, HSB, HLS, LAB, и т. д.) — основанные на восприятии цвета.
RGB(Red, Green, Blue – красный, зеленый, синий) –
аппаратно–ориентированная модель, используемая в дисплеях для аддитивного формирования оттенков самосветящихся объектов (пикселов экрана). Система координат RGB – куб с началом отсчета (0,0,0), соответствующим черному цвету. Максимальное значение RGB – (1,1,1) соответствует белому цвету.
CMY (Cyan, Magenta, Yellow – голубой, пурпурный, желтый) –
аппаратно–ориентированная модель, используемая в полиграфии для субтрактивного формирования оттенков, основанного на вычитании слоем краски части падающего светового потока. Цвета модели CMY являются дополнительными к цветам модели RGB, т.е. дополняющими их до белого.
4. Двумерные преобразования и новые координаты.
Рассмотрим следующую систему уравнений: { ′ = + и ′ = . Эти уравнения можно интерпретировать двояким способом:
1. Все точки на плоскости x и y перемещаются влево на расстояние a. 2. Координатные оси x и y перемещаются влево на расстояние a.
Такие системы уравнений, обычно записываемых в виде произведения матриц, интерпретируются как преобразования всех точек в фиксированной системе координат.
Однако та же самая система уравнений может интерпретироваться как изменение системы координат относительно точек.
Пусть необходимо повернуть точку ( , ) вокруг начала координат на угол . Существует четыре числа , , , такие, что новые координаты ′ и ′ могут быть вычислены по значениям старых координат и из следующих уравнений:
{ ′ = + и ′ = +
Для единичных точек (1,0) и (0,1) получаем: a=cosφ,c=sinφ,b=−sinφ,d=cosφ
Окончательная система:
{x′ = − и ′ = +
Преобразование можно записать в матричной форме с использованием вектора-строки.
В программе на C++ поворот реализуется рекурсивно для массива точек с использованием предвычисленных sinΔθ и cosΔθ. Коэффициенты масштабирования переводят объектные координаты в экранные.
Преобразование координат может рассматриваться как изменение системы отсчёта, что позволяет упрощать описание сложных движений и преобразований объектов в компьютерной графике.
5. Однородные координаты.
Однородные координаты — это концепция в геометрии и компьютерной графике для представления точек, векторов и преобразований в более удобной и обобщенной форме.
Главное достоинство однородных координат проявляется при выполнении геометрических преобразований. В этой системе все основные преобразования
— перемещение, масштабирование, вращение и даже проективные трансформации — выражаются единообразно через умножение на матрицу 4×4. В однородных координатах точка в трехмерном пространстве представляется четырьмя числами (X,Y,Z,W), где W является весовым коэффициентом. И эта точка соответствует точке (X/W,Y/W,Z/W) в декартовых координатах.
Свойство однородных координат: все точки вида (k·x, k·y, k·z, k·w) при k ≠ 0 представляют одну и ту же точку в пространстве. Это свойство делает возможным представление бесконечно удалённых точек при w = 0, что особенно важно для проективной геометрии и перспективных проекций.
Для получения универсальных координат на изображении используются свойства однородных координат. Сначала нужно разделить на глубину Z и подвинуть изображение на единичное расстояние от центра проекции. При делении на глубину Z получается точка на изображении (u, v, 1). После этого
можно использовать свойства однородных координат, отбросить Z и прийти к
(u,v).
Преимущества однородных координат: компактное представление данных в более простой реализации преобразований и возможность объединения нескольких преобразований в одно с использованием матричных операций.
6. Перенос и повороты в трёхмерном пространстве.
Перенос и повороты в трёхмерном пространстве – это геометрические преобразования, которые позволяют изменять положение и ориентацию объектов. В компьютерной графике для работы с этими преобразованиями используются матрицы преобразований – квадратные таблицы чисел (обычно размером 4×4), которые при умножении на координаты точки дают новые координаты после преобразования. Для их единообразной математической записи используется однородные координаты.
Перенос – это изменение положения объекта. Например, перенос точки с координатами (x, y, z) на вектор (dx, dy, dz) – это сложение всех координат.
Результат: (x + dx, y + dy, z + dz).
Представление в виде матриц. Для переноса используется матрица перемещения. Умножив её на вектор (местоположение), он сместится на указанное число единиц в пространстве. Такой перенос может быть записан в матричной форме
[x’ y’ z’ 1] = [x y z 1] T
T=
Поворот – это изменение ориентации объекта относительно некоторой оси. В трёхмерном пространстве можно выделить базовые повороты вокруг осей X, Y и Z. Поворот вокруг координатных осей может быть описан матрицей без использования однородных координат.
Представление в виде матриц.
Матрицы поворота вокруг осей X, Y, Z (на угол θ):
Ось X: Rx = [ [1, 0, 0], [0, cosθ, –sinθ], [0, sinθ, cosθ] ] Ось Y: Ry = [ [cosθ, 0, sinθ], [0, 1, 0], [–sinθ, 0, cosθ] ] Ось Z: Rz = [ [cosθ, –sinθ, 0], [sinθ, cosθ, 0], [0, 0, 1] ]
7. Основные принципы программирования Windows–приложения.
Стиль программирования Windows-приложений принципиально отличается от программирования в системах раннего поколения. В MS-DOS программа монопольно владеет всеми ресурсами системы и является инициатором взаимодействия с операционной системой. Операционная система Windows, задуманная как многозадачная, является инициатором обращения к программе. Все ресурсы Windows являются разделяемыми, и Windows приложение не может владеть ими монопольно. Windows-приложение ожидает посылки сообщения операционной системой, и лишь после его получения, выполняет определённое действие, а затем вновь переходит в режим ожидания очередного сообщения от операционной системы.
В отличие от программы, выполненной в операционной системе MS-DOS, для создания простейшего приложения под Windows надо проделать намного больше работы. Чтобы работать с оконным интерфейсом, Windows приложение должно выполнять основные стандартные действия:
1. Определить класс окна. 2. Зарегистрировать окно.
3. Создать окно данного класса 4. Отобразить окно.
5. Запустить цикл обработки сообщений.
8. Разработка каркаса Windows –приложения.
Каркас Windows–приложения – это минимальная кодовая основа, реализующая стандартный жизненный цикл окна в ОС Windows с использованием WinAPI. Основная задача: создание окна и организация цикла обработки системных сообщений.
Простейшая программа для Windows состоит из двух функций – WinMain() и оконной функции.
WinMain() – это главная функция. Функция WinMain() выполняет, обычно, следующие задачи:
1. Определяет класс окна. Перед созданием окна необходимо описать его класс – шаблон с характеристиками: стили, иконки, курсор, цвет фона и, самое главное, указатель на оконную функцию
2. Регистрирует данный класс в системе.
3. Создает главное окно приложения и другие элементы управления. Используя зарегистрированный класс, функция создает конкретное окно с указанными параметрами и возвращает дескриптор созданного окна (HWND) – уникальный идентификатор для работы с ним.
4. Отображает окно на экране.
5. Запускает цикл обработки сообщений.
Оконная функция должна обрабатывать все сообщения, относящиеся к данному окну. Если каркасная программа не выполняет никаких действий, кроме отображения пустого окна, единственное сообщение, обрабатываемое ею, указывает на то, что пользователь завершил работу с программой. Остальные сообщения направляются на обработку по умолчанию.
Первая строка приложения обычно содержит файл включений, который обязательно присутствует во всех Windows-программах.
#include <windows.h>
Если в ранних версиях Visual Studio этот файл содержал основные определения, то сейчас он служит для вызова других файлов включений, а также несколько дополнительных файлов, в которых помещены определения API-функций, констант и макросов.
9. Графические средства Windows API.
Графические средства Windows API – это интерфейс для представления графических объектов и передачи их на устройства отображения, такие как мониторы и принтеры.
Графические средства Windows API позволяют программистам отображать данные на экране или принтере, не заботясь о деталях конкретного устройства. Приложения работают с логическими устройствами вывода – они не зависят от аппаратуры.
Ключевые компоненты включают графические объекты: перо для линий, кисть для заливки, шрифт для текста и растровое изображение. Эти объекты создаются функциями типа CreatePen, выбираются в контекст через SelectObject, используются для рисования, а затем заменяются обратно.
Базовые функции рисования охватывают примитивы: точки, линии, фигуры, текст и растровые операции. Рисование происходит исключительно при обработке сообщения WM_PAINT, где используется пара BeginPaint/EndPaint.
Эволюция графических API в Windows включает графические средства Windows API как объектно-ориентированное расширение с поддержкой
прозрачности и сложных кривых, а также аппаратно-ускоренные Direct2D для 2D-графики и Direct3D для трёхмерной визуализации.
Координатная система по умолчанию использует логические пиксели с началом в левом верхнем углу. Режимы отображения позволяют работать с физическими единицами, а функции преобразований поддерживают сдвиг, масштаб и поворот.
10.Перспективные изображения как результат центрального проецирования.
Перспективные изображения – это изображения пространственных фигур на плоскости или какой-либо поверхности, полученные методом центрального проецирования. Этот метод позволяет передать кажущиеся изменения формы и размеров предмета, вызванные его расположением и удаленностью от наблюдателя.
Перспективное изображение получается с помощью проецирующих лучей, проведенных из одной точки – центра проекций (точки зрения).
Точки в двухмерном и трехмерном пространствах представляются координатами (X, Y) и (х, у, z) соответственно. При необходимости получения перспективной проекции задается большое количество точек P(x, у, z), принадлежащих объекту, для которых предстоит вычислить координаты точек изображения Р'(Х, Y) на картинке. Для этого нужно только преобразовать координаты точки Р из мировых координат (х, у, z) в экранные координаты (X, Y) ее центральной проекции Р'. Предположим, что экран расположен между объектом и глазом Е. Для каждой точки Р объекта прямая линия РЕ пересекает экран в точке Р'.
Это отображение удобно выполнять в два этапа. Первый этап - видовое преобразованием – точка Р остается на своем месте, но система мировых координат переходит в систему видовых координат. Второй этап - перспективное преобразование. Это точное преобразование точки Р в точку Р' объединенное с переходом из системы трехмерных видовых координат в систему двухмерных экранных координат.
11.Видовое преобразование как аппарат построения аксонометрических изображений.
Видовое преобразование – это математическая операция перехода от мировых координат 3D-объекта к видовым (камерным) координатам. Его цель –
подготовить сцену к проецированию, расположив наблюдателя (камеру) в удобное для расчётов положение. Это основа для построения не только аксонометрии, но и любой перспективной проекции.
Основные концепции:
1. Система координат: Вводится видовая (камерная) система координат (xₑ, yₑ, zₑ).
○ Начало — в точке наблюдения E (глаз, камера).
○ Ось zₑ направлена от камеры вглубь сцены (или на объект). Это делает систему левосторонней, что является стандартом в графических API.
○ Ось xₑ — вправо, ось yₑ — вверх (относительно наблюдателя).
2. Задание положения камеры: Точка наблюдения E задаётся в мировой системе, часто в сферических координатах (R, θ, φ) относительно цели наблюдения O (центра объекта или сцены).
Матричная реализация:
Преобразование записывается как
, V — матрица видового преобразования 4×4.
Матрица V собирается как произведение обратных матриц геометрических преобразований. Классическая последовательность:
1. Перенос мира так, чтобы точка наблюдения E оказалась в начале мировой системы.
2. Повороты мира так, чтобы вектор направления взгляда E→O совпал с осью zₑ, а векторы «вверх» и «вправо» — с осями yₑ и xₑ соответственно.
Таким образом, преобразуется не камера, а весь мир относительно камеры. Связь с аксонометрией: После применения видового преобразования объект находится в удобной камерной системе. Аксонометрическая проекция (например, изометрическая или диметрическая) получается простым отбрасыванием координаты zₑ (ортогональное проецирование) после правильного начального поворота камеры относительно объекта.
12.Перспективное преобразование и её проективная концепция.
Перспективное преобразование — это тип геометрического преобразования изображений, при котором учитывается эффект перспективы: линии, параллельные в трёхмерном пространстве, сходятся в одной или нескольких точках на плоскости проекции. Такое преобразование позволяет моделировать вид объектов с разных углов и расстояний.
Проективная концепция перспективного преобразования связана с проективным преобразованием — взаимно-однозначным отображением проективного пространства на себя, сохраняющим отношение порядка частично упорядоченного множества всех подпространств. Перспективное преобразование — частный случай проективного преобразования.
Некоторые особенности перспективного преобразования:
1. Размер объекта уменьшается с увеличением расстояния до центра проекции.
2. Происходит неоднородное искажение линий объекта, зависящее от ориентации и расстояния от объекта до центра проекции.
3. Параллельные линии на перспективном изображении сходятся в точку схода при условии, что они не параллельны картинной плоскости (в этой ситуации параллельность сохраняется).
Перспективное преобразование описывается матрицей 3×3 в однородных координатах, которая преобразует точки из одной плоскости в другую. Некоторые свойства перспективного преобразования:
● Обратимо: при известных параметрах можно восстановить исходное изображение.
● Искажает размеры объектов в зависимости от их положения и удалённости.
● Не сохраняет форму объекта
13.Внутреннее компьютерное представления каркаса геометрической модели.
Каркасное (проволочное) представление — это базовый способ описания геометрии объекта через его структурные элементы: вершины и рёбра.
Модель хранится как два взаимосвязанных набора:
● Массив вершин: Список координат точек в 2D или 3D пространстве. Каждая вершина имеет уникальный индекс.
● Массив рёбер: Список пар индексов вершин, которые эти рёбра соединяют. Например, ребро (i, j) соединяет вершины с индексами i и j из первого массива.
Ключевые особенности:
● Требует минимального объёма памяти — хранятся только вершины и связи, без данных о гранях или объёмах.
● Обеспечивает быстрое выполнение геометрических преобразований (перенос, поворот, масштабирование), так как преобразования применяются только к массиву вершин.
● Главный недостаток — представление не определяет поверхность. Одна и та же каркасная модель может интерпретироваться как разные объекты, что делает её непригодной для автоматического расчета массо-инерционных характеристик или реалистичной визуализации (затенения).
● Используется на ранних этапах проектирования, в чертежах, технической иллюстрации, для простой 3D-анимации и как промежуточное представление в CAD-системах.
Для визуализации каркасной модели на экране (2D-плоскости) необходимо выполнить проецирование её трёхмерных данных. Ключевым подготовительным этапом перед проецированием является видовое преобразование.
Компьютер хранит каркасную модель как набор вершин V = {v (x ,y ,z ), v (x ,y ,z ), ...} в мировой системе координат, где расположен объект.
Чтобы увидеть объект с нужной точки наблюдения, применяется матрица видового преобразования V (размером 4x4 в однородных координатах). Эта матрица пересчитывает координаты всех вершин из МСК в видовую систему координат (ВСК), связанную с наблюдателем (камерой).
14.Аппроксимация. Непараметрические функции. Параметрические функции
Аппроксимация – замена одних математических объектов другими, в том или ином смысле близкими к исходным.
Аппроксимацией (приближением) функции f(x) называется нахождение такой функции F(x) (аппроксимирующей функции), которая была бы близка к заданной. Критерии близости функций f(x) и F(x) могут быть различные.
Втом случае, когда приближение строится на дискретном наборе точек, аппроксимацию называют точечной или дискретной.
Втом случае, когда аппроксимация проводится на непрерывном множестве точек (отрезке), аппроксимация называется непрерывной или интегральной. Непараметрическая функция — функция, задаваемая в виде явной или неявной функции. В компьютерной графике непараметрическая кривая задаётся в виде явной функции, например, уравнения прямой: y = f(x).
