Bài này vẽ mặt Mandel nhưng kết quả không thấy gì? có phải phải chạy trên DOS?
Code:
/*mandel.c*/
/*tao hinh mandelbrot*/
#include <graphics.h>
#define XMAX 100
#define YMAX 100
#define MAXCOUNT 16
main()
{
int x, y; /*vi tri diem anh*/
float xscale, yscale; /*khoang cach diem anh*/
float left, top; /*goc trai tren*/
float xside, yside; /*chieu dai cac mat*/
float zx, zy; /*phan thuc phan ao cua z*/
float cx, cy; /*phan thuc phan ao cua c*/
float tempx;
int count; /*so lan lap*/
int driver, mode;
left = -2.0;
top = 1.25;
xside = 2.5;
yside = -2.5;
xscale = xside / XMAX;
yscale = yside / YMAX;
driver = EGA;
mode = EGAHI;
initgraph (&driver, &mode, "C:\\tc\\lib");
/*ve vien*/
rectangle (0, 0, XMAX + 1, YMAX + 1);
for (x = 1; x < XMAX; x++) {
cx = x * xscale + left;
cy = y * yscale + top;
zx = zy = 0;
count = 0;
while ((zx*zx + zy*zy) < 4 && count < MAXCOUNT) {
tempx = zx*zx-zy*zy+cx; /*z = z*z+c*/
zy = 2*zx*zy + cy;
zx = tempx;
}
count++;
putpixel (x, y, count);
if (kbhit()) {
exit(0);
}
}
getche();
closegraph();
}