# My Bridge Hammock System - Part 7

• 12-08-2007, 14:51
TeeDee
My Bridge Hammock System - Part 7
http://www.hammockforums.net/gallery...2/6/200040.jpg

Setting Cl to the compression force due to the suspension lines, we have:

Code:

`Cl = Lf/(2 * tan(beta)) = Wh/[4*d*tan(beta)]`
The next figure, #5, illustrates the suspension line plane including the forces acting on the spreader bar through the webbing.

http://www.hammockforums.net/gallery...2/6/200050.jpg

In order to obtain the angle gamma, we must measure the angle of the tangent line to the end arc and the perpendicular to the spreader bar. To obtain a good estimate of this, measure down the length of the webbing from the spreader bar a short distance (a short distance is desired since if the distance is too great, the angle will diverge more from the tangent to the webbing/spectra at the spreader bar) Em as indicated in the next figure #6.

http://www.hammockforums.net/gallery...2/6/200060.jpg

At that point on both ends, measure the distance between the end points of the hammock, Hw. Note Hw is NOT the length of the hammock, i.e., the length of the fabric between the two points. Also, make sure to measure the distance while you or someone is in the hammock.

We have:
Code:

`sine(gamma) = (S-Hw)/2 * Em`
Then setting Cw to the compression due to the weight of the occupant, we have:

Code:

```        Cw = (Lf/2)tan(gamma)           = (Wh/4d)tan(gamma)```
Then the total compression force on the spreader bar is:

Code:

`        C = 2 * (Cl + Cw)`
Illustrating the compression force on the spreader:

Measured values: L = 700 mm S = 1050 mm d = 327 mm Em = 400 mm Hw = 813 mm W = 180 lbs

Computed values: beta = 41 deg h = 463 mm Cl = 72 lbs Cw = 20 lbs

C = 184 lbs == Total Compression Force on Spreader Bar

Force and Draft stopper parabola computation

I have included below a program in the "Awk Programming Language" for computing the compressive forces on spreader bars and for determining the parabola needed for draft stoppers and bug netting end panels.

To execute in Linux, copy to a file, make the file executable and name the file on command line. If you run Linux, you probably already know how to do this.

I know zero about Windows and even less desire to know anything about it and less about Macs, so you will have to get somebody else to help you there if you want to run the program. I am pretty sure that Awk is available, but don't know where. There are probably people on the forums that know a lot about both Windows and the Mac and can undoubtedly help you.

Modify the values in the "User Input Section at the top and run the program using Awk.

You can detail the values in either English units or metric units or a combination of both. If the same measurement is detailed in both English and metric, the English value will be used.

I have detailed the compression forces above.

The derivation of the parabolic arc length is included here for those so inclined. Warning: if you do not like math, then skip this section. Also, for those who are advanced in mathematics, this will be very elementary. I have included all of this here for completeness so that those so inclined can read, adapt and improve.

For the draft stopper we have two data points for the parabola:

1. the spreader bar width, and
2. the width of the fabric at the end, i.e., the arc length of the

needed parabola.

A parabola is a second degree equation. To make things easy I will assume the co-ordinate system origin at the vertex of the parabola with the parabola opening up the positive y-axis. This reduces the needed equation to:

Code:

`x^2 = 2py ('^' denotes exponential)`
The equation constant, p, needs to be defined to define the parabola. I will use the fabric width to define the p. For this I need the equation for the arc length of a parabola - it's been too many years for me to even try to remember that piece of information. So, arc length, L, is the integral of the equation along the arc: NOTE - there is a fancy math symbol for the integral, but computers haven't really caught up with several hundred years of math yet and so you have to do some fancy things to get everybody to properly display simple math symbols. So I will simply write "integral" for the symbol.

Code:

`L = integral{sqrt[1 + (dy/dx)^2]dx}`
"sqrt" == square root - again another math symbol, mathematicians are also really good at inventing symbols.

from the parabolic equation:

Code:

`dy/dx = x/p`
So we want:

Code:

`L = integral{sqrt[1 + (x/p)^2]dx}`
Now I learned over 44 years ago, that at this point I pull out my trusty copy of "CRC Standard Mathematical Tables, 25th Edition", 1978 - yes I'm old enough that I bought it brand new after more than a decade of hungering for a copy. Looking up the table of indefinite integrals, I find one that fits the bill, namely

Code:

```integral{sqrt(a^2 + u^2)du} = (1/2)[u sqrt(u^2 + a^2) +         a^2 ln(u + sqrt(u^2 + a^2))]```
substituting u = x/p, dx/p = du, a = 1, we find:

Code:

`L = (x/2)sqrt((x/p)^2 + 1) + (p/2)ln((x/p) + sqrt((x/p)^2 + 1))`
Unfortunately this cannot be solved explicitly for p. So, what we have to do is insert a trial value for p and compute the corresponding value for L. If L is not equal to the desired fabric width, we keep trying values for p until we get a value of L that is acceptably close to the desired value. Of course, we don't try values of p randomly, but try to do so systematically. Now this kind of computation is what digital computers are very, very, very good at doing. That is exactly what the following program does. It starts with a reasonable guess for p and then keeps trying values until L is within a specified tolerance of the desired value for L.

So, once we have p, we can now compute the data points, i.e., x and y pairs, for the desired parabola. The program then proceeds to do so and prints out information that you have specified and the data points for the parabola.

I have arranged the program so that you are not flooded with lots and lots of data points to plot. I found that the first 5 data points along the y-axis, i.e., the first 5 cm, are needed and after that one every 5 cm will do. That will give approximately 12 to 15 points for the end of a Bridge Hammock. You don't even need to get fancy in connecting the data points, simple straight lines between each is accurate enough for this use. Simple.

All internal calculations are done in metric units.

Note: some Awks do not recognize the inverse trig function 'acos' or arc-cosine. For quite a few years now, I have been using an implementation of Awk which I developed and wrote. It runs under Linux since that is all I use. I have extended Awk considerably, especially in the mathematical functions since the original Awk is weak there and in the ability to dynamically load/unload and run compiled functions written in C or some other compiled language. Thus, I tend to use functions that are not available under normal Awk. Sorry about that, but maybe somebody can work around the issue. The 'acos' function is only used for the compression force calculations and may be commented out to run the rest under normal Awk. If all else fails maybe somebody can compile under C since my implementation of Awk is tailered to look almost exactly like C. I was going to write a C interpreter, but decided instead that Awk was a better language for an interpreter.

Note 2: The variable 'sanity_check' should be set to zero, 0, for ordinary use. The variable was put in to add a check on the computations to ensure agreement with the integrated value for the arc length. With the value of 'sanity_check' set to 1, the straight distances between computed parabolic points is computed and accumulated. The total should approach the integrated value as the distance between computed points is decreased.

Code:

