A recursive object - shell structures inside of shell structures like a Russian
doll ( Wikipedia calls them matryoshka dolls). Another pseudo 3d graphic from
Fractint, a 2d program. I cannot help but acknowledge the ingenuity of Fractint's
programmers and formula writers. Ready made at http://maxitersfractalfollies.blogspot.com
with the Sept. 6 gif as an anti-aliased jpg.
fract409.gif { ; layers
; blank
; calctime 0:00:28.89
; created Sep 10, 2010
; Fractint Version 2004 Patchlevel 9
reset=1960 type=formula formulafile=_c.frm
formulaname=cdp_jul_mand
center-mag=0.0683146/-0.00966608/0.6865382/1/50.0000000000000142/-2.5056\
3458870090017e-014
params=1.358012634662923/0.352876064333018/-0.3213515427051337/0.7808234\
629205598/4/64 float=y maxiter=1200 inside=0 outside=summ
colors=000z88z88y88y88x88w88w88v88u77u77t77t77s77r77r77q77p66p66o66o66n6\
6m66m66l66k55k55j55j55i55h55h55g55f44f44e44d44d44c44c44b33a33a33`33_33_3\
3Z33Z33Y22X22X22W22V22V22U22U22T11S11S11R11Q11Q11P11O00yx0yx0yw0xv0xv0wu\
0wt0ws0vs0vr0vq0uq0up0to0tn0tn0sm0sl0sl0rk0rj0qi0qi0qh0pg0pg0pf0oe0od0nd\
0nc0nb0mb0ma0l`0l_0l_0kZ0kY0kY0jX0jW0iV0iV0iU0hT0hT0hS0gR0gQ0fQ0fP0fO0eO\
0eN0eM0dL0dL0cK0cJ0cJ0bI0bH0aG00tO0tO0sO0rO0rN0qN0pN0oM0oM0nM0mL0mL0lL0k\
K0jK0jK0iJ0hJ0hJ0gI0fI0eI0eI0dH0cH0cH0bG0aG0`G0`F0_F0ZF0ZE0YE0XE0WD0WD0V\
D0UC0UC0TC0SB0RB0RB0QB0PA0PA0OA0N90M90M90L80K80K80J70I70H70H60G60F60F50E\
50D50C4DpzDozDnyDlxDkwDivDhuCftCesCdrCbqCapC_oBZnBXmBWlBVkBTjBSiAQhAPgAN\
fAMeALdAJc9Ib9Ga9F`9D_9CZ9BY89X88W86V85U83T82S70R60Q60P60O60O50N50M50L50\
K50K40J40I40H40G30F30F30E30D20C20B20A20A109108107106005
}
frm:Cdp_Jul_Mand {; Copyright (c) Paul W. Carlson, 1998
; real(p1) = 0 if Mset, otherwise Julia set
; imag(p1) = maximum value of ratio (try 0.01 to 0.3)
; p2 = Julia set coordinates (not used if Mset)
; real(p3) = number of color ranges
; imag(p3) = number of colors in a range
;
z = iter = range_num = bailout = 0
IF (real(p1) == 0)
prev_w = 0
c = pixel
ELSE
prev_w = pixel
c = p2
ENDIF
max_r = imag(p1)
num_ranges = real(p3)
colors_in_range = imag(p3)
index_factor = (colors_in_range - 1) / max_r
:
w = prev_w * prev_w + c
;
r = |prev_w| / |w|
prev_w = w
IF (r < max_r && iter > 0)
bailout = 1
z = index_factor * r + range_num * colors_in_range + 1
ENDIF
range_num = range_num + 1
IF (range_num == num_ranges)
range_num = 0
ENDIF
iter = iter + 1
z = z - iter
bailout == 0 && |w| < 4
;SOURCE: 98msg.frm
}
Roger Alexander