Rysoowanie okręgów [Pascal]

0

Witam. Mam za zadanie w Pascalu zrobi program, który wyrysuje n=1..20 okręgów o losowych parametrach. Promienie z przdziału [10,200], okręgi mają się mieścić na ekranie i każdy z okręgów ma przecinać co najmniej jeden inny okrąg.
Na razie mam coś takiego:

program prog;
uses Crt, Graph;
const Czas=2000;
var i, n, x, y, r, r1, x1, y1, sqrt, Ster, Tryb, Xmax, Ymax : Integer;

procedure Inicjuj;
begin
  Ster:=0;
  InitGraph(Ster,Tryb,'');
  Xmax:=GetMaxX; Ymax:=GetMaxY;
end;

function Okregi(n : Byte) : Integer;
begin
  Randomize;
  r1:=0; x1:=random(Xmax); y1:=random(Ymax);
  for i:=0 to n-1 do                              
   begin                                           
    repeat                                  
      r:=random(190)+10; // Okręgi z przedziału [10;200]             
      x:=random(Xmax);
      y:=random(Ymax);
     until (r<x) and (r<y) and (r<(Ymax-y)) and (r<(Xmax-x)); // Warunek Zmieszczenia się okręgów na ekranie
    Circle(x,y,r);                                           
    x1:=x; y1:=y;                                            
    r1:=r;                                                                        
  end;                                                             
end;                                                                     
                                                                         
begin                                                                    
  Inicjuj;                                                               
  Okregi(10); Delay(Czas);                                               
  CloseGraph;                                                            
end. 

Okręgi się mieszczą i są promienie dobre tylko z tym przecięciem jest najgorzej...

0

Dwa okręgi będą się przecinać jeżeli odległość między ich środkami będzie mniejsza niż suma ich promieni .
Aby kolejny rysowany okrąg przeciął któryś z już istniejących powinieneś dane o nich przechowywać w jakiejś tablicy i sprawdzać warunek na przecinanie się okręgów .
I to chyba tyle .

1 użytkowników online, w tym zalogowanych: 0, gości: 1