L-system program and code, MATLAB

L-system program and code, MATLAB

L-system tiling

L-system 3D tiling

DFT of image

Most of the images and documentation graphics in "Simple recursive systems and fractal patterns" are produced with a single program, L_system_tiling.m and associated resources (included in the attached L_system_tiling 2009-04-30.zip [Note: Also required is dft_of_image.m which isn't currently in the .zip file.]), and a few with L_system_3D_tiling.m, written in MATLAB.

Last update: 2009-04-30

There are many types of L-systems, in particular the types of symbols that are used and how they are interpreted and visualized. These programs only handle one type, block replacement on an orthogonal grid. The symbols are represented as squares (or rectangles), and these symbols are replaced by an n x m set of symbols (squares) in a rectangular grid. L_system_tiling.m interprets symbols as 2-D squares (in 1 or 2-D systems), and  interprets symbols as 3-D squares (cubes, or rectangular prisms).

The attached files as a group can be used to generate any variation of the L-systems and tilings. All files should be in a single directory.

[To Do: Short ellaboration on the code itself] L_system_tiling.m code is current up to March 23, 2008. Occasionally I will make changes to the code, while maintaining the arguement structure. Although the program is essentially as simple as the system it models, there are many auxilliary options and functionality that make the code less readable. The code is only partially commented.

[To Do: Listing of attached files with brief description.]

[To Do: Brief explanation on the use of L_system_tiling.m.]

[To Do: Brief explanation on the use of L_system_3D_tiling.m.]

[To Do: Condensed pseudo-code of the core code.]

 

DFT of image

dft_of_image.m (see attached).

Last update: 2009-04-08

Generate logarithmically scaled DFT (discrete Fourier transform) images of an image from a file, using MATLAB's 2-D fast Fourier transform (FFT) function, fft2.

Produces a magnitude, phase, and magnitude colored by phase image, optionally centered on highest frequencies or the DC (zero frequency) component.

Currently the image values are rounded to 8-bit precision,  for display purposes only.

Color image input is reduced to a luminance approximation.

Currently indexed image input is not supported.

See file header for more details.

Also see:

Some substitution tilings (or self-similar tilings) from two colors of squares and the Fourier transforms of their matrices.

 

A Program Package for Aperiodic Tilings
Uwe Grimm
Applied Mathematics Department, The Open University, Walton Hall, Milton Keynes MK7 6AA, United Kingdom; E-mail: u.g.grimm@open.ac.uk ; WWW: http://mcs.open.ac.uk/ugg2/

[Note: This package of Mathmatica programs constructs aperiodic ("forced non-periodic") tilings which can be formed by substitutions that are not necessarily rectangular, where the L-system program above is only used to construct non-periodic rectangular tilings.]

We describe a package of Mathematica programs, originally devised for summer schools on aperiodic order and quasicrystals, which give an introduction to the construction of aperiodic tilings. The programs explore several approaches to generate aperiodic tilings, concentrating on one-dimensional and two-dimensional examples which can easily be visualised.
 

 

Computing the 2-D Discrete Fourier Transform
or
Sweet-talking MATLAB into Making Cool Pictures

Marshall. C. Overcast, Paul. W. Nugent

This paper covers the methods used to produce accurate and decipherable two dimensional Fourier Transforms using the MATLAB software package. This software implements a two dimensional Fast Fourier Transform (FFT) in its fft2() script. This paper covers the pertinent assumptions that are made by this algorithm. Once the 2-D Fourier Transform of an image is computed, the methods of computing the Point Spread Function and Optical Transfer Function are also discussed. The guidelines presented in this paper assume that the reader is familiar with the integral form of both the one dimensional and two dimensional Fourier transforms, and familiarity with viewing the frequency space outputs of the transforms.

 

2D Frequency Domain Filtering and the 2D FFT, MATLAB code

 

 

[To Do: About and why MATLAB?]

 

------------------

Terms for use: There are no restrictions on the use of this code, auxilliary code and other required resources. Claiming to be the originator, explicitly or implicitly, is bad karma. A link (if appropriate), a note to dow[at]uoregon.edu, and credit are appreciated but not required.

 

AttachmentSize
L_system_3D_tiling.m40.43 KB
write_Space_volume.m6.71 KB
L_system_tiling_2009-04-30.zip37.12 KB
L_system_tiling.m117.21 KB
dft_of_image.m27.31 KB