
- •Цветовые модели для растровой графики: rgb, cmy, yiq, hsv.
- •Ахроматический цвет. Выбор интенсивностей.
- •Дисплейные технологии.
- •Технологии получения твердых копий.
- •Геометрические преобразования в 2d и 3d графике.
- •Плоские проекции трехмерных объектов. Математическое описание и классификация параллельных проекций.
- •Плоские проекции трехмерных объектов. Математическое описание и классификация центральных проекций.
- •Конвейер видовых преобразований в двумерной графике.
- •2D и 3d моделирование в рамках графических систем
- •Методы описания кривых и поверхностей.
- •Основные схемы представления объемных тел. Граничное представление
- •Основные схемы представления объемных тел. Методы конструктивной геометрии.
- •Основные схемы представления объемных тел. Кинематические методы и методы объединения сечений.
- •Основные схемы представления объемных тел. Методы пространственного перечисления. Восьмеричные деревья.
- •Дискретные геометрические модели.
- •Функциональное представление геометрических объектов. Понятие об r-функциях. Теоретико-множественные операции и биективные преобразования.
- •Определение видимости поверхностей. Алгоритм Ньюэлла-Санча, использующий список приоритетов.
- •Определение видимости поверхностей. Алгоритм z-буфера.
- •Простая модель освещение. Рассеянный свет. Диффузное отражение. Зеркальное отражение.
- •Методы закраски полигональных поверхностей. Метод Гуро.
- •Методы текстурирования.
- •Алгоритмы отсечения многоугольников
- •Алгоритмы растровой развертки отрезков
- •Алгоритмы растровой развертки многоугольников
- •Параметрические кривые в форме Эрмита
- •Параметрические кривые в форме Безье
- •Рациональные параметрические кривые
- •Параметрические поверхности в форме Эрмита
2D и 3d моделирование в рамках графических систем
Виды геометрических моделей и их свойства
Абстрактно определим геометрический объект как совокупность точек в евклидовом пространстве. Каждая точка определяется набором своих координатных переменных: P = (x1, x2,.., xn). Для описания окружающих объектов мы строим твердые тела или тела. Тела в свою очередь описываются точками, линиями и поверхностями. Все они обладают определенными свойствами. Точки, линии, поверхности и тела будем называть геометрическими объектами.
Геометрическое описание -> алгебраическое описание -> алгоритм -> программа
Каждый из шагов имеет свои проблемы. Сначала мы начинаем с постановки задачи в геометрических терминах (например, найти точку пересечения такой-то прямой линии с такой-то плоскостью). Вопрос - какой алгебраический базис выбрать для реализации.
Переход от алгебраического описания к алгоритмическому может быть идентифицирован на 4-х уровнях: символический (системы компьютерной алгебры), аналитический (самый привлекательный, но труднодостижимый), численный, аппроксимирующий.
Типы сложности геометрических проблем:
- Проблема размерности.
Геометрия работает чрезвычайно неодинаково в пространствах разной размерности. Например, все просто с углами на плоскости, но значительно сложнее в 3-х измерениях.
- Проблема аналитической сложности.
Когда решаются геометрические задачи, связанные с нахождением пересечения объектов, гладкого объединения и т.д., возникающие системы уравнений могут быть линейными, квадратичными, кубическими, рациональными квадратичными, с квадратными корнями, с высокостепенные, с тригонометрическими функциями…
- Проблема комбинаторной сложности.
Возникает, когда имеем много данных: даже если мы имеем дело только с точками, то много точек могут вызвать проблемы. Сложные объекты, да еще различных геометрических типов резко усиливают как вычислительную сложность, так и проблемы со сходимостью алгоритмов и т.п.
Методы описания кривых и поверхностей.
- Неявные уравнения.
Неявные уравнения классифицируют все точки пространства на два множества; поэтому кривая или поверхность, каковые мы пытаемся таким образом определить, являются границей между этими двумя множествами. Простейший путь сделать это - вычислить значение функции f(x,y,z) в каждой точке пространства. Результат - число: если оно отрицательно, то точка - по одну сторону от поверхности или кривой; если положительно - по другую. Это можно трактовать как отображение из пространства на одномерную прямую линию.
Кривая или поверхность сама - это множество точек которые отображаются в начало этой прямой, т.е. точки, для которых f(x,y,z) = 0. Таким образом заданные кривые или поверхности называются неявными.
Примеры:
Прямая линия: ax+by+c = 0;
Сфера: r**2-(x-x0)**2-(y-y0)**2-(z-z0)**2 = 0.
- Параметрические уравнения.
Получается введением одной или более переменных (“параметров”) и вычисленим x, y, z функции от них:
x = f1(t,u,v,...)
y = f2(... )
z = f3(...........) ...
параметры можно трактовать как другое множество координат; соответственно параметрические кривая или поверхность - это отображения в смысле, противоположном неявным: в случае кривой - переход от одномерной прямой линии в двух- или трехмерное пространство. Количество координат и количество параметров могут определяться независимо: например, можно выполнить отображение которое “забивает” двумерное пространство в 4-ч-мерное. Однако, обычно мы имеем функции одного параметра в двух или трех размерностях (плоская или пространственная кривая) и функции двух параметров в пространстве (поверхности).
Примеры:
Прямая линия:
x = x0+f*t y = y0+g*t
Сфера:
x = x0 + r*cos(A)*cos(B) y = y0 + r*sin(A)*sin(B) z = z0 + r*sin(B)
Здесь углы А и В - широта и долгота соответственно.