Открыть сервис

Полиномы Бернштейна

Полиномы Бернштейна — это семейство базисных многочленов, используемых в численном анализе, теории приближений и компьютерной графике. Они образуют базис в пространстве многочленов степени \(n\) и обладают рядом полезных свойств, таких как неотрицательность на отрезке \([0, 1]\) и разбиение единицы. Названы в честь российского математика Сергея Натановича Бернштейна, который в 1912 году впервые применил их для конструктивного доказательства теоремы Вейерштрасса о приближении непрерывных функций многочленами.

Определение

Полиномы Бернштейна степени \(n\) определяются для индекса \(k = 0, 1, \dots, n\) по формуле:

\[ B_{k,n}(t) = \binom{n}{k} t^k (1-t)^{n-k}, \quad t \in [0, 1], \]

где \(\binom{n}{k}\) — биномиальный коэффициент. Для \(t\) вне отрезка \([0, 1]\) полиномы также могут быть определены, но их классические свойства (неотрицательность, разбиение единицы) выполняются именно на этом отрезке.

Свойства

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

Неотрицательность

Для всех \(t \in [0, 1]\) и любых \(n\) и \(k\) выполняется \(B_{k,n}(t) \ge 0\). Это следует из того, что \(t^k \ge 0\) и \((1-t)^{n-k} \ge 0\) на отрезке, а биномиальный коэффициент положителен.

Разбиение единицы

Сумма всех полиномов Бернштейна степени \(n\) равна единице для любого \(t \in [0, 1]\):

\[ \sum_{k=0}^{n} B_{k,n}(t) = 1. \]

Данное свойство является прямым следствием бинома Ньютона: \((t + (1-t))^n = 1^n = 1\).

Симметрия

Полиномы Бернштейна симметричны относительно середины отрезка:

\[ B_{k,n}(t) = B_{n-k,n}(1-t). \]

Это свойство отражает симметрию биномиальных коэффициентов и позволяет упрощать вычисления при работе с кривыми.

Локальность

Каждый полином \(B_{k,n}(t)\) достигает максимума в точке \(t = k/n\) (при \(0 < k < n\)) и быстро убывает к нулю при удалении от этой точки. Это свойство обеспечивает локальный характер влияния каждого контрольного параметра на форму кривой Безье.

Рекуррентное соотношение

Полиномы Бернштейна могут быть вычислены рекурсивно:

\[ B_{k,n}(t) = (1-t) B_{k,n-1}(t) + t B_{k-1,n-1}(t), \]

с начальными условиями \(B_{0,0}(t) = 1\) и \(B_{k,n}(t) = 0\) при \(k < 0\) или \(k > n\). Это соотношение лежит в основе алгоритма де Кастельжо для построения кривых Безье.

Производные

Производная полинома Бернштейна выражается через полиномы степени \(n-1\):

\[ \frac{d}{dt} B_{k,n}(t) = n \left( B_{k-1,n-1}(t) - B_{k,n-1}(t) \right). \]

Это свойство позволяет легко вычислять касательные векторы и кривизну кривых Безье.

Применение

Аппроксимация функций

В 1912 году Сергей Бернштейн доказал, что для любой непрерывной на отрезке \([0, 1]\) функции \(f\) последовательность многочленов Бернштейна:

\[ B_n(f)(t) = \sum_{k=0}^{n} f\left(\frac{k}{n}\right) B_{k,n}(t) \]

равномерно сходится к \(f\) на \([0, 1]\). Это дало конструктивное доказательство теоремы Вейерштрасса. Однако на практике скорость сходимости полиномов Бернштейна невысока (порядка \(O(1/n)\)), поэтому для численного приближения функций чаще используются другие методы, такие как интерполяция сплайнами или чебышёвские многочлены.

Кривые Безье

Наиболее известное применение полиномов Бернштейна — в компьютерной графике и геометрическом моделировании. Кривая Безье степени \(n\) задаётся как:

\[ \mathbf{C}(t) = \sum_{k=0}^{n} \mathbf{P}_k B_{k,n}(t), \quad t \in [0, 1], \]

