GCOLRND(5)-1,RND(4)-1
A perusal of this command in the User Guide will show that the result is that the chords drawn in line 260 can be simply drawn, ANDed, ORed or inverted. The effect can be extremely difficult to describe, but is caused by a line being drawn and then another drawn crossing it. In many circumstances, where the two lines cross, both lines are wiped out. Since a multiple-sided polygon will have many such lines crossing each other, the effect can be quite extraordinary, rather like the tightly crinkled petals of a carnation, and quite beautiful in close-up, although some of this effect is lost if you are using a domestic television instead of a colour monitor.
Overall, then, the program simply draws superimposed polygons with or without criss-crossing lines, the polygons getting smaller and smaller, so the total effect is exactly like an expensive dinner plate with an intricate design. As is usual with computer-generated graphics, some colour combinations are quite stunning.
X(0) to X(30) | The X,Y co-ordinates of the points of |
Y(0) to Y(30) | the current polygon |
R | Polygon radius |
S | Number of sides |
C | Colour to be blocked in |
A | Angle to be turned |
L | Count of chords |
10 REM - Plates 20 DIM X(30),Y(30) 30 MODE1 40 VDU29,650;512; 50 REPEAT 60 R=550 70 S=RND(18)+2 80 MOVE R,0 90 MOVE 10,10 100 C=RND(4) 110 PROCPOLY(R,S,C) 120 R=R-RND(100) 130 IF R>50 GOTO 70 140 UNTIL 0 150 160 DEFPROCPOLY(R,S,C) 170 GCOL0,C:MOVE 0,0 180 FOR SIDE=0 TO S 190 MOVE 0,0:A=SIDE*2*PI/S 200 X(SIDE)=R*COSA:Y(SIDE)=R*SINA 210 PLOT85,R*COSA,R*SINA 220 NEXT SIDE 230 MOVE 0,0:PLOT85,R,0:GCOLRND(5)-1,RND(4)-1 240 FOR SIDE=1 TO S 250 FOR L=SIDE TO S 260 MOVE X(SIDE),Y(SIDE):DRAW X(L),Y(L):NEXT L 270 NEXT SIDE:VDU19,RND(4)-1,RND(8)-1,0,0,0:G=INKEY(250) 280 ENDPROC