{{ message }}

Instantly share code, notes, and snippets.

# Just van Rossumjustvanrossum

Last active Oct 4, 2020
DrawBot: create a simple loop of nested ellipses
View Ellipses.py
 # Result: # http://dailydrawbot.tumblr.com/post/160364438359/ellipses def drawEllipses(cx, cy, rx, ry, dx, dy, n, bw=0): for i in range(n): fill(bw) oval(cx - rx, cy - ry, 2 * rx, 2 * ry) rx -= dx ry -= dy bw = 1 - bw
Created Feb 4, 2016
DrawBot: An Archimedean Spherical Spiral animation.
View SphericalSpiral.py
 # This borrows heavily from: # http://jsfiddle.net/Rebug/5uLr7s6o/ # # Resulting gif: # http://dailydrawbot.tumblr.com/post/134989689114/an-archimedean-spherical-spiral import math import colorsys def circle(pt, radius):
Last active Aug 20, 2020
Scrape OT tag definitions and descriptions from OT spec site (script, language and feature tags)
View generateOTTagsModule.py
 import os import re def parse(data): start = data.find("") end = data.find("") data = data[start+7:end] for chunk in re.findall(r"
(.+?)
.+?", data, re.DOTALL): fields = re.findall(r"", chunk, re.DOTALL)
Last active Aug 1, 2020
Create a simple animation with Python in DrawBot
View StackOfSquares.py
 # This script is part of a tutorial screencast: https://vimeo.com/149247423 CANVAS = 500 SQUARESIZE = 158 NSQUARES = 50 SQUAREDIST = 6 width = NSQUARES * SQUAREDIST NFRAMES = 50
Last active Apr 29, 2020
DrawBot: create a grid of Lissajous curve variations.
View LissajousGrid.py
 # http://dailydrawbot.tumblr.com/post/160078796339/lissajous-grid # remade from https://twitter.com/fermatslibrary/status/857580490425020416 def lissajous(a, b, phase, radius): numSteps = 340 points = [] for i in range(numSteps): angle = 2 * pi * i / numSteps x = radius * sin(a * angle + phase) y = -radius * sin(b * angle)
Created Apr 16, 2020
MEHRINGDAMM: Spacing by bounding box
View MEHRINGDAMM.py
 # Image from https://twitter.com/Berlin_Type/status/1250742042004766730 imagePath = "MEHRINGDAMM.jpeg" w, h = imageSize(imagePath) size(w, h) with savedState(): rotate(0.1) image(imagePath, (0, 0), 0.6)
Created Apr 9, 2020
Jigsaw puzzle generator for DrawBot
View Puzzle.py
 def translatePoints(points, dx, dy): return [(x + dx, y + dy) for x, y in points] def transposePoints(points): return [(y, x) for x, y in points] def pairs(seq): it = iter(seq) prev = next(it) for item in it:
Created Apr 5, 2020
Animated Color Grid with DrawBot
View animated_color_grid.py
 canvasSize = 500 numSquares = 25 squareSize = canvasSize / numSquares numFrames = 50 for frame in range(numFrames): t = frame / numFrames newPage(canvasSize, canvasSize) frameDuration(1/25)
Last active Mar 11, 2020
DrawBot script to recreate 'Untitled Computer Assisted Drawing' by Paul Brown from 1975
View PaulBrownPattern.py
 # Original: # Paul Brown, 'Untitled Computer Assisted Drawing' (1975) # The program was written in Fortran and drawn with Calcomp's drum pen plotter. # https://twitter.com/satoshi_aizawa/status/1218786881631965186 def drawArc(center, radius, startAngle, endAngle): bez = BezierPath() bez.arc(center, radius, startAngle, endAngle, False) drawPath(bez)
Last active Mar 10, 2020
DrawBot: Generate a jellyfish-like pulsating blobby animation.
View Jellyfish.py
 # Generate a jellyfish-like pulsating blobby animation. from random import seed def varyPoint(pt, radius, phase): x, y = pt dx = radius * cos(phase) dy = radius * sin(phase) return x + dx, y + dy
You can’t perform that action at this time.