Elongate a circle when scaling it to an ellipse and maintain circumference

I have a 4mm dia. circle, it could be any diameter. When I scale it with 1D to an ellipse I need it to elongate just as it would in the real world if you pinched it between your fingers while maintaining its original circumference. I cannot figure out how to do this. I am an average user of Rhino5, maybe below average lol… I feel sure this is a common operation but I haven’t been able to figure out how on my own. I would appreciate any advice from the experts out there. Thank you in advance.

When you Scale 1D, select the axis you want to shrink and then use a scale factor less than 1.

Edit: I misread your question. You want to maintain the circumference. There is no command in Rhino to do what you ask that I know of. You could presumably write a script to do it or use Grasshopper (I think Grasshopper is available in R5?), but you will need to look up the math for solving for the circumference given the major and minor axis lengths.

Hello - scale the new curvre by desired length/current length.


Scaling only works if the aspect ration remains constant. It does not work if the dimension of one axis is fixed and the dimension of the other axis is needed. For that an iterative approach is needed.

ha, learn something new every day. There’s no exact solution that isn’t an infinite series.


Well, you need to know length of one axis because circumference of the ellipse is a function of two variables (a,b) - major axis and minor axis. You cannot keep the circle diameter fixed to keep the original circumference.
So you need to chose length of any axis and then you can grab any approximation formulas for circumference and compute the second axis.

That is great Ncik. The math is well beyond my pay grade. I am afraid when math goes beyond 2+2 my skills evaporate, lol. That’s why I use Rhino for most things. Thank you for pointing the math out though. I will certainly keep a record of it. In the end I just took an educated guess and think I have solved my problem. We will see.

There is no exact algebraic equation such as there is for the circumference of a circle. However there is an exact solution in terms of a standard transcendental function E, the complete elliptical integral of the second kind.

Circumference of an ellipse = 4aE(e) where a is the length of the semi-major axis, b is the length of the semi-minor axis, and e = sqrt ( 1 - (a/b)^2).

Many libraries of math functions include E which can be used in writing code involving the circumference of an ellipse.