SlideShare a Scribd company logo
1 of 45
1
INTRODUCTION
Fractal definition: According to Mandelbrot (the one who coined the term
fractal), fractal is a rough or fragmented geometric shape that can be split
into parts, each of which is (at least approximately) reduced-sized copy of
the whole. They are made by repeating a process. Fractals are found
everywhere around us in nature. Ferns, rocky coastline, seashells, galaxies,
branching of blood vessels, lightning are a few examples.
My fascination for fractals was aroused when I got the book "Chaos" by
James Gleick. Fractal is an amazing topic which combines maths and art.
Beautiful patterns are generated from simple iterative functions. I decided
that for my class 12 project, I should try and recreate certain fractals using
my current C++ knowledge. In this project, I have made burning ship fractal,
Barnsley fern, Julia set, Mandelbrot set, Newton's fractal and Sierpinski
triangle. Each fractal is based on different algorithms. I have made
separate functions (by the name of the fractal) for each of the fractals. A
separate program was written to write information and history of each
fractal into a text file. Further, I have added an option were the user can
enter the zoom values and explore the fractals more. The parameters
entered to draw and zoom the fractals are stored in binary files. Along with
making the fractal images, I have made a function which tracks the path
followed by a point when it is successively iterated under the given function.
I have included the output when the entire program is run sequentially that
is all the fractals are displayed one after the other. Towards the end, the
user may insert, delete or modify certain parameters (these tasks are
implemented by file handling). All the parameters entered are then
displayed.
I enjoyed the challenge of writing the code and the beautiful outputs that I
got.
2
Code
#include<fstream.h> //file handling
#include<conio.h>
#include<graphics.h>
#include<math.h> //sin, fabs, abs
#include<complex.h> //complex r(real, imaginary)
#include<stdlib.h> //rand()
#include<dos.h> //delay(milliseconds)
#include<stdio.h> //puts(string)
double pi=3.1415926536;
//NOTE: ALL THE FRACTAL IMAGES ARE REVERSED UPSIDE DOWN AS IN C++, y AXIS IS
POSITIVE DOWNWARDS
int w=639,h=479;
//julia
double cre_j=-0.7, cim_j=0.27015;
double newre_j,newim_j,oldre_j,oldim_j;
double zoom_j=1, X_j=0, Y_j=0;
int max_it_j=300;
//mandelbrot
double pre_m, pim_m;
double newre_m,newim_m,oldre_m,oldim_m;
double zoom_m=1, X_m=-0.5, Y_m=0;
int max_it_m=128;
//functions
void burning_ship();
void fern();
void juliadraw(int max_it_j, double zoom_j, double X_j, double Y_j, double
cre_j, double cim_j);
void mandelbrot_zoom(int max_it_m, double zoom_m, double X_m, double Y_m);
void mandelbrot_track();
void newton();
void sier_gask();
void filehandling_menu()
{
cout<<"n1. Insert parameters ";
cout<<"n2. Delete parameters ";
cout<<"n3. Modify parameters ";
cout<<"n4. Exit ";
}
class julia
{
public:
int max_it_j;
double X_j, Y_j, cre_j, cim_j, zoom_j;
3
void getjuliainfo(char draw='y')
{
cout<<"Enter zoom value"; cin>>zoom_j;
cout<<"Enter x coordinate"; cin>>X_j;
cout<<"Enter y coordinate"; cin>>Y_j;
cout<<"Enter real part of c"; cin>>cre_j;
cout<<"enter imaginary part of c"; cin>>cim_j;
cout<<"enter max iterations"; cin>>max_it_j;
if(draw=='y')
{
juliadraw(max_it_j, zoom_j, X_j, Y_j, cre_j, cim_j);
}
}
void putjuliainfo()
{
cout<<"nZoom : "<<zoom_j;
cout<<"nx coordinate : "<<X_j;
cout<<"ny coordinate : "<<Y_j;
cout<<"nreal part of c : "<<cre_j;
cout<<"nimaginary part of c : "<<cim_j;
cout<<"nIterations : "<<max_it_j;
}
}Julia;
void displayjuliainfo()
{
cout<<"nJULIA PARAMETERS ENTERED BY YOUn";
ifstream f;
f.open("Julia.dat", ios::binary);
while(f.read((char*)&Julia, sizeof(Julia)))
{
Julia.putjuliainfo();
cout<<'n';
}
f.close();
}
void createjuliainfo()
{
juliadraw(max_it_j, zoom_j, X_j, Y_j, cre_j, cim_j);
ofstream f;
f.open("Julia.dat", ios::binary);
char choice='y';
cout<<"Do you want to zoom (y/n)? "; cin>>choice;
for(;choice!='n';)
{
Julia.getjuliainfo();
f.write((char*)&Julia, sizeof(Julia));
cout<<"Do you want to zoom (y/n) ";
cin>>choice;
}
f.close();
}
void Insertjuliaparameters()
{
ofstream f;
f.open("Julia.dat", ios::app|ios::nocreate);
4
Julia.getjuliainfo('n');
f.write((char*)&Julia, sizeof(Julia));
f.close();
}
void Deletejuliaparameters()
{
int i=0, n;
cout<<"Which record do you want to delete (n value)? ";
cin>>n;
ifstream f;
ofstream ft;
f.open("Julia.dat", ios::binary);
ft.open("temp.dat", ios::binary);
while(f.read((char*)&Julia, sizeof(Julia)))
{
if(i==n-1)
{} //delete this record
else
ft.write((char*)&Julia, sizeof(Julia));
i++;
}
f.close();
ft.close();
remove("Julia.dat");
rename("temp.dat", "Julia.dat");
}
void Modifyjuliaparameters()
{
fstream f;
f.open("Julia.dat", ios::in|ios::out|ios::binary);
int n, i=0;
cout<<"Which record do you want to modify (n value)? ";
cin>>n;
long pos;
while(!f.eof())
{
pos=f.tellg(); //determine beginning pos of record
f.read((char*)&Julia, sizeof(Julia));
if(i==n-1) //this record is to be modified
{
Julia.getjuliainfo('n');
f.seekg(pos);
f.write((char*)&Julia, sizeof(Julia));
break;
}
if(f.eof()) break;
i++;
}
}
5
class mandel
{
public:
int max_it_m;
double zoom_m, X_m, Y_m;
void getmandelinfo()
{
cout<<"Enter zoom value"; cin>>zoom_m;
cout<<"Enter x coordinate"; cin>>X_m;
cout<<"Enter y coordinate"; cin>>Y_m;
cout<<"enter max iterations"; cin>>max_it_m;
mandelbrot_zoom(max_it_m, zoom_m, X_m, Y_m);
}
void putmandelinfo()
{
cout<<"nZoom : "<<zoom_m;
cout<<"nx coordinate : "<<X_m;
cout<<"ny coordinate : "<<Y_m;
cout<<"nIterations : "<<max_it_m;
}
}Mandel;
void displaymandelinfo()
{
ifstream f;
f.open("Mandel.dat", ios::binary);
while(f.read((char*)&Mandel, sizeof(Mandel)))
{
Mandel.putmandelinfo();
cout<<'n';
}
f.close();
}
void createmandelinfo()
{
mandelbrot_zoom(max_it_m, zoom_m, X_m, Y_m);
ofstream f;
f.open("Mandel.dat", ios::binary);
char choice='y';
cout<<"Do you want to zoom (y/n)? "; cin>>choice;
for(;choice!='n';)
{
Mandel.getmandelinfo();
f.write((char*)&Mandel, sizeof(Mandel));
cout<<"Do you want to zoom (y/n) ";
cin>>choice;
}
f.close();
}
void brief_history()
{
char l[200];
int i=0;
ifstream f;
6
f.open("fractal_history.txt");
while(f.getline(l,200))
{
if(i==23) break;
puts(l);
i++;
}
f.close();
}
void burn_theory()
{
char l[200];
ifstream f;
f.open("burnship_theory.txt");
while(f.getline(l,200))
{
puts(l);
}
f.close();
}
void fern_theory()
{
char l[200];
ifstream f;
f.open("fern_theory.txt");
while(f.getline(l,200))
{
puts(l);
}
f.close();
}
void julia_theory()
{
char l[200];
ifstream f;
f.open("julia_theory.txt");
while(f.getline(l,200))
{
puts(l);
}
f.close();
}
void mandelbrot_theory()
{
char l[200];
ifstream f;
f.open("mandel_theory.txt");
while(f.getline(l,200))
{
puts(l);
}
f.close();
}
7
void newton_theory()
{
char l[200];
ifstream f;
f.open("newton_theory.txt");
while(f.getline(l,200))
{
puts(l);
}
f.close();
}
void sierpinski_theory()
{
char l[200];
ifstream f;
f.open("sier_theory.txt");
while(f.getline(l,200))
{
puts(l);
}
f.close();
}
void initialise() //initialise graphics
{
int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "C:turboc3bgi");
setcolor(1); //blue
}
void project_cover()
{
initialise();
setcolor(11); //light cyan
settextstyle(5,0,5);
outtextxy(20, 150, "Welcome to the world of fractals");
getch();
closegraph();
}
void main()
{
project_cover();
clrscr();
brief_history();
getch();
int choice_fractal;
clrscr();
cout<<"MENUnn";
cout<<"1. Sequential run";
cout<<"n2. Burning ship fractal";
cout<<"n3. Barnsley fern";
8
cout<<"n4. Julia set";
cout<<"n5. Mandelbrot set";
cout<<"n6. Newton's fractal";
cout<<"n7. Sierpinski trianglen";
cin>>choice_fractal;
if(choice_fractal!=1)
{
switch(choice_fractal)
{
case 2:
clrscr();
burn_theory();
getch();
initialise();
burning_ship();
getch();
closegraph();
break;
case 3:
clrscr();
fern_theory();
getch();
initialise();
fern();
getch();
closegraph();
break;
case 4:
clrscr();
julia_theory();
getch();
initialise();
createjuliainfo();
getch();
closegraph();
break;
case 5:
clrscr();
mandelbrot_theory();
getch();
initialise();
createmandelinfo();
getch();
closegraph();
break;
case 6:
clrscr();
newton_theory();
getch();
initialise();
newton();
getch();
closegraph();
break;
9
case 7:
clrscr();
sierpinski_theory();
getch();
initialise();
sier_gask();
getch();
closegraph();
break;
}
}
else
{
clrscr();
burn_theory();
getch();
initialise();
burning_ship();
getch();
closegraph();
clrscr();
fern_theory();
getch();
initialise();
fern();
getch();
closegraph();
clrscr();
julia_theory();
getch();
initialise();
createjuliainfo();
getch();
closegraph();
clrscr();
mandelbrot_theory();
getch();
initialise();
createmandelinfo();
getch();
closegraph();
initialise();
mandelbrot_track();
getch();
closegraph();
clrscr();
newton_theory();
getch();
initialise();
newton();
10
getch();
closegraph();
clrscr();
sierpinski_theory();
getch();
initialise();
sier_gask();
getch();
closegraph();
}
clrscr();
int choice_file=0;
if((choice_fractal==1)||(choice_fractal==4)) //Julia
{
displayjuliainfo();
while(choice_file!=4)
{
getch();
cout<<endl;
filehandling_menu();
cout<<"nEnter your choice ";
cin>>choice_file;
switch(choice_file)
{
case 1: Insertjuliaparameters();
displayjuliainfo();
break;
case 2: Deletejuliaparameters();
displayjuliainfo();
break;
case 3: Modifyjuliaparameters();
displayjuliainfo();
break;
}
}
cout<<"nFinally ... ";
displayjuliainfo();
getch();
}
if((choice_fractal==1)||(choice_fractal==5)) //Mandelbrot
{
clrscr();
cout<<"MANDELBROT PARAMETERS ENTERED BY YOUn";
displaymandelinfo();
getch();
}
initialise();
setcolor(14); //Yellow
settextstyle(5, 0, 5); //settextstyle(int font,int dir, int size)
outtextxy(getmaxx()/2-150, getmaxy()/2-80, "THANK YOU");
getch();
}
11
//burning ship
void burning_ship()
{
double pre, pim;
double newre,newim,oldre,oldim;
double zoom=0.7;
for(int x=0;x<w;x++)
for(int y=0;y<h;y++)
{
pre=1.5*(x-w/2)/(0.5*w*zoom);
pim=(y-h/2)/(0.5*h*zoom);
oldre=oldim=newre=newim=0;
int i;
for(i=0;i<300;i++)
{
oldre=newre;
oldim=newim;
newre=fabs(oldre)*fabs(oldre)-fabs(oldim)*fabs(oldim)+pre;
newim=2*fabs(oldre)*fabs(oldim)+pim; //fabs for float
if(newre*newre+newim*newim>4) //mod of the real number
should not exceed 2
{
putpixel(x,y,(i));
break;
}
}if(kbhit()){break;}
}
}
//fern
void fern()
{
int x,y;
double oldcart_x=0,newcart_x=0, oldcart_y=0,newcart_y=0;
int z=1;
for(long int i=0;i<500000;i++)
{
int r=rand()%100+1;
if(r==1)
{
newcart_x=0;
newcart_y=0.16*oldcart_y;
}
else if((r>1)&&(r<=86))
{
newcart_x=0.85*oldcart_x+0.04*oldcart_y;
newcart_y=-0.04*oldcart_x+0.85*oldcart_y+1.6;
}
else if((r>86)&&(r<=93))
{
12
newcart_x=0.2*oldcart_x-0.26*oldcart_y;
newcart_y=0.23*oldcart_x+0.22*oldcart_y+1.6;
}
else
{
newcart_x=-0.15*oldcart_x+0.28*oldcart_y;
newcart_y=0.26*oldcart_x+0.24*oldcart_y+0.44;
}
if(kbhit()){break;}
oldcart_x=newcart_x;
oldcart_y=newcart_y;
putpixel((w*newcart_x+2.7*w)/(2.7*2*z), (h*newcart_y/10*z),2);
//putpixel(x,y,colour)
}
}
//julia
void juliadraw(int max_it_j, double zoom_j, double X_j, double Y_j, double
cre_j, double cim_j)
{ initialise();
{
for(int x=0;x<w;x++)
for(int y=0;y<h;y++)
{
newre_j=1.5*(x-w/2)/(0.5*w*zoom_j)+X_j;
newim_j=(y-h/2)/(0.5*h*zoom_j)+Y_j;
int i;
for(i=0;i<max_it_j;i++)
{
oldre_j=newre_j;
oldim_j=newim_j;
newre_j=oldre_j*oldre_j-oldim_j*oldim_j+cre_j;
newim_j=2*oldre_j*oldim_j+cim_j;
if(newre_j*newre_j+newim_j*newim_j>4)
{
putpixel(x,y,sqrt(i));
break;
}
}if(kbhit()){break;}
}
}
getch();
closegraph();
}
// mandelbrot zoom
void mandelbrot_zoom(int max_it_m, double zoom_m, double X_m, double Y_m)
{
initialise();
for(int x=0;x<w;x++)
for(int y=0;y<h;y++)
{
pre_m=1.5*(x-w/2)/(0.5*w*zoom_m)+X_m;
13
pim_m=(y-h/2)/(0.5*h*zoom_m)+Y_m;
oldre_m=oldim_m=newre_m=newim_m=0;
int i;
for(i=0;i<max_it_m;i++)
{
oldre_m=newre_m;
oldim_m=newim_m;
newre_m=oldre_m*oldre_m-oldim_m*oldim_m+pre_m;
newim_m=2*oldre_m*oldim_m+pim_m;
if(newre_m*newre_m+newim_m*newim_m>4)
{
putpixel(x,y,sqrt(i));
break;
}
} if(kbhit()){break;}
}
getch();
closegraph();
}
// mandelbrot track a point
void mandelbrot_track()
{
double pre, pim;
double newre,newim,oldre,oldim;
int x=200,y=300;
pre=1.5*(x-w/2)/(0.5*w); //pre=-0.558685
pim=(y-h/2)/(0.5*h); //pim=0.254697
oldre=oldim=newre=newim=0;
int i;
cout<<"Tracking the journey of a point "<<"("<<pre<<", "<<pim<<")";
for(i=0;i<500;i++)
{
oldre=newre;
oldim=newim;
newre=oldre*oldre-oldim*oldim+pre;
newim=2*oldre*oldim+pim;
if(i==1)
setcolor(4); //all pts are red except 1st
outtextxy((w*newre+w*1.5)/3,(newim*h+h)/2,"*");
delay(200);
if(kbhit())
{break;}
}
}
14
//newton
void newton()
{
double newre,newim;
complex r1(1.0,0.0);
complex r2(-0.5,sin(2*pi/3));
complex r3(-0.5,-sin(2*pi/3));
double conv=0.00001;
for(int x=0;x<w;x++)
for(int y=0;y<h;y++)
{
newre=(x-w/2)/(0.1*w);
newim=(y-h/2)/(0.1*w);
complex z(newre,newim);
int i;
for(i=0;i<300;i++)
{
while((abs(z-r1)>=conv)&&(abs(z-r2)>=conv)&&(abs(z-
r3)>=conv))
{
z=z-(z*z*z-1.0)/(3*z*z);
if(kbhit()){break;}
}
if(abs(z-r1)<conv)
{
putpixel(x,y,1); //blue
break;
}
if(abs(z-r2)<conv)
{
putpixel(x,y,2);
break;
}
if(abs(z-r3)<conv)
{
putpixel(x,y,4);
break;
}
if(kbhit())
{
break;
}
}if(kbhit()){break;}
}
}
//sierpinski gasket
void sier_gask()
{
line(10,10,510,10);
line(10,10,260,sqrt(3)*250);
line(510,10,260,sqrt(3)*250); //equilateral triangle
15
int v1[2]={10,10};
int v2[2]={510,10};
int v3[3]={260,sqrt(3)*250}; //vertices
int vertex;
int newx,newy;
int x=rand()%600+10;
int y=rand()%400+10;
for(long int i=0;i<900000;i++)
{
vertex=rand()%3+1;
if(vertex==1)
{
newx=(x+v1[0])/2;
newy=(y+v1[1])/2;
putpixel(newx,newy,15);
}
if(vertex==2)
{
newx=(x+v2[0])/2;
newy=(y+v2[1])/2;
putpixel(newx,newy,15);
}
if(vertex==3)
{
newx=(x+v3[0])/2;
newy=(y+v3[1])/2;
putpixel(newx,newy,15);
}
x=newx;
y=newy;
}
}
16
Separate program to write history and information
of each fractal into a text file
#include<fstream.h>
#include<conio.h>
#include<stdio.h>
void create()
{
ofstream f;
f.open("fractal_history.txt");
int i=0;
char l[200];
for(i=0;i<25;i++)
{
gets(l);
f<<l<<endl;
}
f.close();
}
void display()
{
char l[200];
ifstream f;
f.open("fractal_history.txt");
while(f.getline(l,200))
{
puts(l);
}
f.close();
}
void main()
{
clrscr();
create();
display();
getch();
}
17
Program Output
18
19
1. Burning Ship
20
2. Barnsley Fern
21
3. Julia Set
22
Julia set continued
23
Julia set continued
24
4. Mandelbrot Set
25
Mandelbrot set continued
26
Mandelbrot set continued
27
5. Tracking a point in the Mandelbrot Set
28
6. Newton’s Fractal
29
7. Sierpinski Triangle
30
8. File Handling
31
File handling continued
32
File handling continued
33
File handling continued
34
Some More Fractal Images
Mandelbrot Set
35
Mandelbrot set images continued
36
Mandelbrot set images continued
37
Mandelbrot set images continued
38
Mandelbrot set images continued
39
Julia Set
40
Julia set images continued
41
Julia set images continued
42
Julia set images continued
43
Julia set images continued
44
Julia set images continued
45
Bibliography
http://en.wikipedia.org/wiki/Fractal
http://en.wikipedia.org/wiki/Burning_Ship_fractal
http://en.wikipedia.org/wiki/Barnsley_fern
http://en.wikipedia.org/wiki/Julia_set
http://en.wikipedia.org/wiki/Mandelbrot_set
http://en.wikipedia.org/wiki/Newton_fractal
http://en.wikipedia.org/wiki/Sierpinski_triangle
http://lodev.org/cgtutor/juliamandelbrot.html
http://www.mitchr.me/SS/newton/index.html
http://webserv.jcu.edu/math/vignettes/Julia.htm
https://prezi.com/v_njq-fu0ucd/fractals-for-dummies/
http://www.fractal.org/Bewustzijns-Besturings-
Model/Fractals-Useful-Beauty.htm
http://fractalfoundation.org/resources/what-are-fractals/

