  ___________________________________365

short int X = Xpos-revers*H*cos(Angi);

Imagel->Canvas->MoveTo(X-(Xpos-X),Ypos) ;

Imagel->Canvas->LineTo(X,Yb);                // 

if (cadr != Ncadr / 2-1)
Imagel->Canvas->LineTo(Xpos,Ypos);          //  

Imagel->Canvas->MoveTo(X,Yb) ;

Imagel->Canvas->LineTo(X,Yt);                // 

short int XI = X - revers * (Yb-Ypos);

Imagel->Canvas->MoveTo(XI,Yt+5-(Xpos-X));

Imagel->Canvas->Ellipse(Xl-Rhead / 2,Yt+5-(Xpos-X)-Rhead / 2,
Xl+Rhead / 2,Yt+5-(Xpos-X)+Rhead / 2);

Imagel->Canvas->LineTo(X,Yt+5);              // 

if (cadr != Ncadr / 2-1)

(

Imagel->Canvas->Ellipse(Xl-Rhead / 2,Yt+5+(Xpos-X)-Rhead / 2,
Xl+Rhead / 2, Yt+5+(Xpos-X)+Rhead / 2);

Imagel->Canvas->LineTo(XI,Yt+5+(Xpos-X));         //  

}

// 

Imagel->Canvas->E11ipse(X-Rhead,Yt-2*Rhead,X+Rhead,Yt) ;

Imagel->Canvas->Rectangle(X-Rhead,Yt-2*Rhead-4,X+Rhead,Yt-2*Rhead-l) ;

}

//

void _fastcall TFormI::BRunClick(TObject *Sender)
(

Timerl->Enabled = ! Timerl->Enabled;

}

//

void _fastcall TFormI::TimerlTimer(TObject *Sender)
{

Draw();

cadr = (cadr+1) % Ncadr;

if (cadr == 0)

if ((Xpos < Imagel->Picture->Width-revers*3*H) &&(Xpos>-revers*3*H) )
Xpos += revers*H*l.41;

else revers = -revers;

Draw() ;

}

//

void   fastcall TFormI::FormCreate(TObject *Sender)
(    

Image!->Canvas->MoveTo(O.Ypos+3) ;

Imagel->Canvas->Pen->Width = 4;

Imagel->Canvas->LineTo(Imagel->ClientWidth,Ypos+3); // 

Imagel->Canvas->Pen->Width = 1;

Imagel->Canvas->Pen->Mode = pmNotXor;

Timerl->Interval = 600 / Ncadr;

Draw() ;

}

      sin  cos.   
   

ftinclude <math.h>

   .

 FormCreate   ,     , -
 ,    ( Interval)  
600   Ncadr,         
   .  ,      600
. , ,    ,    Ncadr,
  16.