Polygonal monotile applet
Instructions
Disclaimer: Not designed for touchscreens. Not tested on touchscreens.Tested on Firefox and Google Chrome.
Description
The applet allows testing tilings with one polygonal tile that can be rotated into N possible orientations, and can also be flipped.
Controls
Basic ones- Summon a tile in an empty hand by clicking an empty space in the area
- Glue a tile in hand by left-clicking in the area.
- Turn the tile in the hand by one turn over N with either: the mouse wheel; the left/right arrow keys while the cursor is above the canvas; the turn buttons.
- Reflect the tile in the hand with a right click or the flip button or the keyboard "/", "-", "f" or "m".
- Group/Ungroup tiles with the hand tool by selecting them with Ctrl-click and pressing the group or ungroup buttons.
- Erase a tile or group of tile under the cursor with left click with the eraser tool.
- There are 4 tools, you can select them by clicking on their buttons or cycle through them with the up/down arrow keys while the cursor is above the canvas, or with Alt-wheel, or by pressing the key between parentheses: hand tool (h), erase (e), paint (p), pan/zoom (z).
- You can select a colour using the palette.
- You can edit a colour by right-clicking it in the palette. This does not change the already placed tiles.
- You can change the coulour of a tile with the paint tool by clicking a tile or using the mouse wheel while the cursor is over the tile.
- With the zoom tool you pan with left mouse button drag and zoom in/out with the wheel.
- You can also group groups, leading to nested groups.
- Change the value of N with the corresponding input field. Note that this will mess up your tiling unless all previous orientations match an appropriate multiple of the new angle.
- The toggle switch is to alter the colour of flipped tiles.
- Shift-left click with a tile in hand places the tile and leaves a copy in hand.
- Shift-left click with eraser/paint/empty hand will erase/paint/pick a single tile, even if it is in a group or a nested group.
- Duplicate a placed tile by right-clicking it with an empty hand.
- Box-selection is done with the hand tool by pressing Ctrl-Shift and then tracing a rectangle. This adds to the selection the tiles (or topmost groups of tiles) that are completely inside the rectangle.
- You can also erase a tile with the hand tool with Shift-Alt-left click. The hand tool with Alt-left click will erase the tile in hand if it is not empty, otherwise the tile under the hand. You can also erase a tile as follows: pick it up with left button, maintain left button pressed and click right mouse button.
- From any tool different from the hand: a right click goes back to the hand tool.
- Shift-wheel also allows to select a colour. If a tile is in hand while this is done, its colour is changed too.
- From any tool: dragging with middle mouse button allows panning and Ctrl-wheel zooms.
- Keyboard shortcuts for group/ungroup are (g) and (u) and you can also use Ctrl-Alt-Right mouse button.
- Cltr-Alt-click with the hand tool will deselect all tiles.
- Ctrl-click with the paint tool on a tile overwrites with its colour the currently selected entry in the palette.
- There may be a few other special behaviours not documented here.
Overlap is not prevented
There is no overlap checking implemented.Magnet (snapping)
The vertices of the tiles are magnetized. You can change the range of the magnet with the appropriate field.More technically: the vertices of the already placed tiles are used to snap the current tile being placed: the closest vertex pair is determined then if their distance is below some threshold, the tile in hand is translated so that this pair matches. The threshold value can be adjusted in the corresponding input field.
Custom polygon
The monotile can be changed into any polygon traced by a single closed polygonal line: use the "Load shape" button. The file should be a text file containing a list of the shape vertices in the form [[0,1.23],[3.1,13],[-3.14,2.505]] for instance. Be careful that the rotation centre will be [0,0]. You can recentre the cursor to the barycenter of the tile with the "Recentre shape" button. Another file type understood by the app is {"nbAngles":12,"shape":[[0,1.23],[3.1,13],[-3.14,2.505]]} where nbAngles denotes a recommended value of the number N of orientations, that will be set when you load the tile.Saving/Loading tilings
Saves a data file containing tile shape, number N of orientations, position and colour of tiles.