More Related Content

What's hot

From java to kotlin beyond alt+shift+cmd+k - Droidcon italy
From java to kotlin beyond alt+shift+cmd+k - Droidcon italyFrom java to kotlin beyond alt+shift+cmd+k - Droidcon italy
From java to kotlin beyond alt+shift+cmd+k - Droidcon italyFabio Collini
 
Google Guava - Core libraries for Java & Android
Google Guava - Core libraries for Java & AndroidGoogle Guava - Core libraries for Java & Android
Google Guava - Core libraries for Java & AndroidJordi Gerona
 
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night TurinAsync code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night TurinFabio Collini
 
Kotlin collections
Kotlin collectionsKotlin collections
Kotlin collectionsMyeongin Woo
 
Google Guava for cleaner code
Google Guava for cleaner codeGoogle Guava for cleaner code
Google Guava for cleaner codeMite Mitreski
 
Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018
Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018
Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018Codemotion
 
Fun never stops. introduction to haskell programming language
Fun never stops. introduction to haskell programming languageFun never stops. introduction to haskell programming language
Fun never stops. introduction to haskell programming languagePawel Szulc
 
The core libraries you always wanted - Google Guava
The core libraries you always wanted - Google GuavaThe core libraries you always wanted - Google Guava
The core libraries you always wanted - Google GuavaMite Mitreski
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to SwiftGiordano Scalzo
 