``` #! /bin/awk -f  # above line will automatically execute program under Linux  BEGIN {     #######################################     ###     ### USER input here     ###     #######################################     ## set following variable to 1 to do a sanity check on     ## parabola computation, else set to 0     ## with sanity check on, a finer grid is computed     ## for the parabola and the straight line lengths     ## between points is computed. As the grid gets finer,     ## the straight lengths total should approach closer     ## to the integrated value. This check ensures that the     ## computations are consistent.     sanity_check = 0;     ###     ####  English units     #     # head end fabric width in inches     head_end_fabric_width_English = 56.5;     # head end spreader bar length in inches     head_end_spreader_bar_length_English = 0.0;     # foot end fabric width in inches     foot_end_fabric_width_English = 56.0;     # foot end spreader bar length in inches     foot_end_spreader_bar_length_English = 0.0;     # head end length of belly band under hammock, inches     head_end_belly_band_English = 43.75;     # foot end length of belly band under hammock, inches     foot_end_belly_band_English = 44.25;     # head end distance spreader bar to ridge     # line in inches     head_end_spreader_bar_to_ridgeline_English = 16.0;     # foot end distance spreader bar to ridge     # line in inches     foot_end_spreader_bar_to_ridgeline_English = 17.0;     ## following user inputs are for computing the     ## compression forces on the spreader bars. The     ## head end spreader bar is the only that need be     ## computed, but both can be done if desired.     ## setting all entries at 0.0, will skip the     ## compression force computation     ## setting head/foot entries to 0.0 will skip     ## the corresponding end     # head end suspension triangle side in inches     head_end_suspension_triangle_side_English = 0.0;     # head end distance down hammock arc to measure     # hammock separation in inches     head_end_distance_down_arc_English = 0.0;     # head end hammock separation in inches     head_end_hammock_separation_English = 0.0;     # foot end suspension triangle side in inches     foot_end_suspension_triangle_side_English = 0.0;     # foot end distance down hammock arc to measure     # hammock separation in inches     foot_end_distance_down_arc_English = 0.0;     # foot end hammock separation in inches     foot_end_hammock_separation_English = 0.0;     ###     ### Metric units     #     # head end fabric width in cm     head_end_fabric_width_metric = 0.0;     # head end spreader bar in cm     head_end_spreader_bar_length_metric = 105.0;     ## added to prevent tight fabric     Amount_to_add_to_spreader_bar_metric = 0.0;     # foot end fabric width in cm     foot_end_fabric_width_metric = 0.0;     # foot end spreader bar length in cm     foot_end_spreader_bar_length_metric = 81.7;     # head end length of belly band under hammock, cm     head_end_belly_band_metric = 0.0;     # foot end length of belly band under hammock, cm     foot_end_belly_band_metric = 0.0;     # head end distance spreader bar to ridge line in cm     head_end_spreader_bar_to_ridgeline_metric = 0.0;     # foot end distance spreader bar to ridge line in cm     foot_end_spreader_bar_to_ridgeline_metric = 0.0;     ## following user inputs are for computing the compression     ## forces on the spreader bars. The head end spreader bar     ## is the only that need be computed, but both can be done     ## if desired. setting all entries at 0.0, will skip the     ## compression force computation setting head/foot entries     ## to 0.0 will skip the corresponding end     # head end suspension triangle side in inches     head_end_suspension_triangle_side_metric = 70.0;     # head end distance down hammock arc to measure     # hammock separation in inches     head_end_distance_down_arc_metric = 40.0;     # head end hammock separation in inches     head_end_hammock_separation_metric = 81.3;     # foot end suspension triangle side in inches     foot_end_suspension_triangle_side_metric = 0.0;     # foot end distance down hammock arc to measure     # hammock separation in inches     foot_end_distance_down_arc_metric = 0.0;     # foot end hammock separation in inches     foot_end_hammock_separation_metric = 0.0;     # occupant weight - lbs     W = 175.0;     #     #######################################     ###     ### END USER INPUT     ###     ## English/metric conversion     cm_per_inch = 2.54;     ## compute parabola depth based on fabric width     ## and spreader bar length parabola vertex at origin,     ## Focus on positive x-axis     ## y^2 = 2px     ## arc length == sh/sf     ## width == /xf     ## use metric system of units - output both metric     ## and English     ## arc length == s == (y/2)*sqrt(1+y^2/p^2) +     ##                    (p/2)*ln(sqrt(1+y^2/p^2) + y/p)     ## evaluate for p at y = half spreader bar length     ##     # convert to metric for calculations     if (head_end_fabric_width_English )         sh = head_end_fabric_width_English * cm_per_inch;       else if ( head_end_fabric_width_metric )         sh = head_end_fabric_width_metric;       else {         print("user entry error on Head \               entry fabric width");         exit; }     if ( head_end_spreader_bar_length_English )         xh = head_end_spreader_bar_length_English * cm_per_inch;       else if ( head_end_spreader_bar_length_metric )         xh = head_end_spreader_bar_length_metric;       else {         print("user entry error on Head \               entry spreader bar length");         exit; }     spbl_h = xh;     if ( foot_end_fabric_width_English )         sf = foot_end_fabric_width_English * cm_per_inch;       else if  ( foot_end_fabric_width_metric )         sf = foot_end_fabric_width_metric;       else {         print("user entry error on Foot \               entry fabric width");         exit; }     if ( foot_end_spreader_bar_length_English )         xf = foot_end_spreader_bar_length_English * cm_per_inch;       else if ( foot_end_spreader_bar_length_metric )         xf = foot_end_spreader_bar_length_metric;       else {         print("user entry error on Foot \               entry spreader bar length");         exit; }     spbl_f = xf;     if ( head_end_belly_band_English )         he_bb = head_end_belly_band_English * cm_per_inch;       else if ( head_end_belly_band_metric )         he_bb = head_end_belly_band_metric;       else {         print("user entry error on Head \               entry Belly Band length");         exit; }     if ( foot_end_belly_band_English )         fe_bb = foot_end_belly_band_English * cm_per_inch;       else if ( foot_end_belly_band_metric )         fe_bb = foot_end_belly_band_metric;       else {         print("user entry error on Foot \               entry Belly Band length");         exit; }     if ( head_end_spreader_bar_to_ridgeline_English )         h_sbr_rl = head_end_spreader_bar_to_ridgeline_English * cm_per_inch;       else if ( head_end_spreader_bar_to_ridgeline_metric )         h_sbr_rl =  head_end_spreader_bar_to_ridgeline_metric;       else {         print("user entry error on Head entry\               spreader bar to ridge line");         exit; }     if ( foot_end_spreader_bar_to_ridgeline_English )         f_sbr_rl = foot_end_spreader_bar_to_ridgeline_English * cm_per_inch;       else if ( foot_end_spreader_bar_to_ridgeline_metric )         f_sbr_rl =  foot_end_spreader_bar_to_ridgeline_metric;       else {         print("user entry error on Foot entry \               spreader bar to ridge line");         exit; }     # check if computing compression forces - head end     if ( (head_end_suspension_triangle_side_English ||           head_end_suspension_triangle_side_metric ) &&         (head_end_distance_down_arc_English ||           head_end_distance_down_arc_metric) &&         (head_end_hammock_separation_English ||           head_end_hammock_separation_metric) ) {         if ( head_end_suspension_triangle_side_English )             sts = head_end_suspension_triangle_side_English * cm_per_inch;           else if ( head_end_suspension_triangle_side_metric )             sts = head_end_suspension_triangle_side_metric;           else sts = 0.0;         if ( head_end_distance_down_arc_English )             dda = head_end_distance_down_arc_English * cm_per_inch;           else if ( head_end_distance_down_arc_metric )             dda = head_end_distance_down_arc_metric;           else dda = 0.0;         if ( head_end_hammock_separation_English )             hs = head_end_hammock_separation_English * cm_per_inch;           else if ( head_end_hammock_separation_metric )             hs = head_end_hammock_separation_metric;           else hs = 0.0;         # compute compression force on spreader bar         beta = acos( spbl_h / (2*sts));         hh = (spbl_h/2)*tan(beta);         gamma = asin((spbl_h - hs) / (2 * dda));         # Lf = (W*hh)/(2*h_sbr_rl);         Cl = (W*hh)/((4*h_sbr_rl)*tan(beta));         Cw = (W*hh*tan(gamma))/(4*h_sbr_rl);         printf("Compression on Head End spreader bar due \                 to suspension triangle: %.1f lbs\n",2 * Cl);         printf("Compression on Head End spreader bar due \                 to webbing: %.1f lbs\n",2 * Cw);         printf("Total Compression force on Head End \                 spreader bar: %.1f lbs\n\n",2*(Cl+Cw));     } else { printf("Head End spreader bar compression \                     forces not computed\n\n"); }     # check if computing compression forces - foot end     if ( (foot_end_suspension_triangle_side_English ||           foot_end_suspension_triangle_side_metric) &&         (foot_end_distance_down_arc_English  ||           foot_end_distance_down_arc_metric) &&         (foot_end_hammock_separation_English  ||           foot_end_hammock_separation_metric) ) {         if ( foot_end_suspension_triangle_side_English )             sts = foot_end_suspension_triangle_side_English * cm_per_inch;           else if ( foot_end_suspension_triangle_side_metric )             sts = foot_end_suspension_triangle_side_metric;           else sts = 0.0;         if ( foot_end_distance_down_arc_English )             dda = foot_end_distance_down_arc_English * cm_per_inch;           else if ( foot_end_distance_down_arc_metric )             dda = foot_end_distance_down_arc_metric;           else dda = 0.0;         if ( foot_end_hammock_separation_English )             hs = foot_end_hammock_separation_English * cm_per_inch;           else if ( foot_end_hammock_separation_metric )             hs = foot_end_hammock_separation_metric;           else hs = 0.0;         # compute compression force on spreader bar         beta = acos( spbl_h / (2*sts));         hh = (spbl_h/2)*sin(beta)/cos(beta);         gamma = asin((spbl_h - hs) / (2 * dda));         # Lf = (W*hh)/(2*h_sbr_rl);         Cl = (W*hh)/((4*h_sbr_rl)*(sin(beta)/cos(beta)));         Cw = (W*hh*(sin(gamma)/cos(gamma)))/(4*h_sbr_rl);         printf("Compression on Foot End spreader bar due \                 to suspension triangle: %.1f lbs\n",2 * Cl);         printf("Compression on Foot End spreader bar due \                 to webbing: %.1f lbs\n",2 * Cw);         printf("Total Compression force on Foot End \                 spreader bar: %.1f lbs\n",2*(Cl+Cw));     } else { printf("Foot End spreader bar compression \                     forces not computed\n\n"); }     ## compute depth for matching arc length within following     ## tolerance - this should close enough for even the most     ## fastidious     tolerance = .001; ## 0.1 mm == 1/25400" == 0.00003937"     ## use parabola for end panel. compute parabola from     ##  x^2 = 2py     ## dy/dx = x/p     ## arc length, s = integral[sqrt(1 + (dy/dx)^2]     ##            s = integral[sqrt(1 + (x/p)^2]     ## arc length, s, for parabola from origin to x:     ## Thanks for table of indefinite integrals     ## s = (x/2)sqrt((x/p)^2 + 1) +     ##      (p/2)ln((x/p) + sqrt((x/p)^2 + 1)     ## need to determine p such that s is equal to half of fabric     ## width:     ## sh/2or s/2     ##     xh /= 2;     sh /= 2;     # debugging output     # printf("header max x: %.4f cm, %.4f inch\nheader \     #        arc length: %.4f cm, %.4f inch\n",     #        xh,     #        xh / cm_per_inch,     #        sh,     #        sh / cm_per_inch);     ## search for p until arc length is greater than half fabric width     ## decrement increment and try again. Keeping decrementing increment     ## until arc length is within tolerance     incr = 1.0;     for ( ph = 3.0 ; ph < 50.0 ; ph += incr ) {         intermed = sqrt(1 + (xh/ph)^2);         arc_h = ((xh/2) * intermed) +                 (ph/2) * log((xh/ph) + intermed);         ## debuging output         ## printf("arc_head = %.6f, ph = %.6f, \         ##        increment = %.6f\n",         ##        arc_h,         ##        ph,         ##        incr);         if ( arc_h < sh ) {             if ( abs(arc_h - sh) <= tolerance ) break;             ph -= incr;             incr /= 2.0;         }     }     ## debuging output     ## printf("arc_head = %.6f/%.6f, \     ##        ph = %.6f\n\n",     ##        arc_h,     ##        arc_h/cm_per_inch,     ##        ph);     xf /= 2;     sf /= 2;     ## debuging output     ## printf("footer max x: %.4f cm, \     ##        %.4f inch\nfooter arc \     ##        length: %.4f cm, %.4f inch\n",     ##        xf,     ##        xf / cm_per_inch,     ##        sf,     ##        sf / cm_per_inch);     ## search for p until arc length is greater than half fabric width     ## decrement increment and try again. Keeping decrementing increment     ## until arc length is within tolerance     incr = 1.0;     for ( pf = 3.0 ; pf < 30.0 ; pf += incr ) {         intermed = sqrt(1 + (xf/pf)^2);         arc_h = (xf/2) * intermed +                 (pf/2) * log((xf/pf) + intermed);         ## debuging output         ## printf("arc_foot = %.6f, \         ##        pf = %.6f, \         ##        increment = %.6f\n",         ##        arc_h,         ##        pf,         ##        incr);         if ( arc_h < sf ) {             if ( abs(arc_h - sf) <= tolerance ) break;             pf -= incr;             incr /= 2.0;         }     }     ## debuging output     ## printf("arc_foot = %.6f/%.6f, \     ##        pf = %.6f\n",     ##        arc_h,     ##        arc_h/cm_per_inch,     ##        pf);     ## compute parabola: x^2 = 2py     # head end fixed point     yh = (xh^2)/(2*ph);     ## printf("Head Arc depth: %.3f/%.2f\n",     ##        yh,     ##        yh/cm_per_inch);     ## foot fixed point     yf = (xf^2)/(2*pf);     ## printf("Foot Arc depth: %.3f/%.2f\n",     ##        yf,     ##        yf/cm_per_inch);     # print header information     printf("Head draft stopper.\n\             spreader bar length: %.2f cm, %.1f inch\n\             spreader bar to ridge line: %.2f cm, %.1f inch\n\             Fabric width: %0.2f cm, %0.1f inch\n\             Belly Band: %.2f cm, %.2f inches\n",             spbl_h,             spbl_h / cm_per_inch,             h_sbr_rl,             h_sbr_rl / cm_per_inch,             sh * 2,             (sh * 2)/ cm_per_inch,             he_bb,             he_bb / cm_per_inch);     printf("Head parabola. x^2 = 2py, p == %.6f\n\             output = cm/inch\n\             Depth == %.3f/%.2f\n",           ph,           yh,           yh/cm_per_inch);     ## x^2 = 2py     ## compute head parabola shape at 1 cm increments for depth, y     ## to do a sanity check on calculations, use a small increment     ## and calculate accumulated straight line distances     if ( sanity_check ) {         incr = 0.1;         xo = yo = 0.0;         accum_len = 0.0;       } else {         incr = 1.0;     }     for ( y = incr ; y < 6.0 ; y += incr ) {         x = sqrt(2 * ph * y);         if ( sanity_check ) {             accum_len += sqrt((x-xo)^2 + (y - yo)^2);             printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f : \                     accum_len = %6.3f\n",                     y,                     y / cm_per_inch,                     x,                     x / cm_per_inch,                     accum_len);             xo = x;             yo = y;           } else {             printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f\n",                     y,                     y / cm_per_inch,                     x,                     x / cm_per_inch);         }     }     ## compute head parabola shape at 5 cm increments for depth, y     if ( sanity_check ) {         incr = 0.5;       } else {         incr = 5.0;     }     for ( y = 10.0 ; y < yh ; y += incr ) {         x = sqrt(2 * ph * y);         if ( sanity_check ) {             accum_len += sqrt((x-xo)^2 + (y - yo)^2);             printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f : \                     accum_len = %6.3f\n",                     y,                     y / cm_per_inch,                     x,                     x / cm_per_inch,                     accum_len);             xo = x;             yo = y;           } else {             printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f\n",                     y,                     y / cm_per_inch,                     x,                     x / cm_per_inch);       }     }     # compute and print values for end points     if ( sanity_check ) {         accum_len += sqrt((xh-xo)^2 + (yh - yo)^2);         printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f\n\                 Straight line arc length: %.6f/%.6f\n",                 yh,                 yh / cm_per_inch,                 xh,                 xh / cm_per_inch,                 2 * accum_len,                 2 * accum_len / cm_per_inch);       } else {         printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f\n",             yh,             yh / cm_per_inch,             xh,             xh / cm_per_inch);     }     # print header information     printf("\nFoot draft stopper.\n\             spreader bar length: %.2f cm, %.1f inch\n\             spreader bar to ridge line: %.2f cm, %.1f inch\n\             Fabric width: %0.2f cm, %0.1f inch\n\             Belly Band length: %.2f cm, %.2f inches\n",             spbl_f,             spbl_f / cm_per_inch,             f_sbr_rl,             f_sbr_rl / cm_per_inch,             sf * 2,             (sf * 2) / cm_per_inch,             fe_bb,             fe_bb / cm_per_inch);     printf("Foot parabola. x^2 = 2py, p == %.6f\n\             output = cm/inch\n\             Depth == %.3f/%.2f\n",           pf,           yf,           yf/cm_per_inch);     ## x^2 = 2py     ## compute foot parabola shape at 1 cm increments for depth, y     if ( sanity_check ) {         incr = 0.1;         accum_len = 0.0;       } else {         incr = 1.0;     }     for ( y = incr , xo = yo = 0.0  ; y < 6.0 ; y += incr ) {         x = sqrt(2 * pf * y);         if ( sanity_check ) {             accum_len += sqrt((x-xo)^2 + (y - yo)^2);             printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f : \                     accum_len = %6.3f\n",                 y,                 y / cm_per_inch,                 x,                 x / cm_per_inch,                 accum_len);             xo = x;             yo = y;           } else {             printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f\n",                 y,                 y / cm_per_inch,                 x,                 x / cm_per_inch);         }     }     ## compute foot parabola shape at 5 cm increments for depth, y     if ( sanity_check ) {         incr = 0.5;       } else {         incr = 5.0;     }     for ( y = 10.0 ; y < yf ; y += incr ) {         x = sqrt(2 * pf * y);         if ( sanity_check ) {         accum_len += sqrt((x-xo)^2 + (y - yo)^2);             printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f : \                     accum_len = %6.3f\n",                 y,                 y / cm_per_inch,                 x,                 x / cm_per_inch,                 accum_len);             xo = x;             yo = y;           } else {             printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f\n",             y,             y / cm_per_inch,             x,             x / cm_per_inch);         }     }     # compute and print values for end points     ## x = sqrt(2 * pf * yf);     ## y -= incr;     if ( sanity_check ) {         accum_len += dl = sqrt((xf - xo)^2 + (yf - yo)^2);         printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f\n\                 Straight line arc length: %.6f/%.6f\n",             yf,             yf / cm_per_inch,             x,             x / cm_per_inch,             2 * accum_len,             2 * accum_len / cm_per_inch);       } else {         printf("y = %6.3f/%6.2f : x = %6.3f/%6.2f\n",             yf,             yf / cm_per_inch,             x,             x / cm_per_inch);     }  }  function tan(x) {     return sin(x)/cos(x);  }  function abs(x) {     return (x >= 0.0) ? x : -x;  }   **********************   Sample output for my Bridge Hammock with sanity check turned off:   =================================================================   Compression on Head End spreader bar due to suspension triangle: 113.0   lbs   Compression on Head End spreader bar due to webbing: 30.9 lbs   Total Compression force on Head End spreader bar: 144.0 lbs   Foot End spreader bar compression forces not computed   Head draft stopper.   spreader bar length: 105.00 cm, 41.3 inch   spreader bar to ridge line: 40.64 cm, 16.0 inch   Fabric width: 143.51 cm, 56.5 inch   Belly Band: 111.12 cm, 43.75 inches   Head parabola. x^2 = 2py, p == 30.985352   output = cm/inch   Depth == 44.477/17.51   y =  1.000/  0.39 : x =  7.872/  3.10   y =  2.000/  0.79 : x = 11.133/  4.38   y =  3.000/  1.18 : x = 13.635/  5.37   y =  4.000/  1.57 : x = 15.744/  6.20   y =  5.000/  1.97 : x = 17.603/  6.93   y = 10.000/  3.94 : x = 24.894/  9.80   y = 15.000/  5.91 : x = 30.489/ 12.00   y = 20.000/  7.87 : x = 35.205/ 13.86   y = 25.000/  9.84 : x = 39.361/ 15.50   y = 30.000/ 11.81 : x = 43.118/ 16.98   y = 35.000/ 13.78 : x = 46.572/ 18.34   y = 40.000/ 15.75 : x = 49.788/ 19.60   y = 44.477/ 17.51 : x = 52.500/ 20.67   Foot draft stopper.   spreader bar length: 81.70 cm, 32.2 inch   spreader bar to ridge line: 43.18 cm, 17.0 inch   Fabric width: 142.24 cm, 56.0 inch   Belly Band length: 112.39 cm, 44.25 inches   Foot parabola. x^2 = 2py, p == 15.362549   output = cm/inch   Depth == 54.311/21.38   y =  1.000/  0.39 : x =  5.543/  2.18   y =  2.000/  0.79 : x =  7.839/  3.09   y =  3.000/  1.18 : x =  9.601/  3.78   y =  4.000/  1.57 : x = 11.086/  4.36   y =  5.000/  1.97 : x = 12.395/  4.88   y = 10.000/  3.94 : x = 17.529/  6.90   y = 15.000/  5.91 : x = 21.468/  8.45   y = 20.000/  7.87 : x = 24.789/  9.76   y = 25.000/  9.84 : x = 27.715/ 10.91   y = 30.000/ 11.81 : x = 30.360/ 11.95   y = 35.000/ 13.78 : x = 32.793/ 12.91   y = 40.000/ 15.75 : x = 35.057/ 13.80   y = 45.000/ 17.72 : x = 37.184/ 14.64   y = 50.000/ 19.69 : x = 39.195/ 15.43   y = 54.311/ 21.38 : x = 40.850/ 16.08   ================================================================   Sample output for my Bridge Hammock with sanity check turned on:   ================================================================   Compression on Head End spreader bar due to suspension triangle: 113.0   lbs   Compression on Head End spreader bar due to webbing: 30.9 lbs   Total Compression force on Head End spreader bar: 144.0 lbs   Foot End spreader bar compression forces not computed   Head draft stopper.   spreader bar length: 105.00 cm, 41.3 inch   spreader bar to ridge line: 40.64 cm, 16.0 inch   Fabric width: 143.51 cm, 56.5 inch   Belly Band: 111.12 cm, 43.75 inches   Head parabola. x^2 = 2py, p == 30.985352   output = cm/inch   Depth == 44.477/17.51   y =  0.100/  0.04 : x =  2.489/  0.98 : accum_len =  2.491   y =  0.200/  0.08 : x =  3.521/  1.39 : accum_len =  3.527   y =  0.300/  0.12 : x =  4.312/  1.70 : accum_len =  4.325   y =  0.400/  0.16 : x =  4.979/  1.96 : accum_len =  4.999   y =  0.500/  0.20 : x =  5.566/  2.19 : accum_len =  5.595   y =  0.600/  0.24 : x =  6.098/  2.40 : accum_len =  6.136   y =  0.700/  0.28 : x =  6.586/  2.59 : accum_len =  6.635   y =  0.800/  0.31 : x =  7.041/  2.77 : accum_len =  7.100   y =  0.900/  0.35 : x =  7.468/  2.94 : accum_len =  7.539   y =  1.000/  0.39 : x =  7.872/  3.10 : accum_len =  7.955   y =  1.100/  0.43 : x =  8.256/  3.25 : accum_len =  8.352   y =  1.200/  0.47 : x =  8.624/  3.40 : accum_len =  8.733   y =  1.300/  0.51 : x =  8.976/  3.53 : accum_len =  9.099   y =  1.400/  0.55 : x =  9.314/  3.67 : accum_len =  9.452   y =  1.500/  0.59 : x =  9.641/  3.80 : accum_len =  9.794   y =  1.600/  0.63 : x =  9.958/  3.92 : accum_len = 10.126   y =  1.700/  0.67 : x = 10.264/  4.04 : accum_len = 10.448   y =  1.800/  0.71 : x = 10.562/  4.16 : accum_len = 10.762   y =  1.900/  0.75 : x = 10.851/  4.27 : accum_len = 11.068   y =  2.000/  0.79 : x = 11.133/  4.38 : accum_len = 11.367   y =  2.100/  0.83 : x = 11.408/  4.49 : accum_len = 11.660   y =  2.200/  0.87 : x = 11.676/  4.60 : accum_len = 11.946   y =  2.300/  0.91 : x = 11.939/  4.70 : accum_len = 12.227   y =  2.400/  0.94 : x = 12.195/  4.80 : accum_len = 12.503   y =  2.500/  0.98 : x = 12.447/  4.90 : accum_len = 12.773   y =  2.600/  1.02 : x = 12.693/  5.00 : accum_len = 13.039   y =  2.700/  1.06 : x = 12.935/  5.09 : accum_len = 13.301   y =  2.800/  1.10 : x = 13.173/  5.19 : accum_len = 13.558   y =  2.900/  1.14 : x = 13.406/  5.28 : accum_len = 13.812   y =  3.000/  1.18 : x = 13.635/  5.37 : accum_len = 14.062   y =  3.100/  1.22 : x = 13.860/  5.46 : accum_len = 14.309   y =  3.200/  1.26 : x = 14.082/  5.54 : accum_len = 14.552   y =  3.300/  1.30 : x = 14.300/  5.63 : accum_len = 14.792   y =  3.400/  1.34 : x = 14.516/  5.71 : accum_len = 15.029   y =  3.500/  1.38 : x = 14.727/  5.80 : accum_len = 15.264   y =  3.600/  1.42 : x = 14.936/  5.88 : accum_len = 15.495   y =  3.700/  1.46 : x = 15.142/  5.96 : accum_len = 15.724   y =  3.800/  1.50 : x = 15.346/  6.04 : accum_len = 15.951   y =  3.900/  1.54 : x = 15.546/  6.12 : accum_len = 16.175   y =  4.000/  1.57 : x = 15.744/  6.20 : accum_len = 16.397   y =  4.100/  1.61 : x = 15.940/  6.28 : accum_len = 16.617   y =  4.200/  1.65 : x = 16.133/  6.35 : accum_len = 16.834   y =  4.300/  1.69 : x = 16.324/  6.43 : accum_len = 17.050   y =  4.400/  1.73 : x = 16.513/  6.50 : accum_len = 17.263   y =  4.500/  1.77 : x = 16.699/  6.57 : accum_len = 17.475   y =  4.600/  1.81 : x = 16.884/  6.65 : accum_len = 17.685   y =  4.700/  1.85 : x = 17.066/  6.72 : accum_len = 17.893   y =  4.800/  1.89 : x = 17.247/  6.79 : accum_len = 18.099   y =  4.900/  1.93 : x = 17.426/  6.86 : accum_len = 18.304   y =  5.000/  1.97 : x = 17.603/  6.93 : accum_len = 18.507   y =  5.100/  2.01 : x = 17.778/  7.00 : accum_len = 18.709   y =  5.200/  2.05 : x = 17.951/  7.07 : accum_len = 18.909   y =  5.300/  2.09 : x = 18.123/  7.14 : accum_len = 19.108   y =  5.400/  2.13 : x = 18.293/  7.20 : accum_len = 19.305   y =  5.500/  2.17 : x = 18.462/  7.27 : accum_len = 19.502   y =  5.600/  2.20 : x = 18.629/  7.33 : accum_len = 19.696   y =  5.700/  2.24 : x = 18.794/  7.40 : accum_len = 19.890   y =  5.800/  2.28 : x = 18.959/  7.46 : accum_len = 20.082   y =  5.900/  2.32 : x = 19.121/  7.53 : accum_len = 20.273   y =  6.000/  2.36 : x = 19.283/  7.59 : accum_len = 20.463   y = 10.000/  3.94 : x = 24.894/  9.80 : accum_len = 27.354   y = 10.500/  4.13 : x = 25.509/ 10.04 : accum_len = 28.146   y = 11.000/  4.33 : x = 26.109/ 10.28 : accum_len = 28.927   y = 11.500/  4.53 : x = 26.696/ 10.51 : accum_len = 29.698   y = 12.000/  4.72 : x = 27.270/ 10.74 : accum_len = 30.460   y = 12.500/  4.92 : x = 27.832/ 10.96 : accum_len = 31.212   y = 13.000/  5.12 : x = 28.383/ 11.17 : accum_len = 31.956   y = 13.500/  5.31 : x = 28.924/ 11.39 : accum_len = 32.693   y = 14.000/  5.51 : x = 29.455/ 11.60 : accum_len = 33.422   y = 14.500/  5.71 : x = 29.976/ 11.80 : accum_len = 34.144   y = 15.000/  5.91 : x = 30.489/ 12.00 : accum_len = 34.860   y = 15.500/  6.10 : x = 30.993/ 12.20 : accum_len = 35.570   y = 16.000/  6.30 : x = 31.489/ 12.40 : accum_len = 36.274   y = 16.500/  6.50 : x = 31.977/ 12.59 : accum_len = 36.973   y = 17.000/  6.69 : x = 32.458/ 12.78 : accum_len = 37.667   y = 17.500/  6.89 : x = 32.932/ 12.97 : accum_len = 38.356   y = 18.000/  7.09 : x = 33.399/ 13.15 : accum_len = 39.040   y = 18.500/  7.28 : x = 33.859/ 13.33 : accum_len = 39.720   y = 19.000/  7.48 : x = 34.314/ 13.51 : accum_len = 40.396   y = 19.500/  7.68 : x = 34.762/ 13.69 : accum_len = 41.067   y = 20.000/  7.87 : x = 35.205/ 13.86 : accum_len = 41.735   y = 20.500/  8.07 : x = 35.643/ 14.03 : accum_len = 42.400   y = 21.000/  8.27 : x = 36.075/ 14.20 : accum_len = 43.060   y = 21.500/  8.46 : x = 36.502/ 14.37 : accum_len = 43.718   y = 22.000/  8.66 : x = 36.924/ 14.54 : accum_len = 44.372   y = 22.500/  8.86 : x = 37.341/ 14.70 : accum_len = 45.023   y = 23.000/  9.06 : x = 37.753/ 14.86 : accum_len = 45.672   y = 23.500/  9.25 : x = 38.162/ 15.02 : accum_len = 46.317   y = 24.000/  9.45 : x = 38.565/ 15.18 : accum_len = 46.960   y = 24.500/  9.65 : x = 38.965/ 15.34 : accum_len = 47.600   y = 25.000/  9.84 : x = 39.361/ 15.50 : accum_len = 48.237   y = 25.500/ 10.04 : x = 39.752/ 15.65 : accum_len = 48.873   y = 26.000/ 10.24 : x = 40.140/ 15.80 : accum_len = 49.505   y = 26.500/ 10.43 : x = 40.524/ 15.95 : accum_len = 50.136   y = 27.000/ 10.63 : x = 40.905/ 16.10 : accum_len = 50.764   y = 27.500/ 10.83 : x = 41.282/ 16.25 : accum_len = 51.390   y = 28.000/ 11.02 : x = 41.655/ 16.40 : accum_len = 52.015   y = 28.500/ 11.22 : x = 42.026/ 16.55 : accum_len = 52.637   y = 29.000/ 11.42 : x = 42.393/ 16.69 : accum_len = 53.257   y = 29.500/ 11.61 : x = 42.757/ 16.83 : accum_len = 53.875   y = 30.000/ 11.81 : x = 43.118/ 16.98 : accum_len = 54.492   y = 30.500/ 12.01 : x = 43.475/ 17.12 : accum_len = 55.107   y = 31.000/ 12.20 : x = 43.830/ 17.26 : accum_len = 55.720   y = 31.500/ 12.40 : x = 44.182/ 17.39 : accum_len = 56.332   y = 32.000/ 12.60 : x = 44.532/ 17.53 : accum_len = 56.941   y = 32.500/ 12.80 : x = 44.878/ 17.67 : accum_len = 57.550   y = 33.000/ 12.99 : x = 45.222/ 17.80 : accum_len = 58.157   y = 33.500/ 13.19 : x = 45.563/ 17.94 : accum_len = 58.762   y = 34.000/ 13.39 : x = 45.902/ 18.07 : accum_len = 59.366   y = 34.500/ 13.58 : x = 46.238/ 18.20 : accum_len = 59.969   y = 35.000/ 13.78 : x = 46.572/ 18.34 : accum_len = 60.570   y = 35.500/ 13.98 : x = 46.904/ 18.47 : accum_len = 61.170   y = 36.000/ 14.17 : x = 47.233/ 18.60 : accum_len = 61.768   y = 36.500/ 14.37 : x = 47.560/ 18.72 : accum_len = 62.366   y = 37.000/ 14.57 : x = 47.884/ 18.85 : accum_len = 62.962   y = 37.500/ 14.76 : x = 48.207/ 18.98 : accum_len = 63.557   y = 38.000/ 14.96 : x = 48.527/ 19.11 : accum_len = 64.151   y = 38.500/ 15.16 : x = 48.845/ 19.23 : accum_len = 64.743   y = 39.000/ 15.35 : x = 49.162/ 19.35 : accum_len = 65.335   y = 39.500/ 15.55 : x = 49.476/ 19.48 : accum_len = 65.925   y = 40.000/ 15.75 : x = 49.788/ 19.60 : accum_len = 66.515   y = 40.500/ 15.94 : x = 50.098/ 19.72 : accum_len = 67.103   y = 41.000/ 16.14 : x = 50.406/ 19.85 : accum_len = 67.691   y = 41.500/ 16.34 : x = 50.713/ 19.97 : accum_len = 68.277   y = 42.000/ 16.54 : x = 51.017/ 20.09 : accum_len = 68.862   y = 42.500/ 16.73 : x = 51.320/ 20.20 : accum_len = 69.447   y = 43.000/ 16.93 : x = 51.621/ 20.32 : accum_len = 70.031   y = 43.500/ 17.13 : x = 51.920/ 20.44 : accum_len = 70.613   y = 44.000/ 17.32 : x = 52.218/ 20.56 : accum_len = 71.195   y = 44.477/ 17.51 : x = 52.500/ 20.67   Straight line arc length: 143.498046/56.495294   Foot draft stopper.   spreader bar length: 81.70 cm, 32.2 inch   spreader bar to ridge line: 43.18 cm, 17.0 inch   Fabric width: 142.24 cm, 56.0 inch   Belly Band length: 112.39 cm, 44.25 inches   Foot parabola. x^2 = 2py, p == 15.362549   output = cm/inch   Depth == 54.311/21.38   y =  0.100/  0.04 : x =  1.753/  0.69 : accum_len =  1.756   y =  0.200/  0.08 : x =  2.479/  0.98 : accum_len =  2.489   y =  0.300/  0.12 : x =  3.036/  1.20 : accum_len =  3.055   y =  0.400/  0.16 : x =  3.506/  1.38 : accum_len =  3.535   y =  0.500/  0.20 : x =  3.920/  1.54 : accum_len =  3.961   y =  0.600/  0.24 : x =  4.294/  1.69 : accum_len =  4.348   y =  0.700/  0.28 : x =  4.638/  1.83 : accum_len =  4.706   y =  0.800/  0.31 : x =  4.958/  1.95 : accum_len =  5.042   y =  0.900/  0.35 : x =  5.259/  2.07 : accum_len =  5.358   y =  1.000/  0.39 : x =  5.543/  2.18 : accum_len =  5.660   y =  1.100/  0.43 : x =  5.814/  2.29 : accum_len =  5.948   y =  1.200/  0.47 : x =  6.072/  2.39 : accum_len =  6.226   y =  1.300/  0.51 : x =  6.320/  2.49 : accum_len =  6.493   y =  1.400/  0.55 : x =  6.559/  2.58 : accum_len =  6.752   y =  1.500/  0.59 : x =  6.789/  2.67 : accum_len =  7.003   y =  1.600/  0.63 : x =  7.011/  2.76 : accum_len =  7.247   y =  1.700/  0.67 : x =  7.227/  2.85 : accum_len =  7.484   y =  1.800/  0.71 : x =  7.437/  2.93 : accum_len =  7.717   y =  1.900/  0.75 : x =  7.641/  3.01 : accum_len =  7.944   y =  2.000/  0.79 : x =  7.839/  3.09 : accum_len =  8.166   y =  2.100/  0.83 : x =  8.033/  3.16 : accum_len =  8.384   y =  2.200/  0.87 : x =  8.222/  3.24 : accum_len =  8.598   y =  2.300/  0.91 : x =  8.406/  3.31 : accum_len =  8.808   y =  2.400/  0.94 : x =  8.587/  3.38 : accum_len =  9.014   y =  2.500/  0.98 : x =  8.764/  3.45 : accum_len =  9.218   y =  2.600/  1.02 : x =  8.938/  3.52 : accum_len =  9.418   y =  2.700/  1.06 : x =  9.108/  3.59 : accum_len =  9.615   y =  2.800/  1.10 : x =  9.275/  3.65 : accum_len =  9.810   y =  2.900/  1.14 : x =  9.439/  3.72 : accum_len = 10.002   y =  3.000/  1.18 : x =  9.601/  3.78 : accum_len = 10.192   y =  3.100/  1.22 : x =  9.759/  3.84 : accum_len = 10.380   y =  3.200/  1.26 : x =  9.916/  3.90 : accum_len = 10.565   y =  3.300/  1.30 : x = 10.069/  3.96 : accum_len = 10.749   y =  3.400/  1.34 : x = 10.221/  4.02 : accum_len = 10.930   y =  3.500/  1.38 : x = 10.370/  4.08 : accum_len = 11.110   y =  3.600/  1.42 : x = 10.517/  4.14 : accum_len = 11.288   y =  3.700/  1.46 : x = 10.662/  4.20 : accum_len = 11.464   y =  3.800/  1.50 : x = 10.805/  4.25 : accum_len = 11.639   y =  3.900/  1.54 : x = 10.947/  4.31 : accum_len = 11.812   y =  4.000/  1.57 : x = 11.086/  4.36 : accum_len = 11.983   y =  4.100/  1.61 : x = 11.224/  4.42 : accum_len = 12.153   y =  4.200/  1.65 : x = 11.360/  4.47 : accum_len = 12.322   y =  4.300/  1.69 : x = 11.494/  4.53 : accum_len = 12.490   y =  4.400/  1.73 : x = 11.627/  4.58 : accum_len = 12.656   y =  4.500/  1.77 : x = 11.759/  4.63 : accum_len = 12.821   y =  4.600/  1.81 : x = 11.888/  4.68 : accum_len = 12.985   y =  4.700/  1.85 : x = 12.017/  4.73 : accum_len = 13.148   y =  4.800/  1.89 : x = 12.144/  4.78 : accum_len = 13.310   y =  4.900/  1.93 : x = 12.270/  4.83 : accum_len = 13.471   y =  5.000/  1.97 : x = 12.395/  4.88 : accum_len = 13.630   y =  5.100/  2.01 : x = 12.518/  4.93 : accum_len = 13.789   y =  5.200/  2.05 : x = 12.640/  4.98 : accum_len = 13.947   y =  5.300/  2.09 : x = 12.761/  5.02 : accum_len = 14.104   y =  5.400/  2.13 : x = 12.881/  5.07 : accum_len = 14.260   y =  5.500/  2.17 : x = 13.000/  5.12 : accum_len = 14.415   y =  5.600/  2.20 : x = 13.117/  5.16 : accum_len = 14.570   y =  5.700/  2.24 : x = 13.234/  5.21 : accum_len = 14.723   y =  5.800/  2.28 : x = 13.349/  5.26 : accum_len = 14.876   y =  5.900/  2.32 : x = 13.464/  5.30 : accum_len = 15.028   y =  6.000/  2.36 : x = 13.578/  5.35 : accum_len = 15.179   y = 10.000/  3.94 : x = 17.529/  6.90 : accum_len = 20.802   y = 10.500/  4.13 : x = 17.961/  7.07 : accum_len = 21.463   y = 11.000/  4.33 : x = 18.384/  7.24 : accum_len = 22.118   y = 11.500/  4.53 : x = 18.797/  7.40 : accum_len = 22.766   y = 12.000/  4.72 : x = 19.202/  7.56 : accum_len = 23.409   y = 12.500/  4.92 : x = 19.598/  7.72 : accum_len = 24.047   y = 13.000/  5.12 : x = 19.986/  7.87 : accum_len = 24.680   y = 13.500/  5.31 : x = 20.366/  8.02 : accum_len = 25.309   y = 14.000/  5.51 : x = 20.740/  8.17 : accum_len = 25.933   y = 14.500/  5.71 : x = 21.107/  8.31 : accum_len = 26.553   y = 15.000/  5.91 : x = 21.468/  8.45 : accum_len = 27.170   y = 15.500/  6.10 : x = 21.823/  8.59 : accum_len = 27.783   y = 16.000/  6.30 : x = 22.172/  8.73 : accum_len = 28.393   y = 16.500/  6.50 : x = 22.516/  8.86 : accum_len = 29.000   y = 17.000/  6.69 : x = 22.854/  9.00 : accum_len = 29.603   y = 17.500/  6.89 : x = 23.188/  9.13 : accum_len = 30.204   y = 18.000/  7.09 : x = 23.517/  9.26 : accum_len = 30.803   y = 18.500/  7.28 : x = 23.841/  9.39 : accum_len = 31.399   y = 19.000/  7.48 : x = 24.161/  9.51 : accum_len = 31.993   y = 19.500/  7.68 : x = 24.477/  9.64 : accum_len = 32.584   y = 20.000/  7.87 : x = 24.789/  9.76 : accum_len = 33.173   y = 20.500/  8.07 : x = 25.097/  9.88 : accum_len = 33.761   y = 21.000/  8.27 : x = 25.401/ 10.00 : accum_len = 34.346   y = 21.500/  8.46 : x = 25.702/ 10.12 : accum_len = 34.929   y = 22.000/  8.66 : x = 25.999/ 10.24 : accum_len = 35.511   y = 22.500/  8.86 : x = 26.293/ 10.35 : accum_len = 36.091   y = 23.000/  9.06 : x = 26.583/ 10.47 : accum_len = 36.669   y = 23.500/  9.25 : x = 26.871/ 10.58 : accum_len = 37.246   y = 24.000/  9.45 : x = 27.155/ 10.69 : accum_len = 37.821   y = 24.500/  9.65 : x = 27.437/ 10.80 : accum_len = 38.395   y = 25.000/  9.84 : x = 27.715/ 10.91 : accum_len = 38.967   y = 25.500/ 10.04 : x = 27.991/ 11.02 : accum_len = 39.538   y = 26.000/ 10.24 : x = 28.264/ 11.13 : accum_len = 40.108   y = 26.500/ 10.43 : x = 28.534/ 11.23 : accum_len = 40.676   y = 27.000/ 10.63 : x = 28.802/ 11.34 : accum_len = 41.244   y = 27.500/ 10.83 : x = 29.068/ 11.44 : accum_len = 41.810   y = 28.000/ 11.02 : x = 29.331/ 11.55 : accum_len = 42.375   y = 28.500/ 11.22 : x = 29.592/ 11.65 : accum_len = 42.939   y = 29.000/ 11.42 : x = 29.850/ 11.75 : accum_len = 43.501   y = 29.500/ 11.61 : x = 30.106/ 11.85 : accum_len = 44.063   y = 30.000/ 11.81 : x = 30.360/ 11.95 : accum_len = 44.624   y = 30.500/ 12.01 : x = 30.612/ 12.05 : accum_len = 45.184   y = 31.000/ 12.20 : x = 30.862/ 12.15 : accum_len = 45.743   y = 31.500/ 12.40 : x = 31.110/ 12.25 : accum_len = 46.301   y = 32.000/ 12.60 : x = 31.356/ 12.34 : accum_len = 46.858   y = 32.500/ 12.80 : x = 31.600/ 12.44 : accum_len = 47.415   y = 33.000/ 12.99 : x = 31.842/ 12.54 : accum_len = 47.970   y = 33.500/ 13.19 : x = 32.083/ 12.63 : accum_len = 48.525   y = 34.000/ 13.39 : x = 32.321/ 12.72 : accum_len = 49.079   y = 34.500/ 13.58 : x = 32.558/ 12.82 : accum_len = 49.632   y = 35.000/ 13.78 : x = 32.793/ 12.91 : accum_len = 50.185   y = 35.500/ 13.98 : x = 33.026/ 13.00 : accum_len = 50.736   y = 36.000/ 14.17 : x = 33.258/ 13.09 : accum_len = 51.288   y = 36.500/ 14.37 : x = 33.488/ 13.18 : accum_len = 51.838   y = 37.000/ 14.57 : x = 33.717/ 13.27 : accum_len = 52.388   y = 37.500/ 14.76 : x = 33.944/ 13.36 : accum_len = 52.937   y = 38.000/ 14.96 : x = 34.169/ 13.45 : accum_len = 53.485   y = 38.500/ 15.16 : x = 34.394/ 13.54 : accum_len = 54.033   y = 39.000/ 15.35 : x = 34.616/ 13.63 : accum_len = 54.581   y = 39.500/ 15.55 : x = 34.837/ 13.72 : accum_len = 55.127   y = 40.000/ 15.75 : x = 35.057/ 13.80 : accum_len = 55.674   y = 40.500/ 15.94 : x = 35.276/ 13.89 : accum_len = 56.219   y = 41.000/ 16.14 : x = 35.493/ 13.97 : accum_len = 56.764   y = 41.500/ 16.34 : x = 35.708/ 14.06 : accum_len = 57.309   y = 42.000/ 16.54 : x = 35.923/ 14.14 : accum_len = 57.853   y = 42.500/ 16.73 : x = 36.136/ 14.23 : accum_len = 58.396   y = 43.000/ 16.93 : x = 36.348/ 14.31 : accum_len = 58.939   y = 43.500/ 17.13 : x = 36.559/ 14.39 : accum_len = 59.482   y = 44.000/ 17.32 : x = 36.768/ 14.48 : accum_len = 60.024   y = 44.500/ 17.52 : x = 36.977/ 14.56 : accum_len = 60.566   y = 45.000/ 17.72 : x = 37.184/ 14.64 : accum_len = 61.107   y = 45.500/ 17.91 : x = 37.390/ 14.72 : accum_len = 61.648   y = 46.000/ 18.11 : x = 37.595/ 14.80 : accum_len = 62.188   y = 46.500/ 18.31 : x = 37.798/ 14.88 : accum_len = 62.728   y = 47.000/ 18.50 : x = 38.001/ 14.96 : accum_len = 63.268   y = 47.500/ 18.70 : x = 38.203/ 15.04 : accum_len = 63.807   y = 48.000/ 18.90 : x = 38.403/ 15.12 : accum_len = 64.345   y = 48.500/ 19.09 : x = 38.603/ 15.20 : accum_len = 64.884   y = 49.000/ 19.29 : x = 38.801/ 15.28 : accum_len = 65.422   y = 49.500/ 19.49 : x = 38.999/ 15.35 : accum_len = 65.959   y = 50.000/ 19.69 : x = 39.195/ 15.43 : accum_len = 66.497   y = 50.500/ 19.88 : x = 39.391/ 15.51 : accum_len = 67.033   y = 51.000/ 20.08 : x = 39.585/ 15.58 : accum_len = 67.570   y = 51.500/ 20.28 : x = 39.779/ 15.66 : accum_len = 68.106   y = 52.000/ 20.47 : x = 39.971/ 15.74 : accum_len = 68.642   y = 52.500/ 20.67 : x = 40.163/ 15.81 : accum_len = 69.177   y = 53.000/ 20.87 : x = 40.354/ 15.89 : accum_len = 69.713   y = 53.500/ 21.06 : x = 40.544/ 15.96 : accum_len = 70.247   y = 54.000/ 21.26 : x = 40.733/ 16.04 : accum_len = 70.782   y = 54.311/ 21.38 : x = 40.733/ 16.04   Straight line arc length: 142.229306/55.995790```
Part 8

Part 8 supercedes the previous sections on hanging and storing My Bridge Hammock system