|
QuasiG V1.4 is a freeware
Penrose tiling program that will show and print full-colour Penrose
tiling patterns, and more general quasi-crystal patterns, on any Windows
95/98 or NT/2000 PC.
BackGround |
Using QuasiG |
QuasiG Options |
Features |
Examples |
Animation |
Tile Marking |
Penrose Marking |
Storey Hall |
Printing this page |
Links |
Download
Quasi-crystal tilings are assembled from two
rhomb shaped tiles (squashed squares with equal length sides). The smaller
angle in one rhomb is half that of the smaller angle in the other rhomb.
The angle divides into p (PI) an odd number
of times (n), and this number (n) gives the degrees of symmetry that
can be observed in the pattern (you can find parts of the pattern which
can be rotated n times through the smaller angle and still look the
same).
Penrose tilings are
a subset of these in which there are 5 degrees of symmetry (n = 5 ),
and in which tile edges are matched to satisfy the patterns in Figure
1 at left (see examples in Penrose Marking
section below )
Tilings are constructed by finding ways of combining
the 2 angles possible with each of two tile orientations so as to add
up to 2p (2 x PI). For example,
with n = 5, there are 7 different ways to arrange the tiles at a vertex.
Eric Weeks's site provides an explanation for
the methods used in an algorithm that can generate such tilings ( see
quasi.c http://glinda.lrsm.upenn.edu/~weeks/software/quasic.html) .
For other sites explaining more about non-periodic tilings, see the links section below.
Eric's quasi.c, on which this is based, does
not enforce the strict tile-matching rules that the classic Penrose
tilings have. Nor could it draw them. But it's source code can be adapted
to produce them. And, the non-penrose patterns can be just as interesting.
Using QuasiG is meant to be simple. It has default
input values that will produce a simple image of penrose tiling. Experiment
with the various options to see what they do (example images below include
a summary of the options in the title bar, so you might like to try
creating them to prove your installation worked).
If you're not familiar with Weeks's quasi.c,
just download QuasiG and play around a bit !!
QuasiG options are accessed
through its Tiling Options Dialog pop-up. This dialog appears when you
run the program, and whenever you access the File/New menu item.
Depending on options selected, you may be presented
with a series of color dialog popups. These are for selection of Penrose
Dot color, Penrose Line Color, and color code for each unique tile area.
The program then calculates the pattern, and
displays it in a scrollable window that's 32 cm by 32 cm. If Penrose
Tile marking is selected, with large number of generating lines, or
a slow computer, expect significant delay.
You can open up new tiling windows by File/New
- and your previous options become the default selection for the new
window. This makes it easy to make just small changes from one plot
to the next.
-
Generating Lines - choosing
more of these makes the pattern larger. You can choose really small
numbers like 5, 7, 9 ... to see how the construction process works.
QuasiG has options to scale the tiles down to ensure they fit on
the scrolled view.
-
Offset Multiplier - a factor
that changes the offset of the generating line sets, and thereby
changes the pattern quite significantly. For example, try 0.1, 1,
10, etc.,.
-
Double Colors - tick to have
tiles filled with two colors used for each sized tile. This is Weeks'
filling option, and gives two colors for each tile shape that seem
to get allocated alternately as you radiate out from pattern
features.
For this option, when you choose
colors, you a really just defining Hue and Saturation - lightness
is determined in the algorithm as one of two shades for each size
of tile.
-
Gradient Fill - tiles are filled
in a variant of the Double Color method. Lightness is varied amongst
the same sized tiles (in a cycle length equal to the degrees of
symmetry). This tends to hide the symmetries in the pattern - but
I liked the look of the results it gave; and so did curious onlookers
passing by my desk. For this option, when choosing colors, you are
also just defining Hue and Saturation.
-
Penrose Match Marks
- each tile is inscribed as per Fig 1 above. If marks don't line
up in a pattern, it's not a penrose tiling.
-
Arcs Not Lines - tick
to get arcs inscribed in fat tiles as per Fig 1 above. Otherwise,
get lines across the fat tiles. Defaults to arcs
-
Auto Zoom Out - if set, QuasiG determines
the overall size of the pattern, then scales it back to fit within
MS Windows' limits (roughly +/- 16 cm of origin). If clear, no scaling
is done - you get to see just the 32 x 32 cm subset of the pattern
that's centered on the origin. QuasiG's rhombs have 1 cm length
sides.
-
End Tile - default is 100, meaning
tile plot ends at last tile generated. 90 means do not plot last
10%, 80 selects out the last 20% etc.,.
QuasiG Features
-
QuasiG can show variants
of quasi-crystal tiling that are different to the one chosen by
Eric's algorithm, such as ones with stars made of a cluster of ten thin tiles ( I first made one like this
with Eugenio Durand's
QuasiTiler web site, then
experimented with Eric's code to get it to make something similar)
You might find it necessary to increase
the number of lines used in the generator if you increase the offset
multiplier factor much above 20.
Eric's quasi.c defaults are
equivalent to OffsetMult = 1. Choosing patterns other than Erics'
standard results in no obvious focus, and other interesting higher-level
patterns (see example below).
-
QuasiG has a number
of co-ordinate reporting and tile identification features for help
in understanding the tile drawing sequence (try mouse right click
on a completed drawing, maybe using a small number of generating
lines eg 5, then watch what happens when you increase the number
of lines).
-
For example, with 5-symmetry,
you can get a central decagonally shaped tiled region (more evident
for larger line sets), with color coding that reveals "lines"
running through the pattern that divide it into segments of a
pentagonal star (choose, say, offset multiplier 10) ;
I'm no maths prof, so I
don't know what these mean ! But my guess is they're evidence
of periodicities that mean the pattern does not satisfy the Penrose
matching tests.
Please e-mail kd@condellpark.com.au if you can
shed some light on this !!!
QuasiG also has
-
QuasiG also uses a
different drawing order to Weeks's Unix program. Weeks's program
plotted tiles from the center of the pattern outwards - this is
probably best if plotting on an x-y plotter, but not needed for
Screen display and page-display printers. So QuasiG justs plots
the tiles in the order they are generated. I found it interesting
to watch the tile generation (minimize/maximize the window for action-replays!),
and included a delay option to slow down the drawing process. This can be helpful if trying to understand
the algorithm.
-
QuasiG displays it's
output in a scrolling window that extends +/- 16 cm either side
of the origin, and has an auto-zoom scale (Magnification) feature
that will set the magnification at a figure that allows the whole
pattern to be viewed. You can use the File/New option to open additional
windows - Tiling Options will default to your last choice.
The image below is an example of QuasiG's screen output for
5 degrees of symmetry, auto-scaling on, central pattern only, fill on,
black edge on, color-doubling on, color gradient off, all 4 quadrants
displayed, and 30 generating lines (I used PaintShop Pro's screen capture
to get this). The title bar summarises the options selected - in this
version Offset Multiplier was 1.
And here's an example of the full pattern display
(or at least the viewport that fits on one screen, on the real thing
you can scroll to view the rest) (also Offset Multiplier 1):
And here's an extract
of a pattern not available in Eric's version (offset multiplier set
to 10, black edges off):
The Border image
The border image for this page was produced by
using QuasiG in non-colour mode, and then capturing the image with Paint
Shop Pro. I then did lots of fiddling, starting with embossing the image
(hoping to make a watermark), and adjusting the colors, until this image
emerged (i.e. I can't remember exactly what I did, but eventually I
liked it enough and saved it as a JPG).
Animation Example
The image below is an animated GIF comprised
of 3 frames showing several subsets of the 5-symmetry patterns. The
first frame starts 20% into the generating sequence (Start Tile % as
20%), and ends at 30%; the next two frames extend this by 10% each frame.
Selection of tile subsets such as these was a
new feature in QuasiG V1.3.
Click here to download a longer animation sequence
(184K bytes) sym5_30_100_ani.gif. This longer sequences
finishes with a frame showing 100% of the tiles.
Caution: Animated gif's drawn by your browser
should have 1.5 seconds between frames, but a heavily loaded PC or
an otherwise slow drawer won't get the right effect here. These animated
GIF's were tested on an NEC Versa LX laptop with 300MHz Pentium II
processor. Using Internet Explorer 5.5 as the browser, each frame
tended to get rendered in 3 steps (from top to bottom of image, not
how QuasiG works !).The longer
sequence taxed it's capabilities heavily.
Tile Marking
Tile Marking was a new feature in QuasiG V1.3. It's useful for
investigating the sequence in which tiles are drawn. Read further only
if you're curious about how it works...
The Status bar identifies the Tile No of the tile
under the cursor. The Tile No is its index (or order) in the generating
sequence; if the cursor is not over any tile, the Tile No will be
one more than the maximum number of tiles.
Tiles can be marked by clearing
their colour, as an aid to identifying the drawing progression. Mark
an individual tile by left clicking on it - it's colour will be cleared.
If you mark a second tile, the SkippedTiles box of the
status bar reports how many tiles were drawn between the last and
previous tiles. This is not how many lie between them on the tiled
plane - rather it is how further along in the generating sequence
the tile occurs.
The Status bar now includes reporting
of the (x,y) coordinates of the cursor. Coordinate axis can be superimposed
on the image, by using the Tile Marking
Pop-up Menu item Draw Axes . To activate
the Tile Marking pop-up, right click the mouse anywhere on drawing.
The tile drawn immediately after a marked
tile can be identified by Tile Marking menu Next Tile function. This can be repeated to show
successive tiles, but only the last S tiles remain marked (where S
is the Degrees of Symmetry). Prev Tile marks the previous tile in the sequence
The Tile Marking menu Next Row function identifies the tile drawn in the
next row (there are 2 * S tiles per row). Prev Row goes tothe previous
row.
Are these Penrose Tiles ?
Many of the patterns generated by QuasiG allow
clusters of thin tiles where more than 2 thin tiles share a vertex,
and are all adjoining. These don't follow the Penrose tile edge matching
rules. The next image almost seems to satisfy the matching rules - it's
difficult to spot any "lines" running through it. But the
Penrose matching rules can not be applied to it.
If you want to investigate this further, one
interesting line might be to note that Durand's QuasiTiler needs irrational
numbers to select tilings that will be Penrose tilings. Maybe the initial
positions of Eric Weeks' generating lines needs to obey some constraint
that's equivalent to Durands.
The next image used an Offset Multiplier of 0.2137.
Penrose Tile
Marking
Now for an image that is
a penrose tiling. This one has OM=0.10, and has penrose marking applied
to the tiles:
The corresponding diagram
for OM=0.2137 shows the mismatches:
For a remarkable
application of Penrose Tiling, see the RMIT University's Storey Hall Auditorium in Swanson Street, Melbourne, Australia
(click on image at right to enlarge).
The facade and interior of this building
were decorated with patterns derived from penrose tiling It is an
eye-catching statement which advertises the University's technical
history. Can you imagine how much work and money must have gone into
this ?
Located in the heart of the Melbourne CBD,
the second largest city in Australia, RMIT is a University which morphed
from the Royal Melbourne Institute of Technology. It seems fitting
that a building housing an institution with a strong history and interest
in technology should be morphed into a statement by clever mathematics
and architectural sculpture.
The work, completed in October 1995, won
numerous Architectural awards. I became aware of it only after posting
this web-page, thanks to a architecture book review in a Sydney newspaper
magazine. You can find out lots more about the Storey Hall at the
RMIT web site (http:\\www.rmit.edu.au)
(but at writing time, they'd messed up their picture links).
The Storey Hall patterns uses Penrose matching
marks which inspired me to add them to QuasiG. In Storey Hall's patterns,
both circle markers have been given the same colour and the fat tile
arcs have been drawn as straight line segments. That's easier to construct
(even in MS Windows, more so in the Hall) - and the difference is
only aesthetic. My first attempts used straight lines, and looked
pretty much like the Storey Hall images.
QuasiG Techo Details
You don't need to understand a word of
the next two sections in order to use QuasiG. These words are for the
techo types out there...
QuasiG is written in Visual
C++ V6.0, as a 32 bit MDI application using MFC classes. It was my first
attempt at writing such an application, and does some unusual things
- like popping up its configuration dialogs before you've seen a main
window frame, and maximising the document window (you can use the Window/Cascade
or Tile options to change the latter after the windows open).
QuasiG Memory Stress
QuasiG generates the tiles
to memory (rather than directly to display). It uses the MFC CArray
class which dynamically allocates space for tiles; the memory is released
when the display window is closed - and varies in proportion to s/2*(s-1)*l^2
where s=symmetries, and l=lines. It can be interesting to plot the Windows
95 System Monitor's memory manager items while running QuasiG. It also
gives your graphics adaptor a pretty serious workout (when running in
colour fill mode), and can stree remote login software like RAdmin,
TNG Unicenter and PC Anywhere.
Printing with many
browsers (including IE5.5 and earlier) often doesn't work real well because
most browser print functions don't handle the horizontal scrolling view
you get on screen. This page has been put together to facilitate printing
the text on an A4 page - essentially you will see everything within the
white area of the background.
However, many of the images extending outside this area will get clipped
out. You could try changing your print setup options to select landscape
printing layout (but they'll mostly be split across a page).
If you really want to print the images, make them with QuasiG and
print directly from its File/Print menu item. This will print the screen
image across 4 A4 size pages (A4 tiles !) - the screen plot area is
32 cm by 32 cm, and prints isometrically (1 cm of screen = 1 cm of page).
The
following links all worked as of July 19, 2002. If you find them broken,
email me
In July 2002,
Dutchman Frans C Mijlhoff
advised me of his freeware QCTilingsC Windows tiling program which
is like QuasiG and can be downloaded from Simtel.
QCTilingsC (v 1.3) can show the generating lines as well as the pattern,
and does even-symmetry pattterns. There other differences with QuasiG,
so you might want to have both !
Frans' gave me
a tip for a great site for links related to tiling : the Geometry
Junkyard - Tiling page. The
Geometry Junkyard - Penrose page has numerous links related to
penrose and non-periodic tiling.
For links to
other Windows Penrose tiling patterns, see Dr
Matrix's Programming Challenge. Dr Matrix's site discusses penrose
tiling properties more formally. He uses a kites
and darts terminology, which are two or three adjoining fat and
thin Penrose rhombs.
Dr Matrix also
highlights the ways in which the golden-ration golden ratio of (1+SQRT(5))/2
= 1.61803398 . . . can be found in the Penrose patterns.
It is well worth
a visit for the mathematically inclined. Here is a quote from Dr Matrix:
Although it is possible
to construct Penrose patterns with a high degree of symmetry (an
infinity of patterns have bilateral symmetry), most patterns, like
the universe, are a mystifying mixture of order and unexpected deviations
from order.
As the patterns expand,
they seem to be always striving to repeat themselves but never quite
managing it. G. K. Chesterton once suggested that an extraterrestrial
being, observing how many features of a human body are duplicated
on the left and the right, would reasonably deduce that we have
a heart on each side. The world, he said, "looks just a little
more mathematical and regular than it is; its exactitude is obvious,
but its inexactitude is hidden; its wildness lies in wait."
Everywhere there is a "silent swerving from accuracy by an
inch that is the uncanny element in everything . . . a sort of secret
treason in the universe." The passage is a nice description
of Penrose's planar worlds.
There is something even more surprising about Penrose universes.
In a curious finite sense, given by the "local isomorphism
theorem," all Penrose patterns are alike. Penrose was able
to show that every finite region in any pattern is contained somewhere
inside every other pattern. Moreover, it appears infinitely many
times in every pattern.
Another source expounding on penrose tiling is
Andrew Lewis's Some Planar Tilings http://penelope.mast.queensu.ca/~andrew/qc web site. Or you could
try Eugenio Durand's QuasiTiler site - a useful resource for tiling
and tesselations facts.
In June 2000, there was a very good introduction
to quasi crystal's and penrose tiling at Chris Hillman's Tiling Dynamical System's web site at the University of Washington.
It has dissappeared, but it may be worth a look just in case Chris
discover's how useful it was and reinstates it.
Last Revised 19th July, 2002, First published
19th June 2000. CopyRight and All Rights Reserved, Kevin Duffy.
This material may be used for educational non-profit purposes with
proper acknowledgement of the source. If any images created with
QuasiG are posted on the net, send me the link url. All other uses,
please email kd@condellpark.com.au
Back to Kevin Duffy's Home
Page
|