Arbres Fractals P50324


Statement
 

Graphic problem

pdf   zip

Voleu pintar en Python arbres fractals tant xulos com aquest?

image

Per pintar un arbre de n≥1n\ge1 nivells de mida dd, cal pintar el seu tronc de mida dd, la seva branca esquerra i la seva branca dreta, ambdues com a arbres de n−1n-1 nivells i mida 34d\frac34 d, i simètriques respecte del tronc amb un angle de 2α2\alpha graus entre elles. Un arbre de zero nivells és buit.

Per exemple, aquests són els arbres (de mida 100) amb 1, 2 i 4 nivells quan α=30\alpha=30:

image

image

image

Entrada

A l’entrada, es dónen tres valors: un natural nn amb el nombre de nivells de l’arbre, un real positiu dd amb la seva mida, i un real α\alpha amb l’angle (en graus) entre les seves branques.

Sortida

El programa ha de dibuixar un arbre d’nn nivells, mida dd i angle α\alpha.

Pista

Recordeu que Python ofereix un mòdul turtle que permet pintar images amb una tortuga que es desplaça. Les úniques operacions que us calen són turtle.forward(d) que avança la tortuga d unitats, turtle.backward(d) que recula la tortuga d unitats, turtle.right(a) que gira la tortuga a graus a la dreta i turtle.left(a) que gira la tortuga a graus a l’esquerra.

Per exemple, aquest programa pinta un aborrit quadrat:

import turtle
import jutge

d = jutge.read(float)
for i in range(4):
    turtle.forward(d)
    turtle.right(90)
Public test cases
  • Input

    4 80 30
    

    Output

    sample-1.png

     (501×501)

  • Input

    5 100 90
    

    Output

    sample-2.png

     (501×501)

  • Information
    Author
    Jordi Petit
    Language
    Catalan
    Official solutions
    Python
    User solutions
    Python