Ну народ...выручайте...
1 задачу все еще надо сделать и сдать, очень на Вас надеюсь...а вращающийся треугольник сделал, может кому и понадобится
Цитата
{$N+}
{$E+}
Program lab6_2;
uses Crt, Graph;
var Gd, Gm: Integer;
x1,x2,x3,y1,y2,y3:integer;
xc,yc:integer;
xx1,xx2,xx3,yy1,yy2,yy3:integer;
ugol,wag:real;
r1,r2,r3,u1,u2,u3:real;
g:boolean;
a:Char;
Procedure system_delay(x:longint);
var system_timer:longint absolute $0000:$046C;
stop_timer:longint;
begin
stop_timer:=system_timer;
repeat
until (stop_timer+x)<=system_timer;
End;
Function opred_ugol(katy,katx:integer):real;
var uu:real;
begin
if (katy<0)and(katx<0) then uu:=arctan((-1)*katy/katx);
if (katy<0)and(katx>0) then uu:=arctan((-1)*katy/katx)+Pi;
if ((katy>=0)and(katx<0)) then uu:=arctan((-1)*katy/katx);
if ((katy>=0)and(katx>0)) then uu:=arctan((-1)*katy/katx)+Pi;
if (katy<0)and(katx=0) then uu:=3*Pi/2;
if (katy>=0)and(katx=0) then uu:=Pi/2;
opred_ugol:=uu;
End;
begin
clrscr;
Write('Enter x1,y1,x2,y2,x3,y3: ');
Readln(x1,y1,x2,y2,x3,y3);
Write('Enter to4ku dentra vrawenii(x,y): ');
Readln(xc,yc);
Write('Enter wag: ');
Readln(wag);
Write('Pokazivat vspomogatelnie okrugnosti(y/n): ');
Readln(a);
g:=a='y';
r1:=sqrt(sqr(x1-xc)+sqr(y1-yc));
r2:=sqrt(sqr(x2-xc)+sqr(y2-yc));
r3:=sqrt(sqr(x3-xc)+sqr(y3-yc));
u1:=opred_ugol(y1-yc,x1-xc);
u2:=opred_ugol(y2-yc,x2-xc);
u3:=opred_ugol(y3-yc,x3-xc);
ugol:=0;
Gd := Detect;
InitGraph(Gd, Gm, '');
repeat
xx1:=xc+Round(r1*cos(ugol+u1));
yy1:=yc+Round(r1*sin(ugol+u1));
xx2:=xc+Round(r2*cos(ugol+u2));
yy2:=yc+Round(r2*sin(ugol+u2));
xx3:=xc+Round(r3*cos(ugol+u3));
yy3:=yc+Round(r3*sin(ugol+u3));
ClearDevice;
if g then begin
setcolor(3);
Circle(xc,yc,Round(r1));
Circle(xc,yc,Round(r2));
Circle(xc,yc,Round(r3));
End;
setcolor(15);
MoveTo(xx1,yy1);
LineTo(xx2,yy2);
LineTo(xx3,yy3);
LineTo(xx1,yy1);
if (ugol<6.28) then ugol:=ugol+wag else ugol:=ugol+wag-6.28;
system_delay(2);
until KeyPressed;
CloseGraph;
end.
Очень надеюсь на Вашу помощь...
...