Announcing a package that does plane tilings. Download it at my web site
<http://www.best.com/~xah/SpecialPlaneCurves_dir/MmaPackages_dir/mmaPackages
.html>. The following are some relevant info.
PlaneTiling (v.0.1b, 1997/09/01) is a graphics package for generating
wallpaper designs and tilings. Main features include:
* Generate a wallpaper design with a given fundamental motif and wallpaper
group.
* Generate graphics that represent the 17 wallpaper groups (using symmetry
elements).
* Contains functions that return a Graphics object of common design, and
functions that return lattice coordinates.
* Apply a topological transformation on line segments of a tiling.
If your work involves tiling or wallpaper designs, or if you are interested
in recreational use of Mathematica, this package is for you. If you want a
version that runs on Mathematica v.2, please ask me (xah at best.com).
-------------------
Note: This notebook and the package PlaneTiling.m is currently in beta
version (v.0.1b, 1997/09/01). Function names and functionality may change in
future versions. (version 1.0 will be the first public release.) More
complete set of documentation and example notebooks are in the works. If you
have any suggestions and comments, please write to xah at best.com. I will
respond promptly. PlaneTiling package will be shaped by your needs. If you
wish to be notified of new releases, please let me know. Also, if you wish
to have this package as Mathematica version 2 package and notebooks, please
ask me. Thanks.
-------------------
Here are the usage message for some of the functions.
In[24]:=
?WallpaperPlot
"WallpaperPlot[n] plots a wallpaper with symmetry group number n, where n is
\
1 to 17 inclusive. WallpaperPlot[\"Conway notation\"] and
WallpaperPlot[\"IUC \
notation\"] can also be used. Special options include \
MotifGraphics->graphics, and BasisVectors->{{a1,a2},{b1,b2}}, and \
PlotPoints->{8,8}. See ?WallpaperGroupData, ?MotifGraphics, and
?BasisVectors \
for detail. Example: WallpaperPlot[17]"
In[25]:=
?WallpaperGroupPlot
"WallpaperGroupPlot[n] plots the symmetry elements of nth wallpaper group, \
where n is 1 to 17 inclusive. WallpaperGroupPlot[\"Conway notation\"] and \
WallpaperGroupPlot[\"IUC notation\"] can also be used. Special options \
include PlotPoints, BasisVectors, GlideReflectionGraphicsFunction, \
MirrorLineGraphicsFunction, and RotationSymbolGraphicsFunction. PlotPoints \
specifies number of cells to be plotted. See each on-line documentation for
\
detail. Also see WallGroupData. Example: WallpaperGroupPlot[17]"
In[28]:=
?GridCoordinates
"GridCoordinates[{a1,a2},{b1,b2},{m,n}] returns a list of coordinates on a \
grid generated by vectors {a1,a2} and {b1,b2} with m and n points in each \
direction. GridCoordinates[{a1,a2},{b1,b2},{m,n},s,\[Alpha],{x,y}] scales, \
rotates, and translates the grid by s, \[Alpha], and {x,y}. \
Example:Show[Graphics[{Map[Point,GridCoordinates[{1,0},{1/2,Sqrt[3]/2},{7,5}
],\
{2}]}]]"
In[30]:=
?ColoredGrid
"ColoredGrid[{a1,a2},{b1,b2},{m,n},{colorList1,colorList2,...}] returns a n
\
by m matrix of Points generated by vectors {a1,a2} and {b1,b2}. colorLists \
are lists of colors (e.g. Hue[0]) or other graphics directives. colorLists \
are repeated cyclically. ColoredGrid[{a1,a2},{b1,b2},{m,n},colorLists,s,\
\[Alpha],{x,y}] scales, rotates, and translates the lattice by s, \[Alpha],
\
and {x,y}. Example: \
Show[Graphics[{PointSize[.04],ColoredGrid[{1,0},{0,1},{10,7},{{Hue[0],Hue[.7
]}\
,{Hue[.18],GrayLevel[0]}}]}],AspectRatio->Automatic]"
In[31]:=
?ColoredLattice
"ColoredLattice[n,m,{colorList1,colorList2,...}] returns a lattice of line \
segments colored regularly. A square grid if n is 4, triangular grid if n is
\
3. m controls the size of the grid. Returned list has dimensions \
{n,2*m+1,2*m,2} and n*(2*m+1)*(2*m) Line segments. colorLists are lists of \
colors (e.g. Hue[0]) or other graphics directives. colorLists are repeated \
cyclically. ColoredLattice[n,m,colorLists,s,\[Alpha],{x,y}] scales, rotates,
\
and translates the lattice by s, \[Alpha], and {x,y}. Example: \
Show[Graphics[{Thickness[.01],ColoredLattice[4,3,{{Hue[0],Hue[.7]},{Hue[.35]
,\
GrayLevel[0]}}]}],AspectRatio->Automatic]"
In[26]:=
?LineTransform
"LineTransform[graphics1,replacementList] is an L-system like graphical \
function. graphics1 is a list of Line or an Graphics object. replacementList
\
is a List of Line or graphic directives and primitives. Each Line in \
graphics1 is replaced by the relation Line[{{0,0},{1,0}}]->replacementList.
\
LineTransform[graphics1,replacementList,Line[{p1,p2}]] will use the relation
\
Line[{p1,p2}]->replacementList. Example: \
LineTransform[Line[{{0,0},{1,0},{1,-1}}],{Line[{{0,0},{1/2,1/2},{1,0}}]}]"
Xah
xah at best.com
http://www.best.com/~xah/SpecialPlaneCurves_dir/specialPlaneCurves.html
Mountain View, CA, USA