|
Post by bplus on Nov 16, 2022 12:45:02 GMT -5
So you can compare to Charlie's BAM version: friends-of-basic.freeforums.net/thread/128/mesmerising-animation-mmbasic-port-qb64Screen 12 pi = 3.1415: n = 200: r = (2 * pi) / 100: sz = 200: scrw = 640: scrh = 480: sw = scrw / sz: sh = scrh / sz: offset = scrh / 4.5 Do Cls For i = 50 To n c~& = _RGB32(Int(Rnd * 200) + 55, Int(Rnd * 200) + 55, Int(Rnd * 200) + 55) For j = 50 To n u = Sin(i + v) + Sin(r * i + x): v = Cos(i + v) + Cos(r * i + x): x = u + t q = scrw / 2 + u * offset: a = scrh / 2 + v * offset PSet (q, a), c~& Next: Next t = t + .001 _Display _Limit 30 Loop
|
|
|
Post by bplus on Nov 20, 2022 11:53:33 GMT -5
Ah Johnno's translation to RCBasic from Naalaa by Marcus who translated from SpecBas by Paul Dunn. Now bplus QB64 version of Johnno's with much better coloring IMHO probably closer to original
Const xmax = 512, ymax = 512 _Title "Bubble Universe - ESC to exit" ' from johnno at RCBasic forum 2022-11-14 Screen _NewImage(xmax, ymax, 32) ' --------------- ' Paul Dunn posted this code but for SpecBAS in a facebook group. ' It looked so cool that I had to rewrite it in Naalaa 7. Marcus ' ' bplus QB64 Mod of RCB version by Johnno56 TAU = 6.283185307179586 n = 200 r = TAU / 235 x = 0 y = 0 v = 0 t = 0 hw = xmax / 2 hh = ymax / 2 Do Color _RGB32(0, 0, 0) Cls For i = 0 To n For j = 0 To n u = Sin(i + v) + Sin(r * i + x) v = Cos(i + v) + Cos(r * i + x) x = u + t Color _RGB(i, j, 99) PSet (hw + u * hw * 0.4, hh + v * hh * 0.4) Next Next t = t + 0.001 ' slowed way way down from .025 _Display _Limit 30 Loop Until _KeyDown(27)
|
|
|
Post by bplus on Nov 21, 2022 9:01:02 GMT -5
Oh Charlie there is more! Good news! visionmercer found a couple more versions from SpecBas source! ' A loose translation of bubble_universe2 ' https://github.com/ZXDunny/SpecBAS-Demos/blob/master/Graphics/bubble_universe2 Const w = 480 Const m = 200 Const r = _Pi * 2 Dim x, y, t, i, j, u Screen _NewImage(w, w, 32) Do Cls For i = 0 To m For j = 0 To m u = Sin(i + y) + Sin(i + x) y = Cos(i + y) + Cos(i + x) x = u + t PSet (u * m / 2 + w / 2, y * m / 2 + w / 2.3), _RGB(j, i, 127) Next Next t = t + .1 ' << try .01 _Display _Limit 30 Loop
qbjs.org/index.html?code=JyBBIGxvb3NlIHRyYW5zbGF0aW9uIG9mIGJ1YmJsZV91bml2ZXJzZTIKJyBodHRwczovL2dpdGh1Yi5jb20vWlhEdW5ueS9TcGVjQkFTLURlbW9zL2Jsb2IvbWFzdGVyL0dyYXBoaWNzL9FRQ29uc3QgdyA9IDQ4MMcObSA9IDIwyA5yID0gX1BpICogMgpEaW0geCwgeSwgdCwgaSwgaiwgdQpTY3JlZW4gX05ld0ltYWdlKHcsIHcsIDMyKQpEbwogICAgQ2xzxQhGb3IgaSA9IDAgVG8gbcUTyBdq0hfEAXUgPSBTaW4oaSArIHkpICvJDXgpzSh5ID0gQ29zyijIDc8oeCA9IHUgKyB0zRZQU2V0ICh1ICogbSAvIDIgKyB3xAgsIHnQEy4zKSwgX1JHQihq5QEBMTI3ymFOZXjGWMkJdCA9IHQgKyAuMcUPX0Rpc3BsYXnGDUxpbWl0IDMwCkxvb3AK ' A loose translation of bubble_universe3 ' https://github.com/ZXDunny/SpecBAS-Demos/blob/master/Graphics/bubble_universe3 const w = 480, n = 200 dim x dim y dim t: t = 9 screen _newimage(480, 480, 32) do cls for i=0 to n for j=0 to n u=sin(i+y) + sin(j/(n*_pi)+x) v=cos(i+y) + cos(j/(n*_pi)+x) x = u + t y = v + t pset (u*100+w/2, v*100+w/2),_rgb(i,j,99) next j,i t = t + .1 ' I am running .01 _display _limit 30 loop
qbjs.org/index.html?code=JyBBIGxvb3NlIHRyYW5zbGF0aW9uIG9mIGJ1YmJsZV91bml2ZXJzZTMKJyBodHRwczovL2dpdGh1Yi5jb20vWlhEdW5ueS9TcGVjQkFTLURlbW9zL2Jsb2IvbWFzdGVyL0dyYXBoaWNzL9FRY29uc3QgdyA9IDQ4MCwgbiA9IDIwMApkaW0geMUGecUGdDogdCA9IDkKc2NyZWVuIF9uZXdpbWFnZSjFN8UFMzIpCmRvCiAgICBjbHPFCGZvciBpPTAgdG8gbskRaswRxAF1PXNpbihpK3kpICsgxAtqLyhuKl9waSkreCnJJnY9Y29zyCbEC9UmeCA9IHUgKyB0yRJ5ID0gds0ScHNldCAodSoxMDArdy8yLCB2yAspLF9yZ2IoaSxqLDk5xlVuZXh0IGosacUN5AEEdCArIC4xCl9kaXNwbGF5Cl9saW1pdCAzMApsb29wCg==
|
|
|
Post by bplus on Nov 21, 2022 9:06:07 GMT -5
|
|
|
Post by bplus on Nov 21, 2022 15:27:14 GMT -5
Try t = t + .005 without _Limit, things build and dissolve less suddenly.
|
|