[x77, x78] FR ?angles file? FR ?list of particles per projection? FR ?output file? ;; if x77 > 0, numbered labels are added ;; They're drawn w/ lower left corner at (x,y), so they need to be shifted. ;; Digits from the LA command are approx 13 pixels high, ;; 10 pix wide (single digit),23 p wide (2 digits) x44 = INT(13/2) x45 = INT(10/2) x46 = INT(23/2) BL ; create a blank image _1 (607,607) N (0.0) PT ; draw lines _1 L (1,303) (605,303) Y L (303,1) (303,605) N PT ; draw the large circles _1 CL (303,303) (302) n ; ''''''''''''''''''''''''''''''''''''''''''''''''''''' ; if they want labels, do them 1st ; ''''''''''''''''''''''''''''''''''''''''''''''''''''' IF (x77.EQ.0) GOTO LB8 DO LB11 x91=1,83 UD IC,x91,x51,x52,x53 ; doc file with reference angles IF(x52.le.90.0) GOTO LB12 x52=180.0-x52 x53=x53+180.0 IF(x53.lt.360.0) GOTO LB12 x53=x53-360.0 LB12 x61=x52/90 x61=x61*300 x81=cos(x53) x82=sin(x53) x81=x81*x61 x82=x82*x61 x81=x81+303 x82=x82+303 ; add a label----------------- x48 = x82+x44 ; y coord IF (x91.LT.10) THEN ; single digit x49 = x81-x45 LA L _1 _2 {*x91} x49,x48 ; coord ELSE x49 = x81-x46 LA L _1 _2 {**x91} x49,x48 ; coord ENDIF CP _2 _1 LB11 IF (x77.LT.0) GOTO LB1 ; skip the circles LB8 AR _1 _2 p1/2 RP ; this little hack keeps the max=1 for subsequent graphix _2 (1,1) (1) CP _2 _1 ; ''''''''''''''''''''''''''''''''''''''''''''''''''''' ; The main loop that draws the circles DO LB1 x91=1,83 UD IC,x91,x51,x52,x53 ; doc file with reference angles IF(x52.le.90.0) GOTO LB2 x52=180.0-x52 x53=x53+180.0 IF(x53.lt.360.0) GOTO LB2 x53=x53-360.0 LB2 x61=x52/90 x61=x61*300 x81=cos(x53) x82=sin(x53) x81=x81*x61 x82=x82*x61 x81=x81+303 x82=x82+303 UD IC,x91,x71 ; doc file: how many particles in each view IF(x71.eq.0) GOTO LB1 x72=x71*9 x72=sqr(x72) PT ; draw a circle _1 CL x81,x82 ; center coords x72 ; radius N ; LB1 RP ; undo the little hack _1 (1,1) (0) IF (x78.GT.0) THEN NEG _1 ELSE CP _1 ; the output file ENDIF UD ICE UD ICE RE