1  { ======================================================================== }
2  {         File originally distributed with FRAC'Cetera Vol 2 Iss 7         }
3  {==========================================================================
4   =  Compiled by Jon Horner for FRAC'Cetera from several sources - Jul 93  =
5   =  F'names, where present, represent FRAC'Cetera created variations or   =
6   =  derivatives based, often quite loosely, on the author's originals.    =
7   ==========================================================================}
8
9{ IKENAGA - Formula originally discovered by Bruce Ikenaga, at Western Reserve
10  University, Indiana.  Documented in Dewdney's `Armchair Universe".
11
12          The Ikenaga set is:    Z(n+1) =Z(n)^3 + (C-1) * Z(n) - C
13          where:                 Z(n) = x + yi and C = a + bi
14
15  In Basic (with Mandelbrot for comparison):
16
17   Mandelbrot:               Ikenaga:
18
19   newX = x*x - y*y + a      newX = x*x*x - 3*x*y*y + a*x - b*y - x - a
20   newY = 2*x*y     + b      newY = 3*x*x*y - y*y*y + a*y + b*x - y - b
21
22  Ikenaga is also in R.F.J. Stewart's MANDPLOT; Larry Cobb's DRAGONS4;
23  Mike Curnow's !Fractal for the Archimedes, and Tim Harris's CAL.
24
25   ==========================================================================}
26
27!_Press_F2_!     {; There is text in this formula file.  Shell to DOS with
28                  ; the <d> key and use a text reader to browse the file.
29                 }
30
31Ikenaga(XAXIS)      { ; this version correct per Roderick Stewart -
32                      ; announcement in Fractal Report 25 p2.
33                      ; same as letter, Joyce Haslam Mar 1993
34                      ; z=z*z*z+ (c-1)*z-c produces same results.
35                    z = (0,0), c = pixel :
36                    z = z * z * z + z * (c-1) - c ,
37                    |z|<=4
38 }
39
40IkenagaJ.1(XAXIS)      { ; this version correct per Roderick Stewart -
41                      ; announcement in Fractal Report 25 p2.
42                      ; same as letter, Joyce Haslam Mar 1993
43                      ; z=z*z*z+ (c-1)*z-c produces same results.
44                    z = (0,0), c = pixel :
45                    z = z * (z * z + (c-1)) - c ,
46                    |z|<=4
47 }
48
49IkenagaJUL          { ; formula from a letter from Joyce Haslam Mar 1993.
50                      ; Asymmetric.   try p1 = (0.56667, 0.36)
51                      ; Next line, from Haslam article Fractal Report 24 p5
52                      ; z=z*z*z+ (c-1)*z-c produces same results.
53                      ; Same as Julike in REB001.FRM
54                    z = pixel, c = p1 :
55                    z = z * z * z + z * (c-1) - c ,
56                    |z| <= 4
57 }
58
59IkenagaJULJ.1          { ; formula from a letter from Joyce Haslam Mar 1993.
60                      ; Asymmetric.   try p1 = (0.56667, 0.36)
61                      ; Next line, from Haslam article Fractal Report 24 p5
62                      ; z=z*z*z+ (c-1)*z-c produces same results.
63                      ; Same as Julike in REB001.FRM
64                    z = pixel, c = p1 :
65                    z = z * (z * z + (c-1)) - c ,
66                    |z| <= 4
67 }
68
69{ The rest are all variations on the two basic formulas }
70
71IkenagaPwr(XAXIS)   { ; from Jon Horner
72                    z = (0,0), c = pixel :
73                    z = z * z * z + z * (c-1) - c ^ p1 ,
74                    |z| <=4
75}
76
77IkenagaPwrJul       { ; from Jon Horner - asymmetric
78                      ; try p1 = (0.035, -0.35), p2 = 2
79                    z = pixel, c = p1 :
80                    z = z * z * z + z * (c-1) - c ^ p2 ,
81                    |z| <=4
82}
83
84Ikenaga4(XAXIS)     { ; CAL v3.8 calls it Ikenaga-4Set
85                      ; Per Haslam, Fractal Report 25 p2 (IKE4)
86                      ; z^4 is used instead of z^3 and multiplication
87                      ; is used in place of addition.
88                    z = (0,0), c = pixel:
89                    z = z * z * z * z * (c-1) - c ,
90                    |z|<= 4
91 }
92
93Ikenaga4JUL(ORIGIN) { ; Jon Horner, from IKE4 - Fractal Report 25 p2
94                      ; try p1 = (0.3874, 0.85)
95                    z = pixel, c = p1 :
96                    z = z * z * z * z * (c-1) - c,
97                    |z| <= 4
98 }
99
100IkenagaABS(XAXIS)   { ; Jon Horner
101                      ; Ikenaga with alternative bailout
102                    z = (0,0), c = pixel :
103                    z = z * z * z + z * (c-1) - c ,
104                    abs(z)<=4
105 }
106
107IkenagaABSJUL       { ; Jon Horner
108                      ; IkenagaJul with alternative bailout
109                    z = pixel, c = p1 :
110                    z = z * z * z + z * (c-1) - c ,
111                    abs(z) <= 4
112 }
113
114Ikenaga4BIO(XAXIS)  { ; Ikenaga4 variation - Jon Horner
115                      ; float=y
116                    z = (0,0), c = pixel :
117                    z = z * z * z * z * (c-1) - c ,
118                    |real(z)|<=4 || |imag(z)|<=4
119 }
120
121Ikenaga4BIOJUL(ORIGIN){ ; Jon Horner, from IKE4 - FR 25, p2
122                    ; try p1 = (0.3874, 0.85)  float=y
123                  z = pixel, c = p1 :
124                  z = z * z * z * z * (c-1) - c,
125                  |real(z)|<=4 || |imag(z)|<=4
126 }
127
128IkenagaFN(XAXIS)    {; Jon Horner
129                     ; derived from Ikenaga
130                    z = (0,0), c = fn1(pixel) :
131                    z = z * z * z + z * (c-1) - c ,
132                    |z| <=4 }
133
134IkenagaFNJUL        { ; Jon Horner
135                      ; derived from IkenagaJul
136                      ; asymmetric:   try p1 = (0.56667, 0.36)
137                    z = fn1(pixel), c = p1 :
138                    z = z * z * z + z * (c-1) - c,
139                    |z| <= 4
140 }
141
142IkenagaJUL1+(ORIGIN){ ; formula from an article by Joyce Haslam
143                      ; in Fractal Report 24 (w/+pixel stead of +c)
144                      ; symmetric
145                 z = pixel, c = p1 :
146                 z = z * z * z + (c-1) * z + pixel ,
147                 |z|<=4
148 }
149
150Ikenaga2(XAXIS)     { ; from Joyce Haslam article, Fractal Report Iss 24 p5.
151                      ; Uses pixel instead of c !!!!
152                      ; CAL v4.0 calls it UnamiSet. FR 25 calls it Unknown.
153                      ; CAL v4.0 IkenagaSet(XAXIS) =
154                      ; {z=0:z=z*z*z+z*(pixel-1)-pixel,|z|<=|2|
155                    z = pixel:
156                    z = z * z * z + (pixel-1) * z - pixel,
157                    |z|<=4
158 }
159
160IkenagaMap(XAXIS)   {; from REB001.FRM - by Ron Barnett 70153,1233
161                     ; The initial starting point allows the function to provide
162                     ; a "map" for the corresponding Julia (IkenagaJul)
163                    z = ((1-pixel)/3)^0.5:
164                    z = z*z*z + (pixel-1)*z - pixel,
165                    |z| <= 4
166 }
167
168IkeNewtMand         { ; from REB001.FRM - by Ron Barnett 70153,1233
169                      ; p1 > 0, < 2, float=yes
170                    z = c = pixel:
171                    zf = z*z*z + (c-1)*z - c;
172                    zd = 3*z*z + c-1;
173                    z = z - p1*zf/zd,
174                    0.001 <= |zf|
175 }
176
177IkeNewtJul          { ; from REB001.FRM - by Ron Barnett 70153,1233
178                      ; p1 > 0, < 2, float=yes
179                    z =  pixel:
180                    zf = z*z*z + (p2-1)*z - p2;
181                    zd = 3*z*z + p2-1;
182                    z = z - p1*zf/zd,
183                    0.001 <= |zf|
184 }
185
186RecipIke            { ; from REB001.FRM - by Ron Barnett 70153,1233
187                    z = pixel:
188                    z = 1/(z*z*z + (p1-1)*z - p1),
189                    |z| <= 4
190 }
191
192F'FunctionIke       { ; generalized by Jon Horner
193                      ; from RecipIke in REB001.FRM
194                      : - by Ron Barnett 70153,1233
195                    z = pixel:
196                    z = fn1(z*z*z + (p1-1) * z - p1),
197                    |z| <= 4
198 }
199
200IkeGenM             {; from REB002.FRM - by Ron Barnett 70153,1233
201                    z = ((1-pixel)/(3*p1))^0.5:
202                    z =p1*z*z*z + (pixel-1)*z - pixel,
203                    |z| <= 100
204 }
205
206IkeGenJ             {; from REB002.FRM - by Ron Barnett 70153,1233
207                    z = pixel:
208                    z =p1*z*z*z + (p2-1)*z - p2,
209                    |z| <= 100
210 }
211
212IkeFrRbtGenM        {; from REB002.FRM - by Ron Barnett 70153,1233
213                    z = 2*(1-pixel)/(3*p1):
214                    z = p1*z*z*z + (pixel-1)*z*z - pixel,
215                    |z| <= 100
216 }
217
218IkeFrRbtGenJ        {; from REB002.FRM - by Ron Barnett 70153,1233
219                    z = pixel:
220                    z = p1*z*z*z + (p2-1)*z*z - p2,
221                    |z| <= 100
222 }
223
224