Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <graphics.h>
- #include <cstdio>
- #include <iostream>
- #include <math.h>
- #define M_PI 3.14159265358979323846
- using namespace std;
- //KOCH
- void koch_fraktal(int h, int k, int szog){
- if(k==0){
- int x=round(h*cos(szog*M_PI/180));
- int y=round(h*sin(szog*M_PI/180));
- linerel(x, y);
- }
- else{
- koch_fraktal(h/3, k-1, szog);
- szog-=60;
- koch_fraktal(h/3, k-1, szog);
- szog+=120;
- koch_fraktal(h/3, k-1, szog);
- szog-=60;
- koch_fraktal(h/3, k-1, szog);
- }
- }
- //FA
- void fa_fraktal(int n, double szog, double h){
- if(n==0)
- return;
- //Sleep(100);
- int x=round(h*cos(szog*M_PI/180));
- int y=round(h*sin(szog*M_PI/180));
- linerel(x, y);
- int x1=getx();
- int y1=gety();
- fa_fraktal(n-1, szog-45, h/(1.5));
- moveto(x1, y1);
- fa_fraktal(n-1, szog+45, h/(1.5));
- }
- //MIKOWSKI
- void mink_fraktal(int n, int szog, int h){
- if(n==1){
- int x=round(h*cos(szog*M_PI/180));
- int y=round(h*sin(szog*M_PI/180));
- linerel(x, y);
- }
- else{
- mink_fraktal(n-1, szog, h/4);
- szog+=90;
- mink_fraktal(n-1, szog, h/4);
- szog-=90;
- mink_fraktal(n-1, szog, h/4);
- szog-=90;
- mink_fraktal(n-1, szog, h/4);
- //marad a szog
- mink_fraktal(n-1, szog, h/4);
- szog+=90;
- mink_fraktal(n-1, szog, h/4);
- szog+=90;
- mink_fraktal(n-1, szog, h/4);
- szog-=90;
- mink_fraktal(n-1, szog, h/4);
- }
- }
- //HOPEHELY
- void hopehely_rajzol(int h){
- int x1=getx();
- int y1=gety();
- int szog=-45;
- for(int i=0;i<4;i++){
- int x=round(h*cos(szog*M_PI/180));
- int y=round(h*sin(szog*M_PI/180));
- linerel(x, y);
- szog-=90;
- moveto(x1, y1);
- }
- }
- void hopehely(int n, int h){
- if(n==0)
- return;
- hopehely_rajzol(h);
- int x1=getx();
- int y1=gety();
- int szog=0;
- for(int i=0;i<4;i++){
- int x=round(h*cos(szog*M_PI/180));
- int y=round(h*sin(szog*M_PI/180));
- linerel(x, y);
- moveto(x1, y1);
- x=round(h/2*cos(szog*M_PI/180));
- y=round(h/2*sin(szog*M_PI/180));
- linerel(x, y);
- hopehely(n-1, h/3);
- moveto(x1, y1);
- szog-=90;
- }
- }
- int main()
- {
- initwindow(1800,1000, "ablak");
- //koch gorbe
- /*
- moveto(100, 900);
- koch_fraktal(2000, 6, 0);
- */
- //fa gorbe
- /*
- moveto(700, 900);
- fa_fraktal(15, -90, 300);
- */
- //mikowski gorbe
- /*
- moveto(100, 500);
- mink_fraktal(5, 0, 1600);
- */
- getch();
- closegraph();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement