From 41ba9c89b071fbc9097daaa6810a6abe2ba5085b Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Mon, 16 Nov 2015 22:49:46 -0500 Subject: start new example for minic (mandelbrot) --- minic/test/mandel.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 minic/test/mandel.c (limited to 'minic') diff --git a/minic/test/mandel.c b/minic/test/mandel.c new file mode 100644 index 0000000..a310cf8 --- /dev/null +++ b/minic/test/mandel.c @@ -0,0 +1,82 @@ +#include +#include +#include + +void *win; +void *rnd; +int W; +int H; +int *col; + +plot(int x, int y) +{ + int n; + int fx; + int fy; + int zx; + int zy; + int nx; + int ny; + + fx = (x - W/2)*4000 / W; + fy = (y - H/2)*4000 / H; + zx = fx; + zy = fy; + + for (n=0; n<200; n++) { + if (zx*zx + zy*zy > 4000000) + break; + nx = (zx*zx)/1000 - (zy*zy)/1000 + fx; + ny = zx*zy/500 + fy; + zx = nx; + zy = ny; + } + n = 255 - col[n]; + SDL_SetRenderDrawColor(rnd, n, 130, n, 255); + SDL_RenderDrawPoint(rnd, x, y); + return 0; +} + +main() { + int c; + int n; + int x; + int y; + void *e; + int *ie; + + W = 400; + H = 400; + SDL_Init(32); + win = SDL_CreateWindow("Mandelbrot MiniC", 0, 0, W, H, 0); + rnd = SDL_CreateRenderer(win, -1, 0); + e = malloc(56); + ie = e; + col = malloc(201 * sizeof (int)); + c = 20; + for (n=0; n<200; n++) { + col[n] = c; + if (c > 255) + printf("%d\n", c); + c += (255-c)/8; + } + col[n] = 0; + + SDL_RenderClear(rnd); + for (x=0; x