This animation is made with points in a Python collections.deque data structure, added by dragging the mouse (code shown bellow)
- 🔭 I'm currently working on a PhD at Unicamp.
- 🌱 I should be talking less and concentrating, but...
- 💬 Ask me about drawing with Python!
- Check out py5 and pyp5js, they bring in the vocabulary from Processing & P5js!
- I try to make a new drawing with code everyday, and I put the results at skech-a-day.
- 👯 I’d like to collaborate on open resources to teach programming.
- I collect tools for teaching Python in a visual output here.
- If you find the things I share here usefull, consider supporting my work! You can use this PayPal donation link, gumroad.com/villares, liberapay.com/villares, or if you are in Brazil, PIX:
46c37783-5edb-4f1c-b3a8-1309db11488c
(chave aleatória). - You can check out my Domestika course, Design with Python
- 😄 Pronouns: he/him
- 📫 How to reach me: Mastodon or Email.
- ⚡ Fun fact: I actually use this repo to store some helper code I use in my drawings.
from collections import deque # a double-ended queue
import py5 # check out https://github.com/py5coding
history = deque(maxlen=512) # mouse dragged positions
def setup(): # py5 will call this once to set things up
py5.size(600, 400)
py5.no_stroke()
py5.color_mode(py5.HSB)
def draw(): # py5 will call this in a loop
py5.background(51)
for i, (x, y) in enumerate(history):
py5.fill(i / 2, 255, 255, 128)
py5.circle(x, y, 8 + i / 16)
if history:
history.append(history.popleft())
def mouse_dragged(): # py5 will call this when you drag the mouse
history.append((py5.mouse_x, py5.mouse_y))
def key_pressed(): # py5 will call this when a key is pressed
history.clear()
py5.run_sketch()