Create a mathematically correct ellipse

Hi everyone,
New to blender so sorry for what I expect is a pretty basic question. Spent about an hour googling around for this and couldn’t find the help I need. I just want to create a mathematically accurate ellipse, which I’ll need to be able to extrude so that I have a solid shape, like a disc. From what I’ve read I understand I’ll want to use a NURBS circle. I see how I can elongate the circle, but not sure how to make sure it’s actually a true ellipse. Many thanks for some instruction on this. If anyone knows of a good, basic tutorial on NURBS I’d be grateful for that as well.

can you elaborate a little ?
what do you want to use if for ?

and why using Nurbs it can be done with mesh circle and scale along one axis !

i could give a script to do an exact math ellipse if needed !

thanks

I’m actually going to be 3D printing it and using it to demonstrate some of the neat-o properties of ellipses. That’s why it’s important that it be mathematically accurate. I guess I thought I would want to use NURBS because in my attempts to google for this answer I read that you should use NURBS to get mathematically precise conic sections.

Hmm… I just gave myself an idea using the word ‘conic’ – what about taking the intersection of a cone and a plane (for my purposes, an angled plane)? By definition that would make an ellipse!

Well I guess that’s one solution. Is there an easier method?

The issue with just scaling a circle along one axis is that I’m not sure it’s actually making a true ‘ellipse,’ where the distance from any point on the curve to the two foci remains constant. Elongated circles don’t necessarily have this property.

Thanks for your help RickyBlender!

If you scale a circle along one of its axis you get an ellipse, easy.

paolo

Intersection of a cone and plane is a beautiful solution, however sourvinos and RickyBlender have the easiest, quickest, most elegant solution for creating an ellipse in blender. Just make sure your proportional editing mode is turned off. Here is the proof to ease your mind:

1 Like

You can also activate the add-on ‘Add Mesh: Extra Objects’ then Add Mesh > Extra Objects > Math Function > XYZ Math Surface
Choose X equation: xcent + a * cos(u)
Y equation ; ycent + b * sin(u)
Z equation: 0
(thanks to wikipedia!)
with :
(xcent, ycent) the centre of your ellipse, equal to (0,0) if the ellipse is in the center,
a the big axe,
b the small axe.

Thanks, everyone! Especially see360 – I didn’t know that scaling in X actually multiples each X coordinate by the same factor. Now that I think about it that’s really the only way that makes sense, just hadn’t realized it. I guess that makes this a pretty lame question BUT in my defense, if you don’t know that’s how the scaling works it IS possible to “elongate” a circle without keeping it an ellipse (if you’re not scaling everything proportionally… should have known Blender is smarter than that)

+10 points for the proof!!

BoFZeVampire, I’m sure that add-on will come in useful in the future, thanks!

First time poster here. Very pleased this forum is so speedy and helpful!

This is all fine, but I need my ellipse to have its vertexes spaced in proper Kelperian fashion, because I need to model an elliptical orbit, so the vertexes need to be spaced so that their gap reflects the same angle at the primary node on the semimajor axis.

You want a elliptic mesh ? Not a curve. Add Mesh → Circle choose number of points etc., scale on x or y, apply scale and with Loop Tools → Space set the vertices on equal spaces. Voila.

No, thats not how orbits work. The vertexes are not evenly spaced. See Keplers Law. At perigee, they are closer because they are moving faster as they are closer to the sun. At apogee they are further apart as they are moving slower.

So you want the locations of an orbiting body at evenly spaced time intervals of a two body system where one of the bodies is fixed at the origin?

Yes, it’s more mathematical simulation of planetaty position using Kepler second law in respect to mass and… :frowning:
And not modeling in blender :slight_smile:

1 Like

exactly, but I dont need planets or satellites moving, its for a still render with the eliptical path rendered with dots at the proper intervals. This is for a 36 satellite constellation all in the same orbit.

1 Like

Oh math, you need something like:


but of course with precise value for orbits etc…

2 Likes

This is great, now I need to figure out how to correlate this with semimajor and semiminor axes and eccentricity… I see your ellipse is 10x20 or rather semimajoraxis = 10, semiminor axis = 5. How do the fields in this function correlate with recognized orbital elements?

Actually they don’t, i mean i have looked a bit into it and it was very frustrating that there are so many internet pages which tell you so much about the why and how the finding of the solution is proved in this or that way or whatever (and i knew some bit about math) but there are very few which just compute the position ON the ellipse, because i didn’t want to find the soluion for the equation given start velocity… just wanted to see if a speed considering presentation is possible.
Then i saw something where the helo…centric distance and whatever anomaly was computed and then a line with 2*atan(tan(./2)) and thought:
maybe this could do the trick because i remembered roughly something about computing the carthesion coordinate x,y from polar coordinates r, ? with arcus tangens ??

so i just gave it a try and it looked good (we aren’t here on a math community :wink: )
and you ask for a (3d) modeled ellipse (by the way i saw the original thread is 8 years old… ups)

(Edit: and sadly i don’t remember and can’t find anymore in my history, in which of the dozen page i saw that line)

Yes it gets a bit confusing, but a Keplers 1st law has the vertexes spaced the other way: you spend more time out at the apogee and less at the perigee, going slower at apogee, so the day by day waypoints are more closely spaced at apogee so the time slice arc slice has equal area to the time slice arc slice at perigee.

Hi, there!
I tried replicating but it looks like a no go with Blender 2.93.1.

I’m getting an error:

...\scripts\addons\add_mesh_extra_objects\add_mesh_3d_function_surface.py", line 286, in xyz_function_surface_faces
    compile(f_eq, __file__.replace(".py", "_f.py"), 'eval'),
  File "C:\programi\b293_LTS\2.93\scripts\addons\add_mesh_extra_objects\add_mesh_3d_function_surface_f.py", line 1
    2*atan(c*(tan(b/2))
                      ^
SyntaxError: unexpected EOF while parsing

Anyone has a clue of what could it be?
TIA

You need another ) to close the atan function.

1 Like

As i said, i can’t put togehter where my idea come from originaly, but in my re-research i found this Elliptical Orbits: Time-Dependent Solutions Using Kepler’s Equation .

Edit: and as an example of:

just look here (2 month old): Trying to code Kepler’s law as a function of Time which was closed because:

Closed. This question is [off-topic]. It is not currently accepting answers.

It’s a (fun?) question for mathematicians, but since performance is not a huge issue here, there’s no major necessity for the problem to be solved.

Happy blending now :wink:

1 Like