APPENDIX F
Seashell Variations
- xnew = trigonometric f(x, y) + xs
- ynew = trigonometric g(x, y) + ys
- escape = h(x, y, k)
- seed = Mandelbrot (x0, y0)
- k = iteration count
Seashell Example with Pseudocode
for (int i = 0; i ≤ 800; i++) { for (int j = 0; j ≤ 800; j++) { x = 0.0; y = 0.0; xs = -4.0 + (i / 100.0); ys = -4.0 + (j / 100.0); k = 0; do { xnew = cos(x*x*y)+sin( y*y*x)+xs; ynew = cos(x*y*y)+sin(-x*x*y)+ys; x = xnew; y = ynew; k = k + 1; } while ((k ≤ kmax) && (|x|+|y| ≤ 4.0/k⁴)); if (k > 1) PlotPoint(x*scale, y*scale, color); } } }
Seashell | Build: (f(x,y), g(x,y)) | Seed: (xseed, yseed) | Escape: h(x,y) > value |
---|---|---|---|
Example | (cos(x*x*y) + sin(y*y*x) + xs, cos(x*y*y) + sin(-x*x*y) + ys) | (0.0, 0.0) | |x| + |y| > 4.0 / k⁴ |
Seashell #1 | (x + sin(y*x*y + x*x*y) + xs, y + cos(x*x*y + y*y*x) + ys) | (0.20, -0.50) | (x*x + y*y) * k > 12.0 |
Seashell #2 | (sin(x*x*y*y) + xs, cos(y*y*x*x) + ys) | (0.0, 0.0) | x*x + y*y - |x / 2| > 8.0 / k³ |
Seashell #3 | (x + sin(y*x*y + x*x*y) + xs, y + cos(x*x*y + y*y*x) + ys) | (0.07, 0.30) | (x*x + y*y) * k² > 12.0 |
Seashell #4 | (x + sin(y*x*y + x*x*y) + xs, y + cos(x*x*y + y*y*x) + ys) | (-0.20, -0.50) | (x*x + y*y) * k⁴> 12.0 |
Seashell #5 | (-x*x*y * sin(y*y + x*x) + xs, -y*x*x * cos(x*x + y*y) + ys) | (0.0, -4.0) | (x*x + y*y) * k⁴ > 16.0 |
Seashell #6 | (sin(x*x*y) + cos(y*y*x) + xs, sin(x*y*y) + cos(x*x*y) + ys) | (0.0, 0.0) | (x*x + y*y) * k > 12.0 |
Seashell #7 | (sin(y*y*x) + xs, cos(x*x*y) + ys) | (0.0, 0,0) | (x*x + y*y) * k > 16.0 |
Seashell #8 | (cos(x*x*y) + sin(-y*y*x) + xs, cos(-x*y*y) + sin(x*x*y) + ys) | (0.0, 0.0) | x*x + y*y > 12.0 / k² |
Seashell #9 | (sin(x*x*y*y) + xs, cos(y*y*x*x) + ys) | (0.0, 0,0) | y*y - y + x*x - x > 8.0 / k³ |
Seashell #10 | (cos(y*y*x) + sin(x*x*y) + xs, -cos(x*x*y) - sin(x*y*y) + ys) | (0.0, 0.0) | |x| + |y| > 3.8 / k³ |
Seashell #11 | (6.0 * cos(y) + 6.0 * sin(x) + xs, sin(y) + cos(x) + ys) | (0.8, 0.3) | x*x + y*y > 92.0 / k³ |
Seashell #12 | (sin(y*y*x) + xs, -sin(x*x*y) + ys) | (0.0, 0.0) | (x*x + y*y) * k > 12.0 |
Seashell #13 | (2.0 * x - cos(x*x*y) + sin(y*y*x) + xs, cos(x*y*y) + sin(-x*x*y) + ys) | (0.34, -0.67) | x*x + y*y > 12.0 / k³ |
Seashell #14 | (x + cos(x*x*y) + sin(-y*y*x) + xs, cos(-x*y*y) + sin(x*x*y) + ys) | (-1.0, 0.2) | x*x + y*y > 10.0 / k³ |
Seashell #15 | (sin(x*x*y) + cos(y*y*x) + xs, sin(x*y*y) + cos(x*x*y) + ys) | (0.0, 0.0) | x*x + y*y > 12.0 / k³ |
Seashell #16 | x*x + cos(y*y*x) + xs, 3.0 * y + sin(-x*x*y) + ys) | (0.7, -0.3) | (x*x + y*y > 16.0 / k³ |
Seashell #17 | (x + cos(y*y*x) + xs, 3.0 * y + sin(-x*x*y) + ys; | (0.0, 0.0) | (x*x + y*y > 16.0 / k³ |
Seashell #18 | (x + sin(x*x + y*y) + xs, cos(x*x*y) + ys) | (0.0, 0.0) | (x*x + y*y > 16.0 / k³ |
Seashell #19 | (x + sin(y*y*x) + xs, cos(y*y*x) + ys) | (0.30, 0.48) | (x*x + y*y > 16.0 / k³ |
Seashell #20 | (x + sin(y*y + x*x) + xs, x - cos(x*x + y*y) + ys) | (0.7, -0.8) | (x*x + y*y > 16.0 / k³ |
Seashell #21 | (x + sin(i - j) + sin(x*x*y) + x + xs, x + sin(x*y*y + x) + ys) | (0.70, -0.50) | x*x + y*y > 10.5 / k |
Seashell #22 | (sin(i - j) + sin(x*x*y) + x + xs, sin(x*y*y + x) + ys) | (0.0, 0.0) | x*x + y*y > 7.55 / k³ |
Seashell #23 | (x + sin(x*y*x) + xs, cos(y*x) + ys) | (-0.43, 0.7) | x*x + y*y > 16.0 / k³ |
Seashell #24 | (-cos(2.0* x*x*y) - sin(y*y*x) + xs, cos(x*y*y) - 2.0*sin(-x*x*y) + ys | (0.80, -0.70) | |x| + |y| > 4.0 / k⁴ |