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.
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 |
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. |
Delete the selected point. | |
Unselect the selected point. | |
Move a point to the neighbour point that is very close to it. | |
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. | |
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 by 5%. | |
Zoom out by 5%. | |
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 or corners. Toggle this button for switching to pan mode. | |
Pan the tiles and the outline. Toggle this button for switching to edit mode. | |
Edit the points of the outline. Toggle this button for switching to editing 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. | |
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.
The red box of the status bar shows information, warnings and errors about your actions. For example:
indicates starting a new project. In this case, the numbers 3 (for
pentagon) and 23 (isohedral type) are codes for the tesselation.
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 :
The grey outline contains different kind of points with a certain color,
indicating their nature:
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. | |
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. 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 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. | |
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. 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. | |
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. 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. 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. 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. | |
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 (or reflection). The vertical bar in the middle of the arrow stands for a mirror, indicating an edge and its mirrored counterpart. | |
Mirror rotation. This transformation is a combination of a mirror and a rotation, and it occurs between two neighbour edges with a common corner. | |
This rare transformation is a combination of a translation and a 180 degrees rotation; therefore, I call it a twirl. | |
Rotation of 180 degrees inside an edge. In the middle of the edge
is an intermediate point. This arrow is drawn outside the tile. |
|
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.
Create a new project and choose the tessellation type. Double click on one of the eight icons, or single click and select OK.
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. |
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.
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.
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.
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. |
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.
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. |
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.
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.
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.
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.
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.
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.
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.
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. |
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.
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.
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:
|
||||||||
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 |
|
||||||||
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. |
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 |
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. |
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.
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).
Choose one of the quadrilateral tessellation types. Double click an icon, or single click and select OK.
Choose one of the pentagon tessellation types. Double click an icon, or single click and select OK.
Choose one of the hexagon tessellation types. Double click an icon, or single click and select OK.
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.
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.
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.
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.
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.
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.
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.
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.
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”.
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.
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.
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.
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: |
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.
Field | Description | Spiral |
Angle in degrees | Angle (in degrees) at bottom right corner of red triangle 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 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".
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: | |
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".
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. | |
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.
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. | |
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.
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. | |
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.
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. | |
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.
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. | |
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.
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. | |
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.
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. | |
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.
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. | |
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.
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. | |
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.
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.
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.
The 2 initial configurations of this tessellation correspond to the 2 prototiles, refer to: Tilings Encyclopedia / Ammann-Beenker.
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.
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.
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).
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.
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.
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.
In this grid the edges have the same deformation in all directions, yielding (N-1) prototiles.
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 |
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.
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. |
Field | Description |
Gamma[x] | The gamma value for direction 'x'. |
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.
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.
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.
The Hilbert curve is one of the most famous space-filling curves.
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 |
|
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.
The Peano curve was the first space-filling curve, discovered in 1890.
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 |
|
This dialog is the same as for CirclePeano.
The space-filling PeanoMeander curve has an R-like shape, unlike the normal Peano curve with a Z-like or N-like shape.
Field | Description | ||||||
Configuration | See Peano parameters. | ||||||
Range |
|
This dialog is the same as for CirclePeanoMeander.
Field | Description | ||||||||
Configuration |
|
||||||||
Range |
|
This dialog is for Root5, Root13 and Root17 tessellations. The Root5 curve is also known as: Mandelbrot's Quartet.
Field | Description | ||||
Configuration |
|
||||
Range |
|
Field | Description | ||||||
Configuration |
|
||||||
Range |
|