Бидуга

Материал из testwiki
Перейти к навигации Перейти к поиску
Рис. 1. Примеры бидуг

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

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

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

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

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

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

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

Кривые помещены в систему координат хорды AB длины 2c=|AB|, в которой координаты начальной и конечной точек равны A=(c,0),B=(c,0).

Ориентированные углы наклонов касательных в точках A и B, измеренные относительно направления хорды AB, обозначены α и β. Так, у бидуги 1 на рис. 1 α>0,β>0, а у бидуг 2-6 — α>0,β<0.

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

Граничные касательные векторы у кривых 2-6 на рис. 1 одинаковы: α=100,β=30. Эти кривые являются членами однопараметрического семейства бидуг с общими касательными на концах. Всё семейство показано на нижнем фрагменте рисунка 2.

Далее основные свойства семейства бидуг с общими касательными на концах приведены по материалам статьи[4]. Параметр семейства обозначен p. Обозначение бидуги в виде (p) подразумевает фиксацию констант, то есть (p;α,β,c).

Рисунки 2, 3, 4 иллюстрируют такие семейства для различных пар {α,β}.

Рис. 2. Семейства бидуг с общими касательными на концах (два примера)
Рис. 3. Два семейства с общими (параллельными) касательными на концах: α=β
Рис. 4. Семейства бидуг с |α|=π или |β|=π

Шаблон:Clear

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

Углы α и β считаются определёнными в диапазоне [π;π]: παπ, πβπ. Построение бидуги возможно при

0<|α+β|<2π.(1)

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

ω=α+β2,γ=αβ2.

Неравенства (1) означают, что sinω=0.

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

k1(p)=1c(sinαsinωp),k2(p)=1c(sinβ+psinω).

Пусть

  • θ1 и L1 — поворот и длина дуги AJ:    θ1=k1L1;
  • θ2 и L2 — поворот и длина дуги JB:    θ2=k2L2.

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

θ1(p)=2arg(eiα+p1eiω),θ2(p)=2arg(eiβ+peiω).

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

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

XJ(p)=c(p21)p2+2pcosγ+1,YJ(p)=2cpsinγp2+2pcosγ+1,p.(2)

Эта окружность выходит из точки A под углом γ и проходит через точку B. При γ=0 (то есть при α=β) это прямая AB (рис. 3). Бидуги семейства пересекают эту окружность под постоянным углом  ω.

Вектор касательной к бидуге в точке сопряжения есть ||cosτJ,sinτJ||, где

τJ(p)=2arctgpsinα2+sinβ2pcosα2+cosβ2.

Бидуга с минимальным скачком кривизны в точке сопряжения, min|k2(p)k1(p)|, реализуется при p=±1; точка J при этом лежит на оси ординат (XJ=0).

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

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

  • Бидуга (0): при p0 точка сопряжения J(p) бидуги AJB стремится к точке A, часть AJ исчезает, превращаясь в бесконечный импульс кривизны. Бидуга вырождается в дугу окружности, опирающуюся на хорду AB и имеющую с бидугами семейства общую касательную в конечной точке.
  • Бидуга (): стремление p влечёт J(p)B, часть JB исчезает. Бидуга вырождается в дугу окружности, опирающуюся на хорду AB и имеющую с бидугами семейства общую касательную в начальной точке.
  • Бидуга (p), где
p={sinωsinα,если|α||β|(,при|α|=π),sinβsinω,если|α||β|(0,при|β|=π),

представляет собой разрывную бидугу, проходящую через бесконечно удалённую точку плоскости. Всегда p0, а неравенства (1) исключают одновременное равенство |α|=|β|=π.

На рисунках 2, 3 разрывные бидуги показаны красной штрих-пунктирной линией.

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

p(x,y)={[(x+c)2+y2]sinω(c2x2y2)sinα2cycosα,еслиωC(x,y)0,(c2x2y2)sinβ+2cycosβ[(xc)2+y2]sinω,еслиωC(x,y)0,

где C(x,y)=(c2x2y2)sinγ2cycosγ.

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

В семействе бидуг (p;α,β,c) выделим, в зависимости от значения параметра p, следующие подсемейства невырожденных бидуг:

+(p):p(0;);1(p):p(p;0);2(p):p(;p);(p)=1(p)2(p)

[4], Property 2, подсемейства + и названы, соответственно, main subfamily и complementary subfamily).

На рисунках 2, 3, 4 бидуги, принадлежащие подсемействам +, 1 и 2 показаны, соответственно, коричневым, синим и зелёным цветом.

Бидуги подсемейства + — короткие. Их кривизна либо возрастает (если ω>0), либо убывает (если ω<0):

sgn(k2k1)=sgnω=sgn(α+β) (теорема В.Фогта для коротких спиралей).

Они заключены внутри линзы — области, ограниченной вырожденными бидугами (0) и () (на рисунках область линзы затемнена). Угловая ширина линзы (со знаком) равна α+β=2ω. ГМТ (2) есть биссектриса линзы.

Бидуги подсемейства имеют противоположный (по отношению к +) характер монотонности кривизны.
Если |α|=π и |β|=π, то бидуги этого подсемейства — длинные. Разрывная бидуга (p) отграничивает друг от друга бидуги подсемейств 1,2.

Подсемейство 1 пусто, если p=0     (|β|=π).

Подсемейство 2 пусто, если p= (|α|=π).

Переопределение граничных углов в кумулятивном смысле. Интегрирование натурального уравнения бидуги даёт непрерывную (кусочно-линейную) функцию τ(s) — угол наклона касательной к кривой. При таком определении, непрерывном, её значения могут выйти за пределы ±π, и значения на концах могут отличаться от α,β на ±2π. Определим, наряду с α,β, кумулятивные версии граничных углов в виде α~,β~, с учётом непрерывности τ(s). Поправка к углу α вносится, если бидуга совершает оборот вокруг точки A, то есть пересекает луч {x<c,y=0}; поправка к углу β вносится, если бидуга совершает оборот вокруг точки B (пересекая правое дополнение хорды до бесконечной прямой):

  • в подсемействе +:    α~=α,β~=β;
  • в подсемействе 1:    α~=α2πsgnω,β~=β;
  • в подсемействе 2:    α~=α,β~=β2πsgnω.

Тогда полный поворот бидуги (p)  равен

θ1(p)+θ2(p)=β~α~,

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

sgn(k2k1)=sgn(α~+β~).

Так, для бидуг с возрастающей кривизной, k2>k1, имеем:

α~>π,β~>π,0<α~+β~<2π.


Ссылки

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

Литература

См. также