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:
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.
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?
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.