Python científico na programação criativa: o que eu aprendi até agora de numpy para usar nos meus desenhos
https://hackmd.io/@villares/numpy-na-prog-criativa
Quem é esse Alexandre?
É aquele maluco que fica fazendo material didático aberto de programação com Processing + Python (py5), ajuda a organizar com o John a Noite de Processing, e faz um desenho por dia!
- Me encontrem no Mastodon:
Caveat: eu não manjo de numpy de verdade!
Motivações
- Uma das minhas palestras prediletas: The Unexpected Effectiveness of Python in Science
Referências
- É praticamente um port do Nature of Code do Shiffman para Python com Numpy
- Brincadeiras a parte:
- Começa com random walker
- Tem autômatos celulares / Conway's Game of Life
- Tem fractais
- Tem o Flocking
A documentação oficial do numpy
A ferramenta que eu uso de Processing + Python: py5
O básico do básico do básico
- O que são arrays?
- coleções homogêneas de valores, úteis para representar vetores e matrizes, capazes de fazer operações entre vetores, matrizes e valores escalares.
- um pouco do açucar sintático do Python
- Sobrecarga dos operadores com valores escalares fazendo as operações em cada elemento do array.
- Fatias com
[]
e :
- A idéia das máscaras:
mascara = npa < 4
é um array com valores True
e False
.
npa[mascara] = 0
indexando pela máscara permite alterar o array original só nas posições da máscara.
- mais alguns exemplos bem simples
Mas pra que é que você usa?
Imagens
No py5, Pillow e OpenCV
Particulas / Agentes / Operações vetorizadas
- Game of Life
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
- Calculando pontos de uma curva [1] e [2]
- O Processing não tem um
quadraticVertex()
como tem o bezierVertex()
, para pegar os pontos de um forma feita com vértices quadráticos (para depois poder usar com shapely
)
- Simulador de Areia
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
- Pattern binário
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
- Perlin Noise vetorizado
- Exemplo de Partículas ingênuas
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
- Exemplo de Flocking
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →