*Enter a width and height to create a catenary and display the heights of selected points on the catenary.*

**Summary**

This program draws a catenary according to the given width and height and displays the height of the selected points. In physics and geometry, a catenary is a curve that appears when a chain or cable with uniform density is hung only by its own weight with only the ends fixed at both ends. It can be represented as a hyperbolic cosine function, and although it is mathematically different, it looks like a parabola, which can be confusing. The catenary arch is a structure in which the catenary is designed in an inverted shape so that all loads act only as compressive stresses. Based on these physical definitions, catenary arches are the most rigid without generating tensile stress ( Excerpt and edit from Wikipedia ).

Below are several example photos using catenary.

( Excerpt from https://en.wikipedia.org/wiki/Catenary )

Considering various uses, when the width of the catenary is divided by 1/2n, the height of each point can be displayed. The result screen can be output as PDF and General-Purpose CAD Files(A file that can be used in almost all CAD programs other than AutoCAD, extension: .dxf) along with the basic graph screen.

A catenary can be written according to the catenary equation, and in Cartesian coordinates, the catenary equation has the same form as Eq.(1).

where cosh is the hyperbolic cosine function, and `a' is a parameter indicating the degree of curvature of the catenary curve. In order to create a catenary by actually entering the width of the catenary and the height of the vertex using the above formula, Eq.(1) must be converted. When there are two points P1 and P2 with the same height, Eq.(1) is converted as Eq.(2) below (The conversion process is skipped) .

where arcosh is the inverse hyperbolic cosine function, W is the horizontal distance of P1, P2 corresponding to the catenary width, and H is the catenary vertex height (the difference in height from P1=P2).

This is general mathematical content, but the catenary equation has a big problem that the equation cannot be arranged for `a'. In other words, if you input W and H to find `a', you can create a catenary, so finding `a' is the key, but the catenary equation cannot be converted into the form 《$a = ...W...H...$》(Maybe because my math skills aren't good). Therefore, to solve this problem, we have no choice but to resort to inductive calculations.

Below is the calculation process for this program by inductive method.

Find the appropriate starting value of `a' from the desired catenary width and height H.

Increase `a' from the starting value by 0.0001 and repeat the calculation up to 9,000,000 times to find the value `a' where the error between the desired catenary width and W is less than 0.001.

Calculate the W value when the `a' value found above is inserted.

Draw a graph using W, `a' and H found above and Eq.(2).

They are calculated in this order. That is, the 'a' value obtained in this program has a maximum error of 0.001, and accordingly the W value has a very small error. In addition, the calculation takes a lot of time because it repeats the calculation more than tens of thousands of times depending on the input value. However, some time ago, a speed-up process was applied, and now it has been improved so that calculations can be completed almost instantaneously.

**Usage**

It can be used wherever catenary is required. In my case, it is used to determine the initial shape of the violin base bar (the height of each point of the base bar) (I will report on how to use catenaries when working with violin bassbars). The maximum calculable catenary width is set to 600 so that it can also be used when working on the cello base bar.

**Install**

Since this program is a portable version, no installation work is required.

After unpacking, double-click the 《Catenary_Curve_Generator_v.X.X.X.exe》 file in the 《Catenary_Curve_Generator_v.X.X.X》 folder to run the program immediately. However, it may take a long time to run depending on the specifications of your computer.

## Comments