Ian 20150116 java script oop
Ian 20150116 java script oopIan 20150116 java script oop
Ian 20150116 java script oopLearningTech
 
MiamiJS - The Future of JavaScript
MiamiJS - The Future of JavaScriptMiamiJS - The Future of JavaScript
MiamiJS - The Future of JavaScriptCaridy Patino
 
Object Oriented JavaScript
Object Oriented JavaScriptObject Oriented JavaScript
Object Oriented JavaScriptMichael Girouard
 

What's hot (20)

From java to kotlin beyond alt+shift+cmd+k - Droidcon italy
From java to kotlin beyond alt+shift+cmd+k - Droidcon italyFrom java to kotlin beyond alt+shift+cmd+k - Droidcon italy
From java to kotlin beyond alt+shift+cmd+k - Droidcon italy
 
Kotlin class
Kotlin classKotlin class
Kotlin class
 
Google Guava
Google GuavaGoogle Guava
Google Guava
 
Google Guava - Core libraries for Java & Android
Google Guava - Core libraries for Java & AndroidGoogle Guava - Core libraries for Java & Android
Google Guava - Core libraries for Java & Android
 
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night TurinAsync code on kotlin: rx java or/and coroutines - Kotlin Night Turin
Async code on kotlin: rx java or/and coroutines - Kotlin Night Turin
 
