Tiling applet

Screenshot of the app being used to make various
tilings with a non-convex pentagon, by amfirifma

Instructions

Disclaimer: Not designed for touchscreens. Not tested on touchscreens.

Tested on Firefox and Google Chrome.

Description

The applet allows tiling with one or several polygonal or SVG shapes that can be rotated intopossible orientations, and can also be flipped.

Magnet (snapping)

The vertices of the tiles are magnetized. You can change the range of the magnet with the appropriate field.

Example of tiling with two shapes with various colours,
made by David Smith using the applet.

Trick: If your tiles are big and refuse to snap it is a good idea to try and increase the magnet range.

Technically: the vertices of the already placed tiles are used to snap the tile in hand about to be placed. For this the closest vertex pair (p,q) is determined, where p is a vertex in the hand tile and q in the other tiles. Then if the distance from p to q is below some threshold, the tile in hand is translated so that this pair matches, i.e. p=q. The threshold value can be adjusted in the corresponding input field.

Overlap is not prevented

There is no overlap checking implemented: the applet will not prevent you from placing tiles over each others.

Features

Multiple shapes and tilesets

Different shapes can be laid out on a single plane.

Goosen's version of the Penrose tilings.
Tiles by Dave Smith, arrangement by Ortwin Schenker

Shapes can be imported into the tileset. Tilesets can be loaded/saved/merged.

There is no limit on the size of tilesets.

SVG shapes can be used in conjuction with polygonal shapes for interesting results. Note that we cannot yet change the coulour of an SVG shape so one has to resort to tricks as below.

An SVG shape with transparent parts was laid upon a polygonal shape and they were grouped. Changing the colour of the group only changes the colour of the polygon.

Rotation and flip

Tiles can be rotated and flipped

The possible orientations of a given shape are divided intoequal angles, andcan be changed “on the fly”.

To have tiles with order 4 rotation collaborate with tiles with order 6 rotation, one needs to take n=the least common multiple=12.

Grouping and copying

Tiles can be manipulated as blocks using the grouping function. Tiles and blocks can be copied and pasted.

Grouping and copying features being used by Dave Smith to build a non-periodic tiling

Colouring

Every polygonal tile can be assigned their own colour, which can be different even if they have the same shape.

There is a palette to help, but colours can be outside the palette. Each colour of the palette can be changed. The palette size can be increased or reduced.

Palettes can be saved and loaded

There is also a selection of palettes

Adjustments

Work in progress...

Night mode

Dave prefers to work in night mode when the sky is dark

Controls

Note: most of the keys and key combinations only work when the cursor is above the tiling area.

Basic controls More

Custom polygon

New shapes can be added to the tileset: any polygonal shape traced by a single closed polygonal line. For this, use the Load button in the Shape frame (we have also a small selection accessed via the Select button). You can select multiple files. If the "add -- replace" knob is set on "replace", the loaded shape will replace the currently active shape. If you select multiple files in "replace" mode, the first one will replace the currently active shape, the remaining ones will be added to the tileset.

The file should be a either a text file containing a list of the shape vertices in the form.
[[0,1.23],[3.1,13],[-3.14,2.505]]
Be careful that the rotation centre will be [0,0]. You can recentre the cursor to the barycenter of the shape with the Adjust button then Recentre button. Another format 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 numberof orientations. The least common multiple of the newand the currentwill replace the current when you add the shape to the tileset.

The adjust button also offers Scale and Rotate possibilities for the shape.

Tileset

Alternatively you can load or import a whole tileset with the appropriate buttons. Load dumps all shape before adding the tileset, while Import does not. Beware of duplicate shapes: we have not yet programmed a way to reduce them to a single one.

SVG!

There is now a possibility to load svg shapes. For this to work the svg must contain: And optionally: The mandatory and optionnal objects included in the svg can be invisible (by being fully transparent, or by having display="none"). They shall not be clones of other objects. Concerning the attributes id, name, nbAngles: some svg maninpulation programs (like Inkscape) allow the edition of the xml. Otherwise you have to use a text editor.

Saving/Loading

You can load/save palettes, tilesets, and tilings. You can load tiles but not save them. Saving a tiling saves its tileset and several stettings, including the value of n, in the same file. Optionally you can save the palette and magnet range. Saving a tileset saves the current value ofin the same file.

Several settings, including the tiling area size but excluding the palette and tilesets, can be saved in the cookies of your web browser, by checking the appropriate option.