Department of Computer Science | Institute of Theoretical Computer Science | CADMO

Theory of Combinatorial Algorithms

Prof. Emo Welzl and Prof. Bernd Gärtner

// Informatic - Serie 11 // Program: ninaotter.C // Draws turtle graphics for the Lindenmayer // System with production // F -> FFF[+F+FF+FFF]-[F+FF+FFF]+FFF // with initial word F and different angles // Author: Nina Otter (group O) #include #include //POST: the word w_i^F is drawn void f (unsigned int i) { if (i == 0) ifm::forward(); // F else { ifm::forward(3); // FFF ifm::save(); // [ ifm::right(20); // + f(i-1); // F ifm::right(50); // + ifm::forward(2); // FF ifm::right(164); // + ifm::forward(3); // FFF ifm::restore(); // ] ifm::left(38); // - ifm::save(); // [ f(i-1); // F ifm::right(50); // + ifm::forward(3); // FF ifm::right(164); // + ifm::forward(2); // FFF ifm::restore(); // ] ifm::right(38); // + f(i-1); // F f(i-1); // F f(i-1); // F } } // Input of iterations number int main () { std::cout << "Number of iterations =? "; unsigned int n; std::cin >> n; ifm::left(90); // vertical at begin f(n); return 0; }