Sneaking inside Kotlin features
Sneaking inside Kotlin featuresSneaking inside Kotlin features
Sneaking inside Kotlin features
 
What's New In C# 7
What's New In C# 7What's New In C# 7
What's New In C# 7
 
Kotlin collections
Kotlin collectionsKotlin collections
Kotlin collections
 
Google guava
Google guavaGoogle guava
Google guava
 
Google Guava for cleaner code
Google Guava for cleaner codeGoogle Guava for cleaner code
Google Guava for cleaner code
 
Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018
Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018
Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018
 
Fun never stops. introduction to haskell programming language
Fun never stops. introduction to haskell programming languageFun never stops. introduction to haskell programming language
Fun never stops. introduction to haskell programming language
 
Kotlin Generation
Kotlin GenerationKotlin Generation
Kotlin Generation
 
The core libraries you always wanted - Google Guava
The core libraries you always wanted - Google GuavaThe core libraries you always wanted - Google Guava
The core libraries you always wanted - Google Guava
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to Swift
 
Ian 20150116 java script oop
Ian 20150116 java script oopIan 20150116 java script oop
Ian 20150116 java script oop
 
C# 7
C# 7C# 7
C# 7
 
Java.lang.object
Java.lang.objectJava.lang.object
Java.lang.object
 
MiamiJS - The Future of JavaScript
MiamiJS - The Future of JavaScriptMiamiJS - The Future of JavaScript
MiamiJS - The Future of JavaScript
 
