rad0 = 100 radf = 60 in = 20 pi = 22 / 7 xoff = 320 yoff = 240 GOTO post screen1: SCREEN 12 FOR ic = 0 TO 4 rad = rad0 + radf * ic FOR ir = 0 TO in - 1 ang = 2 * pi / in * ir ang1 = ang + pi + pi / in ang2 = 2 * pi / in * (ir + 1) 'PRINT ang, ang1 'INPUT a$ y1 = yoff - rad * COS(ang): x1 = xoff + rad * SIN(ang) y2 = yoff - rad * COS(ang1): x2 = xoff + rad * SIN(ang1) y3 = yoff - rad * COS(ang2): x3 = xoff + rad * SIN(ang2) LINE (x1, y1)-(x2, y2) LINE (x2, y2)-(x3, y3) NEXT ir NEXT ic END 'PS-Variante postinit: '------------- 'Schreibe Template-Header OPEN "R:\templ.ps" FOR INPUT AS #1 OPEN "R:\a1.ps" FOR OUTPUT AS #2 found = 0 WHILE (found = 0 AND NOT EOF(1)) LINE INPUT #1, BUF$ IF (INSTR(BUF$, "$start") >= 1) THEN found = 1 IF (found = 0) THEN PRINT #2, BUF$ WEND IF (EOF(1)) THEN PRINT "Error in postinit: End of File found" END IF RETURN postline: '------------- BUF$ = "N " + STR$(INT(xp1)) + " " + STR$(INT(yp1)) BUF$ = BUF$ + " M " + STR$(INT(xp2)) + " " + STR$(INT(yp2)) + " I C" IF (iline > 0) THEN BUF$ = "; " + BUF$ PRINT #2, BUF$ PRINT #2, ": [ 1 0 0 1 350 112 ] concat K" RETURN postmain: '------------- iline = 0 FOR ic = 0 TO ncircle - 1 rad = rad0 + radf * ic FOR ir = 0 TO in - 1 ang = 2 * pi / in * ir ang1 = ang + pi + pi / in ang2 = 2 * pi / in * (ir + 1) 'PRINT ang, ang1 'INPUT a$ y1 = yoff - rad * COS(ang): x1 = xoff + rad * SIN(ang) y2 = yoff - rad * COS(ang1): x2 = xoff + rad * SIN(ang1) y3 = yoff - rad * COS(ang2): x3 = xoff + rad * SIN(ang2) xp1 = x1: yp1 = y1: xp2 = x2: yp2 = y2 GOSUB postline xp1 = x2: yp1 = y2: xp2 = x3: yp2 = y3 iline = iline + 1 GOSUB postline iline = iline + 1 NEXT ir NEXT ic RETURN postclose: '---------- 'Uebertrage den Rest des Templates: WHILE (NOT EOF(1)) LINE INPUT #1, BUF$ PRINT #2, BUF$ WEND CLOSE (1) CLOSE (2) RETURN post: '--------- rad0 = 800 radf = 300 ncircle = 5 in = 50 pi = 22 / 7 xoff = 3000 yoff = 2000 GOSUB postinit GOSUB postmain GOSUB postclose PRINT "Plot was done" END