PARAMETER(PI2 = 6.283185) CALL GWopen(ID,0) CALL GWindow(IR,0.5,-0.1,0.5,1.1) CALL GWTspawn(it,-1,-1,16) CALL GWTspawn(im,-1,2,-1) CALL GWTsetmrk(IR, im, 6, 0.1, -1, -1, -1, -1) DO i = 1, 20 CALL GWTsetpos(IR,it,RAND(),RAND()) CALL GWTsetcol(IR,it,INT(18*RAND())) CALL GWTgetpos(IR,it,x,y) CALL GWTgetdir(IR,it,a) CALL GWTgetcol(ic,it) r = 0.01+0.09*RAND() WRITE(*,*) ic,x,y,r,a CALL GWTsetmrk(IR, im, -1, r, ic, MOD(ic+1,19), -1, -1) n = 5 + 2*INT(4*RAND()) CALL star(it, n, r) CALL GWTmove2(IR,im,x,y) CALL GWline(IR,x,y, + x+r*COS(PI2*(a+0.5+0.5/n)),y+r*SIN(PI2*(a+0.5+0.5/n))) ENDDO CALL GWquit(IR) end c SUBROUTINE star(it, n, r) INTEGER it, n, i REAL r, d, PI PARAMETER(PI=3.141592) d = 2*r*cos(PI/2/n) CALL GWTforward(IR,-it,r) CALL GWTturn(IR,it,0.5-0.25/n) DO i = 1, n CALL GWTforward(IR,it,d) CALL GWTturn(IR,it,0.5-0.5/n) ENDDO end