The new weather predicting supercomputer has arrived, and it doesn't work.
In the meantime your boss wants you to buy the technicians some time by faking the daily wind maps.
Your task is to draw a grid of arrows representing wind direction.
The grid is:
- made up of 15px square tiles
- 8 tiles by 8 tiles
- 120px square total
Each grid tile has 8 potential orientations, representing wind direction:
Which must be depicted as follows:
N NE E SE S SW W NW
The maps must vary gradually, in order to be believable.
This means each tile may only differ from its neighbour by one step. Specifically:
- A tile can only differ by one increment or decrement from each of the 4 adjoining tiles. (or 3 for side tiles, 2 for corner tiles).
- e.g. a tile with neighbour E could be NE, E or SE (assuming it accords with its other neighbours).
- Orientations can loop back around, i.e. N -> NW and NW -> N.
To illustrate, the following map is valid :
NW N NE NE NE NE NE NE N NE NE NE NE NE NE E NE NE NE NE NE NE E SE E NE NE NE NE E SE S SE E E E E SE S SE S SE SE SE SE S SE E SW S S S S SE E NE SW SW S S SE E NE N
Maps must be unique, don't generate the same map for different inputs.
- Input is an integer corresponding to the days between now and your forecast (e.g. 1 is tomorrow's forecast, 365 is a year's time).
- Output is the map as an image.
- Output should be reproducible, the same input will always give the same output
- You must give unique maps for at least 8 years - i.e. no identical output for any input between 1 and 2920 (I'm ignoring leap years).
- There is no defined output for any input greater than 2920.
The winning submission will produce valid maps (up to day 2920) with the fewest bytes of source code.