- •Часть 1. Основные алгоритмы
- •Введение
- •Предмет компьютерной графики
- •Основные понятия Векторные и растровые графические системы.
- •Программистская модель компьютерной графики
- •Координатные системы компьютерной графики
- •Геометрические преобразования Двумерные преобразования
- •Однородные координаты и матричное представление двумерных преобразований
- •Трехмерные матричные преобразования
- •Вопросы эффективности вычислений
- •Пример композиции трехмерных преобразований
- •Проецирование
- •Виды параллельных проекций
- •Центральные (перспективные) проекции
- •Геометрические модели трехмерных объектов
- •Полигональные сетки
- •Параметрические кубические кривые
- •Параметрические бикубические поверхности
- •Преобразования параметрических кривых и поверхностей
- •Основные растровые алгоритмы
Параметрические бикубические поверхности
Параметрические бикубические поверхности задаются многочленами третьей степени от двух параметров s и t. Как и прежде, будем рассматривать только уравнение для координаты х:
x(s, t) = a11xs3t3 + a12xs3t2 + a13xs3t + a14xs3 +
+ a21xs2t3 + a22xs2t2 + a23xs2t + a24xs2 +
+ a31xst3 + a32xst2 + a33xst + a34xs +
+ a41xt3 + a42xt2 + a43xt + a44x. (4.20)
Или:
. (4.21)
где: S = [s3 s2 s 1], и T = [t3 t2 t 1].
Матрица Сx задает коэффициенты бикубического многочлена. Существуют еще матрицы Сy и Сz, которые определяют коэффициенты бикубических уравнений y(s, t) и z(s, t).
Изменяя оба параметра s и t от 0 до 1, можно определить все точки на куске поверхности. Если одному из параметров присвоить постоянное значение, а второй параметр изменять в пределах 0…1, то в результате получается кубическая кривая.
Форма Эрмита для задания бикубической поверхности: перепишем уравнение кубической кривой Эрмита от параметра s так, чтобы геометрический вектор Эрмита был не константой, а функцией от параметра t:
. 4.22
При фиксированном значении параметра t функции P1x(t) и P4x(t) описывают х-компоненты начальной и конечной точек кривой, задаваемой параметром s. Аналогично, R1x(t) и R4x(t) описывают касательные векторы в конечных точках кубической кривой. Каждая из кривых P1x(t), P4x(t), R1x(t), R4x(t) представлена кубическим многочленом в форме Эрмита:
, ,
, (4.23)
Объединяя эти четыре выражения в одно с учетом известного матричного выражения , получим:
(4.25)
Таким образом, бикубическая поверхность Эрмита задается 16 параметрами(см. рис.), из которых:
q11x = x(0, 0) = P00,
q12x = x(0, 1) = P01,
q21x = x(1, 0) = P10,
q22x = x(1, 1) = P11
– координаты углов куска поверхности;
q13x = dx/dt (0, 0) = dP00/dt, q14x = dx/dt (0, 1) = dP01/dt,
q23x = dx/dt (1, 0) = dP10/dt, q24x = dx/dt (1, 1) = dP11/dt,
q31x = dx/ds (0, 0) = dP00/ds, q32x = dx/ds (0, 1) = dP01/ds,
q41x = dx/ds (1, 0) = dP10/ds, q42x = dx/ds (1, 1) = dP11/ds
– х-компоненты касательных векторов в угловых точках для каждой из ограничивающих кусок поверхности параметрических кривых;
q33x = d2x/dsdt (0, 0) = dP200/dsdt, q34x = d2x/dsdt (0, 1) = dP201/dsdt,
q43x = d2x/dsdt (1, 0) = dP210/dsdt, q44x = d2x/dsdt (1, 1) = dP211/dsdt
частные производные по обоим параметрам s и t в угловых точках куска поверхности (кривизна).
При соединении кусков бикубических поверхностей должны выполняться условия непрерывности: кривые, заданные на общем ребре, должны быть одинаковыми (должны совпадать начальные и конечные точки кривых и значения касательных векторов к кривым в этих точках); касательные вектора, пересекающие ребро, должны иметь одно и тоже направление для обоих сочленяющихся кусков.
Уравнения для кусков Безье выводятся также, как и для формы Эрмита. В результате получается:
. (4.30)
Геометрическая матрица Рbx состоит из 16 управляющих точек, причем точки Р11х, Р14х, Р41х и Р44х являются угловыми точками куска поверхности (см.рис)
Поверхности Безье, также как и кривые, обладают свойством выпуклых оболочек.
При соединении двух кусков поверхностей для выполнения условия непрерывности необходимо равенство четырех управляющих точек, принадлежащих общим ребрам кусков. Кроме того, для достижения непрерывности касательного вектора требуется, чтобы две четверки управляющих точек, лежащих по обеим сторонам общего ребра были коллинеарны (лежали на одной прямой) четверке управляющих точек общего ребра и друг другу. Отношения длин коллинеарных отрезков должны быть постоянными.
Куски в форме В-сплайнов представляются в виде:
(4.31)
Шестнадцать управляющих точек задают кусок поверхности, находящийся около четырех центральных точек Р22, Р23, Р32 и Р33.