Русская Википедия:Бидуга

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Файл:Biarcs 6 Examples.png
Рис. 1. Примеры бидуг

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

У бидуги зависимость <math>k(s)</math> кривизны от длины дуги монотонна (так как состоит из двух постоянных участков), поэтому бидуга является простейшей спиралью[3].

Примеры бидуг

На рис. 1 показаны шесть бидуг <math>AJB</math>. Точки <math>A</math> и <math>B</math> — начальная и конечная точки кривой, <math>J</math> (join) — точка гладкого сопряжения двух дуг.

Примеры 1-4 иллюстрируют короткие бидуги: они не пересекают дополнение хорды до бесконечной прямой, хотя могут пересекать саму хорду (бидуга 1). Обычно именно такие кривые являются объектами аппроксимации.

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

У кривых 1, 2 и 6 точка <math>J</math> является точкой перегиба: в ней кривизна меняет знак (- на + у кривых 1, 2 и + на - у кривой 6).

Кривые помещены в систему координат хорды <math>\overrightarrow{AB}</math> длины <math>\;2c=|AB|</math>, в которой координаты начальной и конечной точек равны <math>A=(-c,0),\;\; B=(c,0)</math>.

Ориентированные углы наклонов касательных в точках <math>A</math> и <math>B</math>, измеренные относительно направления хорды <math>\overrightarrow{AB}</math>, обозначены <math>\alpha</math> и <math>\beta</math>. Так, у бидуги 1 на рис. 1 <math>\;\alpha>0,\; \beta>0</math>, а у бидуг 2-6 — <math>\;\alpha>0,\; \beta<0</math>.

Описание семейства бидуг

Граничные касательные векторы у кривых 2-6 на рис. 1 одинаковы: <math>\alpha=100^\circ,\quad\beta=-30^\circ.</math> Эти кривые являются членами однопараметрического семейства бидуг с общими касательными на концах. Всё семейство показано на нижнем фрагменте рисунка 2.

Далее основные свойства семейства бидуг с общими касательными на концах приведены по материалам статьи[4]. Параметр семейства обозначен <math>p</math>. Обозначение бидуги в виде <math>\mathcal{B}(p)</math> подразумевает фиксацию констант, то есть <math>\mathcal{B}(p;\,\alpha,\beta,c)</math>.

Рисунки 2, 3, 4 иллюстрируют такие семейства для различных пар <math>\{\alpha,\beta\}.</math>

Файл:BiarcsWiki1.png
Рис. 2. Семейства бидуг с общими касательными на концах (два примера)
Файл:BiarcsWiki2.png
Рис. 3. Два семейства с общими (параллельными) касательными на концах: <math>\alpha=\beta</math>
Файл:BiarcsWikiPi.png
=\pi</math>

Соотношения для углов и кривизн

Углы <math>\alpha</math> и <math>\beta</math> считаются определёнными в диапазоне <math>[-\pi;\,\pi]</math>: <math>-\pi\leqslant\alpha\leqslant\pi</math>, <math>-\pi\leqslant\beta\leqslant\pi</math>. Построение бидуги возможно при

<math>\qquad 0<|\alpha+\beta|<2\pi.\qquad(1)</math>

Введём обозначения

<math>\omega=\frac{\alpha+\beta}2,\quad \gamma=\frac{\alpha-\beta}2</math>.

Неравенства (1) означают, что <math>\;\sin\omega\not=0</math>.

Кривизна <math>k_1</math> первой дуги <math>(AJ)</math> и кривизна <math>k_2</math> второй дуги <math>(JB)</math> выражаются, как функции параметра семейства, следующими формулами:

<math>k_1(p)=\frac1c\left(-\sin\alpha-\frac{\sin\omega}p\right),\quad k_2(p)=\frac1c\left(\sin\beta+p\sin\omega\right).</math>

Пусть

  • <math>\theta_1</math> и <math>L_1</math> — поворот и длина дуги <math>AJ</math>:    <math>\theta_1=k_1L_1</math>;
  • <math>\theta_2</math> и <math>L_2</math> — поворот и длина дуги <math>JB</math>:    <math>\theta_2=k_2L_2</math>.

Справедливы равенства

<math>
  \theta_1(p)=2\arg\left(\mathrm{e}^{-\mathrm{i}\alpha} +p^{-1}{\mathrm{e}^{-\mathrm{i}\omega}}\right),\quad
  \theta_2(p)=2\arg\left(\mathrm{e}^{ \mathrm{i}\beta } +p\,   \mathrm{e}^{\mathrm{i}\omega}\right).

</math>

Геометрическое место точек сопряжения

Точки сопряжения <math>J</math> двух дуг расположены на окружности

