---
# System prepended metadata

title: Лекция №11

---

# Лекция №11
Солодуха Дмитрий, Малявко Александра





## Плоские кривые. 
**Элементарной плоской кривой** на плоскости называется образ открытого интервала $(a,b)\subset {\mathbb{R}}$ при его гомеоморфизме $f:
(a,b)\to {\mathbb{R}}^2$ в евклидову плоскость.
Общей кривой на плоскости называется подмножество евклидовой плоскости, локально гомеоморфное прямой.

Пример кривой Кубика Чирнгауза:
![Пример кривой](https://i.imgur.com/uSV9y6D.png)


## Непараметрическое и параметрическое представление кривых.
Математически кривая может быть представлена в параметрической или непараметрической форме. Непараметрическая кривая задается в виде явной или неявной функции. Для плоской кривой явное непараметрическое представление имеет вид: $$y = f(x).$$
Однако такое задание не всегда удобно и более того не может описать все многообразие кривых на плоскоскти в силу своей ограниченности --- иньективности.

Для вычислений в дифференциальной геометрии наиболее удобны векторно-параметрическое представление:
$$\vec r(t)=(x(t),
y(t)),\;\; t\in (a,b),$$ и координатно-параметрическое представление:
$$x=x(t),\; y=y(t),\; t\in (a,b),$$ отличающиеся лишь формой записи.

## Параметрический кубический сплайн Эрмита, кривые Безье n-го порядка, интерполяционные кривые Безье, Лагранжа. 

### Кубический сплайн Эрмита
__Кубический Эрмитов сплайн__ — сплайн, построенный из кубических полиномов с использованием эрмитовой интерполяции, в соответствии с которой интерполируемая функция задается не только своими значениями в n точках, но и её первыми производными. Для заданной интерполяционной сетки $x_k$ для $k=1,...,n$ и заданного значения независимой переменной $x$ вычисление функции проводится в соответствующем интервале $(x_{k},x_{k+1})$ с известными граничными значениями функции $p$ и её производной $m$. Для упрощения вычислений делается замена независимой переменной $x$ на независимую переменную $t$ по формуле $t=\frac{x-x_{k}}{x_{k+1}-x_{k}}$. В результате такой замены левая граница интервала становится равной $0$, а правая $1$. Кубический полином, служащий для вычисления интерполируемой функции в соответствующем интервале имеет вид:

$$
\begin{multline*}
{\boldsymbol {p}}(t)=(2t^{3}-3t^{2}+1){\boldsymbol {p}}_{k}+(t^{3}-2t^{2}+t)(x_{k+1}-x_{k}){\boldsymbol {m}}_{k}+ \\ +(-2t^{3}+3t^{2}){\boldsymbol {p}}_{k+1}+(t^{3}-t^{2})(x_{k+1}-x_{k}){\boldsymbol {m}}_{k+1}
\end{multline*}
$$

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

Сначала введём __многочлены Бернштейна__:
$$B_{i}^{n}(t) = \binom{n}{i} \, t^i (1 - t)^{n - i}.$$

Примеры многочленов Бернштейна:
![](https://i.imgur.com/q21gFBe.png)


Теперь рассмотрим набор точек плоскости $Q = \left\{q_i \in R^2 \right\}^n_{i=0}$ , которые в дальнейшем будем называть контрольными точками. Кривой Безье называется множество точек:
$$\left\{B(t) \,\mid\, t \in \left[0,\, 1\right] \right\},$$ где
$$B(t) = \sum_{i = 0}^{n} B_{i}^{n}q_i.$$

Пример простейших кривых Безье:
![](https://i.imgur.com/WToWrrt.png)


### Алгебраическая интерполяция кривых
Помимо этого, если заданы узлы интерполяции, то можно воспользоваться алгебраической __интерполяцией многочленами Лагранжа__:
$$g(t)=\sum_{i=0}^{n} \Lambda_{i}(t) p_{i}=\sum_{i=0}^{n} \Lambda_{i}(t)\left[\begin{array}{l}
x_{i} \\
y_{i}
\end{array}\right],$$
$$\Lambda_{i}(t)=\prod_{i \neq j} \frac{t-t_{j}}{t_{i}-t_{j}}.$$


## Интерполяция сплайнами.
Сплайн $s \in S_{\Delta}^{m}$ называется интерполяционным для функции $f$, если
$$
s\left(x_{i}\right)=f\left(x_{i}\right)=y_{i} \quad \forall i=\overline{0, n} .
$$
Интерполяционный сплайн $s \in S_{\Delta}^{1}$ представляет собой кусочно-линейную функцию (график -- ломаная линия), построенную по точкам $\left\{\left(x_{i}, y_{i}\right)\right\}_{i=0}^{n}$.

![](https://i.imgur.com/YZNRmWR.png)


Больший интерес, конечно, представляют сплайны высших степеней. Наиболее распространенными являются кубические интерполяционные сплайны $(m=3)$.

![](https://i.imgur.com/HP7wwiA.png)


## Сплайны, составленные из кривых Безье.
Сплайны можно строить с помощью кривых Безье. Для этого достаточно приближать функцию на интервале с помощью многолченов Бернштейна, а так как через начальную и конечную точку он заведомо проходит, то можно дополнительно наложить условие на гладкость первого порядка и получить нужный нам сплайн. 
## B-сплайны. 
**B-сплайн** — сплайн-функция, имеющая наименьший носитель для заданной степени, порядка гладкости и разбиения области определения. Фундаментальная теорема устанавливает, что любая сплайн-функция для заданной степени, гладкости и области определения может быть представлена как линейная комбинация B-сплайнов той же степени и гладкости на той же области определения. Термин B-сплайн был введён И. Шёнбергом и является сокращением от словосочетания «базисный сплайн».

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

Когда узлы равноудалены друг от друга, говорят, что B-сплайн является **однородным**, в противном случае его называют **неоднородным**.

Когда количество узлов совпадает со степенью сплайна, B-сплайн вырождается в кривую Безье. Форма базисной функции определяется расположением узлов. Масштабирование или параллельный перенос базисного вектора не влияет на базисную функцию.

Сплайн содержится в выпуклой оболочке его опорных точек.

Базисный сплайн степени $n$ -- $b_{{i,n}}(t)$ -- не обращается в нуль только на промежутке $[t_i, t_i+n+1]$, то есть

$b_{{i,n}}(t)=\left\{{\begin{matrix}>0&{\mathrm  {если}}\quad t_{{i}}\leq t<t_{{i+n+1}}\\0&{\mathrm  {иначе.}}\end{matrix}}\right.$
Другими словами, изменение одной опорной точки влияет только на локальное поведение кривой, а не на глобальное, как в случае кривых Безье.

Базисная функция может быть получена из полинома Бернштейна.


## Кривизна кривой, длина дуги.


Пусть $γ(t)$ — регулярная кривая в d-мерном евклидовом пространстве, параметризованная длиной. Тогда $\kappa=|\ddot\gamma(t)|$ называется **кривизной кривой $γ$ в точке $p = γ(t)$**, здесь $\ddot\gamma(t)$ обозначает вторую производную по $t$. 

Вектор $k=\ddot\gamma(t)$ называется **вектором кривизны $γ$ в точке $p = γ(t_0)$**.

Для кривой, заданной параметрически в общем случае (параметр не обязательно является длиной), кривизна отображается формулой $\kappa=\frac{|\dot\gamma\times \ddot\gamma|}{|\dot\gamma|^3}$, где $\dot\gamma$ и $\ddot\gamma$ соответственно обозначают первую и вторую производную радиус-вектора $γ$ в требуемой точке.

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

Величина, обратная кривизне кривой, называется **радиусом кривизны**; он совпадает с радиусом соприкасающейся окружности в данной точке кривой. Центр этой окружности называется **центром кривизны**.

**Длина дуги кривой** определяется так: длиной $l$ дуги называется предел, к которому стремится периметр вписанной в эту дугу ломаной при неограниченном увеличении числа её звеньев и при стремлении к нулю наибольшей из длин её звеньев. 

Соответствующее выражение имеет вид: $l=\lim\limits_{\max \Delta l_i \rightarrow 0} ⁡\sum\limits_i^n \Delta l_i$.

Пусть кривая задана между своими точками $A$ и $B$ на отрезке $[a,b]$ уравнением в явном виде $y=f(x)$, где $f(x)$ -- непрерывная функция с непрерывной первой производной на этом отрезке. В этом случае длина дуги кривой между точками точками $A$ и $B$ вычисляется по формуле $l=\int\limits_{a}^{b} \sqrt{1+y^{\prime 2}} dx$.