Turns out a different version of the recursive code was needed for Naalaa to produce the fine detailed still shot as show for QB64. Instead of making the 3 circles tangent to the inner, I made them overlap, their origins on the outer edge of the inner circle. What a difference in quality detail! Now on par with QB64 still shots:
'Sierpinski circled best yet.txt
' written for Naalaa 6 by bplus started 2018-07-22
' translated from Sierepinski Circled.bas by bplus 2018-04-04 QB64 v 11-06-2017
' A new twist on an old fractal.
' Sierpinski triangle made from circles only, generalized and made dynamic
' for any regular poly though does not work well beyond 8 or 9.
'2018-07-22 max brightness, slowed down in attempt to elimianate blurriness
'2018-07-22 best yet: have the new set of 3 circles overlap the interior, instead of tangent to interior circle
'2018-07-23 calculating a couple of variables too often in recursive sub, only need ra# once with each new n
' and pip5# was already done!
radians
constant:
wW 720
wH 720
shade 50
visible:
pi# = acos#(-1.0)
pi2# = 2.0 * pi#
pip5# = pi# * 0.5
pi360# = pi# / 360.0
cx# = float(wW / 2)
cy# = float(wH / 2)
cr# = float(wH) / 4.0
ra#
hidden:
set window 100, 10, wW, wH
set redraw false
for n = 3 to 8
a# = 0.0
ra# = pi2# / float(n)
levels = 12 - n
while a# < ra#
set color 0, 0, 0
draw rect 0, 0, wW, wH, true
_recurringCircles cx#, cy#, cr#, a#, n, levels
a# = a# + pi360#
redraw
wait 10
wend
set color 0, 0, 0
draw rect 0, 0, wW, wH, true
_recurringCircles cx#, cy#, cr#, 0.0, n, levels
_pause
next
procedure recurringCircles (x#, y#, rr#, ao#, n, level)
set color 100, 255, 100, shade
draw ellipse int(x), int(y), int(rr#), int(rr#), true
if level > 0
for i = 0 to n - 1
x1# = x# + rr# * cos#(float(i) * ra# + ao# - pip5#)
y1# = y# + rr# * sin#(float(i) * ra# + ao# - pip5#)
_recurringCircles x1#, y1#, rr# * 0.5, 2.0 * ao#, n, level - 1
next
endif
endproc
procedure pause()
set caret 10, 10
set color 200, 225, 250
wln "Click mouse to continue..."
redraw
wait mousebutton
endproc
EDIT: 2018-07-23 A couple of code fixes to eliminate extra calculations being made in the recursive sub. ra# needs to be calculated only once per new n and don't know why pip5# was being calculated AGAIN in the sub???