Sunday, 3 March 2019

# FRACTALS IN C++ # # Mandelbrot Set in C++ # ULTIMATE VERSION=>3.0

===========================================================================
                                CODING



#include<iostream.h>
#include<conio.h>
#include<process.h>
#include<math.h>

void main()
{
  textbackground(1);
  clrscr();
  textcolor(0);
  long double rc,ic,iz,rz,rz1,iz1,i,j,a,k,x,y,xscale,yscale,Ox,Oy,xstart,xend,ystart,yend,Zoomxscale,Zoomyscale,n,m;
  char input;
  Ox=-0.5;
  Oy=0;
  xstart=1;
  xend=-2;
  ystart=1;
  yend=-1;
  Zoomxscale=0.21;
  Zoomyscale=0.14;
  xscale=80/(xstart-xend);
  yscale=24/(ystart-yend);
  n=1;
  m=1;
  while(1==1)
  {
    xscale=80/(xstart-xend);
    yscale=24/(ystart-yend);
/*    xstart=Ox+40*(1/xscale);
    xend=Ox-40*(1/xscale);
    ystart=Oy+13*(1/yscale);
    yend=Oy-13*(1/yscale);*/
    for(i=ystart;i>=yend;i=i-(1/yscale))
    {
       for(j=xstart;j>=xend;j=j-(1/xscale))
       {
  rc=j;
  ic=i;
  for(rz=iz=0,k=0;k<=100;k++)
  {
     rz1=rz*rz-iz*iz+rc;
     iz1=2*rz*iz+ic;
     if(abs(rz1)>=2 || abs(iz1)>=2)
     break;
     rz=rz1;
     iz=iz1;
  }
     x=(40-Ox*xscale)+rc*xscale+1;
     y=(12-Oy*yscale)-ic*yscale+1;
     if(x>=2 && x<=79 && y>=2 && y<=25)
     {
       gotoxy(x,y);
       if(k<=10)
   textcolor(11);
       else if(k<=20)
   textcolor(3);
       else if(k<=30)
   textcolor(9);
       else if(k<=40)
   textcolor(10);
       else if(k<=50)
   textcolor(14);
       else if(k<=60)
   textcolor(13);
       else if(k<=70)
   textcolor(5);
       else if(k<=80)
   textcolor(12);
       else if(k<=90)
   textcolor(4);
       else
   textcolor(0);
       cprintf("Û");
     }
       }
    }
    input=getch();
    if(input=='a')
    {
       Ox-=n*1/xscale;
       xstart-=n*1/xscale;
       xend-=n*1/xscale;
    }
    else if(input=='d')
    {
       Ox+=n*1/xscale;
       xstart+=n*1/xscale;
       xend+=n*1/xscale;
    }
    else if(input=='w')
    {
       Oy-=n*1/yscale;
       ystart+=n*1/yscale;
       yend+=n*1/yscale;
    }
    else if(input=='s')
    {
       Oy+=n*1/yscale;
       ystart-=n*1/yscale;
       yend-=n*1/yscale;
    }
    else if(input==' ')
    {
       Zoomxscale=0.21/m;
       Zoomyscale=0.14/m;
       xstart-=Zoomxscale;
       xend+=Zoomxscale;
       ystart-=Zoomyscale;
       yend+=Zoomyscale;
    }
    else if(input==13)
    {
       Zoomxscale=0.21/m;
       Zoomyscale=0.14/m;
       xstart+=Zoomxscale;
       xend-=Zoomxscale;
       ystart+=Zoomyscale;
       yend-=Zoomyscale;
    }
    else if(input=='1')
       n=1;
    else if(input=='2')
       n=2;
    else if(input=='3')
       n=3;
    else if(input=='4')
       n=4;
    else if(input=='5')
       n=5;
    else if(input=='6')
       n=6;
    else if(input=='7')
       n=7;
    else if(input=='8')
       n=8;
    else if(input=='9')
       n=9;
    else if(input=='~')
       m=1;
    else if(input=='!')
       m=100;
    else if(input=='@')
       m=1000;
    else if(input=='#')
       m=10000;
    else if(input=='$')
       m=100000;
    else if(input=='%')
       m=1000000;
    else if(input=='^')
       m=10000000;
    else if(input=='&')
       m=100000000;
    else if(input=='*')
       m=1000000000;
    else if(input=='(')
       m=10000000000;
    else if(input==27)
       exit(0);
    clrscr();
  }
}




