# Grupo de estudos em Python ## Módulos geométricos - Truchet https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/truchet.html - Vídeos https://gist.github.com/villares/b596399b098ea0ebeb8e2d4ad0662df8 - Exportação vetorial https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/exportando_svg.html ## `hackmd.io/@sesc-av-paulista/estudos-em-python-13-marco` ```python= def setup(): size(500, 500) for i in range(10): # i vai de 0 até 9 x = i * 50 square(x, 0, 50) # x, y, d ``` ![image](https://hackmd.io/_uploads/Bk9Ueog21x.png) ![image](https://hackmd.io/_uploads/HkYCeog31x.png) ```python= def setup(): size(500, 500) num = 8 lado_quadrado = width / num # width é uma global mágica for j in range(num): y = j * lado_quadrado for i in range(num): # i vai de 0 até 99 x = i * lado_quadrado square(x, y, lado_quadrado) # x, y, d ``` ![image](https://hackmd.io/_uploads/ByxM5seh1g.png) ```python= def setup(): size(500, 500) rect_mode(CENTER) # quadrados desenhados pelo centro num = 8 tam_celula = width / num # width é uma global mágica for j in range(num): y = j * tam_celula + tam_celula / 2 for i in range(num): # i vai de 0 até 99 x = i * tam_celula + tam_celula / 2 sorteio = random_choice((0, 1, 2, 3)) modulo(x, y, tam_celula, sorteio) # x, y, d def modulo(x, y, tam, rot): if rot == 0: fill(0, 255, 0) triangle(x - tam / 2, y - tam / 2, x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2) fill(0, 0, 200) triangle(x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2, x + tam / 2, y + tam / 2) elif rot == 1: fill(0, 255, 0) triangle(x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2, x + tam / 2, y - tam / 2) fill(0, 0, 200) triangle(x - tam / 2, y + tam / 2, x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2) elif rot == 2: fill(0, 0, 200) triangle(x - tam / 2, y - tam / 2, x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2) fill(0, 255, 0) triangle(x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2, x + tam / 2, y + tam / 2) else: fill(0, 0, 200) triangle(x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2, x + tam / 2, y - tam / 2) fill(0, 255, 0) triangle(x - tam / 2, y + tam / 2, x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2) ``` ![image](https://hackmd.io/_uploads/B1M3oogh1l.png) ```python= COR_A = color(200, 0, 0) COR_B = color(200, 200, 0) def setup(): size(500, 500) rect_mode(CENTER) # quadrados desenhados pelo centro num = 8 tam_celula = width / num # width é uma global mágica for j in range(num): y = j * tam_celula + tam_celula / 2 for i in range(num): # i vai de 0 até 99 x = i * tam_celula + tam_celula / 2 r = (i * j) % 4 modulo(x, y, tam_celula, r) # x, y, d def modulo(x, y, tam, rot): if rot == 0: fill(COR_A) triangle(x - tam / 2, y - tam / 2, x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2) fill(COR_B) triangle(x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2, x + tam / 2, y + tam / 2) elif rot == 1: fill(COR_A) triangle(x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2, x + tam / 2, y - tam / 2) fill(COR_B) triangle(x - tam / 2, y + tam / 2, x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2) elif rot == 2: fill(COR_B) triangle(x - tam / 2, y - tam / 2, x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2) fill(COR_A) triangle(x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2, x + tam / 2, y + tam / 2) else: fill(COR_B) triangle(x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2, x + tam / 2, y - tam / 2) fill(COR_A) triangle(x - tam / 2, y + tam / 2, x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2) ``` Aleatório com tecla para fazer um novo ```python= COR_A = color(200, 0, 0) COR_B = color(200, 200, 0) def setup(): size(500, 500) rect_mode(CENTER) # quadrados desenhados pelo centro #frame_rate(5) no_loop() def draw(): num = 8 tam_celula = width / num # width é uma global mágica for j in range(num): y = j * tam_celula + tam_celula / 2 for i in range(num): # i vai de 0 até 99 x = i * tam_celula + tam_celula / 2 r = random_choice((0, 1, 2, 3)) modulo(x, y, tam_celula, r) # x, y, d def modulo(x, y, tam, rot): if rot == 0: fill(COR_A) triangle(x - tam / 2, y - tam / 2, x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2) fill(COR_B) triangle(x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2, x + tam / 2, y + tam / 2) elif rot == 1: fill(COR_A) triangle(x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2, x + tam / 2, y - tam / 2) fill(COR_B) triangle(x - tam / 2, y + tam / 2, x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2) elif rot == 2: fill(COR_B) triangle(x - tam / 2, y - tam / 2, x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2) fill(COR_A) triangle(x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2, x + tam / 2, y + tam / 2) else: fill(COR_B) triangle(x - tam / 2, y + tam / 2, x + tam / 2, y + tam / 2, x + tam / 2, y - tam / 2) fill(COR_A) triangle(x - tam / 2, y + tam / 2, x - tam / 2, y - tam / 2, x + tam / 2, y - tam / 2) def key_pressed(): save_frame('###.png') redraw() ```