Московский государственный университет имени М.В.Ломоносова
Опубликован: 23.04.2007 | Доступ: свободный | Студентов: 3309 / 462 | Оценка: 4.18 / 3.71 | Длительность: 17:54:00
ISBN: 978-5-9556-0098-7
Специальности: Программист
Лекция 4:

Параметрические кривые и их растеризация

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >
Аннотация: Интерполяция сплайнами. Аппроксимация. Кривые Безье. Свойства кривых Безье. Растеризация кривых Безье. Сплайны, составленные из кривых Безье. B-сплайны. Заключение

В данном разделе рассматриваются основные виды параметрических кривых и алгоритмы их растеризации. Параметрические кривые, а также поверхности, применяются для описания более сложных, чем плоские, форм. Они находят широкое применение в графическом и промышленном дизайне.

В этом разделе будут рассматриваться вопросы построения кривых по контрольным точкам. Нас будут интересовать две задачи:

Интерполяция - построение кривой, проходящей через контрольные точки и обладающей некими дополнительными свойствами (часто гладкостью1Кривая n -й степени гладкости имеет непрерывную производную n -ого порядка; такой класс кривых обозначается как Cn . );

Аппроксимация - приближение кривой (не обязательно проходит точно через данные точки, но удовлетворяет некоторому заданному свойству относительно этих точек).

В настоящее время большее применение находят аппроксимирующие кривые, поэтому в данном разделе им уделяется большее внимание.

4.1. Интерполяция сплайнами

Сплайн - кусочный многочлен степени K с непрерывной производной степени K - 1 в точках соединения сегментов.

Далее нас будут интересовать самые распространенные кубические сплайны.

Понятие сплайна пришло из машиностроения, где сплайном называли гибкую линейку, закрепив которую в нужных местах, добивались плавной формы кривой, и затем чертили ее по этой линейке (см. рис. 4.1). Форма такой линейки, если ее рассматривать как функцию y(x), будет удовлетворять уравнению Эйлера-Бернулли:

$y''(x) =\frac{M(x)}{EI},$

где M(x) - момент изгиба вдоль линейки, E - модуль Юнга, зависящий от свойств материала рейки, I - момент инерции, определяемый формой кривой. Если мы фиксируем некоторые точки xi подпорками, то момент изгиба на каждом отрезке [x_i, x_{i+1}], i \in \overline{0,N - 1} меняется по линейному закону: M(x) = Ax + B. Подставляя M в исходное уравнение получаем

$y''(x) =\frac{Ax + B}{EI}.$

Дважды интегрируя, получаем уравнение кривой на данном отрезке:

y(x) = ax3 + bx2 + cx + d.
Сплайн

Рис. 4.1. Сплайн

Таким образом, форма физического сплайна описывается кусочным кубическим многочленом. Теперь рассмотрим задачу построения системы таких кубических многочленов для всего отрезка [x0, xN].

  1. Для N отрезков имеем 4N коэффициентов: y(x) = aix3+bix2+cix + di для x \in [x_i, x_{i+1}], i \in \overline{0,N - 1} ;
  2. Условия f(x_i) = f_i, i \in \overline{0,N} дают 2N уравнений;
  3. Требование C1 в точках x_i,  i \in \overline{1,N - 1} дает N - 1 уравнений;
  4. Требование C2 в точках x_i,  i \in \overline{1,N - 1} дает N - 1 уравнений.

Итого, имеем 4N - 2 уравнения; для того чтобы система была определенной, необходимы еще 2 уравнения. Их можно вывести, например, из заданных значений производных на границах или из условия периодичности. При корректно заданных условиях линейная относительно \{a_i, b_i, c_i, d_i\},  i \in \overline{0,N - 1} система имеет единственное решение. Подробнее см. в [8].

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >