- •3. История развития комп графики
- •7, Системы координат
- •Графические библиотеки в языках программирования. Графический конвейер.
- •12. Системы кодирования цвета.
- •1 3. Устройства вывода
- •Дисплеи
- •Растровые (с регенерацией, построчное сканирование)
- •Мозаично – адресуемые:
- •15. Алгоритмы вывода прямой линии
- •16. Алгоритм вывода окружности
- •17. Удаление невидимых линий и поверхностей
- •Алгоритм Для каждого окна:
- •18. Показ с удалением невидимых точек. Классификация методов
- •19. Метод z-буфера
- •20. Алгоритмы построчного сканирования
- •2. Интервальный алгоритм построчного сканирования.
- •21. Алгоритм художника
- •22. Flat – закраска
- •23. Метод Гуро
- •Метод Фонга
- •25. Построение поверхностей
- •27. Отсечение нелицевых граней
- •29. Параметрические уравнения линий.
- •30 . Кривые Безье
- •31. Форматы файлов растровой графики.
- •32. Аддитивная цветовая модель rgb
- •33. Субтрактивная цветовая модель cmy
- •34. Аффинные преобразования координат на плоскости:
- •Преобразование сдвига
- •Преобразования сдвига
- •Преобразование проецирования на картинную плоскость xz.
- •36. Аналитическая модель поверхности
- •37. Векторная полигональная модель
- •38. Воксельная модель
- •39. Равномерная сетка
- •40. Неравномерная сетка. Изолинии
- •41. Визуализация трехмерных изображений Проецирование трехмерных объектов на картинную плоскость
- •Уровни визуализации
- •Каркасная визуализация
- •42 . Расчет нормали к объекту
25. Построение поверхностей
Параметрическое задание поверхности: P (u, w) = [x(u, w), y(u, w), z(u, w)].
P (u, w) – вектор, полученный по известным или входным данным;
Q(u, w) – вектор конструируемой поверхности.
Билинейные поверхности
Заданы P(0, 0) P(0, 1) P(1, 0) P(1, 1) – угловые точки поверхности,
Q(u, w) = P(0, 0) (1 – u)(1–w) + P(0, 1) (1 – u) w + P(1, 0) u (1–w) + P(1, 1) u w (1)
и
ли
Q(u, w) = [(1–u)
u] P(0, 0)
P(0, 1) 1–w
P(1, 0) P(1, 1) w , u, w Є [0, 1]
Линейчатые поверхности
Заданы две граничные кривые: P(u, 0) и P(u, 1). Тогда линейная интерполяция между этими кривыми:
Q(u, w) = P(u, 0) (1 – w) + P(u, 1)w (2)
При этом: Q(u, 0) = P(u, 0), Q(u, 1) = P(u, 1).
Если предположить, что известны P(0, w) и P(1, w), то линейчатая поверхность будет:
Q(u, w) = P(0, w) (1 – u) + P(1, w)u (3)
При этом: Q(0, w) = P(0, w), и Q(1, w) = P(1, w).
Линейные поверхности Кунса
Известны четыре граничные кривые: P(u, 0), P(u, 1), P(0, w) и P(1, w).
Суммируя уравнения (2) и (3) получим:
Q(u, w) = P(u, 0) (1 – w) + P(u, 1)w + P(0, w) (1 – u) + P(1, w)u (4)
Однако анализ показывает, что в угловых точках и на границе получаем несоответствие исходным данным, т.е. Q(0, 0) = P(0, 0) + P(0, 0); Q(0, w) = P(0, 0)(1 – w) + P(0, 1)w + P(0, w) .
Исследование уравнения (4) показывает, что несоответствие возникает из-за того, что угловые точки просчитываются дважды. Например, P(0, 0) содержится в описании граничных кривых
P(u, 0) и P(0, w). Поэтому для правильного результата необходимо вычесть лишние угловые точки, т.е.:
Q(u, w) = P(u, 0) (1 – w) + P(u, 1)w + P(0, w) (1 – u) + P(1, w)u – P(0, 0)(1 – w)(1 – u) –
– P(0, 1)(1 – u)w – P(1, 0)u(1 – w) – P(1, 1)uw (5)
В матричной форме его можно записать так:
– P(0,
0) – P(0,
1) P(0,
w) 1 – w
Q(u, w) = [1–u u 1] –P(1, 0) –P(1, 1) P(1, w) w (6)
P(u, 0) P(u, 1) 0 1
Функции (1 – u), u, (1 – w) называются весовыми функциями.
Участок бикубической поверхности
Используем параметрический многочлен 3-го порядка для описания граничных кривых
P
(u,
0), P(u,
1), P(0, w)
и P(1, w): (7)
П
усть
0 ≤ t ≤ 1. Производная от
многочлена:
(8)
П
олагая
в (7) и (8) t=0 или t=1
получаем:
В
матричной форме:
И
ли
P = M
B. Отсюда
Г
де
Подставляя (11) в (7) получаем:
Или в общем случае, считая t параметром,
Будем строить также как билинейный участок. Сначала построим поверхность удовлетворяющую граничным условиям на краях u = 0 и u = 1, затем поверхность, удовлетворяющую граничным условиям w = 0 и w = 1.Для получения бикубического участка объединим эти результаты. Тогда для первой линейчатой поверхности:
П
ри
u=0 Q(u,w)
= P(0,w),
т.е. удовлетворяет граничным условиям.
Аналогично, линейчатая кубическая
поверхность, удовлетворяющая граничным
условиям на краях при w =
const, будет:
Таким образом, бикубический участок поверхности характеризуется четырьма кубическими весовыми функциями F, четырьма граничными кривыми, четырьма угловыми точками, восемью касательными и четырьма векторами кривизны.