Object Oriented JavaScript
Object Oriented JavaScriptObject Oriented JavaScript
Object Oriented JavaScript
 

Viewers also liked

Monte carlo pi
Monte carlo piMonte carlo pi
Monte carlo pirpiitcbme
 
Interpolation graph c++
Interpolation graph c++Interpolation graph c++
Interpolation graph c++rpiitcbme
 
Diffraction cover
Diffraction coverDiffraction cover
Diffraction coverrpiitcbme
 
Fractal extra
Fractal extraFractal extra
Fractal extrarpiitcbme
 
Diffraction report-3-2015-mac (3)
Diffraction report-3-2015-mac (3)Diffraction report-3-2015-mac (3)
Diffraction report-3-2015-mac (3)rpiitcbme
 
Fractal robot
Fractal robotFractal robot
Fractal robotGU Gan
 
Cover cs project
Cover cs projectCover cs project
Cover cs projectrpiitcbme
 
Fractal Robots(difference between nano robots and fractal robots)
Fractal Robots(difference between nano robots and fractal robots)Fractal Robots(difference between nano robots and fractal robots)
Fractal Robots(difference between nano robots and fractal robots)Adams Engineering College
 
MHD power generator ppt
MHD power generator ppt MHD power generator ppt
MHD power generator ppt nilesh choubey
 
