Advertisement
Guest User

Untitled

a guest
Oct 30th, 2014
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.34 KB | None | 0 0
  1. program new;
  2.  
  3. procedure SetupDisplay(w, h: Integer);
  4. begin
  5.   DisplayDebugImgWindow(w, h);
  6. end;
  7.  
  8. procedure DisplayTPA(w, h, colour: Integer; tpa: TPointArray);
  9. var
  10.   bmp, i, hi: Integer;
  11. begin
  12.   hi := High(tpa);
  13.  
  14.   ClearDebugImg();
  15.   bmp := GetDebugBitmap();
  16.  
  17.   for i := 0 to hi do
  18.     FastSetPixel(bmp, tpa[i].X, tpa[i].y, colour);
  19.  
  20.   DrawBitmapDebugImg(bmp);
  21.  
  22.   FreeBitmap(bmp);
  23. end;
  24.  
  25. procedure DisplayATPA(w, h: Integer; atpa: Array of TPointArray);
  26. var
  27.   i, hi: Integer;
  28. begin
  29.   hi := High(atpa);
  30.  
  31.   for i := 0 to hi do
  32.   begin
  33.     DisplayTPA(w, h, $FF00FF, atpa[i]);
  34.     writeln('displaying nr ' + IntToStr(i));
  35.     wait(1000);
  36.   end;
  37. end;
  38.  
  39. function CreateRandomTPA(w, h:Integer; change: Extended): TPointArray;
  40. var
  41.   x, y, l: Integer;
  42.   tpa: TPointArray;
  43. begin
  44.   setLength(tpa, w * h);
  45.   l := 0;
  46.   for x := 0 to w-1 do
  47.     for y := 0 to h-1 do
  48.       if(RandomE < change) then
  49.       begin
  50.         tpa[l] := Point(x, y);
  51.         Inc(l);
  52.       end;
  53.   setLength(tpa, l);
  54.   result := tpa;
  55. end;
  56.  
  57. var
  58.   pts: TPointArray;
  59.   atpa: Array of TPointArray;
  60.  
  61. begin
  62.   SetupDisplay(1000, 1000);
  63.   pts := CreateRandomTPA(1000, 1000, 0.001);
  64.   DisplayTPA(1000, 1000, $FF00FF, pts);
  65.   writeln('drawn tpa');
  66.   wait(1000);
  67.   atpa := SplitTPA(pts, 30);
  68.   SortATPASize(atpa, true);
  69.  
  70.   DisplayATPA(1000, 1000, atpa);
  71. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement