Material para cursos e oficinas (repositório)
Este material didático pode ser modificado e usado para dar aulas. Leia as instruções para colaborar com este repositório e abra issues apontando problemas, sugerindo assuntos e melhorias, ou contribua com Pull Requests para o repositório.
Você pode também fazer pequenas doações!
Para aprender a programar usando Processing modo Python, uma ferramenta livre de programação com a sintaxe de Python e que inclui o vocabulário, os recursos de desenho e manipulação de imagens, de Processing.
- O que é e como instalar o Processing modo Python
ferramentas alternativas:- pyp5js com editor experimental online do projeto
- Biblioteca p5py (instruções de instalação)
- Editor online Triket.io
- Editores online SkulptIDE e BrythonIDE do prof. Claudio Esperança
- Primeiros passos e desenho básico
- Condicionais (
if
eelse
) - Movimento: uma animação simples usando
setup()
edraw()
- Declarando novas funções
- Sequências e laços de repetição (iteração com
for
) - Tipos de valores (inteiros, números de ponto flutuante, texto (strings))
- Interação: input com teclado e mouse
- Aleatoriedade:
random
e números 'sorteados' - Como usar seno
sin()
, cossenocos()
e arco tangenteatan2()
- Manipulando números com
map()
elerp()
- e fazendo cores intermediárias!- O que é easing? - transições de movimento
- Funções como argumentos de outras funções -
sort()
e funçõeslambda
- Métodos das listas
- Mais estruturas de dados: dicionário (dict)
- Mais estruturas de dados: conjunto (set)
- Compreensão de listas e outras comprehensions
- Escutando teclas simultâneas
- Um botão simples
- Arrastando círculos
- Rodinha do mouse (mouse wheel)
- Parando o
draw()
- Uma janela de diálogo com um campo de texto
- Exportando imagens (bitmap/raster)
- Exportando PDF (saída vetorial)
- Exportando SVG (saída vetorial)
- Exportando animações (vídeos ou GIF)
- Exportando um aplicativo independente
- Lendo um arquivo vetorial (SVG)
- Lendo arquivos de imagem (bitmap/raster)
- Lendo todas as imagens da pasta
data
e sorteando uma - Lendo todas as imagens de uma pasta selecionada pela pessoa usuária (avançado)
- Lendo todas as imagens da pasta
- Lendo e escrevendo texto em arquivos (file IO)
- Primeiros passos de orientação a objetos: usando a classe Slider
- Um botão com orientação a objetos
- Uma classe de partículas simples
- Operações com vetores e a classe
PVector
do Processing - Introdução a orientação a objetos com bandeirinhas (página externa)
- Usando várias abas no IDE
- Sobre o Python 2 e alguns recursos do Python 3
- Dicas para portar exemplos do Processing modo Java para o modo Python
- Mais sobre Python, Jython e Java (página externa)
- Mais sobre atributos gráficos
- Desenhando em um espaço fora da tela (offscreen buffer) e recortando imagens
- Manipulando a janela (tela cheia, redimensionamento e múltiplas janelas)
- Módulos ou mosaicos de Truchet
- Jogo PONG - Estudos para o fazer um jogo
caneta_automatica_py
- Módulo para desenhar inspirado na tartaruga de Logo- Lousa mágica - Desenho com Arduino e potenciômetros
- py.processing.org/reference - Referência do Processing modo Python
- Processing.py in Ten Lessons (em Inglês) de Tristan B. @tabreturn
- Livro Getting Started with Processing.py (em Inglês) Allison Parrish et al.
- processing.org/reference - Tem algumas páginas à mais e coisas que funcionam no Python
- Livro O código transcendente de Mateus Berruezo
- Programação Criativa de Monica Rizzolli e Alexandre Villares
- Guia de programação em Processing, Prof. Guilherme Ranoya (UFPE).
- Tradução da referência da linguagem - versão 1.0 (2005), Prof. Luiz Merkle (UFTPR)
- DOWNEY, Allen. Pense em Python 2e
- BORGES, Luiz Eduardo. Python para desenvolvedores 3e
- SWEIGART, Al. Automatize tarefas maçantes com Python (traduzido pela Novatec)
ou automatetheboringstuff.com (site do autor em Inglês)
Texto e imagens: Alexandre B A Villares - CC BY-NC-SA 4.0, exceto onde indicado, confira atribuições em cada página para materiais adaptados/remixados de outras fontes. Agradeço aos colaboradores do repositório que doam suas contribuições nestes termos!
Código: GNU GPL v3.0, exceto onde for indicado, por alguma razão.