Daily graphic 2

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
"""
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)