Einzelnen Beitrag anzeigen

Borgschüler

Registriert seit: 6. Sep 2007
20 Beiträge
 
#1

Annäherung an Pi mit Monte carlo, paintbox

  Alt 19. Jan 2012, 10:12
Guten Tag!

Habe morgen matura, habe ein Problem mit unserem Monte carlo Beispiel!

Und zwar schaut der Quelltext für mich ganz richtig aus, aber es wird nur die Hälfte von der Paintbox belegt und ich weis absolut nicht warum!

aber seht selbst:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var i, count,x,y : integer;
begin
randomize;
count := 0;
for i := 1 to 100000 do
 begin
  x:= random(200);
  y:= random(200);
   if (sqrt(x*x+y*y) < 200) then
        paintbox1.canvas.pixels[x,y] := clred
     else
        paintbox1.canvas.pixels[x,y] := clgreen;
 end;
end;
Also die paintbox hat width/length jeweils 200. Das Problem ist nur, das Programm belegt nur exakt linke Hälfte, die eig ganz richtig ausschaut. Wenn ich duie paintbox 100 mal 100 mache (length width), dann scheint es zu funktionieren, problem ist nur dass es dann plötzlich kein richtiges quadrat mehr ist sondern ein rechteck.
Angefangen hab ich mit length/width 400/400, dann hate ich links einen streifen wo es funktioniert und rechts.

Ich dreh langsam durch. Kann es sein das width/length nicht die Pixel angibt?

Bitte dringend um Lösungsvorschläge und bitte nicht kleine Hinweise, damit ich dann selber draufkommen muss, weil ich probier schon verdammt lang um und komm einfach nicht auf die lösung... und morgen ist ja matura...


Pi ausgerechnet hab ich noch nicht, aber das dürfte dann kein problem sein.
  Mit Zitat antworten Zitat