# Ellipse construction

holyfssssd shared this question 11 months ago

Are there any robust ways of constructing an interactive ellipse by defining 3 points?

Two points to define the major/minor axis and the third point to control its general width.

Something like this:

Any help will be appreciated!

1

This specification implies that there can be undefined states.

given:

• A and B on major/minor axis and on ellipse
• C on ellipse and NOT on major/minor axis and the angles BAC/CAB and CBA/ABC < 90° (see alternative condition ("inside") in attachment )

Construction ellipse with 5 points

• Conic(A, B, C, Reflect(C, Line(A, B)), Reflect(C, PerpendicularBisector(A, B)))

1

Thank you for the answer, but for some reason this does not work on certain conditions.

For example check this:

This works well if Point F is free-floating.

But then try to set F as Point(g)

The ellipse will suddenly disappear. Is there any way to fix this?

1

Sorry, in this moment (and with the 5 point approach) I see no possibility for a 100% solution. But try Version 3 (with approximation), this works maybe better.

1

I see, that's a shame. Maybe it's possible with a different approach?

1

Alternative (without undefined states, but in rare cases one of the 3 points is shift with 0.001 (this is less than 1 pixel) in x and y direction. See object C'')

1

Maybe the approach from Patrick Clement is useful for you.

1

I tried it, but the problem is the third point isn't free.

Also I just noticed your edit with Version 3, I didn't see it somehow. It seems the problem with the initial version is that if the third point is along a line perpendicular to the centre of the line between point 1 and point 2, the ellipse becomes undefined. But Version 3 seems to fix this problem

But what do you mean by 'approximation'?

1

aproximativ:

The drawn ellipse does not pass exactly through point C but through point C''. This point is (if necessary) shifted very, very little (much smaller than 1 pixel when standard zoom) in the right angle to direction of the half-axes.

Thus, all values derived from the ellipse (area, perimeter etc) are not entirely accurate but aproximative (small fake but more useful than correctly nothing)

1

after a lot of informatic problems, PC crashed, I got it

1

Thank you for your effort. But it seems this method also doesn't work very well when the free point is along the path of the ellipse's minor axis.

1

para los casos particulares basta usar un if() y seleccionar un punto adecuado

Files: foro.ggb
• GeoGebra
• Help
• Partners
• Feedback & Questions
• This email address is being protected from spambots. You need JavaScript enabled to view it.
• +43 677 6137 2693