From 267dca449b74c5cff644347c4e1aaf441f2e682d Mon Sep 17 00:00:00 2001 From: Alexandre B A Villares <3694604+villares@users.noreply.github.com> Date: Mon, 21 Oct 2024 14:30:54 -0300 Subject: [PATCH] =?UTF-8?q?update=20da=20p=C3=A1gina=20de=20rucurs=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/recursividade-0.png | Bin 0 -> 2780 bytes .../assets/recursividade-1.png | Bin 0 -> 84393 bytes Processing-Python-py5/recursao_py.md | 121 +++++++++++++----- estudos-para-exemplos/arvore-v0.py | 19 +++ estudos-para-exemplos/arvore-v1.py | 18 +++ estudos-para-exemplos/grade.py | 21 +++ 6 files changed, 148 insertions(+), 31 deletions(-) create mode 100644 Processing-Python-py5/assets/recursividade-0.png create mode 100644 Processing-Python-py5/assets/recursividade-1.png create mode 100644 estudos-para-exemplos/arvore-v0.py create mode 100644 estudos-para-exemplos/arvore-v1.py create mode 100644 estudos-para-exemplos/grade.py diff --git a/Processing-Python-py5/assets/recursividade-0.png b/Processing-Python-py5/assets/recursividade-0.png new file mode 100644 index 0000000000000000000000000000000000000000..6b45ce46abfb3da55605c83fd47834c5947ce743 GIT binary patch literal 2780 zcmeAS@N?(olHy`uVBq!ia0y~yV7v{)&p4QXB3u4!765XZGo76SJe{2t3X1a6GILTH z7&Io>zVAK6q)6HdmNH;fa8`Zx$)_ZRK)ZA&}J?ChMd3w@HoHv#WdYgQ$WJ z$s1oic(i79^J)c-x&{kt3(Z{~o&UYLbdzi?-W}gv-M_oMAwb{w?5i%uS$VTpy2PAG z2|s#3yGh~@Llxu9$YXO zycced3=Hc$->L4iOW~vPb`Ki;O^-g5Z=fq z&cMKN+|$J|q~g}wJJ}giOJxpxEZ*|crA;VKD!HXgVPeoDRyB`<39MQgD;v9J^3J^2 zlgmE$`r|!)kA1pjHr^DfeYjL-Zb0)10d*_q=Cc!6RF56xmXvl@^RwQop>*hVS>CSm z&+nd__xX?fzwF6h@~2uNWNk#v~I2&7%vfV7At zkj5>DR}!l+G}b}b$>^@4wT_!&3>roZT|5g;0OG`iNi?4tF^lYcThSA=OXJ-D?4u9t{|21cO`PmsCcl~Zsx-2a!em*~QXUU(6 zV5=CP;NZ_IgYEUB&F>-+f|ySAqM{Itrtd{
c)tir>A7IuZ!_YOnA9( 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 literal 0 HcmV?d00001 diff --git a/Processing-Python-py5/recursao_py.md b/Processing-Python-py5/recursao_py.md index f2ca6c5d..c05c23be 100644 --- a/Processing-Python-py5/recursao_py.md +++ b/Processing-Python-py5/recursao_py.md @@ -6,9 +6,66 @@ Para que isso funcione, e não caia em uma cilada conhecida como "recursão infi ## Árvore recursiva - +Um exemplo clássico de desenho que tira partido de uma função recursiva é uma árvore cujos galhos vão se subdividindo inúmeras vezes. Vamos começar com uma função (ainda náo recursiva) que desenha apenas uma forquilha da seguinte maneira: -> Mova o mouse sobre o *sketch* acima. +![imagem de uma forquilha](assets/recursividade-0.png) + +```python +def setup(): + size(500, 500) + background(240, 240, 200) + translate(250, 300) # desloca a origem, o (0,0) das coordenadas do canvas de desenho + galho(60) + +def galho(tamanho): + line(0, 0, 0, -tamanho) # uma linha vertical, subindo da origem a distância "tamanho" + angulo = radians(30) # 30 graus em radianos + encurtamento = 0.8 # fator para encurtar 20% o galho + translate(0, -tamanho) # desloca origem para ponta da linha inicial (será o centro das rotações) + rotate(angulo) # gira o sistema de coordenadas do canvas 30° no sentido anti-horário + line(0, 0, 0, -tamanho * encurtamento) # desenha uma linha (será a da direita depois) + rotate(2 * -angulo) # gira o sistema de coordenadas 60° no sentido horário + line(0, 0, 0, -tamanho * encurtamento) # desenha outra linha (será a da esquerda depois) + rotate(angulo) # gira 30° o canvas o deixando como no início. + translate(0, tamanho) # translação que desfaz o primeiro deslocamento da origem desta função + + +``` + +Ao tentarmos tornar a função `galho()` recursiva, substituindo a chamada `line(0, 0, 0, -tamanho * encurtamento)` por chamadas à própria função, tendo como argumento um valor reduzido do tamanho, `galho(tamanho * encurtamento)` inicialmente o sketch "trava". É produzido o erro `RecursionError: maximum recursion depth exceeded`, pois sempre que a função é chamada ela chama a si mesmo todas as vezes, numa sequência sem fim. + +A solução para se obter o desenho abaixo é limitar a chamada recursiva a `galho()`, no corpo da própria função de `galho()`, a ocasiões em que o tamanho do galho ainda não é muito pequeno, e não o fazer caso a variável `tamanho` tenha um valor abaixo de algum certo limite (no exemplo abaixo o limite é 5). + +![Imagem da árvore recursiva](assets/recursividade-1.png) + +```python +def setup(): + size(500, 500) + background(240, 240, 200) + translate(250, 350) # desloca a origem, o (0,0) das coordenadas do canvas de desenho + galho(60) + +def galho(tamanho): + line(0, 0, 0, -tamanho) # uma linha vertical, subindo da origem a distância "tamanho" + angulo = radians(30) # 30 graus em radianos + encurtamento = 0.8 # fator para encurtar 20% o galho + if tamanho > 5: # o limite de tamanho para as chamadas recursivas! + translate(0, -tamanho) # desloca origem para ponta da linha (será o centro das rotações) + rotate(angulo) # gira o sistema de coordenadas do canvas 30° no sentido anti-horário + galho(tamanho * encurtamento) # desenha uma linha (será a da direita depois) + rotate(2 * -angulo) # gira o sistema de coordenadas 60° no sentido horário + galho(tamanho * encurtamento) # desenha outra linha (será a da esquerda depois) + rotate(angulo) # gira 30° o canvas o deixando como no início. + translate(0, tamanho) # translação que desfaz o primeiro deslocamento da origem desta função + # o caso base aqui é quando a linha no começo da função é desenhada, mas não os dois subgalhos, + # pois o tamanho é menor ou igual a 5. +``` + +Note como a função `galho()`, no seu corpo, chama `galho()` com valores sucessivamente menores, isso é essencial para que a condição limite, quando `tamanho` for menor que 5, não chame mais a si mesma a partir de um certo número de execuções recursivas. + +Por fim, vejamos um exemplo interativo em que o ângulo entre os galhos da árvore é definido pela posição do mouse na tela (mova o mouse sobre o _sketch_ abaixo para interagir alterando o ângulo dos galhos conforme a posição X do mouse). + + ```python def setup(): @@ -20,47 +77,49 @@ def draw(): galho(60) def galho(tamanho): - ang = radians(mouse_x) - encurtar = 0.8 line(0, 0, 0, -tamanho) - if tamanho > 5: # caso base quando tamanho não é maior que 5 - translate(0, -tamanho) # desloca origem para ponta do galho - rotate(ang) - galho(tamanho * encurtar) - rotate(2 * -ang) - galho(tamanho * encurtar) - rotate(ang) # desfaz rotação - translate(0, tamanho) # desfaz deslocamento da origem + angulo = radians(mouse_x) + encurtamento = 0.8 + if tamanho > 5: + push_matrix() # uma maneira de salvar o estado atual das coordenadas, usado em conjunto com `pop_matrix()` + translate(0, -tamanho) + rotate(angulo) + galho(tamanho * encurtamento) + rotate(2 * -angulo) + galho(tamanho * encurtamento) + pop_matrix() # retoma o estado do sistema de coordenadas salvo por `push_matrix()` ``` -Note como a função `galho()`, no seu corpo, chama `galho()` com valores sucessivamente menores, e se o `tamanho` form menor que 5, não chama mais a si mesma. - ## Uma grade recursiva +No exemplo a seguir uma função `grade()`que desenha uma grade feita por grades menores, com chamadas à própria função `grade()`. Por vezes a grade menor tem apenas uma divisão (uma fila e uma coluna) e é desenhada como um quadrado azul, ou se os elementos tiverem o tamanho menor que 20, são desenhados círculos verdes. + ![](assets/grade_recursiva.png) ```python def setup(): size(600, 600) background(0) - grid(0, 0, width, 4) - -def grid(grid_x, grid_y, grid_size, n): - cell_size = grid_size / n - for i in range(n): - x = grid_x + i * cell_size - for j in range(n): - y = grid_y + j * cell_size - if cell_size < 20: - fill(0, 200, 0) - circle(x + cell_size / 2, - y + cell_size / 2, - cell_size) - elif n == 1: + grade(0, 0, width, 4) # width é a largura da área de desenho + +def grade(x_grade, y_grade, tamanho_grade, divisoes): + tamanho_elemento = tamanho_grade / divisoes + for i in range(divisoes): + x = x_grade + i * tamanho_elemento + for j in range(divisoes): + y = y_grade + j * tamanho_elemento + if divisoes == 1: # uma grade de uma divisão vira um quadrado azul fill(0, 0, 200) - square(x, y, cell_size) - else: - grid(x, y, cell_size, int(random(1, 5))) + square(x, y, tamanho_elemento) + elif tamanho_elemento < 20: # desenha círculos para gradedes pequenas + fill(0, 200, 0) + circle(x + tamanho_elemento / 2, + y + tamanho_elemento / 2, + tamanho_elemento) + else: # senão, chama uma subgrade com o número de divisões "sorteadas" + grade(x, y, tamanho_elemento, int(random(1, 5))) + + ``` diff --git a/estudos-para-exemplos/arvore-v0.py b/estudos-para-exemplos/arvore-v0.py new file mode 100644 index 00000000..8aa66dfa --- /dev/null +++ b/estudos-para-exemplos/arvore-v0.py @@ -0,0 +1,19 @@ +def setup(): + size(500, 500) + +def draw(): + background(240, 240, 200) + translate(250, 300) # desloca a origem, o (0,0) das coordenadas do canvas de desenho + galho(60) + +def galho(tamanho): + angulo = radians(30) # 30 graus em radianos + encurtamento = 0.8 # fator para encurtar 20% o galho + line(0, 0, 0, -tamanho) # uma linha vertical, subindo da origem a distância "tamanho" + translate(0, -tamanho) # desloca origem para ponta da linha + rotate(angulo) # gira o sistema de coordenadas do canvas 30° no sentido anti-horário + line(0, 0, 0, -tamanho * encurtamento) # desenha uma linha (será a da direita depois) + rotate(2 * -angulo) # gira o sistema de coordenadas 60° no sentido horário + line(0, 0, 0, -tamanho * encurtamento) # desenha outra linha (será a da esquerda depois) + rotate(angulo) # gira 30° o canvas o deixando como no início. + translate(0, tamanho) # essa translação desfaz deslocamento da origem inicial da função diff --git a/estudos-para-exemplos/arvore-v1.py b/estudos-para-exemplos/arvore-v1.py new file mode 100644 index 00000000..a0249b5c --- /dev/null +++ b/estudos-para-exemplos/arvore-v1.py @@ -0,0 +1,18 @@ +def setup(): + size(500, 500) + background(240, 240, 200) + translate(250, 350) # desloca a origem, o (0,0) das coordenadas do canvas de desenho + galho(60) + +def galho(tamanho): + line(0, 0, 0, -tamanho) # uma linha vertical, subindo da origem a distância "tamanho" + angulo = radians(30) # 30 graus em radianos + encurtamento = 0.8 # fator para encurtar 20% o galho + if tamanho > 5: + translate(0, -tamanho) # desloca origem para ponta da linha + rotate(angulo) # gira o sistema de coordenadas do canvas 30° no sentido anti-horário + galho(tamanho * encurtamento) # desenha uma linha (será a da direita depois) + rotate(2 * -angulo) # gira o sistema de coordenadas 60° no sentido horário + galho(tamanho * encurtamento) # desenha outra linha (será a da esquerda depois) + rotate(angulo) # gira 30° o canvas o deixando como no início. + translate(0, tamanho) # essa translação desfaz deslocamento da origem inicial da função diff --git a/estudos-para-exemplos/grade.py b/estudos-para-exemplos/grade.py new file mode 100644 index 00000000..9ea8d1d3 --- /dev/null +++ b/estudos-para-exemplos/grade.py @@ -0,0 +1,21 @@ +def setup(): + size(600, 600) + background(0) + grade(0, 0, width, 4) # width é a largura da área de desenho + +def grade(x_grade, y_grade, tamanho_grade, divisoes): + tamanho_elemento = tamanho_grade / divisoes + for i in range(divisoes): + x = x_grade + i * tamanho_elemento + for j in range(divisoes): + y = y_grade + j * tamanho_elemento + if divisoes == 1: + fill(0, 0, 200) + square(x, y, tamanho_elemento) + elif tamanho_elemento < 20: + fill(0, 200, 0) + circle(x + tamanho_elemento / 2, + y + tamanho_elemento / 2, + tamanho_elemento) + else: + grade(x, y, tamanho_elemento, int(random(1, 5)))