Fractal robots.ppt
Fractal robots.pptFractal robots.ppt
Fractal robots.pptchinkyshruz
 
Mhd power generation
Mhd power  generationMhd power  generation
Mhd power generationHiren Mahida
 
Magneto hydro dynamic power generation( PDPU)
Magneto hydro dynamic power generation( PDPU)Magneto hydro dynamic power generation( PDPU)
Magneto hydro dynamic power generation( PDPU)Pratibha Singh
 
Fractal presentation for the meet up
Fractal presentation for the meet upFractal presentation for the meet up
Fractal presentation for the meet upMark Williams
 

Viewers also liked (15)

Monte carlo pi
Monte carlo piMonte carlo pi
Monte carlo pi
 
Interpolation graph c++
Interpolation graph c++Interpolation graph c++
Interpolation graph c++
 
Diffraction cover
Diffraction coverDiffraction cover
Diffraction cover
 
Fractal extra
Fractal extraFractal extra
Fractal extra
 
Diffraction report-3-2015-mac (3)
Diffraction report-3-2015-mac (3)Diffraction report-3-2015-mac (3)
Diffraction report-3-2015-mac (3)
 
Fractal robot
Fractal robotFractal robot
Fractal robot
 
Es 1 proj 2
Es 1 proj 2Es 1 proj 2
Es 1 proj 2
 
