 Spinning or not? - Printable Version +- NaaLaa Forum (http://www.naalaa.com/community) +-- Forum: NaaLaa (http://www.naalaa.com/community/forumdisplay.php?fid=1) +--- Forum: Showcase (http://www.naalaa.com/community/forumdisplay.php?fid=4) +--- Thread: Spinning or not? (/showthread.php?tid=1096) Spinning or not? - johnno1956 - 02-19-2023 Here is a conversion of a program written by Charlie Veniot. Are the circles spinning? Not sure? If you wait long enough the program will show you how it is done. Code:```xmax = 600 ymax = 600 title\$ = "Spinning? Yes or No?" center_x = windowpos_centered center_y = windowpos_centered WindowOpen(1,title\$,center_x,center_y,xmax,ymax,WindowMode(1,0,0,0,0),1) SetWindowAutoClose(1, 0) CanvasOpen(1,xmax,ymax,0,0,xmax,ymax,0) ' Charlie Veniot's BASIC Anywhere Machine mod of the program by B+ ' https://basicanywheremachine.neocities.org/sample_programs/BAM_SamplePrograms?page=spinning_dots_illusion pi = 3.141592654 roundAroundLmt = 3 x0 = xmax / 2 y0 = ymax / 2 a24 = pi * (2 / 24) r = 240 loopcnt = 0 tinyCircleCnt = 0 do     if loopcnt < roundAroundLmt then         tinyCircleCnt = 11     end if     if loopcnt = roundAroundLmt then         tinyCircleCnt = 0     end if     if loopcnt > roundAroundLmt then         if tinyCircleCnt < 11 then             tinyCircleCnt = tinyCircleCnt + 1         end if     end if     for a = 0 to pi * 2 step pi / 180         setColor(rgb(82, 82, 82))         CircleFill(x0, y0, 251)         for i = 0 to tinyCircleCnt             if loopcnt > roundAroundLmt - 1 then                 a24i = a24 * i                 xs = x0 + (r * cos(a24i))                 ys = y0 + (r * sin(a24i))                 xe = x0 + (r * cos(a24i + pi))                 ye = y0 + (r * sin(a24i + pi))                 setColor(rgb(192, 192, 192))                 line(xs, ys, xe, ye)             end if             cv1 = cos(a + (pi * (i/12)))             x = x0 + (cv1 * r * cos(a24 * i))             y = y0 + (cv1 * r * sin(a24 * i))             setColor(rgb(255, 255, 255))             CircleFill(x, y, 10)         next         'wait(4)         if key(27) = 1 then             exit do         end if         update()     next     loopcnt = (loopcnt mod 15) + 1     if Not WindowExists(1) Or WindowEvent_Close(1) Then         end     end if     update() loop until key(27) = 1 wait 999``` Enjoy J RE: Spinning or not? - Marcus - 03-11-2023 (02-19-2023, 09:34 AM)johnno1956 Wrote: Here is a conversion of a program written by Charlie Veniot. Are the circles spinning? Not sure? If you wait long enough the program will show you how it is done. Code:```xmax = 600 ymax = 600 title\$ = "Spinning? Yes or No?" center_x = windowpos_centered center_y = windowpos_centered WindowOpen(1,title\$,center_x,center_y,xmax,ymax,WindowMode(1,0,0,0,0),1) SetWindowAutoClose(1, 0) CanvasOpen(1,xmax,ymax,0,0,xmax,ymax,0) ' Charlie Veniot's BASIC Anywhere Machine mod of the program by B+ ' https://basicanywheremachine.neocities.org/sample_programs/BAM_SamplePrograms?page=spinning_dots_illusion pi = 3.141592654 roundAroundLmt = 3 x0 = xmax / 2 y0 = ymax / 2 a24 = pi * (2 / 24) r = 240 loopcnt = 0 tinyCircleCnt = 0 do     if loopcnt < roundAroundLmt then         tinyCircleCnt = 11     end if     if loopcnt = roundAroundLmt then         tinyCircleCnt = 0     end if     if loopcnt > roundAroundLmt then         if tinyCircleCnt < 11 then             tinyCircleCnt = tinyCircleCnt + 1         end if     end if     for a = 0 to pi * 2 step pi / 180         setColor(rgb(82, 82, 82))         CircleFill(x0, y0, 251)         for i = 0 to tinyCircleCnt             if loopcnt > roundAroundLmt - 1 then                 a24i = a24 * i                 xs = x0 + (r * cos(a24i))                 ys = y0 + (r * sin(a24i))                 xe = x0 + (r * cos(a24i + pi))                 ye = y0 + (r * sin(a24i + pi))                 setColor(rgb(192, 192, 192))                 line(xs, ys, xe, ye)             end if             cv1 = cos(a + (pi * (i/12)))             x = x0 + (cv1 * r * cos(a24 * i))             y = y0 + (cv1 * r * sin(a24 * i))             setColor(rgb(255, 255, 255))             CircleFill(x, y, 10)         next         'wait(4)         if key(27) = 1 then             exit do         end if         update()     next     loopcnt = (loopcnt mod 15) + 1     if Not WindowExists(1) Or WindowEvent_Close(1) Then         end     end if     update() loop until key(27) = 1 wait 999``` Enjoy J I think you may have posted the wrong source code in the right forum or the right source code in the wrong forum RE: Spinning or not? - johnno1956 - 03-11-2023 Well... THAT was embarrassing!! Wrong source AND wrong forum! That was a conversion that was supposed to go on the RCBasic forum... Obviously my keyboard was in motion before the brain was engaged... *sigh* I had a couple of minutes to spare... Here is the N7 version of the program. Spinning or not? An illusion or not? Code:```visible xmax = 600 visible ymax = 600 set window "Spinning? Yes or No?", xmax, ymax set redraw off ' Charlie Veniot's BASIC Anywhere Machine mod of the program by B+ ' https://basicanywheremachine.neocities.org/sample_programs/BAM_SamplePrograms?page=spinning_dots_illusion visible pi = 3.141592654 visible roundAroundLmt = 3 visible x0 = xmax / 2 visible y0 = ymax / 2 visible a24 = pi * (2 / 24) visible r = 240 visible loopcnt = 0 visible tinyCircleCnt = 0 do     if loopcnt < roundAroundLmt         tinyCircleCnt = 11     endif     if loopcnt = roundAroundLmt         tinyCircleCnt = 0     endif     if loopcnt > roundAroundLmt         if tinyCircleCnt < 11             tinyCircleCnt = tinyCircleCnt + 1         endif     endif     for a = 0 to pi * 2 step pi / 180         set color 82, 82, 82         draw ellipse x0, y0, 251, 251, true         for i = 0 to tinyCircleCnt             if loopcnt > roundAroundLmt - 1                 a24i = a24 * i                 xs = x0 + (r * cos(a24i))                 ys = y0 + (r * sin(a24i))                 xe = x0 + (r * cos(a24i + pi))                 ye = y0 + (r * sin(a24i + pi))                 set color 192, 192, 192                 draw line xs, ys, xe, ye             endif             cv1 = cos(a + (pi * (i/12)))             x = x0 + (cv1 * r * cos(a24 * i))             y = y0 + (cv1 * r * sin(a24 * i))             set color 255, 255, 255             draw ellipse x, y, 10, 10, true         next         'wait(4)         if keydown(KEY_ESCAPE, true) = 1             wait 999             end         endif         fwait 60         redraw     next     loopcnt = (loopcnt % 15) + 1 until keydown(KEY_ESCAPE, true)``` Enjoy... J RE: Spinning or not? - Marcus - 03-12-2023 (03-11-2023, 10:22 AM)johnno1956 Wrote: Well... THAT was embarrassing!! Wrong source AND wrong forum!  That was a conversion that was supposed to go on the RCBasic forum... Obviously my keyboard was in motion before the brain was engaged... *sigh* I had a couple of minutes to spare... Here is the N7 version of the program. Spinning or not? An illusion or not? Code:```visible xmax = 600 visible ymax = 600 set window "Spinning? Yes or No?", xmax, ymax set redraw off ' Charlie Veniot's BASIC Anywhere Machine mod of the program by B+ ' https://basicanywheremachine.neocities.org/sample_programs/BAM_SamplePrograms?page=spinning_dots_illusion visible pi = 3.141592654 visible roundAroundLmt = 3 visible x0 = xmax / 2 visible y0 = ymax / 2 visible a24 = pi * (2 / 24) visible r = 240 visible loopcnt = 0 visible tinyCircleCnt = 0 do     if loopcnt < roundAroundLmt         tinyCircleCnt = 11     endif     if loopcnt = roundAroundLmt         tinyCircleCnt = 0     endif     if loopcnt > roundAroundLmt         if tinyCircleCnt < 11             tinyCircleCnt = tinyCircleCnt + 1         endif     endif     for a = 0 to pi * 2 step pi / 180         set color 82, 82, 82         draw ellipse x0, y0, 251, 251, true         for i = 0 to tinyCircleCnt             if loopcnt > roundAroundLmt - 1                 a24i = a24 * i                 xs = x0 + (r * cos(a24i))                 ys = y0 + (r * sin(a24i))                 xe = x0 + (r * cos(a24i + pi))                 ye = y0 + (r * sin(a24i + pi))                 set color 192, 192, 192                 draw line xs, ys, xe, ye             endif             cv1 = cos(a + (pi * (i/12)))             x = x0 + (cv1 * r * cos(a24 * i))             y = y0 + (cv1 * r * sin(a24 * i))             set color 255, 255, 255             draw ellipse x, y, 10, 10, true         next         'wait(4)         if keydown(KEY_ESCAPE, true) = 1             wait 999             end         endif         fwait 60         redraw     next     loopcnt = (loopcnt % 15) + 1 until keydown(KEY_ESCAPE, true)``` Enjoy... J WITCHCRAFT!