Super elipse, please


#1

Any chance of getting the option to draw super elipses in Rhino?

Like this:


https://www.oberonplace.com/products/plotter/tutor/lesson2.htm

Thanks.


Request for 4-point and 5-point Conics, Super ellipses
#2

For what’s it worth, it would probably be pretty straight forward to implement the super ellipse formula using Grasshopper. Edit: here’s one example.


#3

This works pretty well.
Thanks.


#4

But the curvature analysis doesn’t look that good…

-C-H-A-R-L-E-S-


(David Rutten) #5

I wonder if there’s an analytic way to fit a nurbs curve to a super ellipse. Just messing with the weights of a circular nurbs curve doesn’t seem to work, in that the result is both too extreme and not extreme enough in different places. I’m not terribly surprised that didn’t work though, after all a super ellipse is not a conic section.

@dalelear, @chuck, do either of you have any idea?


#6

Draw an ellipse shows the control points and change the weight of the points at the top like the attached images.
Vittorio



(Vanessa Steeg) #7

You can also use the Rectangle command with the Rounded option set to Conic.


(Chuck Welsh) #8

I doubt there’s a NURBS representation. You could get close with a Taylor series or something like that. You would have to work within a quadrant and mirror to get the rest. I think the curve isn’t well behaved at the qaudrant boundaries unless n is an even integer, or maybe rational with even numerator in lowest terms.


#9

For what it’s worth here’s a super-ellipse calculator which will output pdf or svg. Rhino won’t import svg and the pdf comes in as line segments which when joined and CurveThroughPolyline, gives a curvature graph like a fright wig.
Nick


#10

Oh, forgot the generator is here: http://www.procato.com/superellipse/


#11

Yes. The grasshopper script is nice to work with. But the actual curve not so much.
Also get self intersecting lines when extruding…
Any way to fix the script?


#12

Here is a version using GHPython to plot the coordinates, seems to generate okay curvature:

And the file:
170203_SuperEllipse_GHPython_00.gh (8.6 KB)

Edit: You can change the sampling by setting the step parameter in the Python code (or hook it up to a slider).

Edit II: Here’s version where you can extrude/cap the profile:
170203_SuperEllipse_GHPython_01.gh (8.5 KB)