stringtranslate.com

Составная кривая Безье

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

В геометрическом моделировании и компьютерной графике составная кривая Безье или сплайн Безье представляет собой сплайн , составленный из кривых Безье , который, по крайней мере, непрерывен . Другими словами, составная кривая Безье — это серия кривых Безье, соединенных концами, где последняя точка одной кривой совпадает с начальной точкой следующей кривой. В зависимости от применения могут быть добавлены дополнительные требования к плавности (например , непрерывности). [1]

Непрерывный составной Безье также называется полибезье по сходству с ломаной линией , но в то время как в полилиниях точки соединены прямыми линиями, в полибезье точки соединены кривыми Безье. Безьегон (также называемый безигоном ) — это замкнутый путь, составленный из кривых Безье . Он похож на многоугольник тем, что соединяет набор вершин линиями, но в то время как в многоугольниках вершины соединены прямыми линиями, в безьергоне вершины соединены кривыми Безье. [2] [3] [4] Некоторые авторы даже называют составную кривую Безье «сплайном Безье»; [5] последний термин, однако, используется другими авторами как синоним (несоставной) кривой Безье, и они добавляют слово «составной» перед «сплайном Безье», чтобы обозначить составной случай. [6]

Возможно, наиболее распространенным применением составного Безье является описание контура каждой буквы в файле PostScript или PDF . Такие контуры состоят из одного безьергона для открытых букв или из нескольких безьергонов для закрытых букв. Современные системы векторной графики и компьютерных шрифтов, такие как PostScript , Asymptote , Metafont , OpenType и SVG , используют составные кривые Безье, состоящие из кубических кривых Безье (кривые 3-го порядка) для рисования изогнутых форм.

Функция Sinc , аппроксимированная с помощью гладкого сплайна Безье, т. е. серии плавно соединенных кривых Безье.

Плавное соединение

Обычно желаемым свойством сплайнов является соединение отдельных кривых с заданным уровнем параметрической или геометрической непрерывности . Хотя отдельные кривые сплайна полностью непрерывны в пределах своего интервала, всегда существует некоторый разрыв в местах пересечения различных кривых.

Сплайн Безье уникален тем, что это один из немногих сплайнов, который не гарантирует более высокую степень непрерывности, чем . Однако можно организовать контрольные точки, чтобы гарантировать различные уровни непрерывности соединений, хотя это может привести к потере локального контроля, если ограничение слишком строгое для данной степени сплайна Безье.

Плавное соединение кубического Безье

Учитывая две кубические кривые Безье с контрольными точками и соответственно, ограничения для обеспечения непрерывности при можно определить следующим образом:

Хотя следующие ограничения непрерывности возможны, они редко используются с кубическими сплайнами Безье, поскольку другие сплайны, такие как B-сплайн или β-сплайн [7], естественным образом справляются с более высокими ограничениями без потери локального управления.

Аппроксимация дуг окружности

Если примитивы дуг окружности не поддерживаются в конкретной среде, их можно аппроксимировать кривыми Безье . [9] Обычно для аппроксимации круга используются восемь квадратных сегментов [10] или четыре кубических сегмента. Желательно найти длину контрольных точек, при которой ошибка аппроксимации будет наименьшей для заданного числа кубических отрезков.

Использование четырех кривых

Учитывая только единичную дугу окружности с углом 90 градусов в первом квадранте , мы определяем конечные точки и с контрольными точками и соответственно как:

Из определения кубической кривой Безье имеем:

Используя точку как середину дуги, мы можем написать следующие два уравнения:

Решение этих уравнений для координаты x (и тождественно для координаты y) дает:

Однако обратите внимание, что полученная кривая Безье полностью находится за пределами круга с максимальным отклонением радиуса около 0,00027. Добавляя небольшую поправку к промежуточным точкам, таким как

величина отклонения радиуса до 1 уменьшается примерно в 3 раза, до 0,000068 (за счет выводимости аппроксимируемой окружной кривой в конечных точках).

Общий случай

Мы можем аппроксимировать окружность радиуса произвольным количеством кубических кривых Безье. Пусть дуга начинается в точке и заканчивается в точке , расположенной на равных расстояниях выше и ниже оси X, охватывая дугу угла :

Контрольные точки можно записать как: [11]

Примеры

Шрифты

В шрифтах TrueType используются составные кривые Безье, состоящие из квадратичных кривых Безье (кривые 2-го порядка). Чтобы описать типичный дизайн шрифта в виде компьютерного шрифта с любой заданной точностью, для Безье 3-го порядка требуется меньше данных, чем для Безье 2-го порядка; а для этого, в свою очередь, требуется меньше данных, чем для серии прямых линий. Это верно, даже несмотря на то, что любой сегмент прямой требует меньше данных, чем любой сегмент параболы; и этот параболический сегмент, в свою очередь, требует меньше данных, чем любой сегмент кривой 3-го порядка.

Смотрите также

Рекомендации

  1. ^ Евгений В. Шикин; Александр Иванович Плис (14 июля 1995 г.). Руководство по сплайнам для пользователя. ЦРК Пресс. п. 96. ИСБН 978-0-8493-9404-1.
  2. ^ API-интерфейс Microsoft Polybezier
  3. ^ Справочник по API Papyrus beziergon
  4. ^ «Лучшая коробка с мелками» . ИнфоМир. 1991.
  5. ^ Ребаза, Хорхе (24 апреля 2012 г.). Первый курс прикладной математики. Джон Уайли и сыновья. ISBN 9781118277157.
  6. ^ (Фирма), Wolfram Research (13 сентября 1996 г.). Стандартные дополнительные пакеты Mathematica ® 3.0. Издательство Кембриджского университета. ISBN 9780521585859.
  7. Гудман, TNT (9 декабря 1983 г.). «Свойства β-сплайнов». Журнал теории приближения . 44 (2): 132–153. дои : 10.1016/0021-9045(85)90076-0 .
  8. ^ ДеРоуз, Энтони Д. (1 августа 1985 г.). «Геометрическая непрерывность: независимая от параметризации мера непрерывности для компьютерного геометрического проектирования».
  9. ^ Станислав, Г. Адам. «Рисование круга с помощью кривых Безье» . Проверено 10 апреля 2010 г.
  10. ^ «Оцифровка буквенных конструкций» . Яблоко . Проверено 26 июля 2014 г.
  11. ^ ДеВенеза, Ричард. «Рисование круга с помощью кривых Безье» (PDF) . Проверено 10 апреля 2010 г.