REM ga2bbc.bas - jackord@kw.igs.net - revised 27 Feb 08 - BBC BASIC (RTR) REM potential plot for equilateral mass array INSTALL @lib$+"WINLIB5" *FLOAT 64 WindowWidth=408 : REM pixel scale 0-408 WindowHeight=336 : REM pixel scale 0-336 VDU 23,22,WindowWidth;WindowHeight;8,12,16,128 button% = FN_button("Plot", 6, 6, 40, 18, FN_setproc(PROCplot), 0) SYS "SetWindowText", @hwnd%, "Potential Plotted in Color" DIM p(4), q(4), c%(6) p(1)=121: q(1)=120: p(2)=204: q(2)=120+166*SQR(3)/2: p(3)=287: q(3)=120 c%(0)=12: c%(1)=14: c%(2)=9 c%(3)=11: c%(4)=5: c%(5)=10 FOR i=1 TO 3 GCOL 0 : CIRCLE p(i)*2, q(i)*2, 24 GCOL 13 : FILL p(i)*2, q(i)*2 GCOL 0 : VDU 5 : MOVE p(i)*2-8, q(i)*2+16 : PRINT "M"; NEXT i REPEAT WAIT 1 UNTIL FALSE DEF PROCplot FOR k=0 TO 336 FOR j=0 TO 408 u=0: plt=1 FOR i=1 TO 3 r2=(p(i)-j)*(p(i)-j)+(q(i)-k)*(q(i)-k) IF r2>144 THEN u=u+1/SQR(r2) ELSE plt=0 NEXT i IF plt=1 THEN plt=INT(285.65*u): plt=plt-6*INT(plt/6) GCOL c%(plt) PLOT j*2,k*2 ENDIF NEXT j NEXT k ENDPROC