---
# System prepended metadata

title: Python Brazil Tutorial - Advanced notes

---

# Python Brazil Tutorial - Advanced notes


- [`py5coding/python-brasil-2025`Examples repository](https://github.com/py5coding/python-brasil-2025)
- quebrado (https://github.com/villares/thonny-portable-with-py5/releases/download/untagged-1a8fb6cbde68e123bc81/thonny-4.1.7-windows-portable-py5-a107-050rc5.zip) 


### Shapely

-  Material de apoio https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/shapely-e-trimesh.html


![image](https://hackmd.io/_uploads/HJwpTDL0gl.png)

- basic stuff
- buffers

- Voronoy animation


### Trimesh

Code to draw Trimesh facets instead of every single triangle. This code supports `min_angle`.
[facets code](https://github.com/py5coding/python-brasil-2025/blob/main/prototypes/facets.py)

I added comments to the facets code so it is understandable. Originally I thought I would walk everyone through how it was derived but now I see that would be rather dry and way too complex. Instead I think we should give a simple overview showing how Trimesh objects has useful properties for accessing faces, edges, and various face and edge properties.

Rather than extract font coordinates through Py5Font, I wrote new code that uses matplotlib's text tools to convert text to shapely shapes.

[matplotlib font code](https://github.com/py5coding/python-brasil-2025/blob/main/prototypes/mpl_fonts.py)

There are two functions in that file. The first reduces bezier curves to simple line segments. This does not look as nice. The second function properly evaluates bezier curves.

Below is an example that also uses the new facets code.
[font example](https://github.com/py5coding/python-brasil-2025/blob/main/prototypes/fonts-jim.py)


- 



