Wallpaper Functions

This Demonstration illustrates wallpaper groups using complex functions in the form of Fourier series , where are called lattice waves, with only a small number of coefficients nonzero. A typical function of this type is . In the event that the group contains a twofold rotation, we have .
Let and define the lattice generated by and to be the set . Assume that and are linearly independent, which means they are nonzero and there is no real such that .
Suppose the point is in the generic lattice generated by 1 and (where is not real), so that . So if , , then , .
For a rhombic (centered) lattice, the lattice vectors are , and the lattice coordinates of are , .
For a rectangular lattice, the basis vectors are and , and the lattice coordinates of are , .
For a square lattice, the vectors are , , so that , .
For a hexagonal lattice, the vectors are , , and the lattice coordinates are , .
One way of visualizing a complex-valued function in the plane is to assign a unique color to each point of a certain part of the complex plane, for instance the color value on a picture of the point with coordinates and . The other way is to use RGB parameters that are functions of .
Since rendering these graphics might be slow, it is recommended that you first construct small pictures at low resolution using RGB colors, fix the lattice parameters and , and then use photos.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


Recipes for the wallpaper functions are given here [1, pp. 211–213]; is a reflection, a rotation, and a glide reflection.
General lattice
Rhombic (centered) lattice
Rectangular lattice
Here means vertical quarter-glide [1, p. 117].
Square lattice
Wave packets to create fourfold symmetry are
, .
Using for a central mirror, swaps and . The symmetry [1, pp. 99–101].
Hexagonal lattice
Wave packets to create threefold symmetry are
, .
[1] Frank A. Farris, Creating Symmetry: The Artful Mathematics of Wallpaper Patterns, Princeton: Princeton University Press, 2015.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2018 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+