Biarc Explained

A biarc is a smooth curve formed from two circular arcs.[1] In order to make the biarc smooth (G1 continuous), the two arcs should have the same tangent at the connecting point where they meet.

Biarcs are commonly used in geometric modeling and computer graphics. They can be used to approximate splines and other plane curves by placing the two outer endpoints of the biarc along the curve to be approximated, with a tangent that matches the curve, and then choosing a middle point that best fits the curve. This choice of three points and two tangents determines a unique pair of circular arcs, and the locus of middle points for which these two arcs form a biarc is itself a circular arc. In particular, to approximate a Bézier curve in this way, the middle point of the biarc should be chosen as the incenter of the triangle formed by the two endpoints of the Bézier curve and the point where their two tangents meet. More generally, one can approximate a curve by a smooth sequence of biarcs; using more biarcs in the sequence will in general improve the approximation's closeness to the original curve.

Examples of biarc curves

  1. In the below examples biarcs

    A(J)B

    are subtended by the chord

    AB,

    and

    J

    is the join point. Tangent vector at the start point

    A

    is

    n(\alpha)

    , and

    n(\beta)

    is the tangent at the end point

    B:

  2. Fig. 2 shows six examples of biarcs

    AJB.

    • Biarc 1 is drawn with

    \alpha=100\circ,\beta=30\circ.

    Biarcs 2-6 have

    \alpha=100\circ,\beta=-30\circ.

    • In examples 1, 2, 6 curvature changes sign, and the join point

    J

    is also the inflection point. Biarc 3 includes the straight line segment

    JB

    .
    • Biarcs 1–4 are short in the sense that they do not turn near endpoints. Alternatively, biarcs 5,6 are long: turning near one of endpoints means that they intersect the left or the right complement of the chord to the infinite straight line.
    • Biarcs 2–6 share end tangents. They can be found in the lower fragment of Fig. 3, among the family of biarcs with common tangents.

  3. Fig. 3 shows two examples of biarc families, sharing end points and end tangents.
  4. Fig. 4 shows two examples of biarc families, sharing end points and end tangents, end tangents being parallel:

    \alpha=\beta.

  5. Fig. 5 shows specific families with either

Different colours in figures 3, 4, 5 are explained below as subfamilies

\color{sienna}l{B}+

,
-
\color{blue}l{B}
1
,
-
\color{green}l{B}
2
.In particular, for biarcs, shown in brown on shaded background (lens-like or lune-like), the following holds:

\beta-\alpha

(not

\beta-\alpha\pm2\pi

, which is the rotation for other biarcs);

sgn(\alpha+\beta)=sgn(k2-k1)

: the sum

\alpha+\beta

is the angular width of the lens/lune, covering the biarc, whose sign corresponds to either increasing (+1) or decreasing curvature (−1) of the biarc, according to generalized Vogt's theorem .

Family of biarcs with common end tangents

A family of biarcs with common end points

A=(-c,0)

,

B=(c,0)

, and common end tangents (1) is denoted as

l{B}(p;\alpha,\beta,c),

or, briefly, as

l{B}(p),

p

 being the family parameter. Biarc properties are described below in terms of article.[2]

  1. Constructing of a biarc is possible if
  2. Denote

    k1

    ,

    \theta1

    and

    L1

      the curvature, the turning angle and the length of the arc

    AJ

    :   

    \theta1=k1L1

    ;

    k2

    ,

    \theta2

    and

    L2

      the same for the arc

    JB

    :   

    \theta2=k2L2

    .

    Thenk_1(p) = -\frac 1 c \left(\sin\alpha+p^\sin\omega\right),\quad k_2(p) = \frac 1 c \left(\sin\beta+p\sin\omega\right),\quad\text\quad \omega=\frac2(due to,

    \sin\omega\not=0

    ).Turning angles: \theta_1(p)=2\arg\left(e^ +p^\right),\quad \theta_2(p)=2\arg\left(e^ +p\, e^\right).
  3. The locus of join points

    J

    is the circle X_J(p)=\frac,\quad Y_J(p)=\frac,\quad\text\quad \gamma=\frac2(shown dashed in Fig.3, Fig.5).This circle (straight line if

    \gamma=0

    , Fig.4) passes through points

    A,B,

    the tangent at

    A

    being 

    n(\gamma).

    Biarcs intersect this circle under the constant angle  

    -\omega.

  4. Tangent vector to the biarc

    l{B}(p)

    at the join point is

    n\left(\tau{J}\right)

    , where\tau_(p)= \arctan \dfrac.
  5. Biarcs with

    p=\pm1

    have the join point on the Y-axis

    (XJ=0),

    and yield the minimal curvature jump,

    min\left|k2(p)-k1(p)\right|,

    at 

    J.

  6. Degenerate biarcs are:

    • Biarc

    l{B}(0)

    : as

    p\to0

    ,

    J(p)\toA

    , arc

    AJ

    vanishes.
    • Biarc

    l{B}(infty)

    : as

    p\to\pminfty

    ,

    J(p)\toB

    , arc

    JB

    vanishes.
    • Discontinuous biarc

    l{B}(p\ast)

    includes straight line

    APinftyJ

    or

    JPinftyB,

    and passes through the infinite point 

    Pinfty

    : p^\ast= \begin -\dfrac, & \text\; |\alpha|\geqslant|\beta|\quad(|\alpha|=\pi\;\Longrightarrow\; p^\ast=-\infty),\\[1ex] -\dfrac, & \text\; |\alpha|\leqslant|\beta|\quad(|\beta|=\pi\;\Longrightarrow\; p^\ast=0). \endDarkened lens-like region in Figs.3,4 is bounded by biarcs

    l{B}(0),l{B}(infty).

    It covers biarcs with

    p>0.

    Discontinuous biarc is shown by red dash-dotted line.

  7. The whole family

    l{B}(p;\alpha,\beta,c)

    can be subdivided into three subfamilies of non-degenerate biarcs:\begin\mathcal^(p)\quad p\in(0;\infty);\\\mathcal^_1(p)\quad p\in(p^\ast;0);\\\mathcal^_2(p)\quad p\in(-\infty;p^\ast);\\\left[\mathcal{B}^{\,-}(p) = \mathcal{B}^{\,-}_1(p) \cup \mathcal{B}^{\,-}_2(p)\right].\end

    Subfamily

    -
    l{B}
    1
    vanishes if

    p\ast=0

      

    (|\beta|=\pi).

    Subfamily

    -
    l{B}
    2
    vanishes if

    p\ast=-infty

    (|\alpha|=\pi).

    In figures 3, 4, 5biarcs

    \color{sienna}l{B}+

    are shown in brown,biarcs
    -
    \color{blue}l{B}
    1
    in blue,and biarcs
    -
    \color{green}l{B}
    2
    in green.

References

External links

Notes and References

  1. Bolton. K. M.. Biarc curves. Computer-Aided Design. 7. 1975. 2. 89–92. 10.1016/0010-4485(75)90086-X.
  2. Kurnosenko. A. I.. 2013. Biarcs and bilens. Computer Aided Geometric Design. 30. 3. 310–330. 10.1016/j.cagd.2012.12.002. PDF.