' This program exported from BASIC Anywhere Machine (Version [5.2.3].[2023.08.29.21.34]) on 2023.09.20 at 21:20 (Coordinated Universal Time) ' Graviton.bas, a QB64 shared by vince ' BAM port by Charlie Veniot dim shared pi pi = 4*atn(1) 'd = 1/sqr(2) d = 800 zz = 1100 yy = 210 sw = 800 sh = 600 dim c as long screen _newimage(sw, sh, 32) do t = t - 0.1 cls for z=-2000 to 1000 step 10 for x=-1000 to 1000 step 10 x0 = 100*cos(t + pi/2) z0 = 100*sin(t + pi/2) y = -300*exp(-((x0 + x)^2 + (z + z0)^2)/20000) x0 = 100*cos(t + pi + pi/2) z0 = 100*sin(t + pi + pi/2) y = y + 300*exp(-((x0 + x)^2 + (z + z0)^2)/20000) p = x*d/(zz - z) q = (y + yy)*d/(zz - z) pset (sw/2 + p, sh/2 - q), _rgb(255,255,0) next next for z=-2000 to 1000 step 8 for x=-1000 to 1000 step 8 x0 = 300*cos(t) z0 = 300*sin(t) 'y = 300*exp(-((x0 + x)^2 + (z + z0)^2)/10000) a = (x0 + x)^2 + (z + z0)^2 y = 8000*sin(-sqr(a)/30)/sqr(a) x0 = 300*cos(t + pi) z0 = 300*sin(t + pi) 'y = y - 300*exp(-((x0 + x)^2 + (z + z0)^2)/10000) a = (x0 + x)^2 + (z + z0)^2 y = y - 8000*sin(-sqr(a)/30)/sqr(a) p = x*d/(zz - z) q = (y - yy)*d/(zz - z) pset (sw/2 + p, sh/2 - q) next next _display _limit 30 loop until _keyhit = 27 system