<math>
  X_J(p)=\frac{c(p^2-1)}Шаблон:P^2+2p\cos\gamma+1,\quad
  Y_J(p)=\frac{2cp\sin\gamma}{p^2+2p\cos\gamma+1},\quad
  -\infty \leqslant p \leqslant \infty.\qquad(2)

</math> Эта окружность выходит из точки <math>A</math> под углом <math>\gamma</math> и проходит через точку <math>B.</math> При <math>\gamma=0</math> (то есть при <math>\alpha=\beta</math>) это прямая <math>AB</math> (рис. 3). Бидуги семейства пересекают эту окружность под постоянным углом  <math>-\omega</math>.

Вектор касательной к бидуге в точке сопряжения есть <math>||\cos\tau_{{}_J},\,\sin\tau_{{}_J} ||</math>, где

<math>
     \tau_{{}_J}(p)={-2}\operatorname{arctg}\dfrac{p\sin\frac{\alpha}2+\sin\frac{\beta}2}{p\cos\frac{\alpha}2+\cos\frac{\beta}2}.

</math>

Бидуга с минимальным скачком кривизны в точке сопряжения, <math>\min\left|k_2(p)-k_1(p)\right|,</math> реализуется при <math>p=\pm1;</math> точка <math>J</math> при этом лежит на оси ординат <math>(X_J=0).</math>

Вырожденные бидуги