Cover cs project
Cover cs projectCover cs project
Cover cs project
 
MHD power generation
MHD power generationMHD power generation
MHD power generation
 
Fractal Robots(difference between nano robots and fractal robots)
Fractal Robots(difference between nano robots and fractal robots)Fractal Robots(difference between nano robots and fractal robots)
Fractal Robots(difference between nano robots and fractal robots)
 
MHD power generator ppt
MHD power generator ppt MHD power generator ppt
MHD power generator ppt
 
Fractal robots.ppt
Fractal robots.pptFractal robots.ppt
Fractal robots.ppt
 
Mhd power generation
Mhd power  generationMhd power  generation
Mhd power generation
 
Magneto hydro dynamic power generation( PDPU)
Magneto hydro dynamic power generation( PDPU)Magneto hydro dynamic power generation( PDPU)
Magneto hydro dynamic power generation( PDPU)
 
Fractal presentation for the meet up
Fractal presentation for the meet upFractal presentation for the meet up
Fractal presentation for the meet up
 

Similar to Fractal proj report 2

Столпы функционального программирования для адептов ООП, Николай Мозговой
Столпы функционального программирования для адептов ООП, Николай МозговойСтолпы функционального программирования для адептов ООП, Николай Мозговой
Столпы функционального программирования для адептов ООП, Николай МозговойSigma Software
 
Beauty and Power of Go
Beauty and Power of GoBeauty and Power of Go
Beauty and Power of GoFrank Müller
 
Functional Reactive Programming without Black Magic (UIKonf 2015)
Functional Reactive Programming without Black Magic (UIKonf 2015)Functional Reactive Programming without Black Magic (UIKonf 2015)
Functional Reactive Programming without Black Magic (UIKonf 2015)Jens Ravens
 
