Advertisement
mixster

Untitled

Oct 14th, 2009
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. function TPAtoATPAOval(TPA: TPointArray; w, h: Integer): T2DPointArray;
  2. var
  3. a, b, c, l, m: LongInt;
  4. r: Extended;
  5. begin
  6. r := h / w;
  7. m := Sqr(w);
  8.  
  9. SetLength(Result, 0);
  10. l := High(TPA);
  11. c := 0;
  12. for a := 0 to l do
  13. begin
  14. for b := 0 to c -1 do
  15. begin
  16. if (Sqr(Abs(TPA[a].X - Result[b][0].X)) + (Sqr(Abs(TPA[a].Y - Result[b][0].Y)) * r) <= m) then
  17. Break;
  18. end;
  19. if (b < c) then
  20. begin
  21. SetLength(Result[b], Length(Result[b]) + 1);
  22. Result[b][High(Result[b])] := TPA[a];
  23. end else
  24. begin
  25. SetLength(Result, c + 1);
  26. SetLength(Result[c], 1);
  27. Result[c][0] := TPA[a];
  28. Inc(c);
  29. end;
  30. end;
  31. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement