Skip to content
DragonlordWarlock.com

DragonlordWarlock.com

Home of the Dragonlord Warlock/Norin Nightfire

  • Home
  • About Me
  • Poetry
  • Photos
  • Programming
  • Wallpaper
  • Norin Nightfire
  • Privacy Policy
  • Home
  • Fractal Tree C++ Logo Output

Fractal Tree C++ Logo Output

Posted on 2012-12-112014-10-01 By Administrator
c++, programming

#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <string>

usingnamespace std;

class ifstree
{
public:
    float minfactor;
    float maxfactor;
    float bend;
    float angle;
    float initlen;
    int fdim;
    ifstree();
    void turnleft(float ang)
    {
        printf("lt %4.2f\n", ang);
    };
    void turnright(float ang)
    {
        printf("rt %4.2f\n", ang);
    };
    void movefw(float value)
    {
        printf("fw %4.2f\n", value);
    };
    void movebw(float value)
    {
        printf("bw %4.2f\n", value);
    };
    float randfactor();
    void draw();
    void draw(float linelen,int depth);
};

ifstree::ifstree()
{
    minfactor =(float)1/3;
    maxfactor =(float)2/3;
    bend =8.0;
    angle =40.0;
    fdim =8;
    srand( time(NULL));
    initlen =100.0;
}

void ifstree::draw()
{
    draw(initlen, fdim);
}

float ifstree::randfactor()
{
    float rnd =(float) rand()/RAND_MAX;
    return(float) rnd;
}

void ifstree::draw(float linelen,int depth)
{
    if(depth>0)
    {
       float minlength = linelen * minfactor;
       float maxlength = linelen * maxfactor;
       float difflength = maxlength - minlength;
       movefw(linelen);
       turnleft(angle+bend);
       draw(minlength+(randfactor()*difflength), depth-1);
       turnright(angle);
       draw(minlength+(randfactor()*difflength), depth-1);
       turnright(angle);
       draw(minlength+(randfactor()*difflength), depth-1);
       turnleft(angle-bend);
       movebw(linelen);
    }
}

int main(int argc,char*argv[])
{
    ifstree T;
    if(argc>1)
    {
        string svalue(argv[1]);
        float fv =(float)atof(svalue.c_str());
        T.initlen = fv;
    }
    T.draw();
    return0;
}

 

Post navigation

❮ Previous Post: Javascript
Next Post: Wallpaper Nude ❯

You may also like

programming
sharen
2020-09-19
c++
C++ Hello World using OOP
2019-06-16
c++
Hello World C++ with Objects
2007-08-26
c++
ROT13 C++
2012-11-13

Archives

Categories

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Advert

  • Facebook

Copyright © 2026 DragonlordWarlock.com.

Theme: Oceanly News Dark by ScriptsTown