Ellipse construction

holyfssssd shared this question 3 months ago
Answered

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:

eF5cONl


Any help will be appreciated!

Comments (11)

photo
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)))

photo
1

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

For example check this:

https://www.geogebra.org/cl...

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?

photo
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.

photo
1

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

photo
photo
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'')

photo
1

Maybe the approach from Patrick Clement is useful for you.

photo
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'?

photo
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)

photo
photo
1

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

photo
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.

photo
photo
1

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

Files: foro.ggb
© 2020 International GeoGebra Institute