colorlab
clone your own copy | download snapshot

Snapshots | iceberg

Inside this repository

deviationGrid.py
text/x-python

Download raw (844 bytes)

from chiplotle.geometry.core.path import Path
from chiplotle.geometry.core.group import Group
from chiplotle.geometry.shapes.line import line
from units import mm
from random import randint


def deviationGrid(margins, cell=(mm(10), mm(10)), deviation=(mm(-2), mm(2))):
    grid = [
        [(
            x + randint(deviation[0], deviation[1]),
            y + randint(deviation[0], deviation[1])
        ) for x in range(margins.left, margins.right, cell[0])]
        for y in range(margins.bottom, margins.top, cell[1])]

    horizontal = Group([Path(reversed(row) if key % 2 else row)
                        for key, row in enumerate(grid)])
    # Unzip rows into columns
    vertical = Group([Path(reversed(col) if key % 2 else col)
                      for key, col in enumerate(zip(*grid))])

    return Group([horizontal, vertical])