fork download
  1. var
  2. x1, y1, x2, y2, w1, h1, w2, h2, px1, py1, px2, py2: Integer;
  3. cx1, cy1, cx2, cy2, len, dx, dy, r1, r2: Double;
  4. begin
  5. x1 := 200; y1 := 200; w1 := 100; h1 := 68;
  6. x2 := 400; y2 := 300; w2 := 120; h2 := 190;
  7.  
  8. cx1 := x1 + w1/2;
  9. cy1 := y1 + h1/2;
  10. cx2 := x2 + w2/2;
  11. cy2 := y2 + h2/2;
  12.  
  13. dx := cx2 - cx1;
  14. dy := cy2 - cy1;
  15. len := Hypot(dx, dy);
  16. dx := dx / len;
  17. dy := dy / len;
  18.  
  19. r1 := 0.5 * w1 * h1 / Sqrt(w1*w1*dy*dy+h1*h1*dx*dx);
  20. px1 := Round(cx1 + r1 * dx);
  21. py1 := Round(cy1 + r1 * dy);
  22.  
  23. r2 := 0.5 * w2 * h2 / sqrt(w2*w2*dy*dy+h2*h2*dx*dx);
  24. px2 := Round(cx2 - r2 * dx);
  25. py2 := Round(cy2 - r2 * dy);
  26.  
  27. Canvas.Ellipse(x1, y1, x1 + w1, y1 + h1);
  28. Canvas.Ellipse(x2, y2, x2 + w2, y2 + h2);
  29. Canvas.MoveTo(px1, py1);
  30. Canvas.LineTo(px2, py2);
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Free Pascal Compiler version 3.0.0+dfsg-10 [2016/12/12] for x86_64
Copyright (c) 1993-2015 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling prog.pas
prog.pas(15,11) Error: Identifier not found "Hypot"
prog.pas(27,3) Error: Identifier not found "Canvas"
prog.pas(28,3) Error: Identifier not found "Canvas"
prog.pas(29,3) Error: Identifier not found "Canvas"
prog.pas(30,3) Error: Identifier not found "Canvas"
prog.pas(30,26) Fatal: Unexpected end of file
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode
stdout
Standard output is empty