### Espaço de Tecnologias e Artes - Sesc Avenida Paulista
## Grupo de estudos em Python
### `hackmd.io/@sesc-av-paulista/estudos-em-python-23-setembro`
# Gerando volumes simples em 3D
Bibliotecas
- `shapely`: faz operações com polígonos, e é a base para ferramentas de cartografia e dados georeferenciados tais como `geopandas`
- `trimesh` produz e opera sobre malhas tridimensionais (*3D meshes*)
[Colab `ipynb` Notebook da atividade](https://colab.research.google.com/drive/1elap1d2JRvOJ7FdQhVJ-Jxunib0iKFR9?usp=sharing)
### Agora no Thonny com `py5`...
O sistema de coordenadas do `py5` é diferente do sistema do `shapely`. O do `py5` tem a origem no canto superior esquerdo. O do `shapely` é no canto inferior esquerdo.
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/shapely-e-trimesh.html
```python=
import trimesh
import py5
def setup():
global caixa_furada
py5.size(500, 500, py5.P3D)
py5.no_stroke()
furo_central = translated_box(0, 0, 0, 100, 300, 100)
caixa_furada = translated_box(0, 0, 0, 200).difference(furo_central)
def draw():
py5.background(150, 0, 150)
py5.lights()
py5.translate(py5.width / 2, py5.height / 2)
py5.rotate_y(py5.radians(py5.mouse_x))
py5.rotate_x(py5.radians(py5.mouse_y))
py5.shape(caixa_furada)
py5.save('out.png')
def translated_box(x, y, z, w, h=None, d=None):
h = h or w
d = d or h
mesh = trimesh.creation.box((w, h, d))
mesh.apply_translation((x, y, z)) # modifica a manha!
return mesh
py5.run_sketch()
```
# Exemplo com tipografia
https://github.com/villares/villares.github.io/blob/main/selected-work/py5band/py5band.py

## Conversas paralelas:
### Aulas de Macramè e instrumentos
https://www.sescsp.org.br/programacao/
Curso do Danilo em outubro para fazer flautas!
### SQL
SQL (Structured Query Language)
ORM são ferramentas para acessar
https://docs.sqlalchemy.org/en/20/orm/