SCREEN 12:CLS ?"{ENTER}-для выхода" PI=4*ATN(1) AFRICA: DATA 51,12,45,11,32.5,32,23,33,20,30,10,34,12,37,-6,36 DATA -17,22,-17,12.5,-7,5,3,6,10,3.5,8.5,-1,12.5,-8.5 DATA 11,-17.5,14,-23,16,-28,18,-34,25,-33,35,-23,34,-20 DATA 41,-15,40,-10,38,-6,100,100 N=1 R=200:KY=(800/(3*640))*(480/200) XC=320:YC=240 CONTUR: READ K,L IF K=100 THEN GOTO ROTATE N=N+1:GOTO CONTUR ROTATE: DIM Y(N-1),F(N-1),X(N-1),YO(N-1),XO(N-1) RESTORE DIM C(N-1) FOR I=1 TO (N-1) READ K,L K=K*PI/180:L=L*PI/180 F(I)=K:C(I)=COS(L) Y(I)=INT(YC-R*KY*SIN(L)) X(I)=INT(XC+R*C(I)*SIN(F(I))) XO(I)=X(I):YO(I)=Y(I) NEXT I GOSUB PENCIL G=PI/12 DG=PI/32 CIRCLE(XC,YC),R NEXTA: GOSUB ERASER FOR I=1 TO (N-1) X(I)=INT(XC+R*C(I)*SIN(F(I)+G)) XO(I)=X(I) NEXT I GOSUB PENCIL:DELAY .05 G=G+DG IF INKEY$=CHR$(13) THEN STOP GOTO NEXTA '======================================= 'SUBROUTINES - PENCIL, ERASER '======================================= PENCIL: CIRCLE(XC,YC),R FOR I=2 TO (N-1) LINE(X(I),Y(I))-(X(I-1),Y(I-1)),10 NEXT I LINE(X(N-1),Y(N-1))-(X(1),Y(1)),10 RETURN ERASER: FOR I=2 TO (N-1) LINE(XO(I),YO(I))-(XO(I-1),YO(I-1)),0 NEXT I LINE(XO(N-1),YO(N-1))-(XO(1),YO(1)),0 RETURN