## `hackmd.io/@villares/pensando-3D-python`
# Pensando em 3D com Python: primeiros passos ([gravação](https://invidious.slipfox.xyz/watch?v=4ZQ4Af8eoZs))
com Alexandre B A Villares - abav.lugaralgum.com/links
## Apresentação
- De onde eu venho...
- Tem mais gente programando do que você imagina
- Link Scaffidi estimativa dos end-user programmers em 2012:
> https://dl.acm.org/doi/10.1145/2212776.2212421
> ![image](https://hackmd.io/_uploads/BJpw55Cip.png)
- A ideia de programação como língua estrangeira: https://hackmd.io/@villares/lingua-estrangeira
- Software Livre
- Python
- Processing
- py5
- A chave lúdica e da expressão
- Programação Criativa
- Artistas programam desde a década de 60
- Procure a comunidade
- **Outras ferramentas para explorar**
- [Resources for teaching programming for artists, designers and architects](https://abav.lugaralgum.com/Resources-for-teaching-programming/)
- Em especial recomendo o [FreeCAD](https://freecad.org)
## Ambientes de trabalho
- **RECOMENDADO --> [Instruções para instalar o Thonny + py5](https://abav.lugaralgum.com/como-instalar-py5/)**
- **ALTERNATIVA -->** [**link para um notebook Google Colab para começar**](https://colab.research.google.com/drive/1OanapOf4CHB3swrKaWt6FPxfa02xIKyK?usp=sharing)
- **Thonny IDE** (vem com Python 3) - o que eu uso no meu dia a dia
- biblioteca [**py5**](htpps://p5coding.org) - requer um JDK, é legal de usar com o plugin `thonny-py5mode` no Thonny
- [**trimesh**](https://trimesh.org) - para trabalhar com malhas 3D, operações booleanas, STL
- No Thonny, **Tools > Open System Shell...**
`pip3 install trimesh[all]`
- [**shapely**](https://shapely.readthedocs.io/) - permite operações com polígonos
- Suas classes são base para geometrias nos *GeoDataFrames*!
- Instalado junto com o trimesh, com opção `[all]`
- **Jypyter Notebooks**
- São documentos que podem misturar código, texto e imagens. Podem ser editados e executados em um Python local, como *Jupyter lab*, ou online, em plataformas como [MyBinder.org](https://MyBinder.org)
- **Google Colab**
- Ferramenta online do Google para documentos muito parecidos com um Jypyter Notebooks. Depende dos computadores do Google, uma Megacorp do Mal™, não rola usar o py5 direito. Mas podemos usar para explorar **trimesh**!
---
## Dúvidas?
---
## Exemplos...
```python=
frutas_delicosas = ['uva','banana','kiwi']
frutas_delicosas.append('carambola')
for f in frutas_delicosas:
print("Eu gosto de " + f)
```
---
![image](https://hackmd.io/_uploads/Hy25kIRs6.png)
https://github.com/villares/sketch-a-day/blob/main/2024/sketch_2024_02_11/sketch_2024_02_11.py
---
![image](https://hackmd.io/_uploads/S1-K1U0jp.png)
https://github.com/villares/sketch-a-day/blob/main/2023/sketch_2023_08_21/sketch_2023_08_21.py
---
![image](https://hackmd.io/_uploads/rkGIkICjp.png)
https://github.com/villares/sketch-a-day/blob/main/2023/sketch_2023_12_29/sketch_2023_12_29.py
---
## Feedback