Advertisement
Procy0n

Unit 1, Mandelbrot (v1)

Jul 22nd, 2011
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.69 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int const MAX_ITER = 256;
  4.  
  5. int main(void) {
  6.     int height, width;
  7.  
  8.     printf("Enter size of the fractal (height and width)\n");
  9.     scanf("%d\n%d", &width, &height);
  10.  
  11.     for (int y = 0; y < height; y++) {
  12.         for (int x = 0; x < width; x++) {
  13.             float x0 = (3.5 / width) * x - 2.5;
  14.             float y0 = (2.0 / height) * y - 1;
  15.             float xi, yi = 0.0;
  16.             int iteration = 0;
  17.  
  18.             while ((((xi * xi) + (yi * yi)) < 4) &&
  19.                    (iteration < MAX_ITER)) {
  20.                 float xtemp = (xi * xi) - (yi * yi) + x0;
  21.                 yi = (2 * xi * yi) + y0;
  22.                 xi = xtemp;
  23.                 iteration++;
  24.             }
  25.  
  26.             if (iteration == MAX_ITER)
  27.                 printf(" ");
  28.             else {
  29.                 switch ((iteration - 1) % 8) {
  30.                     case 0:
  31.                         printf(".");
  32.                         break;
  33.                     case 1:
  34.                         printf(":");
  35.                         break;
  36.                     case 2:
  37.                         printf("c");
  38.                         break;
  39.                     case 3:
  40.                         printf("o");
  41.                         break;
  42.                     case 4:
  43.                         printf("C");
  44.                         break;
  45.                     case 5:
  46.                         printf("O");
  47.                         break;
  48.                     case 6:
  49.                         printf("8");
  50.                         break;
  51.                     case 7:
  52.                         printf("@");
  53.                         break;
  54.                 }
  55.             }
  56.         printf("\n");
  57.         }
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement