Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <graphics.h>
- #include <cmath>
- #define pi 3.141592
- void koch(int x1, int y1, int l, double u, int n)
- {
- int x2=x1+(l/3)*cos(u),y2=y1-(l/3)*sin(u);
- int x3=x2+(l/3)*cos(u+pi/3),y3=y2-(l/3)*sin(u+pi/3);
- int x4=x2+(l/3)*cos(u),y4=y2-(l/3)*sin(u);
- int x5=x4+(l/3)*cos(u),y5=y4-(l/3)*sin(u);
- if (n==0)
- line(x1,y1,x5,y5);
- else
- {
- koch(x1,y1,l/3,u,n-1);
- koch(x2,y2,l/3,u+pi/3,n-1);
- koch(x3,y3,l/3,u-pi/3,n-1);
- koch(x4,y4,l/3,u,n-1);
- }
- }
- void kochF(int x1, int y1, int l, int n)
- {
- koch(x1,y1,l,0,n);
- koch(x1+l,y1,l,-2*pi/3,n);
- koch(x1+l/2,y1+l*sqrt(3)/2,l,2*pi/3,n);
- }
- int main()
- {
- initwindow(900, 700);
- setcolor(13);
- kochF(150,200,550,4);
- getch();
- cleardevice();
- closegraph();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement