/*     Program na kreslení fraktálu King's dream
 * --------------------------------------------------
 * Copyright (c) 1999 Martin Hinner, <mhi@penguin.cz>
 */
#include <stdio.h>
#include <math.h>
#include <conio.h>

#include "gr.c"        /* Grafická knihovna */

#define A -0.966918    /* Konstanty výpočtu */
#define B 2.879879
#define C 0.765145
#define D 0.744728

void main()
{
 float x,y,xn,yn;
 int i,j;

 initg();

 for (i=0;i<320;i++)              /* Vybílení plochy */
  for (j=0;j<200;j++)
   putpix(i,j,0x0f);

 x=1;
 y=1;

 while (!kbhit())                      /* Cyklus kreslení fraktálu */
  {
   putpix(x*70 + 160,y*70 + 100,0);
   xn = x;
   yn = y;

   x = sin(yn*B)+ C*sin(xn*B);          /* Primitivní výpočet */
   y = sin(xn*A)+ D*sin(yn*A);
  }


 getch();
 doneg();
}
