1 subroutine gsarcc(xc,yc,angl,iopt) 2 INCLUDE 'Parametres.f' 3c 4 parameter (precis=0.02,precmin=.2) 5ccc(g77) parameter (nn=int(6.3/precis)+4) 6 parameter (nn=520) 7 dimension xarc(nn),yarc(nn) 8c 9 data pis180 / 0.0174532925199433 / 10c 11 call gsqcp(x,y) 12 r = sqrt((xc-x)**2 + (yc-y)**2) 13c 14cc arg = acos( (x-xc)/r ) 15cc if ( (y-yc).lt.0. ) arg = -arg 16 arg = atan2(y-yc,x-xc) 17 argmax = arg + angl*pis180 18c 19 prec = 2.*r*precis/(x1clipmed-x0clipmed) 20 prec = min(precmin,max(precis,prec)) 21 if (argmax.lt.arg) then 22 sig = -1. 23 else 24 sig = 1. 25 endif 26c 27 xarc(1) = x 28 yarc(1) = y 29 n = 1 30 10 arg = arg+sig*prec 31 n = n+1 32 if (sig*arg.lt.sig*argmax) then 33 xarc(n) = xc + r*cos(arg) 34 yarc(n) = yc + r*sin(arg) 35 goto 10 36 else 37 xarc(n) = xc + r*cos(argmax) 38 yarc(n) = yc + r*sin(argmax) 39 endif 40 n = n+1 41 xarc(n) = xc 42 yarc(n) = yc 43 call my_gsarea(iopt,xarc,yarc,n) 44 end 45 46