Penrose Tilings
From Ultrafractal Wiki
Thin and Fat Penrose Tiling and Kite and Dart Penrose Tiling are Transformations in sam.ufx.
Contents |
What is it?
These transformations display the well-known Penrose Tilings. These tilings are aperiodic, which means there is no tile pattern repeating regularly on the whole plane, as in many tilings.
The deflation process is used to generate them : each tile can be cut into pieces that will form a smaller Penrose tiling. By starting with just one tile and deflating it several time, you can generate an arbitrary large tiling. To see the deflation process, increase the number of iterations in the transform.
It was shown by DeBruijn in 1981 that Penrose tilings could be considered as a projection of a subset of a five-dimensional cubic lattice on a plane. To get more info about this and see Penrose tilings generated by lattices of various dimensions, check Quasitiler. Here are some more explanations.
Parameters
Mode
You can either choose to display all the tiles or only one kind (the other kind will be assigned solid color). With these modes, your original image is mapped on each tile.
- The "Frame" mode is to be used with Gradient for Penrose Tiling.
In the "Mosaic" mode, all the points belonging to the same tile are assigned the same color. This color correspond to the color of the region of the image which is "under" the tile. It gives a kind of mosaic.
- The "Truchet" mode (only with "Thin and Fat Penrose Tiling") is to be used with Truchet for Penrose Tilings.
Mapping Center/Rotation/Magnification
Defines which portion of the original image will be mapped on the tiles.
Mask
Allow you to mask some tiles (ie assign them solid color). There are different mask shapes. You can modify the mask with "Invert Mask ?" and "Mask Center/Rotation/Magnification".
Stabilize ?
When enabled, all the mapped images have the same orientation, regardless of the orientation of the tile. Useful for light effects.
Number of Iterations
The number of successive deflations used to produce the tilings. If you would like a smaller tiling, you have better increase this parameter instead of zooming out. It'll prevent you from encountering the "edge" of the tiling.
Example
(Of Kite and Dart Penrose Tiling)
Copyright 2000 Samuel Monnier
KiteAndDartPenroseTiling {
; Copyrights 2000 S. Monnier
; http://www.crosswinds.net/~s31415/index/index.htm
fractal:
title="Kite and Dart Penrose Tiling" width=600 height=600 author="Samuel"
created="October 28, 2000" numlayers=4
layer:
mapalpha=0 method=multipass caption="New Layer 3" opacity=100 visible=yes
alpha=yes mergemode=screen
mapping:
center=3.68587252969983581/5.40951512626506161 magn=0.365288918597742127
angle=0 numtransforms=1
transform:
filename="sam.uxf" entry="KDPenroseTiling" p_mode="Mosaic" p_center=0/0
p_rot=0 p_magn=1 p_mask="Square" p_invm=no p_zccenter=3.7/5.4 p_zcrot=0
p_zcsize=5 p_stab=no p_niter=10
formula:
filename="sam.ufm" entry="pixeldis" maxiter=100 percheck=normal
inside:
transfer=none repeat=yes
outside:
filename="sam.ucl" entry="SFBMpix" transfer=linear repeat=yes
p_mode="Perlin's" p_niter=20 p_string=no p_power1=0.1
p_scaledis="1/scale" p_size=0.1 p_magn=1.2 p_rot=28 p_power=1 p_sin="Raw"
p_perturb=no p_seed=123094 p_randmode="Division" p_mod="Use sqrt(i)"
f_f1=exp
gradient:
smooth=no numnodes=4 index=111 color=13495010 index=230 color=7827512
index=272 color=15334366 index=353 color=5850168
layer:
mapalpha=0 method=multipass caption="New Layer 2" opacity=100 visible=yes
alpha=yes mergemode=screen
mapping:
center=3.68587252969983581/5.40951512626506161 magn=0.365288918597742127
angle=0 numtransforms=1
transform:
filename="sam.uxf" entry="KDPenroseTiling" p_mode="Mosaic" p_center=0/0
p_rot=0 p_magn=1 p_mask="Circle" p_invm=yes
p_zccenter=3.13836071147180755/6.34028521725270966 p_zcrot=0 p_zcsize=3
p_stab=no p_niter=10
formula:
filename="sam.ufm" entry="pixeldis" maxiter=100 percheck=normal
inside:
transfer=none repeat=yes
outside:
filename="sam.ucl" entry="SFBMpix" transfer=linear repeat=yes
p_mode="Perlin's" p_niter=20 p_string=no p_power1=0.1
p_scaledis="1/scale" p_size=0.1 p_magn=1.2 p_rot=28 p_power=1 p_sin="Raw"
p_perturb=no p_seed=123094 p_randmode="Division" p_mod="Use sqrt(i)"
f_f1=exp
gradient:
smooth=no position=-54 numnodes=4 index=111 color=13495010 index=230
color=7827512 index=272 color=15334366 index=353 color=5850168
layer:
method=multipass caption="New Layer 1" opacity=100 visible=yes alpha=no
mergemode=screen
mapping:
center=3.68587252969983581/5.40951512626506161 magn=0.365288918597742127
angle=0 numtransforms=1
transform:
filename="sam.uxf" entry="KDPenroseTiling" p_mode="Dart" p_center=0/0
p_rot=0 p_magn=1 p_mask="None" p_invm=no p_zccenter=0/0 p_zcrot=0
p_zcsize=1 p_stab=no p_niter=10
formula:
filename="sam.ufm" entry="pixeldis" maxiter=100 percheck=normal
inside:
transfer=none repeat=yes
outside:
filename="Standard.ucl" entry="Gradient" transfer=linear repeat=yes
p_type="Linear"
gradient:
smooth=no numnodes=2 index=98 color=0 index=380 color=16777215
layer:
method=multipass caption="Layer 1" visible=yes alpha=no
mapping:
center=3.68587252969983581/5.40951512626506161 magn=0.365288918597742127
angle=0 numtransforms=1
transform:
filename="sam.uxf" entry="KDPenroseTiling" p_mode="Kite & Dart Frame"
p_center=0/0 p_rot=0 p_magn=1 p_mask="None" p_invm=no p_zccenter=0/0
p_zcrot=0 p_zcsize=1 p_stab=no p_niter=10
formula:
filename="sam.ufm" entry="pixeldis" maxiter=100 percheck=normal
inside:
transfer=none repeat=yes
outside:
filename="sam.ucl" entry="GradientForPenroseTilings" transfer=linear
repeat=yes p_shape="Kite & Dart Frame" p_power=0.01
gradient:
smooth=no numnodes=3 index=0 color=0 index=358 color=16777215 index=399
color=0
}