В семействе бидуг можно выделить следующие вырожденные бидуги.

  1. Бидуга <math>\mathcal{B}(0)</math>: при <math>p\to0</math> точка сопряжения <math>J(p)</math> бидуги <math>AJB</math> стремится к точке <math>A</math>, часть <math>AJ</math> исчезает, превращаясь в бесконечный импульс кривизны. Бидуга вырождается в дугу окружности, опирающуюся на хорду <math>AB</math> и имеющую с бидугами семейства общую касательную в конечной точке.
  2. Бидуга <math>\mathcal{B}(\infty)</math>: стремление <math>p\to\infty</math> влечёт <math>J(p)\to B</math>, часть <math>JB</math> исчезает. Бидуга вырождается в дугу окружности, опирающуюся на хорду <math>AB</math> и имеющую с бидугами семейства общую касательную в начальной точке.
  3. Бидуга <math>\mathcal{B}(p^\ast)</math>, где
    <math>
    \qquad p^\ast= \left\{ \begin{array}{lll} -\dfrac{\sin\omega}{\sin\alpha},\quad& \text{если}\; |\alpha|\geqslant|\beta|\quad(-\infty,\; \text{при}\; |\alpha|=\pi),\\ -\dfrac{\sin\beta}{\sin\omega},\quad& \text{если}\; |\alpha|\leqslant|\beta|\quad(\;0,\;\;\; \text{при}\; |\beta|=\pi), \end{array} \right. </math> представляет собой разрывную бидугу, проходящую через бесконечно удалённую точку плоскости. Всегда <math>p^\ast\leqslant 0</math>, а неравенства (1) исключают одновременное равенство <math>|\alpha|=|\beta|=\pi</math>. На рисунках 2, 3 разрывные бидуги показаны красной штрих-пунктирной линией.

С учётом этих трёх вырожденных бидуг через любую точку плоскости с выколотыми полюсами <math>A</math> и <math>B</math> проходит единственная бидуга <math>\mathcal{B}(p)</math>. Именно, через точку <math>(x,y)</math> проходит бидуга с параметром

<math>
 \qquad
   p(x,y)=
 \left\{
  \begin{array}{ll}
     -\dfrac{[(x+c)^2+y^2]\sin\omega}{(c^2-x^2-y^2)\sin\alpha-2cy\cos\alpha},\quad& \text{если}\quad\omega\,C(x,y)\leqslant0,\\
     -\dfrac{(c^2-x^2-y^2)\sin\beta+2cy\cos\beta}{[(x-c)^2+y^2]\sin\omega},\quad& \text{если}\quad\omega\,C(x,y)\geqslant0,
  \end{array} \right.

</math> где <math>\;C(x,y)=(c^2-x^2-y^2)\sin\gamma-2cy\cos\gamma</math>.

Структура семейства

В семействе бидуг <math>\mathcal{B}(p;\,\alpha,\beta,c)</math> выделим, в зависимости от значения параметра <math>p,</math> следующие подсемейства невырожденных бидуг:

<math>

\begin{array}{l} \mathcal{B}^{\,+}(p){:}\quad p\in(0;\infty);\\ \mathcal{B}^{\,-}_1(p){:}\quad p\in(p^\ast;0);\\ \mathcal{B}^{\,-}_2(p){:}\quad p\in(-\infty;p^\ast);\\ \mathcal{B}^{\,-}(p) = \mathcal{B}^{\,-}_1(p) \cup \mathcal{B}^{\,-}_2(p) \end{array} </math> (в[4], Property 2, подсемейства <math>\mathcal{B}^{\,+}</math> и <math>\mathcal{B}^{\,-}</math> названы, соответственно, main subfamily и complementary subfamily).

На рисунках 2, 3, 4 бидуги, принадлежащие подсемействам <math>\color{sienna}\mathcal{B}^{\,+}</math>, <math>\color{blue}\mathcal{B}^{\,-}_1</math> и <math>\color{green}\mathcal{B}^{\,-}_2</math> показаны, соответственно, коричневым, синим и зелёным цветом.

Бидуги подсемейства <math>\mathcal{B}^{\,+}</math> — короткие. Их кривизна либо возрастает (если <math>\omega>0</math>), либо убывает (если <math>\omega<0</math>):

<math>\sgn(k_2-k_1)=\sgn\omega=\sgn(\alpha+\beta)</math> (теорема В.Фогта для коротких спиралей).

Они заключены внутри линзы — области, ограниченной вырожденными бидугами <math>\mathcal{B}(0)</math> и <math>\mathcal{B}(\infty)</math> (на рисунках область линзы затемнена). Угловая ширина линзы (со знаком) равна <math>\alpha+\beta=2\omega</math>. ГМТ (2) есть биссектриса линзы.

Бидуги подсемейства <math>\mathcal{B}^{\,-}</math> имеют противоположный (по отношению к <math>\mathcal{B}^{\,+}</math>) характер монотонности кривизны.
Если <math>|\alpha|\not=\pi</math> и <math>|\beta|\not=\pi</math>, то бидуги этого подсемейства — длинные. Разрывная бидуга <math>\color{red}\mathcal{B}(p^\ast)</math> отграничивает друг от друга бидуги подсемейств <math>\mathcal{B}^{\,-}_{{\color{blue}1},{\color{green}2}}</math>.

Подсемейство <math>\mathcal{B}^{\,-}_1</math> пусто, если <math>p^\ast=0</math>     <math>(|\beta|=\pi).</math>

Подсемейство <math>\mathcal{B}^{\,-}_2</math> пусто, если <math>p^\ast=-\infty</math> <math>(|\alpha|=\pi).</math>

Переопределение граничных углов в кумулятивном смысле. Интегрирование натурального уравнения бидуги даёт непрерывную (кусочно-линейную) функцию <math>\tau(s)</math> — угол наклона касательной к кривой. При таком определении, непрерывном, её значения могут выйти за пределы <math>\pm\pi</math>, и значения на концах могут отличаться от <math>\alpha,\beta</math> на <math>\pm2\pi.</math> Определим, наряду с <math>\alpha,\beta</math>, кумулятивные версии граничных углов в виде <math>\widetilde\alpha,\widetilde\beta</math>, с учётом непрерывности <math>\tau(s).</math> Поправка к углу <math>\alpha</math> вносится, если бидуга совершает оборот вокруг точки <math>A,</math> то есть пересекает луч <math>\{x<-c,\,y=0\}</math>; поправка к углу <math>\beta</math> вносится, если бидуга совершает оборот вокруг точки <math>B</math> (пересекая правое дополнение хорды до бесконечной прямой):

  • в подсемействе <math>\mathcal{B}^{\,+}</math>:    <math>\widetilde\alpha=\alpha,\qquad\qquad\quad\widetilde\beta=\beta</math>;
  • в подсемействе <math>\mathcal{B}^{\,-}_1</math>:    <math>\widetilde\alpha=\alpha-2\pi\sgn\omega,\;\widetilde\beta=\beta</math>;
  • в подсемействе <math>\mathcal{B}^{\,-}_2</math>:    <math>\widetilde\alpha=\alpha,\qquad\qquad\quad\widetilde\beta=\beta-2\pi\sgn\omega</math>.

Тогда полный поворот бидуги <math>\mathcal{B}(p)</math>  равен

<math>\theta_1(p)+\theta_2(p)=\widetilde\beta-\widetilde\alpha,</math>

а возрастание/убывание кривизны соответствует равенству

<math>\sgn(k_2-k_1)=\sgn(\widetilde\alpha+\widetilde\beta).</math>

Так, для бидуг с возрастающей кривизной, <math>k_2>k_1</math>, имеем:

<math>\widetilde\alpha>-\pi,\quad\widetilde\beta>-\pi,\quad 0<\widetilde\alpha+\widetilde\beta<2\pi.</math>


Ссылки

Шаблон:Примечания

Литература

См. также