// some not needed declarations, delete them
var
arr: TFloatPointArray;
t,t1,t2: TfloatPoint;
str:string;
toCanvasCenterX,toCanvasCenterY: integer;
alpha: integer;
begin
//arr := getLineEndPointsMC(FloatPoint(0,0),degtorad(0),200);
str := '';
toCanvasCenterX := round(PaintBox1.width/2);
toCanvasCenterY := round(PaintBox1.Height/2);
PaintBox1.Canvas.Brush.Color := clWhite;
PaintBox1.Canvas.EllipseC(0+ toCanvasCenterX,toCanvasCenterY - 0,100,100);
alpha := 0;
while alpha < 360 do
begin
t := LineEndPoint(FloatPoint(0,0),alpha*16,100);
PaintBox1.Canvas.Pen.Color := clBlack;
PaintBox1.Canvas.Line(round(FloatPoint(0,0).x+ toCanvasCenterX),round(toCanvasCenterY -FloatPoint(0,0).Y),round(t.x+ toCanvasCenterX),round(toCanvasCenterY -t.y));
PaintBox1.Canvas.Pen.Color := clRed;
PaintBox1.Canvas.Ellipse(Rect(Round(t.X-2+ toCanvasCenterX),
Round(toCanvasCenterY - t.Y-2),
Round(t.X+2+ toCanvasCenterX),
Round(toCanvasCenterY - t.Y+2)));
t1 := LineEndPoint(t,(alpha+90)*16,100);
PaintBox1.Canvas.Pen.Color := clBlue;
PaintBox1.Canvas.Ellipse(Rect(Round(t1.X-2+ toCanvasCenterX),
Round(toCanvasCenterY - t1.Y-2),
Round(t1.X+2+ toCanvasCenterX),
Round(toCanvasCenterY - t1.Y+2)));
t2 := LineEndPoint(t,(alpha-90)*16,100);
PaintBox1.Canvas.Pen.Color := clBlue;
PaintBox1.Canvas.Ellipse(Rect(Round(t2.X-2+ toCanvasCenterX),
Round(toCanvasCenterY - t2.Y-2),
Round(t2.X+2+ toCanvasCenterX),
Round(toCanvasCenterY - t2.Y+2)));
PaintBox1.Canvas.Line(round(t1.x+ toCanvasCenterX),round(toCanvasCenterY -t1.Y),round(t2.x+ toCanvasCenterX),round(toCanvasCenterY -t2.y));
alpha := alpha +10;
end;
end;