Documentation

This documentation describes the user interface of Tissellator. The steps on the homepage and this page help you to create your tessellations. Also have a look at the Transformations page and the Animations page. If something is unclear, or if you want to report comments and/or bugs, please mail me.

The user interface of Tissellator consists of the menu bar, menu icons, status bar, the view, and dialog windows.
N.B. Mac users should read Command+X instead of Ctrl+X.

Menu bar


File Main operations


New (Ctrl+N) Start a new project.

Open (Ctrl+O) Load an existing project from a TIS file.

Recent Load a recent, existing project. Up to 8 project names are saved.

Save (Ctrl+S) Save the project to the current TIS file.

Save As (Ctrl+Alt+S) Save the project to a new TIS file.

Export Image
Save the tessellation in the view (including the background) to a PNG file. The fill mode determines what is actually saved. The size of the image equals the size of the view.

Export Outline as SVG
Save the outline of the basic tile to a SVG file.

Exit Stop the program.



Edit Edit operations


Undo (Ctrl+Z) Undo the last action.

Redo (Ctrl+Y) Go back to a later state.

Delete Point (Ctrl+D) Delete the selected point.

Unselect Point (Ctrl+U) Unselect the selected point.

Join 2 Points Move a point to the neighbour point that is very close to it.

Toggle Point Mode Change the mode of a point from Cubic to Linear, or vice versa.

Move Point to .. A dialog asks you for the coordinates of the new location.

Toggle fill (Ctrl+F) Toggle the fill mode between (1) outline and all tiles filled, (2) outline and base tile filled, (3) only outline

Hide outline (Ctrl+H) Hide outline and filled tiles. This will show the full background.

Reset zoom
Set the zoom factor to 1, and move the panned offset to the center.

Show transformations
(Ctrl+Shift+T)
Show the arrows indicating the transformations: translation, glide, rotation, mirroring.



Tessellation Tessellation operations


Save Outline Image Save the outline of the basic tile to a PNG file.

Load Background (Ctrl+B) Load a background image, that is used for creating the tessellation. If the image is bigger than the view, then only the top left part of the image is taken.

Toggle Background (Ctrl+T) Show/hide the background image.

Create Tessellation Create the tessellation according to the outline and using the background image.

Load Multi Background (Ctrl+M) Load several background images, that are used for creating the tessellation.

Cycle Multi Background (Ctrl+C) Cycle through all background images.

Create Multi Tessellation Create the tessellation according to the outline and using multiple background images.

Export Tiles as SVG Create an SVG file of the outlines of all tiles generated at a tessellation.
The file can for example be used as input for a lasercutter.

N.B. After loading a new (multi) background image, a new (multi) tessellation must be created before being able to perform a transformation operation of the tessellated image.



Transform Transformation operations

Transform into Poincaré disk of hyperbolic geometry

Background image Image from 'Load Background'; the whole image is used, and its size may differ from the view size.


Circle Background Create a circular tessellation from the background image.


Spiral Background Create a spiral tessellation from the background image.


Double Spiral Background Create a double (Moebius) spiral tessellation from the background image.


Multi Spiral Background Create a multi spiral tessellation from the background image.


Poly Spiral Background Create a repeating spiral tessellation from the background image.


Sphere Spiral Background Create a sphere (Earth) spiral tessellation from the background image.


Circle Inversion Background Use the top-left part of the background image giving a square image, and fill the area outside of the enclosed circle of that square according to the circle inversion formula.


Droste effect Background Create a Droste effect image from the background image.

Tessellated image
Image from 'Create (Multi) Tessellation' of a polygon (triangle, quadrilateral, pentagon, hexagon) tessellation; the latest created tessellation is stored internally. The circle and 5 spiral transformations can be applied to any of the triangle, quadrilateral, pentagon and hexagon tessellations. For IH7 and IH16 the transformation is only possible with 3 colors, not with 4 colors.


Circle Tessellation Create a circular tessellation from the tessellated image.


Spiral Tessellation Create a spiral tessellation from the tessellated image.


Double Spiral Tessellation Create a double (Moebius) spiral tessellation from the tessellated image.


Multi Spiral Tessellation Create a multi spiral tessellation from the tessellated image.


Poly Spiral Tessellation Create a repeating spiral tessellation from the tessellated image.


Sphere Spiral Tessellation Create a sphere (Earth) spiral tessellation from the tessellated image.


Hyperbolic Tessellation Create a Poincaré disk of hyperbolic geometry from the tessellated image. The hyperbolic transformation can only be applied to a tessellation configuration having rotation symmetry: IH7, IH10, IH11, IH16, IH21, IH21M, IH28, IH29, IH31, IH33, IH34, IH36, IH39, IH55, IH61, IH62, IH71, IH79, IH79MCE, IH88, or IH90.


Droste effect Tessellation Create a Droste effect image from the tessellated image.


Extra Miscellaneous operations


About Shows current program version.

Settings Edit system settings.

User Info Show the information of a registered user.

Register Enter registration information for becoming a registered user.


The restrictions for unregistered users are: limited number of tessellations, some limited transformations and animations, fixed size of output image, being 1250 x 960 pixels or for fractals 960 x 960 pixels, and only default parameter choices. To cope with this for example, use a zoom factor of 0.8 for normal, square fractal tessellations.


Menu icons

delete point Delete the selected point.
unselectpoint Unselect the selected point.
join 2 points Move a point to the neighbour point that is very close to it.
cubic segment The added point is a cubic point, that gives a curved segment. A segment is curved if one or both endpoints are cubic points. Toggle this button for switching to linear mode.
linear segment The added point is a linear point, that takes care of a straight segment. A segment is straight if both endpoints are either linear points, or corners, or intermediate points, or mirror points.Toggle this button for switching to cubic mode.
zoom in Zoom in by 5%.
zoom out Zoom out by 5%.
zoom slider + value Zoom slider and zoom value. You can zoom in or out the tessellation by a maximum factor of 10. Note that the background image does not zoom or pan.
edit points Edit points or corners. Toggle this button for switching to pan mode.
pan Pan the tiles and the outline. Toggle this button for switching to edit mode.
edit outline Edit the points of the outline. Toggle this button for switching to editing corners.
edit corners Edit the corners of the tile. Straight edges between the corners appear instead of the points. Each corner can be moved in a way that depends on the type of tessellation. Just try and see how the tile changes. Toggle this button for switching to editing outline points.
edit corners This icon is intended for non-periodic tessellations.
Show a dialog for changing the number of substitution iterations, and the fractions of the deformed tiles.

N.B. The icons have tooltips.


Status bar

The red box of the status bar shows information, warnings and errors about your actions. For example:

status bar
indicates starting a new project. In this case, the numbers 3 (for pentagon) and 23 (isohedral type) are codes for the tesselation.


View

Editing of the tessellation happens in the central part of the window. For example the figure below shows a triangle tessellation of isohedral type IH79 :

view 1
The grey outline contains different kind of points with a certain color, indicating their nature:


point cubic Cubic point. This point causes a curved segment in the outline, made of a third degree polynomial. A segment is curved if one or both endpoints are cubic points.
point linear Linear point. This point takes care of a straight segment in the outline. A segment is straight if both endpoints are either linear points, or corners, or intermediate points, or mirror points.
corner point Corner point. The basic form of a tile is a polygon with a number of corners (e.g., three for the triangle above, labeled C1, C2, C3). Corners can be moved in "corner mode" : select icon edit corners to enable this. For moving a corner, you first have to select it with the mouse. Then, click at another location. Often, not only the corner itself moves, but also other corners of the tile. That is needed to maintain the characteristics of a tile: for example, it must still be a rectangle. Moving another corner may change the tile in a different way. Just try and see what happens. In this way you can also scale and/or rotate a tile. Some moves may lead to an invalid configuration, as indicated in the status bar, and cancel the move action. This happens especially for spiral and circle configurations. Just try a smaller move, or in another direction. Non-periodic tessellations scale and rotate with respect to the corner with index 0.
rotation point Intermediate point. This point lies exactly in the middle of an edge between two corners, that has rotation symmetry (e.g., I1 in the triangle above lies between C1 and C2). An arrow outside the outline indicates (when activated by Show transformations) such a symmetry. An intermediate point can not be edited.
mirror point Mirror point. This point lies on the perpendicular bisector of an edge between two corners, that has mirror symmetry. It occurs in tessellations IH12, IH13, IH66, and IH79MCE. An arrow outside the outline indicates (when activated by Show transformations) such a symmetry. A mirror point can only be edited by moving it along the perpendicular bisector.
selected point Square around selected point.

