Todays daily graphic I'm getting familiar with grids (in shoebot), Vector maths from the planar library .. this started from the grid example from shoebot / nodebox.
Shoebot Code Below the fold
``` {: .brush:python} """ Grid of arrows that point towards the mouse pointer.
Uses planar library for Vec2, angles. """
Based on grid->colorgrid example from shoebot
This is also basically a remake / rip / inspired
one of the examples made in the LGM 2014 workshop
if that was you let me know so I can add it to
shoebot :)
import random
from planar import Vec2, Affine
size(625, 625)
Create a color Grid.
This example also shows of the HSB color mode that allows
you to select colors more naturally, by specifying a hue,
saturation and brightness.
colormode(HSB)
def draw(): random.seed(0) # Set some initial values. You can and should play around with these. h = 0 s = 0.5 b = 0.9 a = .5
# Size is the size of one grid square.
size = 50
# Create a grid with 10 rows and 10 columns. The width of the columns
# and the height of the rows is defined in the 'size' variable.
for x, y in grid(WIDTH / size, HEIGHT / size, size, size):
reset()
# Using the translate command, we can give the grid some margin.
translate(size,size)
# Increase the hue while choosing a random saturation.
# Try experimenting here, like decreasing the brightness while
# changing the alpha value etc.
h+=.01
s=random.random()
pos=Vec2(x-MOUSEX, y-(MOUSEY - size))
# Set this to be the current fill color.
fill(h, s, b, a)
# Draw a angle that is one and a half times larger than the
rotate(180-pos.angle)
arrow(x, y, size*1.5)
```