Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по компьютерной графике.DOC
Скачиваний:
71
Добавлен:
02.05.2014
Размер:
896 Кб
Скачать
☆

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, четырьма граничными кривыми, четырьма угловыми точками, восемью касательными и четырьма векторами кривизны.