где \(\mathbf{P}_k\) — контрольные точки (векторы в \(\mathbb{R}^2\) или \(\mathbb{R}^3\)). Свойства полиномов Бернштейна обеспечивают ключевые характеристики кривых Безье:

  • Кривая всегда лежит внутри выпуклой оболочки контрольных точек (из-за неотрицательности и разбиения единицы).
  • Кривая проходит через первую и последнюю контрольные точки (так как \(B_{0,n}(0)=1\), \(B_{n,n}(1)=1\), а остальные равны нулю на концах).
  • Касательная к кривой в начальной точке направлена от \(\mathbf{P}_0\) к \(\mathbf{P}_1\), а в конечной — от \(\mathbf{P}_{n-1}\) к \(\mathbf{P}_n\).

Кривые Безье широко используются в векторных графических редакторах, шрифтах (формат TrueType, PostScript), системах автоматизированного проектирования (САПР) и анимации.

Поверхности Безье

Полиномы Бернштейна обобщаются на двумерный случай для задания поверхностей. Тензорное произведение двух одномерных базисов даёт поверхность Безье:

\[ \mathbf{S}(u, v) = \sum_{i=0}^{m} \sum_{j=0}^{n} \mathbf{P}_{i,j} B_{i,m}(u) B_{j,n}(v), \quad u, v \in [0, 1]. \]

Такие поверхности используются для моделирования сложных трёхмерных объектов.

Численные методы

В численном анализе полиномы Бернштейна применяются для построения квадратурных формул, решения дифференциальных уравнений (метод коллокации на основе полиномов Бернштейна) и в задачах оптимизации. Благодаря своей численной стабильности на отрезке \([0, 1]\) они предпочтительнее базиса из мономов \(t^k\) при работе с высокими степенями.

История

Сергей Натанович Бернштейн (1880–1968) — выдающийся российский и советский математик, работавший в области теории приближений, теории вероятностей и дифференциальных уравнений. В 1912 году он опубликовал работу «О наилучшем приближении непрерывных функций посредством многочленов данной степени», в которой ввёл полиномы, впоследствии названные его именем. Целью работы было дать простое конструктивное доказательство теоремы Вейерштрасса. Позднее, в середине XX века, с развитием вычислительной техники, полиномы Бернштейна нашли применение в машинной графике, особенно после работ Пьера Безье (Renault) и Поля де Кастельжо (Citroën), которые независимо разработали кривые, основанные на этом базисе.

Вариации и обобщения

Рациональные полиномы Бернштейна

В компьютерной графике часто используются рациональные кривые Безье, где каждый полином делится на взвешенную сумму:

\[ R_{k,n}(t) = \frac{w_k B_{k,n}(t)}{\sum_{j=0}^{n} w_j B_{j,n}(t)}, \]

где \(w_k > 0\) — веса. Это позволяет точно представлять конические сечения (окружности, эллипсы, гиперболы) и расширяет возможности моделирования.

Многомерные полиномы Бернштейна

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

Дискретные полиномы Бернштейна

Существуют дискретные аналоги, в которых непрерывная переменная \(t\) заменяется на целочисленный индекс. Они применяются в комбинаторике и теории кодирования.

Критика и ограничения

Несмотря на широкое применение, полиномы Бернштейна имеют недостатки:

  • Медленная сходимость при аппроксимации функций — для достижения высокой точности требуется большая степень \(n\), что ведёт к вычислительным затратам.
  • Численная неустойчивость при больших \(n\) (хотя и меньшая, чем у базиса из мономов) — для \(n > 50\) могут возникать ошибки округления.
  • Глобальное влияние — изменение одной контрольной точки влияет на всю кривую Безье (в отличие от B-сплайнов, где влияние локально). Для преодоления этого недостатка кривые Безье обычно соединяют в кусочные кривые (сплайны).

Источники

  • Бернштейн С. Н. О наилучшем приближении непрерывных функций посредством многочленов данной степени. — 1912.
  • Фартин Г. Кривые и поверхности для компьютерной графики. — М.: Мир, 1985.
  • Роджерс Д., Адамс Дж. Математические основы машинной графики. — М.: Мир, 2001.
  • Лоренц Г. Г. Приближение функций. — М.: Наука, 1971.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →