Finding 8 points on an ellipse

Dear experts,
I have created a 95% confidence ellipse using the following code around a dataset:
allX = score(:,1);
allY = score(:,2);
p = 95;
CIx = prctile(allX, [(100-p)/2, p+(100-p)/2]);
CIy = prctile(allY, [(100-p)/2, p+(100-p)/2]);
CIrng(1) = CIx(2)-CIx(1);
CIrng(2) = CIy(2)-CIy(1);
llc = [CIx(1),CIy(1)];
rectangle('Position',[llc,CIrng],'Curvature',[1,1], 'EdgeColor',"red");
Now I need to find 8 specific points on the ellipse. Points W - Z have to be the lowest, highest, most right and most left of the ellipse (as you can see here (those are normally not the problem, i think you don´t have to help me with these four points):
The points A-D are more of a problem for me. How can I find these? They are somehow the corners of the rectangle so the corners of the ellipse, but how do I find the coordinates of those?
Thanks in advance.

4 comentarios

Tom
Tom el 20 de Sept. de 2021
@the cyclist maybe you can also take a look ;)
Walter Roberson
Walter Roberson el 20 de Sept. de 2021
The placement is not obvious .
Is the sector area A to center to W (to A) equal to the sector area X to center to A (to X) ? https://math.stackexchange.com/questions/114371/deriving-the-area-of-a-sector-of-an-ellipse
Tom
Tom el 20 de Sept. de 2021
Yes the area is equal. Sorry for not making it clear in advance.
Image Analyst
Image Analyst el 20 de Sept. de 2021
Can you attach your data with the paperclip icon?

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 20 de Sept. de 2021

1 voto

When the ellipse is parameterized as then the area for the angle from 0 to θ is
And the total area of an ellipse of this form is . We want a sector that is half of the upper quadrant. The upper quadrant by itself would have an area of . So we want . Factoring out the and a 1/2 from both sides then we have and so . So and then . But tan pi/4 is 1, so
Checking with (say) a = 5, b = 2, then . Compute 1/2 * a * b * atan(5/2*tan(atan(2/5))) = 1/2 * 5 * 2 * atan(5/2 * 2/5) = 5 * atan(1) = 5 * pi/4 . And on the left side, 1/2 * pi/4 * 5 * 2 = 5 * pi/4 .
So the formula for theta turns out to be very simple: atan2(b,a)
Now you just have to transform CIrng into a, b parameters.

Más respuestas (1)

KSSV
KSSV el 20 de Sept. de 2021

1 voto

Find the major, minor axes of ellipse i.e. (a,b). Once these are known, the paraetric equation of ellipse are:
Take phi = 0:pi/4:2*pi ;
You have the points you want.

Categorías

Más información sobre Functions en Centro de ayuda y File Exchange.

Productos

Versión

R2019b

Etiquetas

Preguntada:

Tom
el 20 de Sept. de 2021

Comentada:

el 20 de Sept. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by