// 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;
}