Matlab: ¿cómo evitar la superposición de elipses en la imagen?

He estado usando un archivo de funciones[ret]=drawellipse(x,y,a,b,angle,steps,color,img). Llamando a la función a través de un archivo de script para dibujar elipses al azar en la imagen. Pero una vez que establezco el punto central aleatorio (x, y) y aleatorio a, b, existe una alta posibilidad de que ocurra la intersección de elipses. ¿Como puedo evitar la intersección? (Se supone que debo dibujar las elipses que están separadas entre sí) Bueno, aquí tengo un archivo de función que es para verificar si las elipses se superponen o no,overlap = overlap_ellipses(x0,y0,a0,b0,angle0,x1,y1,a1,b1,angle1). Si las dos elipses se superponen, entonces la 'superposición = 1', de lo contrario, 'superposición = 0'. Basado en todo esto, probé en la ventana de comandos:

x=rand(4,1)*400;  % x and y are the random coodinates for the center of ellipses
y=rand(4,1)*400;
a=[50 69 30 60];  % major axis   for a and b, i intend to use random also in the future
b=[20 40 10 40];  % minor axis
angle=[30 90 45 0]; % angle of ellipse
steps=10000;
color=[255 0 0];   % inputs for another function file to draw the ellipse
img=zeros(500,500,3);

Lo siguiente quiero mostrar las elipsesif overlap==0, y 'si se superponen == 1', disminuya ayb, hasta que no haya intersección. Por último, para mostrar el img.

for i=1:length(x)
img=drawellipse(x(i),y(i),a(i),b(i),angle(i),steps,color,img);
end

Para mí ahora, tengo dificultades para codificar la parte media. ¿Cómo puedo usar la instrucción if para obtener el valor deoverlap y cómo hacer el índice correspondiente a la elipse que necesito dibujar.

i probé un poco como

for k=1:(length(x)-1)
overlap = overlap_ellipses(x(1),y(1),a(1),b(1),angle(1),x(1+k),y(1+k),a(1+k),b(1+k),angle(1+k))
end

vuelv

overlap=0
overlap=0
overlap=1

it no es [0 0 1]. No puedo entenderlo, por lo tanto atrapado en el proceso. La imagen final debería verse como la imagen en estavoronoi diagrama de elipses. (No hay intersección entre dos elipses)

Respuestas a la pregunta(3)

Su respuesta a la pregunta