Koch curve
include<iostream>
#include<graphics.h>
#include<math.h>
using namespace std;
void koch(int x1,int y1,int x2,int y2,int it){
float angle=603.12145/180;
int x3=(2x1+x2)/3;
int y3=(2y1+y2)/3;
int x4=(x1+2x2)/3;
int y4=(y1+2*y2)/3;
int x=x3+(x4-x3)*cos(angle)+(y4-y3)*sin(angle);
int y=y3-(x4-x3)*sin(angle)+(y4-y3)*cos(angle);
if(it>0){
koch(x1,y1,x3,y3,it-1);
koch(x3,y3,x,y,it-1);
koch(x,y,x4,y4,it-1);
koch(x4,y4,x2,y2,it-1);
}
else{
line(x1,y1,x3,y3);
line(x3,y3,x,y);
line(x,y,x4,y4);
line(x4,y4,x2,y2);
}
}
int main(){
int a;
int x1=100, y1=300, x2=500,y2=300;
initwindow(700,700);
cout<<"enter no of iteraton: ";
cin>>a;
koch(x1,y1,x2,y2,a);
delay(1000);
getch();
return 0;
}