Крива Безьє

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Кубічна крива Без'є

Крива Безьє — параметрично задана крива, яка використовується в комп'ютерній графіці та суміжних галузях. Узагальнення кривих Безьє на вищі розмірності називаються поверхнями Безьє, якою є трикутник Безьє[en] в окремому випадку.

У векторній графіці, криві Безьє використовуються для моделювання гладких кривих, які можна масштабувати до нескінченності. «Шляхи», як їх зазвичай називають у програмах для роботи з зображеннями,[note 1] є комбінаціями з'єднаних кривих Безьє. Шляхи не обмежуються розмірами растрових зображень і їх редагування є інтуїтивно зрозумілим. Криві Безьє також використовуються в анімації, як інструмент для управління рухом,[note 2] та в системах автоматизованого проектування.

Криві Безьє були запроваджені в 1962 році П'єром Безьє з автомобілебудівної компанії «Рено», хоча ще в 1959 році використовувались Полем де Кастельє[en] з компанії «Сітроен», але його дослідження не публікувались і приховувались компанією як комерційна таємниця до кінця 1960-х.

Іменем де Кастельє названо його рекурсивний спосіб визначення кривих (алгоритм де Кастельє).

Визначення[ред. | ред. код]

Кубічна крива Безьє

Крива Безьє — параметрична крива, вигляду

де

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

Також існує рекурсивна формула побудови кривих Безьє

Властивості кривої Безьє[ред. | ред. код]

  • безперервність заповнення сегмента між початковою та кінцевою точками;
  • крива завжди розташовується всередині фігури, утвореної лініями, що з'єднують контрольні точки;
  • при наявності лише двох контрольних точок сегмент являє собою пряму лінію;
  • пряма лінія утворюється лише тоді, коли контрольні точки розташовані на одній прямій;
  • крива Безьє симетрична, тобто обмін місцями між початковою та кінцевою точками (зміна напрямку траєкторії) не впливає на форму кривої;
  • масштабування та зміна пропорцій кривої Безьє не порушує її стабільності, оскільки вона з математичної точки зору «аффінно інваріантна»;
  • зміна координат хоча б однієї з точок веде до зміни форми всієї кривої Безьє;
  • будь-який частковий відрізок кривої Безьє також є кривою Безьє;
  • степінь кривої завжди на одиницю менший від кількості контрольних точок. Наприклад, при трьох контрольних точках форма кривої — парабола;
  • коло не може бути описане параметричним рівнянням кривої Безьє;

Види кривих Безьє[ред. | ред. код]

Лінійні криві Безьє[ред. | ред. код]

При n = 1 крива є відрізком від точки P0 до точки P1 (лінійна інтерполяція). Крива задається як:

Квадратичні криві Безьє[ред. | ред. код]

Квадратична крива Без'є (n = 2) задається трьома опорними точками: P0, P1 та P2.

.

Сплайни з квадратичних кривих Безьє використовуються для описування форми символів в шрифтах TrueType.


Кубічні криві Безьє[ред. | ред. код]

Чотири опорні точки P0, P1, P2 та P3, задані в 2-х чи 3-мірному просторі визначають форму кривої:

Лінія починається в точці P0 направляється до P1 і закінчується в точці P3 підходячи до неї з боку точки P2. Тобто крива не проходить через точки P1 та P2, вони використовуються для напрямку руху.

.

В матричній формі кубічна крива Безьє записується як:

, де  — називається базисною матрицею Безьє.

В таких графічних системах, як PostScript, Inkscape та GIMP для криволінійних форм використовуються сплайни з кубічних кривих Безьє.

Застосування в комп'ютерній графіці[ред. | ред. код]

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

Найбільше значення мають криві Безьє другого та третього степенів (квадратичні і кубічні). Криві вищих степенів при обробці вимагають більшого обсягу обчислень і для практичних цілей використовуються рідше. Для побудови складних за формою ліній, окремі криві Безьє можуть бути послідовно з'єднані один з одним в сплайн Безьє. Для того, щоб забезпечити гладкість лінії в місці з'єднання двох кривих, три суміжні опорні точки обох кривих повинні лежати на одній прямій. У програмах векторної графіки на зразок Adobe Illustrator або Inkscape подібні фрагменти відомі під назвою «контурів» (path).

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Програми для роботи з зображеннями такі як Inkscape, Adobe Photoshop, and GIMP.
  2. Програми для роботи з анімацією такі як Adobe Flash, Adobe After Effects, Microsoft Expression Blend, Blender, Autodesk Maya та Autodesk 3ds MAX.

Література[ред. | ред. код]

  • Роджерс Д., Адамс Дж. (2001). Математические основы машинной графики (вид. друге). Москва: Мир. с. 604 с. ISBN 5-03-002143-4.  {{cite book}}: Cite має пустий невідомий параметр: |глава= (довідка)