# Why Catenary? Why not Cycloid?

since i believe Rhino 7 we have Catenary, but Cycloids when i look around have the same importance if not being used even more often. So if we have Catenary then maybe it makes sense to have Cycloids?

why do we actually have the Catenary in Rhino? what are real use cases for drawing such a curve in Rhino? i imagine if somebody would like to draw a special case arch (yes we know Gaudi was full of Catenary), but they most probably would calculate the curve from a complete different perspective and not rely on an approximated version of it?

Adding a Cycloid command should be straightforward. Calculating points on a cycloid is simple using x = a(t-sint) y = a(1-cost). Cycloids cannot be represented exactly by a NURBS curve but can be approximated to any desired level of accuracy. My suggestion is such a command would create a non-rational, non-uniform degree 3 curve similar to that created by the Catenary command and could use essentially the same interface.

Are you asking for the Catenary command to be removed from Rhino? If so why? How does it adversely affect you?

I guess it would be nice to know how much time is included in keeping it active and functional, then deciding if other functions and time are more important.â€”-Mark

I very strongly doubt the Catenary command requires any ongoing attention.

I do not see how the request for a Cycloid command is strengthened by attacking the Catenary command. If anything the attack is a distraction from and obscures what would otherwise be a reasonble request for adding a Cycloid command.

1 Like

no, i am interested in what people actually do with the Catenary command. since a catenary is probably predominantly used for civil engineering purposes to a degree where i would not trust an approximated curve too much, but maybe not in all cases and this is with my current base of knowledge the reason for asking.

a cycloidal curve on the other side has user cases in smaller magnitudes i believe where an approximation might be far more ok.

Hi @encephalon,

If you are running V8, then get the `Garage` plug-in from the `PackageManager`. Here youâ€™ll find a cheap `Cycloid` command that creates an approximation of a cycloid curve.

â€“ Dale

2 Likes

A catenary curve can be approximated using Catenary command to any desired level of accuracy, up to a relative accuracy of e-11 or so based on my testing. That level of relative accuracy is more than sufficient for any design or engineering use of a catenary curve.

Catenary curves are used in civil engineering and elsewhere as an approximation of a cable hanging between supports. For a cable to hang in an exact catenary curve the cable would have to have zero bending stiffness and uniform weight/load along the entire length. No cable in a real application satisfies those requirements exactly. However a catenary curve is a useful approximation for many engineering purposes. There is no need to calculate the catenary curve to multiple orders of accuracy better than the inherent deviation is using the catenary curve to model the physical situation.

More accurate calculations of real cables in real applications can be made, if needed, using various methods such as finite element modeling. But even those calculations will be approximations to the â€śreal worldâ€ť for various reasons.

2 Likes

thank you @dale i tested your command. the one and only issue i have currently is at the ends of the Cycloids on either end one CP is dropping out of continuity, anything i could do to fix it?

does Garage contain other commands? when i call garage it says garage is open but nothing else happens.

@davidcockey thank you for your input.

yes but i would be mostly interested what that elsewhere could mean and how that would reflect back in the need for drawing such curves in Rhino.

so you are telling me that i completely can trust the accuracy for an actual structural applicationâ€¦ i am not convinced that this would eventually be done also in rhino, as a last step.

Why do you care about the reason Rhino users want/need to draw catenary curves?

Yes. A relative accuracy of e-11 or 0.0000000001 means a catenary 1 km long would have a maximum deviation of 0.00001 mm.

Fabrication accuracy, material variation, enviromental effects, load not being exactly uniform and cable bending stiffness of an actual structure application will cause a real cable to deviate from an exact mathematical catenary curve by far more than a relative accuracy of 0.00000000001.

The accuracy of any structural analysis compared to reality will be much, much less than a relative accuracy of 0.0000000001.

1 Like

How about situations in which youâ€™re drawing things that roughly follow catenary curves but youâ€™re not using for a rigorous structural analysis?

Hanging power lines in an architectâ€™s drawing of a house or the supporting 3D renderings to make the sale.

Art featuring some hanging-chain fencing for landscaping.

A visualization of a proposed bridge. (yes, I know that hanging a deck off of it means that it doesnâ€™t follow the catenary equation any more)

besides that any architect and structural engineer sometimes abuse it there is not much more info about it, and these are also rather limited cases, moreover it is not that every bridge and every arch needs a catenary. so all in all its user case is kind of limited and thinking that somebody actually trying to construct one for structural matters might not even use rhino but rely on actual calculations makes it even thinner.

yes i hear you, you say the accuracy is so precise that i could fly to the sun and back and be off by 3 metersâ€¦ (if i did that right) heck i could even fly to the next solar system and would only be off by 120 km, well then

@encephalon - Iâ€™ve pushed an update to Garage to the PackageManager. See if this version of Cycloid is any cleaner.

â€“ Dale

1 Like

thanks @dale it looks much better now but there still is a bit of an abrupt change of acceleration closer to the end which is probably inherent to Cycloids, just i thought it should be more gradually. also using the command ExtractMinMaxRadiusPoints it shows that the radius increases again towards the end after having the minimum before which probably should not be i assume it appears to be some jitter? the green circle indicates the radius at the end.