Are there curves similar to Bézier curves, but with a fixed length?

Bézier curves have some nice properties, such as starting at $P_0$ and ending at $P_n$ (for an $n$-degree Bézier curve). I am looking for a class of (curvy) curves, but with the additional property that their arc-length is always equal to a given $L$ with $L>L_\mathrm{min}$, where $L_\mathrm{min}$ is the Euclidian distance between $P_0$ and $P_n$.

I have tried to achieve this by changing the weights of intermediate points, this works but it is more of a numerical approach (and is computationally intensive).

Is there a class of curves that allows me to prescribe their arc-length? While still being able to generate distinct and curvy curves?


Solution 1:

An alternative family of curves having easily computable arc lengths are curves made of smoothly connected circular arcs.

One must know that that two circular arcs with centers in $C_1$ and $C_2$ are smoothly connected at point $P$ iff points $P,C_1,C_2$ are aligned.

I have been working on this type of curves. Here are three examples of them in pictures:

enter image description here

Fig. 1: Wheels. The LHS "wheel" is build out a general triangle with sidelengths $a,b,c$. Sidelength $a$ is extended by 2 line segments: one having length $c$, the other one having length $b$, in order that the total length of the extended side is $a+b+c$. This operation is done twice again. Whatever the direction, the apparent diameter is always $a+b+c$. The RHS figure, instead of a triangle, is based on a (starshaped) pentagon. See here.

enter image description here

Fig. 2: Two different methods for the drawing of ovals taken from the reference book of Serlio (Italy, around 1550). In some particular cases, they approximate in a correct way ellipses. Please note that they are based on "pure" figures (squares and equilateral triangles) in the euclidean tradition. The third figure shows that a supplementary degree of freedom is possible by dilating previously obtained figures, just as what we have done in fig. 1 for the "wheels".

References for ellipse and spiral drawings with circular arcs technique: http://evlm.stuba.sk/APLIMAT2018/proceedings/Papers/0450_Holesova.pdf http://users.cs.cf.ac.uk/Paul.Rosin/resources/papers/oval2.pdf

http://faculty.evansville.edu/ck6/ellipse.pdf

What kind of mathematical spiral does the volute of an Ionic capital approximate?

enter image description here

Fig. 3: "Avoiding curves" for two aircrafts in red and green arriving from NW and NE resp. with a colliding risk if their trajectories aren't changed. The air control regulation will schedule for them a "roundabout routing" in order to avoid this collision risk. Here the "green" aircraft will take a longer path in order to let the "red" aircraft pass before it.

Remark: I didn't knew Dubins paths. Thank you.

Solution 2:

You can make smoothly connected strings of circular arcs using the so-called biarc technique.

You can find quite a bit of information by searching for that term on this site and elsewhere. For example this question.

The answers include several useful links.

One of the links provides a very detailed explanation, plus C++ code for biarc approximation.

Another option is a special type of Bézier curve called a Pythagorean hodograph (PH) curve. These curves have the nice property that their arclengths can be computed quickly and easily by simple formulas (whereas general Bézier curves require numerical integration techniques). A PH curve of degree 5 has roughly the same controls as a regular cubic Bézier curve — you can specify its initial and final positions and tangents. There’s an entire book about PH curves written by Rida Farouki.