Clicking with the mouse in the view adds a cubic or linear point. However, when you click on an existing point, then that point becomes the selected point. Click on another location in the view to move the selected point. Also, a selected point can be processed with an appropriate menu edit operation. (Caveat: sometimes a point is deleted instead of selected; this unwanted behavior can be solved by pressing the Shift-button twice. It seems to be an internal bug that I can't fix, sorry.)
Two mouse shortcuts exist. When you press the control button and then click on an existing point, then that point is deleted. When you press the shift button and then click on an existing point, then the mode of that point is toggled from Cubic to Linear, or vice versa.

Editing an edge of the outline causes changes in related edges, depending on the transformation between those edges. Possible transformations are translation, rotation, mirror (or reflection), and glide ( kind of "upside down"). Also within an edge 2 transformations are possible: rotation or mirror. When choosing a new tessellation colored arrows in the dialog indicate the transformation. Here is an overview:

translation Translation. The edge is often shifted to the opposite side of the tile, keeping the same orientation. It is also possible that the translated edge is rotated a bit, especially for the spiral tessellations. An edge and its related, translated edge have no corner in common (otherwise it would be a rotation).
rotation Rotation. An edge and its related, rotated edge have a corner in common. The edges rotate around the common corner. The rotation angle is often 60 degrees, or 90 degrees.
glide Glide. This arrow is twisted upside down, and that is what also more or less happens with an edge. Instead of a normal translation, the translated corners are swapped together with the part of the outline between the 2 corners.
rotated glide Glide rotation. This transformation is a combination of a glide and a rotation, and it occurs between two neighbour edges with a common corner.
mirror Mirror (or reflection). The vertical bar in the middle of the arrow stands for a mirror, indicating an edge and its mirrored counterpart.
mirror rotation Mirror rotation. This transformation is a combination of a mirror and a rotation, and it occurs between two neighbour edges with a common corner.
mirror This rare transformation is a combination of a translation and a 180 degrees rotation; therefore, I call it a twirl.
edge rotation Rotation of 180 degrees inside an edge. In the middle of the edge is an intermediate point.
This arrow is drawn outside the tile.
edge mirror Mirror inside an edge. In the middle of the edge is a mirror point.
This arrow is drawn outside the tile.


The following figures illustrate the transformations and the corresponding arrows, and also an example tessellation. The arrows have the same color within a tessellation if they refer to the same edge.

IH43 translation glide
IH43 points
IH13 (edge) mirror rotation
IH13 points
IH61 twirl
IH61 points


Dialog windows

Dialog: File / New

New project

Create a new project and choose the tessellation type. Double click on one of the eight icons, or single click and select OK.


Dialog: File / Export Outline as SVG

Export Outline as SVG


Field Description
X-range Minimum and maximum values of X-coordinates of outline points.
Y-range Minimum and maximum values of Y-coordinates of outline points.
Scale The X-coordinates and Y-coordinates are multiplied by the scale factor.
Size Value of the fields width and height in the SVG file.
Size viewbox Value of the viewBox width and height in the SVG file.


Dialog: Edit / Move Point To ..

Move Point To

Field Description
New X-coordinate New value of X-coordinate of moved point.
New Y-coordinate New value of Y-coordinate of moved point.

N.B. The coordinates mentioned are internal coordinates, independent of the zoom factor and the offset. The origin (0,0) of these coordinates lies in the middle of the screen.


Dialog: Tessellation / Load Multi Background

Multi background

Field Description
Filename [x] Enter the filename of the image with index [x]. Optionally, click Browse for browsing to it.
All entered files are checked. If an image can not be read, then this activity is cancelled.
Select color scheme Press this button to use a color scheme.
Note that this button appears only for some spiral tessellations, all circle tessellations, and all non-periodic tessellations. The dialog for circle/spiral tessellations differs from the one for non-periodic tessellations.

N.B. In case of spiral tessellations and circle tessellations, the number of background images is freely selectable. A dialog appears to ask for the number of images.


Dialog: Tessellation / Load Multi Background / Select color scheme circle/spiral tessellation

Select color scheme

Field Description
Enable color scheme Enable or (temporarily) disable the color scheme. When disabled the default colors are used.
First First value in the corresponding direction.
Delta Delta value in the corresponding direction. This value is normally positive, but can also be zero or negative.
Last Last value in the corresponding direction. An incremented/decremented value exceeding 'Last' gets the value of 'First'. If 'Delta' is positive, then 'Last' should be greater than 'First'. If 'Delta' is negative, then 'Last' should be less than 'First'.

The color index is the sum of the values in the tangential direction and the radial direction, taken modulo the number of colors. The radial direction goes outward from the center of a spiral/circle; for a circle along a radial, and for a spiral it has the range of its number of arms. The tangential direction is (almost) perpendicular to the radial direction; for a circle the range equals the number of radials, and for a spiral the range is unlimited.


Dialog: Tessellation / Load Multi Background / Select color scheme non-periodic tessellation

Select color scheme non-periodic tessellation

Field Description
Cycle scheme Select cycle scheme; see table below. The value of a scheme is used as the index in the array of background images.
Increment Value added in the two last cycle schemes.

Field of cycle scheme Description
Prototile identification Index of prototile.
Kid identification Index of child prototile.
Cycle modulo number of kids Add the child identification and the Increment to the value of a parent in the previous iteration step. Then, take modulo with number of kids.
Cycle modulo number of images Add the child identification and the Increment to the value of a parent in the previous iteration step. Then, take modulo with number of background images.

Dialog: Tessellation / Create Tessellation

Create Tessellation

Field Description
Width Width of output image in pixels.
Height Height of output image in pixels.

N.B. The same dialog appears for Create Multi Tessellation.


Dialog: Tessellation / Export Tiles as SVG

Export Tiles as SVG

Field Description
Width area Width of output area in pixels.
Height area Height of output area in pixels.
Include tiles Choose between 4 options:
All generated tiles: export all tiles generated by the tessellation algorithm,
Partly and fully inside area: do not export tiles that are fully outside the area,
Inside area until border: do not export tile segments that are fully outside the area,
Fully inside area: only export tiles that are fully inside the area.


Dialog: Transform / Transform into circle

Transform into circle

Field Description
Width Width of output image in pixels.
Height Height of output image in pixels.
Center (x,y) Location of circle center in pixels. Location (0,0) is in the middle of the image.
Number of radials Number of circle radials.
Image rotations The input image is a rectangle or a parallelogram. Each of the 4 corners can be used as base for the transformation. The number of rotations corresponds with the appropriate corner.
Create animation Mark the checkbox to create a gif animation. A new dialog opens after pressing OK.

N.B. The same dialog appears for Tessellated image.
In case of a Background image the input image is always a rectangle; in case of a Tessellated image the input image is a repeating part of that tessellated image: it can be a rectangle or a parallelogram depending on the isohedral type. For example, the pentagon tessellation of isohedral type IH21 has always a corner of 60 degrees, so that the parallelogram has corners of 60 degrees and 120 degrees. Nevertheless, the transformation is conformal, meaning that the input image resembles the parts of the circular transformation very well.


Dialog: Transform / Transform into spiral

Transform into spiral

Field Description
Width Width of output image in pixels.
Height Height of output image in pixels.
Center (x,y) Location of circle center in pixels. Location (0,0) is in the middle of the image.
Number of arms-1 First number of spiral arms.
Number of arms-2 Second number of spiral arms.
Image rotations The input image is a rectangle or a parallelogram. Each of the 4 corners can be used as base for the transformation. The number of rotations corresponds with the appropriate corner.
Create animation Mark the checkbox to create a gif animation. A new dialog opens after pressing OK.

N.B. The same dialog appears for Tessellated image.
In case of a Background image the input image is always a rectangle; in case of a Tessellated image the input image is a repeating part of that tessellated image: it can be a rectangle or a parallelogram depending on the isohedral type. A parallelogram is deformed into a rectangle, so that the transformation is non-conformal. This remark holds also for the other spiral transformations below.


Dialog: Transform / Transform into double spiral

Transform into double spiral

Field Description
Width Width of output image in pixels.
Height Height of output image in pixels.
Center (x,y) Location of circle center in pixels. Location (0,0) is in the middle of the image.
Number of arms-1 First number of spiral arms.
Number of arms-2 Second number of spiral arms.
Pole1 (x,y) First pole of the moebius function. The values of the pole are related to the height of the image. Half of the image height corresponds with 1.0 .
Pole2 (x,y) Second pole of the moebius function.
Image rotations The input image is a rectangle or a parallelogram. Each of the 4 corners can be used as base for the transformation. The number of rotations corresponds with the appropriate corner.
Create animation Mark the checkbox to create a gif animation. A new dialog opens after pressing OK.

N.B. The same dialog appears for Tessellated image.


Dialog: Transform / Transform into multi spiral

Transform into multi spiral

Field Description
Width Width of output image in pixels.
Height Height of output image in pixels.
Number of arms-1 First number of spiral arms.
Number of arms-2 Second number of spiral arms.
Constant1(x,y) First constant in transformation formula, affecting the shape of the spirals. The basic transformation formula is : Constant1 * ( 1 - ( Constant2 / z )^Power ), where z is the transformed complex variable.
Constant2(x,y) Second constant in transformation formula. One spiral center is located at this constant, represented as a complex variable z = x + i*y . The other spiral centers are rotated by multiples of 2*π/Power.
Power Number of spirals.
Image rotations The input image is a rectangle or a parallelogram. Each of the 4 corners can be used as base for the transformation. The number of rotations corresponds with the appropriate corner.
Create animation Mark the checkbox to create a gif animation. A new dialog opens after pressing OK.

N.B. The same dialog appears for Tessellated image.


Dialog: Transform / Transform into poly spiral

Transform into poly spiral

Field Description
Width Width of output image in pixels.
Height Height of output image in pixels.
Center (x,y) Location of circle center in pixels. Location (0,0) is in the middle of the image.
Number of arms-1 First number of spiral arms.
Number of arms-2 Second number of spiral arms.
Frequency Number of horizontal repetitions.
Multiplier (radius, angle[degrees]) The multiplier allows to scale with the radius and to rotate with angle the resulting image. The default values perform no scaling or rotation.
Image rotations The input image is a rectangle or a parallelogram. Each of the 4 corners can be used as base for the transformation. The number of rotations corresponds with the appropriate corner.
Create animation Mark the checkbox to create a gif animation. A new dialog opens after pressing OK.

N.B. The same dialog appears for Tessellated image.


Dialog: Transform / Transform into sphere spiral

Transform into sphere spiral

Field Description
Diameter Width and height of output image in pixels, and diameter of sphere.
Number of arms-1 First number of spiral arms.
Number of arms-2 Second number of spiral arms.
Altitude [0-90 degrees] Radial location of spiral center. 0 degrees is in the middle of the image, 90 degrees is at the border.
Azimuth [0-360 degrees] Tangential location of spiral center. 0 degrees is towards the top of the image.
Image rotations The input image is a rectangle or a parallelogram. Each of the 4 corners can be used as base for the transformation. The number of rotations corresponds with the appropriate corner.
Create animation Mark the checkbox to create a gif animation. A new dialog opens after pressing OK.

N.B. The same dialog appears for Tessellated image.
The transformation is based on the paper "Loxodromic Spirals in M. C. Escher‘s Sphere Surface" by James Marcotte and Matthew Salomone.


Dialog: Transform / Animation

Transformation animation

Field Description
Duration [milliseconds] Duration of gif animation in milliseconds.
Number of cycles The number of cycles for the whole duration. During one cycle a full shift of the background image or tessellated image happens.
Number of frames per cycle Number of shifted images per cycle. Note that the duration of a single frame must be a whole number of centiseconds!
Shift The input image can be shifted in 8 directions represented by the arrows. The bullet in the middle causes an animation without shift. The current choice has a red background.

Credits: The encoder of the animated GIF software comes from Kevin Weiner, refer to github.


Dialog: Transform / Background image / Transform into Circle Inversion

Transform into Circle Inversion
Field Description
Border [pixels] Size of additional border around the circle. The diameter of the circle is the minimum of the width and the height of the background image. So, the total width and height of the output image equals the diameter plus twice the entered border.
Rotation [degrees] The inverted pixels outside the circle are rotated anti-clockwise by the entered angle in degrees.
Fill empty pixels Fill empty pixels, especially at the circle boundary.


Dialog: Transform / Tessellated image / Transform into hyperbolic disk

Transform into hyperbolic disk

Field Description
Diameter [pixels] Width and height of output image in pixels, and diameter of disk.
Number of triangles Number of neighbor triangles at the 3 corners of the center triangle, say N1, N2, N3.
The angles at the 3 corners are then (in degrees) : 360/N1, 360/N2 and 360/N3. The sum of these 3 angles must be less than 180 degrees !
Translate (x,y) [pixels] Shift vector of the disk center in pixels. The location of the vector must be inside the disk.
Number of iterations Starting with a center triangle, at each iteration neighbor triangles are added towards the border.
Common values for filling the entire disk are between 6 and 12, depending on the input Number of triangles.
For the value of 0, Tissellator determines an appropriate number of iterations. The actual number of iterations is shown in the Status Bar.
Circle inversion Fill the area outside the disk according to the circle inversion formula.
Fill empty pixels The circle boundary might not be filled with pixel values, especially when the number of iterations is too low. Filling empty pixels works well for small empty boundaries.
Border Additional border in pixels around the disk.

Before transforming to a hyperbolic disk a (multi) tessellation must be executed via Tessellation/Create Tessellation or Tessellation/Create Multi Tessellation. The size of that created tessellation must be sufficiently high. Tissellator reports if the width or height is not sufficient (sometimes in several steps); in that case, create another tessellation with bigger size.


Dialog: Transform / Droste effect

In the Droste effect a part of the image is replaced by a smaller version of itself, and this process repeats yielding a fractal structure. Also, parts of the image can be rotated and scaled so that a spiral arises. The size and shape of the replaced part determine what pixels of the original image are used for rendering.

Transform into Droste effect
Field Description
Width Width of output image in pixels.
Height Height of output image in pixels.
Shape This parameter sets the shape of the repeating region. The 4 possible shapes are:
Rectangle: The aspect ratio of the sizes of the repeating rectangle is the same as the aspect ratio of the input image.
Squircle (0.5-50): A squircle is a rectangle with rounded corners. You have to enter the power parameter, default = 3.0. The squircle is an ellipse in case of a power of 2, or a circle for equal width and height of the input image; a power of 1 gives a diamond; a huge power gives almost a rectangle.
Circle: The diameter of the repeating circle is the lowest value of the width or the height of the input image.
Free format: Same as for rectangle, however, empty pixels (i.e. zero opacity) at the border of the rectangle will not be used but instead the pixel that is a factor of Ratio closer to the image center. Therefore, the background image must be able to contain pixels with zero opacity, for example a PNG image.
Twin shape An extra möbius transformation creates a twin spiral. An additional window opens to set the (relative) coordinates of both spiral eyes, called poles.
Ratio (1-300) Size ratio between original image and replaced part.
Spiral
Spiral clockwise (1-9): Create a clockwise spiral; the parameter determines the number of independent spirals.
Spiral anti-clockwise (1-9): Create an anti-clockwise spiral; the parameter determines the number of independent spirals.
Repetition Repeat the replaced part.
Frequency (1-8) The background image is duplicated with this frequency parameter.
Scale The output image is scaled with this factor.
Angle [degrees] The output image is rotated in clockwise direction by the entered angle in degrees.
Shift (x,y) The output image is shifted to the right (x) and upwards (y).
Create animation Mark the checkbox to create a gif animation. A new dialog opens after pressing OK.

Dialog: Extra / Settings

settings

Field Description
User directory This field shows where your user directory for Tissellator dedicated files is located. This directory includes files for settings as shown in this dialog, recent projects, user registration, project files of Undo history, occasional project files, exception stack traces and (optional) logging files. If you loose some work for some unexpected reason, you might recover it by searching for the latest project files having extension ".tis".
In Windows the user directory is: C:\Users\<username>\tissellator .
In Linux (Mint) the user directory is: /home/<username>/tissellator .
In MacOS the user directory is:  /Users/<username>/tissellator .
It is recommended to clean up  user directory regularly.
View width
View height
The view is the graphical part of the window for editing the tessellation. Its width and height are in the unit of pixels. The size of the view is limited by the resolution of the computer monitor. Initially, the size is 960 by 640 pixels. It is highly recommended to increase the view size for big monitors. Possibly, the program window does not scale correctly after increasing the size. Please, restart Tissellator then.
N.B. The size of an exported image (File / Export Image) equals the size of the view.
If the initial view might even be too large to change the Settings, you might solve this by editing the file tissellator.settings in the user directory with an ascii editor.
Selection radius for point A point is selected if the mouse is clicked closer than the entered selection radius. Default value is 5.0 .
Selection radius for corner A corner is selected if the mouse is clicked closer than the entered selection radius. Default value is 25.0 .
Color of outline Select the color of the outline in the view. Default color is Light Gray (#D3D3D3).
Tessellation offset (X,Y) X-coordinate and Y-coordinate of an additional offset when creating a (multi) tessellation. Don't use too high offsets to prevent empty parts in the created image. This offset is especially useful for non-periodic tessellations and fractal tessellations. Default values are 0.0 and 0.0 .
Note that for transformations of a tessellation the offset for that original tessellation must have zero coordinates!
Fill empty pixels Enter the number of fill steps.
Sometimes, rendered tiles in (multi) tessellations don't fit together perfectly, so that pixels in between them remain empty. At each step, Tissellator fills empty pixels with interpolated, non-empty neighbour values.
Anti-aliasing for transformed background image Anti-aliasing mitigates artefacts of transformed background images.
For example, the background image is enlarged, especially at the borders of a tessellated spiral or circle. This causes aliasing effects making pixels visible as squares. A bilinear or cubic interpolation algorithm takes care of anti-aliasing.
At the moment the cubic interpolation is only available for the circle inversion transformation.
Automatic horizontal and vertical tiles The polygon tessellations, excluding the spiral/circle tessellations, are rendered along a rectangular grid. Tissellator computes the size of the grid, if this checkbox is marked. If you prefer your own grid size, then unmark the box, and fill in the next two fields.
Note that unmarking this option leads to many empty filled; it is recommended to unmark then the checkbox of Fill empty pixels.
User defined horizontal tiles
Grid size for rendering tiles in horizontal direction.
User defined vertical tiles Grid size for rendering tiles in vertical direction.
Command logging Enable logging of main commands. A log file is saved in the user directory with format:
<date>_<time>_log.txt .
Settings logging Enable logging the settings in a saved project file.
The logged settings are not restored when loading a project file. They can be inspected in the file with an ascii editor, and then set manually.


Description Log command
File New
FN <major> <minor> <optional parameters>.
The optional parameters are the parameters in the spiral and circle dialogs of this documentation.
File Open/Recent
FO <filename>
File Save
FS <filename>
Load Background
Tb <filename>
Save Outline Image
TS <filename>
Create Tessellation
Tc <width> <height> <filename>
Load Multi Background
TB <filename>
Create Multi Tessellation
TC <width> <height> <filename>
Transform Circle Background
xC <width> <height> <centerX> <centerY> <number of radials> <image rotations> <create animation>
Transform Spiral Background xS <width> <height> <centerX> <centerY> <number of arms-1> <number of arms-2> <image rotations> <create animation>
Transform Double Spiral Background xD <width> <height> <number of arms-1> <number of arms-2> <pole1X> <pole1Y> <pole2X> <pole2Y> <image rotations> <create animation>
Transform Multi Spiral Background xM <width> <height> <number of arms-1> <number of arms-2> <constant1X> <constant1Y> <constant2X> <constant2Y> <power> <image rotations> <create animation>
Transform Poly Spiral Background xP <width> <height> <number of arms-1> <number of arms-2> <frequency> <multiplier radius> <multiplier angle> <image rotations> <create animation>
Transform Sphere Spiral Background xE <width> <height> <number of arms-1> <number of arms-2> <azimuth > <altitude> <image rotations> <create animation>
Transform Circle Inversion Background xI <border> <angle> <fill empty pixels>
Transform Circle Tessellation
XC <width> <height> <centerX> <centerY> <number of radials> <image rotations> <create animation>
Transform Spiral Tessellation XS <width> <height> <centerX> <centerY> <number of arms-1> <number of arms-2> <image rotations> <create animation>
Transform Double Spiral Tessellation XD <width> <height> <number of arms-1> <number of arms-2> <pole1X> <pole1Y> <pole2X> <pole2Y> <image rotations> <create animation>
Transform Multi Spiral Tessellation XM <width> <height> <number of arms-1> <number of arms-2> <constant1X> <constant1Y> <constant2X> <constant2Y> <power> <image rotations> <create animation>
Transform Poly Spiral Tessellation XP <width> <height> <number of arms-1> <number of arms-2> <frequency> <multiplier radius> <multiplier angle> <image rotations> <create animation>
Transform Sphere Spiral Tessellation XE <width> <height> <number of arms-1> <number of arms-2> <azimuth > <altitude> <image rotations> <create animation>
Transform Hyperbolic Tessellation XH <diameter> <number of triangles-1> <number of triangles-2> <number of triangles-3> <translateX> <translateY> <number of iterations> <circle inversion> <fill empty pixels> <border>
Animation
A <duration > <number of cycles> <number of frames> <shiftX> <shiftY>
End of program #EXIT


Dialog: Extra / Register

register

Field Description
Registration-File Enter here the name of the file received at registration. Optionally, browse to it with the button "..."
Registration-Code Enter the code received at registration.


Dialog: Menu icon / Substitution parameters

substitution parameters chair

Field Description
Number of iterations Number of substitution iterations, starting from the initial chair configuration.
X-fraction (0.0 - 1.0) Fraction of X-coordinate indicating the tile to be deformed.
Y-fraction (0.0 - 1.0) Fraction of Y-coordinate indicating the tile to be deformed.

After determining the minimum and maximum X-coordinates and Y-coordinates of the substituted image, the fractions are used to calculate a target location between the minima/maxima around which the deformed tiles are selected.
Note that a change of any of these 3 parameters affects the selection of the deformed tiles, and the orientation of the whole image. As a consequence the background image(s) may not match the deformed tiles anymore! In that case, change the fractions a little bit.
For zero iterations the (special) initial configuration is shown.

 

New Project Dialogs

Dialog: File / New / Triangle

New triangle tessellation

Choose one of the triangle tessellation types. Double click an icon, or single click and select OK.
The tessellation type IH79MCE is a variation of IH79, having the additional property of mirror symmetry on 2 edges. M.C. Escher used this configuration in his famous artworks Angels and Devils and Circle Limit IV (Heaven and Hell).

Dialog: File / New / Quadrilateral

New quadrilateral tessellation

Choose one of the quadrilateral tessellation types. Double click an icon, or single click and select OK.

Dialog: File / New / Pentagon

New pentagon tessellation

Choose one of the pentagon tessellation types. Double click an icon, or single click and select OK.

Dialog: File / New / Hexagon

New hexagon tessellation

Choose one of the hexagon tessellation types. Double click an icon, or single click and select OK.

Dialog: File / New / Spiral

New spiral tessellation

Choose one of the spiral tessellation types. Double click an icon, or single click and select OK.
The differences between IH1a , and IH1b are explained at their dialogs.

Dialog: File / New / Circle

New circle tessellation

Choose one of the circle tessellation types. Double click an icon, or single click and select OK.
The differences between IH1a , IH1b , and IH1c are explained at their dialogs.

Dialog: File / New / Non-periodic

New non-periodic tessellation

Choose one of the non-periodic tessellation types. Double click an icon, or single click and select OK.
The different configurations of some types are explained at their dialogs.

Dialog: File / New / Fractal

New fractal tessellation

Choose one of the fractal tessellation types. Double click an icon, or single click and select OK.
The five fractal types open their own menu for further selection. The different configurations of some types are explained at their dialogs.

Dialog: File / New / Fractal / SquareLimitBasic

New Square Limit Basic tessellation

Choose one of the fractal tessellation types. Double click an icon, or single click and select OK.
These 4 tessellations have types of the same shape without reflections, unlike Escher‘s Square Limit. In SquareLimitBasic2 the scheme at the diagonals has been made consistent so that an octagon is formed. The latter 2 tessellations have also fractal structure in the center.
The height (or width) of the total image equals 6 times the height of the triangle to be deformed for the first 2 tessellation types, and 12 times its height for the last 2 tessellation types.

Dialog: File / New / Fractal / SquareLimitEscher

New Square Limit Escher tessellation

Choose one of the fractal tessellation types. Double click an icon, or single click and select OK.
The first tessellation is Escher‘s Square Limit. The other 3 are variations. In SquareLimitEscher2 the scheme at the diagonals has been made consistent so that an octagon is formed. The latter 2 tessellations have also fractal structure in the center.
The height (or width) of the total image equals 6 times the height of the triangle to be deformed for the first 2 tessellation types, and 12 times its height for the last 2 tessellation types.

Dialog: File / New / Fractal / SquareLimitDuo

New Square Limit Duo tessellation

Choose one of the fractal tessellation types. Double click an icon, or single click and select OK.
In these tessellations 2 edges can be deformed independently. Hence, 2 different tile shapes are created. In SquareLimitDuo2 the scheme at the diagonals has been made consistent so that an octagon is formed. The latter 2 tessellations have also fractal structure in the center.
The height (or width) of the total image equals 6 times the height of the triangle to be deformed for the first 2 tessellation types, and 12 times its height for the last 2 tessellation types.

Dialog: File / New / Fractal / SquareLimitMirror

New Square Limit Mirror tessellation

Choose one of the fractal tessellation types. Double click an icon, or single click and select OK.
In these tessellations the two edges around the top of the deformed triangle have mirror symmetry, and the two edges at the base have point symmetry. In SquareLimitMirror2 the scheme at the diagonals has been made consistent so that an octagon is formed. The latter 2 tessellations have also fractal structure in the center.
The height (or width) of the total image equals 6 times the height of the triangle to be deformed for the first 2 tessellation types, and 12 times its height for the last 2 tessellation types.

Dialog: File / New / Fractal / FtilingSquare

New Fractal Tiling Square tessellation

Choose one of the fractal tessellation types. Double click an icon, or single click and select OK.
These tessellations resemble the above Square Limit tessellations. The big difference is that here fractal structures occur not only at the edges but also halfway the picture, and also in the center for the latter 4 tessellations.
FtilingSquare1 has one tile without reflections. FtilingSquare2 has a tile with reflections of that tile. In FtilingSquare3 two edges can be deformed resulting in two different tile shapes. The edges in FtilingSquare4 have mirror symmetry causing also two different shapes.
The next 4 tessellations have the same deformations as the first 4, but now also with fractal structure in the center.
For the first 4 tessellation types, the height (or width) of the total image equals 8 times the height of the triangle to be deformed. The height and width of the latter 4 tessellation types are twice as big as the former 4.
N.B. The basic structure of this fractal image has been discovered by Robert Fathauer in 1993, see his “Bats and Owls”. The triangle scheme of these tessellations are described as the f(4,4) tiling in the paper “Self-Similar Fractal Drawings Inspired by M.C. Escher‘s Print Square Limit”.

Dialog: File / New / Fractal / FtilingHexagon

New Fractal Tiling Hexagon tessellation

Choose one of the fractal tessellation types. Double click an icon, or single click and select OK.
These tessellations are analoguous to the above Ftiling Square tessellations, but now with hexagons instead of squares.
FtilingHexagon1 has one tile without reflections. FtilingHexagon2 has a tile with reflections of that tile. In FtilingHexagon3 two edges can be deformed resulting in two different tile shapes. The edges in FtilingHexagon4 have mirror symmetry causing also two different shapes.
The next 4 tessellations have the same deformations as the first 4, but now also with fractal structure in the center.
For the first 4 tessellation types, the height of the total image equals 4 times the height of the triangle to be deformed, and the width is a factor 2/sqrt(3) bigger than the height. The height and width of the latter 4 tessellation types are twice as big as the former 4.
The triangle scheme of these tessellations are based on the f(6,3) tiling in the paper “Self-Similar Fractal Drawings Inspired by M.C. Escher‘s Print Square Limit”. N.B. The fractal in the center of the latter 4 tessellations was added by myself.

Dialog: File / New / Fractal / Vshaped

V-shaped tessellation

Choose one of the fractal tessellation types. Double click an icon, or single click and select OK.
Vshaped1 has one tile without reflections. Vshaped2 has a tile with reflections of that tile. In Vshaped3 two edges can be deformed resulting in two different tile shapes. The edges in Vshaped4 and Vshaped5 have mirror symmetry causing also two different shapes. You can choose the number of directions, being 5 and 6 in the shown icons ! For the latter 2 types this number must be even due to the mirror symmetry.
The name of these tessellations comes from the shape of the tile. Every parent tile has 3 child tiles, but neighbor parents share one child.

Dialog: File / New / Space-Filling Curve

Space-Filling Curve tessellation

Choose one of the fractal tessellation types. Double click an icon, or single click and select OK.
The different configurations are explained at their dialogs.

Background information about space-filling curves can be found in the book of Hans Sagan.

New Spiral Dialogs

Dialog: New / Spiral / Triangle-side-to-side

triangle spiral parameters

Field Description Spiral
Number (>=3) of leaf triangles The number of leaf triangles determines how quickly the spiral goes "round". In case of 8 leaf triangles the spiral is as follows: spiral triangle 8 leafs

N.B. A similar dialog appears for the Triangle-side-to-base, and for Triangle-base-to-side. The only difference is that the lower limit for the number of leaf triangles is 4 and 5, respectively.

Detailed information about these kind of triangle spirals can be found in the paper "Logarithmic Spiral Tilings of Triangles" by Robert Fathauer.


Dialog: New / Spiral / Four-armed-mirror spiral

4 armed mirror spiral parameters

Field Description Spiral
Angle in degrees Angle (in degrees) at bottom right corner of red triangle tile. spiral 4 arms
Length base edge The length of the base edge (i.c. 0.55) is entered as a relative value compared to the right edge with length 1.0 .

The above two parameters determine the configuration of this four armed mirror spiral. More background information can be found in my paper "Four-armed spiral tiling of scalene triangles".


Dialog: New / Spiral / Quadrilateral spiral

quadrilateral spiral parameters

Field Description Spiral
Number of leaf quadrilaterals
The number of leaf triangles determines how quickly the spiral goes "round". In case of 4 leaf triangles the spiral is as follows: spiral quadrilateral
Angle in degrees Angle (in degrees) at bottom right corner of orange quadrilateral tile.
Length base edge
The length of the base edge (i.c. 0.55) is entered as a relative value compared to the right edge with length 1.0 .

The above three parameters determine the configuration of this quadrilateral spiral. Some background information can be found in my paper "The computation of the spiral center of triangles and quadrilaterals".


Dialog: New / Spiral / Bi-Logarithmic spiral

bi-logarithmic spiral parameters

Field Description Spiral
Number of arms
clockwise direction
The design of this spiral consists of points that rotate and scale in clockwise direction, and of points that rotate and scale in counterclockwise direction. For the default parameters, the points rotate 60 degrees in clockwise direction and scale a ratio of 1.25 . After 5 such operations a point is back to its original spiral arm, indicated as A-B-C. spiral double text
Number of arms
counterclockwise direction
For the default parameters, the points rotate in counterclockwise direction the remaining 360 - 300 = 60 degrees. So, 20 degrees per point, and the ratio can be computed as: 1.25^(5/3). After 3 such rotate and scale operations a point is back to its original spiral arm, indicated as 1-2-3-4-5.
Angle range clockwise direction in degrees In clockwise direction the points rotate (for the default parameter) each 60 degrees, so in total 5 * 60 = 300 degrees. This covers the blue part of the circle.
Ratio clockwise direction In clockwise direction the points scale (for the default parameter) a factor 1.25, or its reciprocal 0.8 .

Once chosen, the number of arms can not be changed anymore for a spiral. By editing tile corners the angle range and the ratio can still be varied. Invalid spiral configurations are detected, skipped and reported in the Status Bar.


Dialog: New / Spiral / IH1a

spiral parameters IH1a

Field Description Spiral
Number of hexagons per revolution In this spiral configuration all hexagons are similar: having the same shape but different size. For the default parameters, after 7 rotations, indicated as 1-2-3-4-5-6-7 the hexagon lies "next" to the base hexagon that is grey outlined. spiral IH1 text
Number of spiral arms
In counterclockwise direction it  takes 3 steps to arrive at that 7th hexagon, indicated as A-B-C.
Factor diameter in range [ 0.0 - 1.0 ] The diameter factor affects the thickness of the hexagon. The rotation to the next hexagon can be considered as a rotation around the middle (=diameter) of a hexagon plus a rotation around the top edge of a (staggered) hexagon. The diameter can be varied, ranging from 0.0 to 1.0 . In case of 0.0 the hexagon becomes 2 triangles, whereas in case of 1.0 the hexagon becomes a quadrilateral. In the latter case, the form of the quadrilateral can not be changed back to a hexagon.
Radial ratio This ratio affects the height of the hexagon.
Skew in degrees The skew gives a twist to the spiral. In case of zero skew, the ray to the spiral center is a straight line.

Once chosen, the number of arms can not be changed anymore for a spiral. The other parameters can be changed by moving the corners as follows:

Corner[0] Rotate whole hexagon.
Corner[1] Change diameter with focus on top/bottom edge. (Angle alpha)
Corner[2] Rotate whole hexagon.
Corner[3] Change skew.
Corner[4] Change ratio.
Corner[5] Change diameter with focus on middle. (Angle beta)

The corner index is shown in the Status Bar after selection. Invalid spiral configurations are detected, skipped and reported in the Status Bar.

More background information about the construction of this spiral can be found in my paper "Logarithmic spiral tiling of hexagons".

Note: The computation of a (multi) tessellation is a lengthy process. Please, be patient.

Dialog: New / Spiral / IH1b

spiral parameters IH1b

Field Description Spiral
Number of hexagons per revolution In this spiral configuration all hexagons are similar: having the same shape but different size. For the default parameters, after 8 rotations, indicated as 1-2-3-4-5-6-7-8 the hexagon lies "next" to the base hexagon that is grey outlined. spiral IH1b text
Number of spiral arms
In counterclockwise direction it  takes 3 steps to arrive at that 8th hexagon, indicated as A-B-C.
Factor diameter in range [ 0.0 - 1.0 ] The diameter factor affects the thickness of the hexagon. The rotation to the next hexagon can be considered as a rotation around the middle (=diameter) of a hexagon plus a rotation around the top edge of a (staggered) hexagon. The diameter can be varied, ranging from 0.0 to 1.0 . In case of 0.0 the hexagon becomes 2 triangles, whereas in case of 1.0 the hexagon becomes a quadrilateral. In the latter case, the form of the quadrilateral can not be changed back to a hexagon.
Radial ratio This ratio affects the height of the hexagon.
Skew in degrees The skew gives a twist to the spiral. In case of zero skew, the ray to the spiral center is a straight line.

Once chosen, the number of arms can not be changed anymore for a spiral. The other parameters can be changed by moving the corners as follows:

Corner[0] Rotate whole hexagon.
Corner[1] Change diameter with focus on middle.
Corner[2] Rotate whole hexagon.
Corner[3] Change skew.
Corner[4] Change ratio.
Corner[5] Change diameter with focus on left/right edge.

The corner index is shown in the Status Bar after selection. Invalid spiral configurations are detected, skipped and reported in the Status Bar.

Looking from the center the hexagon of this spiral (IH1b) is more or less 90 degrees rotated compared to the previous spiral IH1a. In case of 1 spiral arm the corners of a IH1a hexagon are all on the same spiral line; for IH1b the top corner (far from center) and the bottom corner (close to center) are on different spiral lines: the top corner is on the same spiral line as the 2 lower (close to center) corners left and right, whereas the bottom corner is on the same spiral line as the 2 upper (far from center) corners left and right.

Note: The computation of a spiral (multi) tessellation is a lengthy process. Please, be patient.


New Circle Dialogs

Dialog: New / Circle / IH1a

circle parameters IH1a

Field Description Circle
Number of radials In this circle configuration all hexagons are similar: having the same shape but different size. Abbreviate the number of radials by N.  For each radial the hexagons are the same, but rotated by the angle obtained by dividing 360 degrees by N. So, N hexagons have the same size. circle IH1a text
Radial ratio The hexagons grow by this ratio. It is the quotient of the distance of P3 to center C divided by the distance of P2 to C. Note that P0 and P2 lie on the same circle around C, just like P3 and P5.
Radial skew in degrees The angle from P2 to P3 seen from center C.
Top ratio The quotient of the distance of P4 to center C divided by the distance of P3 to C.
Top skew in degrees The angle from P3 to P4 seen from center C.

Once chosen, the number of radials can not be changed anymore for a circle. The other parameters can be changed by moving the corners as follows:

Corner[0] Rotate whole hexagon.
Corner[1] Change top ratio and top skew.
Corner[2] Rotate whole hexagon.
Corner[3] Change radial ratio and radial skew.
Corner[4] Change top ratio and top skew.
Corner[5] Change radial ratio and radial skew.

The corner index is shown in the Status Bar after selection. Invalid circle configurations are detected, skipped and reported in the Status Bar.

The circle tessellation IH3 satisfies also the above description.

Note: The computation of a circle (multi) tessellation is a lengthy process. Please, be patient.

Dialog: New / Circle / IH1b

circle parameters IH1b

Field Description Circle
Number of radials In this circle configuration all hexagons are similar: having the same shape but different size. Abbreviate the number of radials by N.  For each radial the hexagons are the same, but rotated by the angle obtained by dividing 360 degrees by N. So, N hexagons have the same size. Note that between 2 hexagons of the same size there are 2 other hexagons with smaller and bigger sizes. circle IH1b text
Radial ratio The hexagons grow by this ratio. It is the quotient of the distance of P3 to center C divided by the distance of P1 to C. Note that P0 and P1 lie on the same circle around C, just like P3 and P4, and also P2 and P5.
Radial skew in degrees The angle from P1 to P3 seen from center C.
Middle skew in degrees The angle from P0 to P5 seen from center C.

Once chosen, the number of radials can not be changed anymore for a circle. The other parameters can be changed by moving the corners as follows:

Corner[0], Corner[1] Rotate whole hexagon.
Corner[3], Corner[4] Change radial ratio and radial skew.
Corner[2], Corner[5] Change middle skew, and radial ratio.

The corner index is shown in the Status Bar after selection. Invalid circle configurations are detected, skipped and reported in the Status Bar.

Looking from the center the hexagon of this circle tessellation (IH1b) is more or less 90 degrees rotated compared to the previous circle tessellation IH1a.

Note: The computation of a circle (multi) tessellation is a lengthy process. Please, be patient.

Dialog: New / Circle / IH1c

circle parameters IH1c

Field Description Circle
Number of radials In this circle configuration all pentagons are similar: having the same shape but different size. Abbreviate the number of radials by N.  For each radial the pentagons are the same, but rotated by the angle obtained by dividing 360 degrees by N. So, N pentagons have the same size. circle IH1c text
Ratio The pentagons grow by this ratio. It is the quotient of the distance of P3 to center C divided by the distance of P2 to C. Note that P0 and P2 lie on the same circle around C, just like P3 and P5.
Skew in degrees The angle from P2 to P3 seen from center C.

Once chosen, the number of radials can not be changed anymore for a circle. The other parameters can be changed by moving the corners as follows:

Corner[0], Corner[1], Corner[2] Rotate whole pentagon.
Corner[3], Corner[5] Change ratio and skew.
Corner[4] Change ratio.

The corner index is shown in the Status Bar after selection. Invalid circle configurations are detected, skipped and reported in the Status Bar.

Point P1 lies on the line from P0 to P2. Therefore, the "hexagon" of 6 points becomes a pentagon.

Note: The computation of a circle (multi) tessellation is a lengthy process. Please, be patient.

Dialog: New / Circle / IH2

circle parameters IH2

Field Description Circle
Number of radials In this circle configuration all hexagons are similar, or have mirror symmetry. Each radial has a ray of similar tiles and a ray of mirrored, similar tiles. circle IH1b text
Radial ratio The hexagons grow by this ratio. It is the quotient of the distance of P1 to center C divided by the distance of P5 to C. This quotient is the same for the pair P2 and P4.
Skew in degrees The angle from P0 to P1 seen from center C.
Top ratio The quotient of the distance of P2 to center C divided by the distance of P1 to C. This quotient is the same for the pair P4 and P5.
Top skew in degrees The default angle between P2 and P1 equals 180 degrees divided by the number of radials. This angle is lowered by the top skew angle. Note that it affects the position of P3.

Once chosen, the number of radials can not be changed anymore for a circle. The other parameters can be changed by moving the corners as follows:

Corner[0], Corner[3], Corner[4], Corner[5] Rotate whole hexagon.
Corner[1] Change radial ratio and skew.
Corner[2] Change top ratio and top skew.

The corner index is shown in the Status Bar after selection. Invalid circle configurations are detected, skipped and reported in the Status Bar.

Note: The computation of a circle (multi) tessellation is a lengthy process. Please, be patient.

Dialog: New / Circle / IH41a

circle parameters IH41a

Field Description Circle
Number of radials In this circle configuration all quadrilaterals are similar: having the same shape but different size. Abbreviate the number of radials by N.  For each radial the quadrilaterals are the same, but rotated by the angle obtained by dividing 360 degrees by N. So, N quadrilaterals have the same size. circle IH41a text
Ratio The quadrilaterals grow by this ratio. It is the quotient of the distance of P2 to center C divided by the distance of P1 to C. Note that P0 and P1 lie on the same circle around C, just like P2 and P3.
Skew in degrees The angle from P1 to P2 seen from center C.

The circle tessellation IH43 satisfies also the above description.

Dialog: New / Circle / IH41b

circle parameters IH41b

Field Description Circle
Number of radials In this circle configuration all quadrilaterals are similar: having the same shape but different size. Abbreviate the number of radials by N.  For each radial the quadrilaterals are the same, but rotated by the angle obtained by dividing 360 degrees by N. So, N quadrilaterals have the same size. circle IH41b text
Ratio The quadrilaterals grow by this ratio. It is the quotient of the distance of P1 to center C divided by the distance of P0 to C. Note that P0 and P2 lie on the same circle around C.
Skew in degrees The angle from the middle of P0 and P2 to P1 seen from center C.

The circle tessellation IH44 satisfies also the above description.


New Non-periodic Dialogs

Dialog: New / Non-periodic / Chair

This dialog is the same as for Dialog: Menu icon / Substitution parameters.
This tiling has only 1 configuration. For details refer to: Tilings Encyclopedia / chair.


Dialog: New / Non-periodic / AmmannA3

substitution parameters ammanna3

Field Description
Number of iterations Number of substitution iterations, starting from the initial chair configuration.
X-fraction (0.0 - 1.0) Fraction of X-coordinate indicating the tile to be deformed.
Y-fraction (0.0 - 1.0) Fraction of Y-coordinate indicating the tile to be deformed.
Configuration (1-3) Select the initial configuration.

The 3 initial configurations correspond to the 3 prototiles, refer to: Tilings Encyclopedia / Ammann A3.

The other non-periodic tessellations with multiple initial configurations have the same dialog.


Dialog: New / Non-periodic / AmmannA4

The 3 initial configurations of this tessellation correspond to the 3 prototiles, refer to: Tilings Encyclopedia / Ammann A4.
Note that the third prototile is a mirror of the second prototile.


Dialog: New / Non-periodic / Ammann-Beenker

The 2 initial configurations of this tessellation correspond to the 2 prototiles, refer to: Tilings Encyclopedia / Ammann-Beenker.


Dialog: New / Non-periodic / Penrose P2

The 9 initial configurations of this tessellation correspond to 7 special configurations, see image below, and the 2 prototiles, refer to: Tilings Encyclopedia / Penrose Kite Dart.

Penrose P2 types

Dialog: New / Non-periodic / Penrose P3

The 10 initial configurations of this tessellation correspond to 8 special configurations, see image below, and the 2 prototiles, refer to: Tilings Encyclopedia / Penrose Rhomb.

Penrose P3 types

Dialog: New / Non-periodic / Minimal7

The 4 initial configurations of this tessellation correspond to a 7-star and the 3 prototiles, refer to: A Minimal 7-Fold Rhombic Tiling (Fig. 5).

Dialog: New / Non-periodic / Danzer7Original

The 8 initial configurations of this tessellation correspond to two 14-stars, the 3 prototiles, and the 3 mirrored prototiles, refer to: Tilings Encyclopedia / Danzer's 7-fold original.


Dialog: New / Non-periodic / MultiGrid

The family of multigrid tessellations fills the plane in a non-periodic way with rhombuses. The user must choose the number of directions, say N. The angles of the rhombuses are then multiples of Pi/N. In each direction there is a grid of parallel lines, crossing the parallel lines of another direction. At each crossing a rhombus is constructed with edges perpendicular to the lines. The user can choose for each direction the value of a variable, named gamma, that represents the distance of the first line closest to the origin. Suitable gamma sets are given below. At a so called regular point exactly 2 lines cross, whereas at singular points more than 2 lines cross. Singular points cause failures of the tessellation: you will recognize this situation from uncovered areas and overlapping tiles. No measures are taken to prevent this, so that in such cases the gammas must be adapted for solving it.
The edges of the rhombuses can be deformed in different ways. Three variations have been implemented.

MultiGridAll

In this grid the edges for each direction have their own deformation, yielding N * (N-1)/2 prototiles. So, the opposite edges of each rhombus have the same deformation.

MultiGridOne

In this grid the edges have the same deformation in all directions, yielding (N-1) prototiles.

MultiGridTwo

This grid is limited to 5 directions, so that the rhombuses are like the Penrose P3 tessellation. Hence, there are 2 kinds of edge deformation. This tessellation suffers most from singular points, unlike the above two multigrid tessellations. Therefore, predefined gamma sets are available. Furthermore, for a particular class of gamma sets one of the edges must be deformed symmetrical for a valid tessellation.
Examples of valid gamma sets:

image description gamma set TIS file
no need for tile symmetry. 0.40 0.40 -0.40 -0.40 0.00 MgTwo_1.tis
tile symmetry needed; image has 180 degrees symmetry.
A tessellation of size 5000 x 4000 pixels gives a correct image for this TIS file (with view 1280 x 700 pixels).
0.45 0.45 0.45 0.45 0.00 MgTwo_2.tis
tile  symmetry needed; image has no symmetry. 0.40 -0.40 -0.40 0.40 0.00 MgTwo_3.tis

Dialog: New / Non-periodic / MultiGridAll

multigrid_all parameters

Field Description
Number of directions Number of directions.
X-fraction (0.0 - 1.0) Fraction of X-coordinate indicating the tile to be deformed.
Y-fraction (0.0 - 1.0) Fraction of Y-coordinate indicating the tile to be deformed.
Gamma's Open another dialog to enter gamma values.

MultiGridOne has the same dialog.


Dialog: New / Non-periodic / MultiGridTwo

multigrid_two parameters

Field Description
X-fraction (0.0 - 1.0) Fraction of X-coordinate indicating the tile to be deformed.
Y-fraction (0.0 - 1.0) Fraction of Y-coordinate indicating the tile to be deformed.
180 degrees rotation symmetry Select this checkbox if one of the edges requires rotation symmetry. In case of (un)selecting the box, the gamma set gets predefined values (overwriting the previous values).
Gamma's Open another dialog to enter gamma values.

Dialog: New / Non-periodic / MultiGrid gamma values

multigrid gamma parameters

Field Description
Gamma[x] The gamma value for direction 'x'.

Dialog: New / Non-periodic / Einstein

Recently David Smith, Joseph Samuel Myers, Craig S. Kaplan, and Chaim Goodman-Strauss discovered an aperiodic monotile, nicknamed einstein. Details are given in this paper.
Note that deforming the edges of the einstein causes two different tiles due to the fact that the tessellation also includes the mirrored version of the einstein.

einstein parameters

Field Description
Number of iterations Number of substitution iterations, starting from the initial configuration.
X-fraction (0.0 - 1.0) Fraction of X-coordinate indicating the tile to be deformed.
Y-fraction (0.0 - 1.0) Fraction of Y-coordinate indicating the tile to be deformed.
Configuration (1-4) Select the initial configuration based on the metatile: T, H, P, F.
Shape (0.0 - 1.0) The einstein tile has 2 edges with lengths called A and B. This shape parameter determines the (relative) lengths as: A = sqrt(shape) and B = sqrt(1-shape) .
Common values are: 0.25 = hat, 0.4 = bird, 0.5 = turtle, 0.75 = penguin.

The tessellations Vierstein and Spectre have a subset of the above parameters.


New Space-Filling Curve Dialogs

In all curve configurations the shape can be 'line' or 'tile'. The 'line' shape reveals the path of the curve. Therefore, this shape can not be deformed, unlike the 'tile' shape.

Dialog: New / Space-Filling Curve / Hilbert

The Hilbert curve is one of the most famous space-filling curves.

Hilbert parameters

Field Description
Number of iterations Number of curve iterations.
X-fraction (0.0 - 1.0) Fraction of X-coordinate indicating the tile to be deformed.
Y-fraction (0.0 - 1.0) Fraction of Y-coordinate indicating the tile to be deformed.
Configuration
Hilbert: normal configuration.
Twin-Hilbert: 2 connected Hilbert configurations.
Moore: 4 connected Hilbert configurations.

This dialog is the same as for CircleHilbert.

The fields 'Number of iterations', 'X-fraction (0.0 - 1.0)', 'Y-fraction (0.0 - 1.0)' also hold for the dialogs below.


Dialog: New / Space-Filling Curve / Peano

The Peano curve was the first space-filling curve, discovered in 1890.

Peano parameters

Field Description
Configuration A line is drawn recursively through a 3x3 grid of squares from top left to bottom right. On each iteration, a square is replaced by a smaller 3x3 grid, etc. In the original curve, a line only looks like a Z, or its horizontally/vertically mirrored version. (Although there are 8 ways due to rotation and flipping.) The Z can also be flipped diagonally, creating an upside-down N. In each of the 9 basic squares a choice can be made between Z and N. So, there are 2^9 = 512 variants.
Range
Basic: normal configuration.
Closed: 4 connected Peano configurations.
Duo: 2 connected Peano configurations.

This dialog is the same as for CirclePeano.


Dialog: New / Space-Filling Curve / PeanoMeander

The space-filling PeanoMeander curve has an R-like shape, unlike the normal Peano curve with a Z-like or N-like shape.

PeanoMeander parameters

Field Description
Configuration See Peano parameters.
Range
Basic: normal configuration.
Closed: 2 connected PeanoMeander configurations.
Closed-6: 6 connected PeanoMeander configurations.

This dialog is the same as for CirclePeanoMeander.


Dialog: New / Space-Filling Curve / Gosper

Gosper parameters

Field Description
Configuration
1-4: 4 (degenerated) hexagons, deformed in different ways.
5: (degenerated) octagons, obtained by adding two vertices to each hexagon. So, the 3 prototiles can be kept exactly the same, but only when one of the edges is deformed symmetrical about the perpendicular between its vertices. This type of tessellation has been discovered by Richard Hassell, see his artwork Flow Fish III.
6: hexagon around each vertex of the curve (node based).
7: 2 hexagons, one to the left of a curve segment for a certain type and one to the right for the other type (edge based).
Range
Basic: normal configuration.
Closed: 3 connected Gosper configurations.


Dialog: New / Space-Filling Curve / RootX

This dialog is for Root5, Root13 and Root17 tessellations. The Root5 curve is also known as: Mandelbrot's Quartet.

RootX parameters

Field Description
Configuration
Adjacent tiles: The 2 deformed square tiles are rotated 90 degrees.
Cross tiles: The 2 deformed square tiles have different shape; the shape of the edges of one square can be described as ZSSS, and then the edges of the other square are SZZZ. All edges have rotation symmetry around their center.
Range
Basic: normal configuration.
Closed: 2 connected RootX configurations.


Dialog: New / Space-Filling Curve / Gosper13

Gosper13 parameters

Field Description
Configuration
Node based: hexagon around each vertex of the curve.
Rhombus: I designed this tessellation of rhombuses myself as follows. The generated segments of the curve indicate whether a rhombus must be rendered to its left or to its right. Each rhombus consists of two equilateral triangles. One triangle has its base on a curve segment, and one of its two remaining edges is the base for the other triangle.
Edge based: 2 hexagons, one to the left of a curve segment for a certain type and one to the right for the other type.
Range
Basic: normal configuration.
Closed: 3 connected Gosper13 configurations.