===========================================================================


                                OUTPUT



Original:



Zoom Out:


Zoom In:



Moving Screen:



Zoom In:-









PLEASE CLICK HERE FOR OUTPUT VIDEO


Controls:

  • W=> UP
  • A=> Left
  • D=> Right
  • S=> Down
  • Space=> Zoom In
  • Enter=> Zoom Out
  • Esc=> End Program
  • {1,2,3,4,5,6,7,8,9}(any one at a time)=> Change No. of Lines Moving per Click while clinking W,A,S,D
  • Shift+{1,2,3,4,5,6,7,8,9,`}(any one at a Time)=> Change Zoom Scale:  Shift+1=> Zoom In/Out Quickly,......,Shift+9=> Zoom In/Out Slowly

Fractal VERSION=>2.0

===========================================================================
                                CODING



#include<iostream.h>
#include<conio.h>
#include<dos.h>
#include<process.h>
#include<stdio.h>
#include<math.h>

char STR[100][321];


void Fill_String();
void Print(int x,int y);
void Background_Clear();

void main()
{
    textbackground(1);
    clrscr();
    char a;
    int x,y;
//    Background_Clear();
    Fill_String();
    x=0;
    y=0;
    while(1==1)
    {
    Print(x,y);
    a=getch();
    if(a=='d' || a=='D')
    {
      if(x<192)
      x++;
    }
    else if(a=='w' || a=='W')
    {
      if(y>0)
      y--;
    }
    else if(a=='a' || a=='A')
    {
      if(x>0)
      x--;
    }
    else if(a=='s' || a=='S')
    {
      if(y<78)
      y++;
    }
    else if(a==27)
      exit(0);
    }
}

void Fill_String()
{
    sprintf(STR[0],"                                                                                                                                                                                                                                           ");
    sprintf(STR[1],"                                                                                                                                                                                                                                           ");
    sprintf(STR[2],"                                                                                                                                                                                                                                           ");
    sprintf(STR[3],"                                                                                                                                                                                                                                           ");
    sprintf(STR[4],"                                                                                                                                                                                                                                           ");
    sprintf(STR[5],"                                                                                                                                                                                                                                           ");
    sprintf(STR[6],"                                                                                                                                                                                                                                           ");
    sprintf(STR[7],"                                                                                                                                                                                                                                           ");
    sprintf(STR[8],"                                                                                                                                                                                                                                           ");
    sprintf(STR[9],"                                                                                                                                                                                                                                           ");
    sprintf(STR[10],"                                                                                                                                                                                                                                          ");
    sprintf(STR[11],"                                                                                                                                                                                                                                          ");
    sprintf(STR[12],"                                                                                                                                                                                                                                          ");
    sprintf(STR[13],"                                                                                                                                                                                                                                          ");
    sprintf(STR[14],"                                                                                                                                                                                                                                          ");
    sprintf(STR[15],"                                                                                                                                                                                                                                          ");
    sprintf(STR[16],"                                                                                                                                                                                                                                          ");
    sprintf(STR[17],"                                                                                                                                                                                                                                          ");
    sprintf(STR[18],"                                                                                                                                                                                                                                          ");
    sprintf(STR[19],"                                                                                                                                                                                                                                          ");
    sprintf(STR[20],"                                                                                                                                                                                                                                          ");
    sprintf(STR[21],"                                                                                                                                                                                                                                          ");
    sprintf(STR[22],"                                                                                                                                                                                                                                          ");
    sprintf(STR[23],"                                                                                                                                                                                                                                          ");
    sprintf(STR[24],"                                                                                                                                                                                                                                          ");
    sprintf(STR[25],"                                                                                                                                                                                                                                          ");
    sprintf(STR[26],"                                                                                                                                                                                                                                          ");
    sprintf(STR[27],"                                                                                                                                                                                                                                          ");
    sprintf(STR[28],"                                                                                                                                                                                                                                          ");
    sprintf(STR[29],"                                                                                                                                                                                                                                          ");
    sprintf(STR[30],"                                                                                                                                                                                                                                          ");
    sprintf(STR[31],"                                                                                                                                                                                                                                          ");
    sprintf(STR[32],"                                                                                                                                                                                                                                          ");
    sprintf(STR[33],"                                                                                                                                                                                                                                          ");
    sprintf(STR[34],"                                                                                                                                                                                                                                          ");
    sprintf(STR[35],"                                                                                                                                                                                                                                          ");
    sprintf(STR[36],"                                                                                                                                                                                                                                          ");
    sprintf(STR[37],"                                                                                                                                                                                                                                          ");
    sprintf(STR[38],"                                                                                                                                                                                                                                          ");
    sprintf(STR[39],"                                                                                                                                                                                                                                          ");
    sprintf(STR[40],"                                                                                                                                                                                                                                          ");
    sprintf(STR[41],"                                                                                                                                                                                                                                          ");
    sprintf(STR[42],"                                                                                                                                                                                                                                          ");
    sprintf(STR[43],"                                                                                                                                                                                                                                          ");
    sprintf(STR[44],"                                                                                                                                                                                                                                          ");
    sprintf(STR[45],"                                                                                                                                                                                                                                          ");
    sprintf(STR[46],"                                                                                                                                                                                                                                          ");
    sprintf(STR[47],"                                                                                                                                                                                                                                          ");
    sprintf(STR[48],"                                                                                                                                                                                                                                          ");
    sprintf(STR[49],"                                                                                                                                                                                                                                          ");
    sprintf(STR[50],"                                                                                                                                                                                                                                          ");
    sprintf(STR[51],"                                                                                                                                                                                                                                          ");
    sprintf(STR[52],"                                                                                                                                                                                                                                          ");
    sprintf(STR[53],"                                                                                                                                                                                                                                          ");
    sprintf(STR[54],"                                                                                                                                                                                                                                          ");
    sprintf(STR[55],"                                                                                                                                                                                                                                          ");
    sprintf(STR[56],"                                                                                                                                                                                                                                          ");
    sprintf(STR[57],"                                                                                                                                                                                                                                          ");
    sprintf(STR[58],"                                                                                                                                                                                                                                          ");
    sprintf(STR[59],"                                                                                                                                                                                                                                          ");
    sprintf(STR[60],"                                                                                                                                                                                                                                          ");
    sprintf(STR[61],"                                                                                                                                                                                                                                          ");
    sprintf(STR[62],"                                                                                                                                                                                                                                          ");
    sprintf(STR[63],"                                                                                                                                                                                                                                          ");
    sprintf(STR[64],"                                                                                                                                                                                                                                          ");
    sprintf(STR[65],"                                                                                                                                                                                                                                          ");
    sprintf(STR[66],"                                                                                                                                                                                                                                          ");
    sprintf(STR[67],"                                                                                                                                                                                                                                          ");
    sprintf(STR[68],"                                                                                                                                                                                                                                          ");
    sprintf(STR[69],"                                                                                                                                                                                                                                          ");
    sprintf(STR[70],"                                                                                                                                                                                                                                          ");
    sprintf(STR[71],"                                                                                                                                                                                                                                          ");
    sprintf(STR[72],"                                                                                                                                                                                                                                          ");
    sprintf(STR[73],"                                                                                                                                                                                                                                          ");
    sprintf(STR[74],"                                                                                                                                                                                                                                          ");
    sprintf(STR[75],"                                                                                                                                                                                                                                          ");
    sprintf(STR[76],"                                                                                                                                                                                                                                          ");
    sprintf(STR[77],"                                                                                                                                                                                                                                          ");
    sprintf(STR[78],"                                                                                                                                                                                                                                          ");
    sprintf(STR[79],"                                                                                                                                                                                                                                          ");
    sprintf(STR[80],"                                                                                                                                                                                                                                          ");
    sprintf(STR[81],"                                                                                                                                                                                                                                          ");
    sprintf(STR[82],"                                                                                                                                                                                                                                          ");
    sprintf(STR[83],"                                                                                                                                                                                                                                          ");
    sprintf(STR[84],"                                                                                                                                                                                                                                          ");
    sprintf(STR[85],"                                                                                                                                                                                                                                          ");
    sprintf(STR[86],"                                                                                                                                                                                                                                          ");
    sprintf(STR[87],"                                                                                                                                                                                                                                          ");
    sprintf(STR[88],"                                                                                                                                                                                                                                          ");
    sprintf(STR[89],"                                                                                                                                                                                                                                          ");
    sprintf(STR[90],"                                                                                                                                                                                                                                          ");
    sprintf(STR[91],"                                                                                                                                                                                                                                          ");
    sprintf(STR[92],"                                                                                                                                                                                                                                          ");
    sprintf(STR[93],"                                                                                                                                                                                                                                          ");
    sprintf(STR[94],"                                                                                                                                                                                                                                          ");
    sprintf(STR[95],"                                                                                                                                                                                                                                          ");
    sprintf(STR[96],"                                                                                                                                                                                                                                          ");
    sprintf(STR[97],"                                                                                                                                                                                                                                          ");
    sprintf(STR[98],"                                                                                                                                                                                                                                          ");
    sprintf(STR[99],"                                                                                                                                                                                                                                          ");
    sprintf(STR[100],"                                                                                                                                                                                                                                         ");
    double rc,ic,iz,rz,rz1,iz1,i,j,a,k,x,y;
    for(i=1;i>=-1;i=i-0.02)
    {
       for(j=1;j>=-2;j=j-0.009375)
       {
  rc=j;
  ic=i;
  for(rz=iz=0,k=0;k<=100;k++)
  {
     if(kbhit())
     exit(0);
     rz1=rz*rz-iz*iz+rc;
     iz1=2*rz*iz+ic;
     if(abs(rz1)>=2)
     break;
     rz=rz1;
     iz=iz1;
  }
     x=213.33333+rc*106.66666+1;
     y=50-ic*50+1;
     if(k<=10)
     STR[y][x]='.';
     else if(k<=20)
     STR[y][x]='_';
     else if(k<=30)
     STR[y][x]='-';
     else if(k<=40)
     STR[y][x]='=';
     else if(k<=50)
     STR[y][x]='#';
     else if(k<=60)
     STR[y][x]='[';
     else if(k<=70)
     STR[y][x]=']';
     else if(k<=80)
     STR[y][x]='*';
     else if(k<=90)
     STR[y][x]='&';
     else if(k<=100)
     STR[y][x]='Û';
       }
    }




}

void Print(int x,int y)
{
   int i,j;
   textcolor(0);
   for(i=2;i<=79;i++)
   {
      for(j=2;j<=24;j++)
      {
gotoxy(i,j);
if(STR[y+j-2][x+i-2]=='.')
{
   textcolor(11);
   cprintf("Û");
}
else if(STR[y+j-2][x+i-2]=='_')
{
   textcolor(3);
   cprintf("Û");
}
else if(STR[y+j-2][x+i-2]=='-')
{
   textcolor(9);
   cprintf("Û");
}
else if(STR[y+j-2][x+i-2]=='=')
{
   textcolor(10);
   cprintf("Û");
}
else if(STR[y+j-2][x+i-2]=='#')
{
   textcolor(14);
   cprintf("Û");
}
else if(STR[y+j-2][x+i-2]=='[')
{
   textcolor(13);
   cprintf("Û");
}
else if(STR[y+j-2][x+i-2]==']')
{
   textcolor(5);
   cprintf("Û");
}
else if(STR[y+j-2][x+i-2]=='*')
{
   textcolor(12);
   cprintf("Û");
}
else if(STR[y+j-2][x+i-2]=='&')
{
   textcolor(4);
   cprintf("Û");
}
else if(STR[y+j-2][x+i-2]=='Û')
{
   textcolor(0);
   cprintf("Û");
}
else
{
   textcolor(0);
   cprintf("Û");
}
      }
   }
}

void Background_Clear()
{
   int i,j;
   textbackground(0);
   for(i=2;i<=79;i++)
     for(j=2;j<=24;j++)
     {
gotoxy(i,j);
cprintf(" ");
     }
}




===========================================================================


                                OUTPUT











PLEASE CLICK HERE FOR OUTPUT VIDEO