Finding 8 points on an ellipse
    11 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Tom
 il 20 Set 2021
  
    
    
    
    
    Commentato: Image Analyst
      
      
 il 20 Set 2021
            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 Commenti
Risposta accettata
  Walter Roberson
      
      
 il 20 Set 2021
        When the ellipse is parameterized as  then the area for the angle from 0 to θ is
 then the area for the angle from 0 to θ is 
 then the area for the angle from 0 to θ is
 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
 . We want a sector that is half of the upper quadrant. The upper quadrant by itself would have an area of  . So we want
 . So we want  . Factoring out the
. Factoring out the  and a 1/2 from both sides then we have
 and a 1/2 from both sides then we have  and so
 and so  . So
. So  and then
 and then  . But tan pi/4 is 1, so
. But tan pi/4 is 1, so 
 . We want a sector that is half of the upper quadrant. The upper quadrant by itself would have an area of
 . We want a sector that is half of the upper quadrant. The upper quadrant by itself would have an area of  . So we want
 . So we want  . Factoring out the
. Factoring out the  and a 1/2 from both sides then we have
 and a 1/2 from both sides then we have  and so
 and so  . So
. So  and then
 and then  . But tan pi/4 is 1, so
. 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 .
 . 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 .
 . 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 .
 . 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.
0 Commenti
Più risposte (1)
  KSSV
      
      
 il 20 Set 2021
        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. 
0 Commenti
Vedere anche
Categorie
				Scopri di più su Logical in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



