Криві Безьє. Основні поняття та властивості кривих Безьє

Векторні зображення складаються з контурів. Контури складаються із сегментів, обмежених вузлами. З декількох таких сегментів можна скласти, практично, будь-яку фігуру. Для опису контурів у програмах векторної графіки застосовують розроблені французьким математиком П’єром Безьє параметричні поліноміальні криві. Відмітимо, що криві та поверхні Безьє були використані у шістдесятих роках компанією «Рено» для комп’ютерного проектування форми кузовів автомобілів. На сьогодні вони широко використовуються в комп’ютерній графіці, автоматизованих системах управління виробництвом тощо. Квадратичні криві Безьє використовуються в шрифтах TrueType.

За заданим масивом вершин крива Безьє степеня визначається за формулою:

де базисні функції кривої Безьє, також відомі як поліноми Берштейна, .

На рисунку що міститься нижче, зображено графіки вагових коефіцієнтів  кривої Безьє при .

Вагові функції Безьє-Берштейна при m = 3

Зауваження: деякі з властивостей поліномів Берштейна суттєво впливають на поведінку кривих Безьє. Наведемо основні з них: многочлени Бернштейна набувають невід’ємних значень; в сумі многочлени Берштейна дають одиницю, тобто для них виконується умова (2); поліноми Берштейна не залежать від вершин масиву , а залежать лише від кількості точок у ньому.

У скалярній формі рівняння (1) записується у наступному вигляді:

Точки та  називаються кінцевими, а точки – контрольними. Ламана , при цьому, називається контрольною або опорною.

Криві Безьє володіють рядом цікавих властивостей, завдяки чому вони широко застосовуються на практиці. Розглянемо основні з них:

  1. Степінь многочлена , що визначає криву Безьє, на одиницю менший від кількості точок, що містяться у масиві , тобто крива Безьє побудована на -й точці задається многочленом степеня .
  2. Порядок точок у масиві суттєво впливає на вигляд кривої. Форма кривої Безьє повторює хід ламаної . При зміні порядку точок повністю змінюється форма кривої.
  3. Перша та остання точки кривої збігаються з відповідними точками масиву , тобто і .
  4. Оскільки  та , то вектори дотичних у кінцях кривої Безьє, за напрямом, повністю збігаються з першою та останньою ланками опорної ламаної.
  5. Крива Безьє є гладкою кривою. Зокрема, першу похідну радіус-вектора  можна записати у вигляді:

  6. Оскільки для коефіцієнтів лінійної комбінації точок масиву  виконується умова (2), то Крива Безьє лежить в опуклій оболонці вершин даного масиву.
  7. Крива Безьє інваріантна відносно афінних перетворень. Тобто, побудувавши криву Безьє, над нею можна здійснити афінні перетворення і навпаки, спочатку здійснити афінні перетворення над опорними вершинами, а потім побудувати криву на нових вершинах. Якщо результати будуть однаковими, то кажуть, що крива є інваріантною відносно цього афінного перетворення. При цьому легко помітити, наприклад, що поворот опорних вершин і подальша побудова кривої займає менше часу, ніж поворот самої кривої. Нагадаємо, що афінні перетворення включають у себе поворот, розтягування, стиск, паралельне перенесення та їх можливі комбінації.
  8. Якщо у масив  додати хоча б одну вершину, то необхідно повністю перерахувати параметричні рівняння кривої Безьє.
  9. Зміна хоча б однієї точки в масиві , приводить до помітної зміни всієї кривої Безьє.
  10. Поведінка кубічної криві Безьє при зміні координат точки P2
  11. У формулі (1), що описує елементарну криву Безьє, немає вільних параметрів, тобто заданий масив однозначно визначає криву Безьє і немає жодної можливості якимось чином впливати на її форму.

Останній недолік можна усунути, якщо ввести до розгляду раціональні криві Безьє, які визначаються формулою:

де – вагові коефіцієнти, сума яких строго додатна.

Змінюючи параметри , можна керувати формою раціональних кривих Безьє. Якщо значення  велике, то крива  проходить близько до точки , якщо  мале, то  проходить дальше від точки . Якщо всі  рівні між собою, то одержується звичайна крива Безьє.

Побудова кривої Безьє – приклад:

Побудувати криву Безьє третього порядку, яка задається наступними опорними та контрольними точками: .

Крива Безьє третього порядку

Для цього, на першому кроці, скориставшись формулою (1), запишемо рівняння, яким описується крива Безьє, що визначається чотирма точками:

Після цього, записавши останній вираз у скалярній формі та підставивши замість невідомих відповідні координати контрольних та опорних точок, отримаємо розрахункові формули для обчислення значень  та  кубічної кривої Безьє:

І на останньому кроці, рухаючись з деяким кроком, наприклад , кожен раз перераховуємо значення та , і таким чином визначаємо та малюємо черговий сегмент кривої (крива Безьє, що буде отримана в результаті виконання цих дій, зображена на рисунку що міститься вище).

Блок-схема алгоритму побудови кривої Безьє

Залишити коментар

Your email address will not be published. Required fields are marked *

*