PARAMETER(PAI2=6.28319) X(I)=COS(I*PAI2/N) Y(I)=SIN(I*PAI2/N) DATA K,MCPY,MXOR,NLBRS,NLHCH/1,4,7,0,0/ WRITE(*,'(A,$)') 'N = ' READ(*,*) N CALL GWOPEN(ID,0) CALL GWNCOLOR(NC) CALL GWVPORT(IR,0.0,0.0,1.0,1.0) CALL GWSIZE(IR, 5, LLW, LLH) IF(IR .NE. 0) THEN IF(LLW .GT. LLH) THEN LLW = LLH ELSE LLH = LLW ENDIF CALL GWSIZE(IR, -5, LLW, LLH) CALL GWSIZE(IR, -3, 0, 0) ENDIF CALL GWINDOW(IR,-1.1,-1.1,1.1,1.1) CALL GWSETPEN(IR,K,-1,-1,MXOR) DO I=0,N-2 DO J=I+1,N-1 CALL GWSETPEN(IR,K,-1,-1,-1) CALL GWLINE(IR,X(I),Y(I),X(J),Y(J)) K=MOD(K,NC)+1 END DO END DO CALL GWSETPEN(IR,-999, -1, -1, MCPY) CALL GWSETBRS(IR,-1,NLBRS,NLHCH) CALL GWRECT(IR,-1.05, -1.05, 1.05, 1.05) CALL GWELLIPSE(IR,-1.05, -1.05, 1.05, 1.05) WRITE(*,*) 'Click L-button at any point to fill the area, ' WRITE(*,*) ' or at any point near the center to quit.' CALL GWCAPPNT(IR,XM,YM,'Click at any point') DO WHILE(XM**2+YM**2.GT.0.1) K = 36*RAND() C 0..19: Windows Palette, 20..35: Custom Palette IBS = 1 + 2*RAND() IBH = 1 + 5*RAND() CALL GWSETBRS(IR,K,IBS,IBH) CALL GWFLOOD(IR,XM,YM) CALL GWCAPPNT(IR,XM,YM,'Click at any point') END DO CALL GWQUIT(IR) END