Lambda? You Keep Using that Letter
Lambda? You Keep Using that LetterLambda? You Keep Using that Letter
Lambda? You Keep Using that LetterKevlin Henney
 
Building android apps with kotlin
Building android apps with kotlinBuilding android apps with kotlin
Building android apps with kotlinShem Magnezi
 
Functional programming using underscorejs
Functional programming using underscorejsFunctional programming using underscorejs
Functional programming using underscorejs偉格 高
 
Functional Programming You Already Know
Functional Programming You Already KnowFunctional Programming You Already Know
Functional Programming You Already KnowKevlin Henney
 
golang_getting_started.pptx
golang_getting_started.pptxgolang_getting_started.pptx
golang_getting_started.pptxGuy Komari
 
The things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaThe things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaKonrad Malawski
 
03 Geographic scripting in uDig - halfway between user and developer
03 Geographic scripting in uDig - halfway between user and developer03 Geographic scripting in uDig - halfway between user and developer
03 Geographic scripting in uDig - halfway between user and developerAndrea Antonello
 
designpatterns_blair_upe.ppt
designpatterns_blair_upe.pptdesignpatterns_blair_upe.ppt
designpatterns_blair_upe.pptbanti43
 
Geeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes
 

Similar to Fractal proj report 2 (20)

Столпы функционального программирования для адептов ООП, Николай Мозговой
Столпы функционального программирования для адептов ООП, Николай МозговойСтолпы функционального программирования для адептов ООП, Николай Мозговой
Столпы функционального программирования для адептов ООП, Николай Мозговой
 
Beauty and Power of Go
Beauty and Power of GoBeauty and Power of Go
Beauty and Power of Go
 
Functional Reactive Programming without Black Magic (UIKonf 2015)
Functional Reactive Programming without Black Magic (UIKonf 2015)Functional Reactive Programming without Black Magic (UIKonf 2015)
Functional Reactive Programming without Black Magic (UIKonf 2015)
 
Managing Memory
Managing MemoryManaging Memory
Managing Memory
 
Lambda? You Keep Using that Letter
Lambda? You Keep Using that LetterLambda? You Keep Using that Letter
Lambda? You Keep Using that Letter
 
Building android apps with kotlin
Building android apps with kotlinBuilding android apps with kotlin
Building android apps with kotlin
 
Cpp tutorial
Cpp tutorialCpp tutorial
Cpp tutorial
 
Functional programming using underscorejs
Functional programming using underscorejsFunctional programming using underscorejs
Functional programming using underscorejs
 
Functional Programming You Already Know
Functional Programming You Already KnowFunctional Programming You Already Know
Functional Programming You Already Know
 
Easy R
Easy REasy R
Easy R
 
Object-oriented Basics
Object-oriented BasicsObject-oriented Basics
Object-oriented Basics
 
Txjs
TxjsTxjs
Txjs
 
golang_getting_started.pptx
golang_getting_started.pptxgolang_getting_started.pptx
golang_getting_started.pptx
 
The things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaThe things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and Akka
 
03 Geographic scripting in uDig - halfway between user and developer
03 Geographic scripting in uDig - halfway between user and developer03 Geographic scripting in uDig - halfway between user and developer
03 Geographic scripting in uDig - halfway between user and developer
 
ES6: The Awesome Parts
ES6: The Awesome PartsES6: The Awesome Parts
ES6: The Awesome Parts
 
designpatterns_blair_upe.ppt
designpatterns_blair_upe.pptdesignpatterns_blair_upe.ppt
designpatterns_blair_upe.ppt
 
CppTutorial.ppt
CppTutorial.pptCppTutorial.ppt
CppTutorial.ppt
 
ES6 is Nigh
ES6 is NighES6 is Nigh
ES6 is Nigh
 
Geeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes - Le langage Go
Geeks Anonymes - Le langage Go
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡anilsa9823
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfAnalytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfSwapnil Therkar
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Cultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptxCultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptxpradhanghanshyam7136
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physicsvishikhakeshava1
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Caco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionCaco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionPriyansha Singh
 

Recently uploaded (20)

CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfAnalytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Cultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptxCultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptx
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Munirka Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physics
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Caco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionCaco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorption
 

Fractal proj report 2