Tapawingo employs a fundamental structure, essentially an isometric grid, which is constructed row by row and simultaneously rotated around a specific point. Remarkably, such a simple configuration can yield incredibly diverse, abstract results that are unique in their variation.
The resultant outputs can undergo radical changes in the final moments, frequently leading to entirely unanticipated end products. A significant level of randomness, coupled with a multitude of variables, have been seamlessly incorporated into this project, all within a remarkably straightforward framework. This truly empowers the algorithm to generate creations beyond our wildest imaginations. The code contains minimal curation, which occasionally leads to less-than-ideal outcomes. For instance, at times, the color scheme and rotation might converge in a way that leaves the canvas predominantly empty. Although this is an infrequent occurrence, it can happen.
The blocks' visual portrayal can be mentally challenging, as discerning their orientation can be tricky. It often necessitates viewing the sketch being drawn to reconcile the correct perspective.
Tapawingo's creations are fully responsive and are designed to display exceptionally well on high-resolution screens or when printed in large formats. The renderings adjust to the smaller dimension of your display's height or width while maintaining a 1:1 aspect ratio. For greater control over the size, you can specify dimensions using URL parameters, the details of which are outlined below.
This is a free mint only because I don't want my feelings hurt. :)
Controls
--------
[mouse click] - start/stop the sketch
[r] - redraw the sketch
[s] - save a .png
URL Params
----------
?size=xxxx where xxxx is a size in pixels you'd like to render
Features Descriptions
---------------------
Cell Size - the size of each cell in the grid
Color Scheme - refers to the coloring of the left, right, top and outline for each block.
Block Spacing - the padding between the block and the borders of each cell.
Block Height Scheme - "noisy" blocks get their height from random noise that is smoothed using the Noise Smoothing variable and "linear" blocks get their height as a function of the distance from a randomly chosen block.
Maximum Height & Amplitude - these control the height of the blocks and the disparity between those heights.
Stroke Weight - the thickness of the outlines for each block.
Rotation Type - "noisy" rotation gets random rotation movement using Perlin noise that is smoothed with the Noise Smoothing variable and "linear" rotation is constant rotation that moves in a uniform manner.
Rotate Around Center - the rotation point can either be the center of the canvas or a randomly chosen point elsewhere on the canvas.
Noise Smoothing - used to determine how smooth or ruggedly noise driven elements of the sketch are rendered.
Super Blocks - with a nod to Fidenzas, this determines whether the blocks are broken up into individual blocks or traditionally rendered as one block.