# Wish Rhino API(rhinocommon) for Parabolar, Elipse and Catenary

I hope Rhino common include parabolic curve, and Elipse curve.
until now, we have to make nurbs curve for parabolic curve, but it is not so good for api programing.
because we have to study math… again.
Thank you.

RhinoCommon has an Ellipse curve type (Rhino.Geometry.Ellipse)

Parabola’s should be able to map onto a NURBS representation. I’m not sure about catenary - the equations of catenary include cosh functions, which are probably not mappable onto NURBS representation. Therefore that requires fitting of a NURBS curve through a number of points on the catenary. Consequently, that will always be an approximation of the true catenary.

Catenary:
y = a cosh(x/a)

Thank you very much, I understand,
But for lighting reflector design, I still need parabolic curve(rhino.geometry,parabolar),
Changing parameter(focus length and its position and curve ends, but still parabolic curve), designer finds best surface to send lights where he want to aim. Especially for Automotive Headlamp Reflector Design, it is necessary.

Anyway Catia and Solidworks API have all kind of curve function individually which their sketch method supports.
I’m not so good at Nurbs, so I have to study how to draw parabolic curve using nurbs(in rhino common).
But it will be very difficult way for me that maintaining curve entity(parabolic as paraboic), and being able to find focus position,and modifying curve to achieve satisfying curve and surface.

I also hope Curve fuction using ‘function’ (such as y=x^2+2, start x is 0, end x is 5), which Solidworks API now supports. not far until Rhino6, I hope in Rhino5.
Thank you.

As @menno mentioned, a catenary curve cannot be exactly represented using a NURBS curve. You could cook up a NURBS approximation of a catenary curve by calculating points parametrically; x(t) = t, y(t) = acosh(t/a) and then interpolating a curve through the points.

I do agree that RhinoCommon should be able to calculate the NURBS equivalent of a parabola. I’ve added this to the wish list.

RH-25576 is fixed in the latest WIP