I will leave the working out of this to those with Mathematical Knowledge.

I have done this in the past myself - and run Computer Simulations
on both a Mainframe and a PC.

Riight - a Circle has a curve of the Order 2 ( believe me - explanations follow ).

That is, at any point on its circumference it follows Pythagorus Theorem
If a right-angle triangle is drawn from the Diameter as base,
with the sharp point on the circle and the other sharp point at the Centre ( Origin ).
Then the "height" is 'X' and the "width" is Y.

Such that ( X^2 +Y^2 )^0.5 = the Radius.

So - for any Height 'X' - the "Width" Y = ( R^2 - X^2 )^(1 / 2)

Now - if we "normalise" these values to make R = 1, and Scale in 'X' and 'Y'

We can write a Program of the form -
FOR X = 0 to 1 Step 0.000001 ( or small value )
Y = (( ABS ( 1 - X^2 ) ) ^( 1 / 2 )
XD = X * XScale : YD = Y * YScale
Draw XD, YD
NEXT.

The ABS is used because we must avoid taking the Root of a Minus Number.
How that is important will follow.

This just Draws the first Quadrant -
where X is positive relative to an Origin point, and Y is positive relative to an Origin point.
By using four successive Iterations - +X +Y, +X -Y, -X -Y, -X +Y, we get a circle.

WHY ?? a very complex way to draw a circle.

BUT - now we can do some changes -

We can replace the 2 in the Formulas with other values
to get "sharper" or less "sharp" curves, without any "glitches" or Transitions - in other words
continuous, but NON-CIRCULAR curves.

At values below 2 the Curves get "sharper".
At values above 2 the Curves get "squarer".
At value 1 exactly, we get a diamond shape ( a square at 45 degrees )

At truly tiny values ( say 1/10^12 ) - we get something which is ALMOST a Crux.
At truly gigantic values ( say 10^12 ) - we get something which is ALMOST a Square.

At the Exact value of 3 we get peculiar effects, if we do not use the ABS to get round Cube ( ^3 ) effects.

At more sensible values we get a range of different curves - from "Concave" to "Convex".
If we use the scaling values XScale and YScale values to scale the result - we can use these
to generate a range of "Ship Curves".

This was worked out by me in 1993, when I was Polytechnic doing my Degree.

It has been fully tested on a Big Mainframe, with values as low as 1/10^30
and as high as 10^30 - for the positive Index and for the Root.
I have also run it with Step values as small 1/10^20.

I have also run it on a PC - with much less extreme values, as they cannot handle
the big and tiny figures produced in the Calculations.

This Information / Idea has NEVER been Published or Copyrighted -
and is made freely available by Me in The Public Domain.