unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, System.Math;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  x:extended;
  y:extended;
  i:integer;
  move:extended;
  stepper:extended;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  move := 2;
  stepper := 0.1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin

    timer1.Enabled := false;
     //if I > 720 then i := 0;
     inc(i);



    if move > form1.height / 2 then stepper := -0.1;
    if move < 0  then stepper := 0.1;


    move := move + stepper;
     x := cos(i/100) *  move;
     y := sin(i/100) *  move;

     form1.Canvas.Pixels[round(x)+form1.Width div 2,round(y)+ form1.Height div 2] := clBlack;
  timer1.Enabled := true;
end;

end.
