algorithmic mathematical art

0 views
Skip to first unread message

Xah Lee

unread,
May 7, 2006, 6:14:26 AM5/7/06
to
i've long time been interested in algorithmic mathematical art. That
is, mathematical or algorithmic visual art works that are generated by
computer such that the program's source code reflects the algorithmic
essence of the visual quality in the art work. (for detail, see
Algorithmic Mathematical Art at
http://xahlee.org/Periodic_dosage_dir/t1/20040113_cmaci_larcu.html
)

Mathematica programers, especially Michael Trott, have been doing
algorithmic mathematical art since the early 1990s. I started my
programing career with Mathematica in 1995, and since late 1990s i've
been searching for such work outside of Mathematica, but it is almost
non-existent. (maybe less than 10 cases that i know of, and most their
code do not capture the algorithmic nature of the rendered art.) The
one most prominent mention of it is in chapter 2 of the book Structure
and Interpretation of Computer Programs by Hal Abelson et al.

anyway, today i ran into this page by Frank Buß
http://www.frank-buss.de/lisp/functional.html
which used the idea in the book to render a traditional Escher's tiling
piece.

I hope this will help the spread of algorithmic mathematical art. If
you find other algorithmic mathematical art, please let me know!

Xah
x...@xahlee.org
http://xahlee.org/

Frank Buss

unread,
May 7, 2006, 7:31:47 AM5/7/06
to
Xah Lee wrote:

> The one most prominent mention of it is in chapter 2 of the book
> Structure and Interpretation of Computer Programs by Hal Abelson et al.

Thanks for the interesting book tip, it is available online:

http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-15.html#%_sec_2.2.4

> anyway, today i ran into this page by Frank Buß
> http://www.frank-buss.de/lisp/functional.html
> which used the idea in the book to render a traditional Escher's tiling
> piece.

I should note that I've used the original paper from Peter Henderson, which
is cited in the book, too:

http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-15.html#footnote_Temp_202

--
Frank Buss, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de

verec

unread,
May 7, 2006, 1:59:47 PM5/7/06
to
On 2006-05-07 12:31:47 +0100, Frank Buss <f...@frank-buss.de> said:

>> anyway, today i ran into this page by Frank Buß
>> http://www.frank-buss.de/lisp/functional.html
>> which used the idea in the book to render a traditional Escher's tiling
>> piece.
>
> I should note that I've used the original paper from Peter Henderson, which
> is cited in the book, too:
>
> http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-15.html#footnote_Temp_202

A very simple change to the code allows it to run
on most platforms:

1. prefix Frank's code with:

(defvar *ps-file* "/Users/verec/workspace/pictures/eisher.ps")

where you replace the string literal with whatever hard coded path
is right for your platform.

2. change plot so that it reads:

(defun plot (p)
" saves a picture as postscript and shows it"
(with-open-file (s *ps-file*
:direction :output :if-exists :supersede)
(format s "500 500 scale~%")
(format s ".1 .1 translate~%")
(format s "0 setlinewidth~%")
(format s "0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto 0 0 lineto~%")
(dolist (line (funcall p '(0 0) '(1 0) '(0 1)))
(destructuring-bind ((x0 y0) (x1 y1)) line
(format s "~D ~D moveto ~D ~D lineto~%" (float x0) (float y0)
(float x1) (float y1))))
(format s "stroke~%")
(format s "showpage~%"))
#+nil (sys:call-system "c:/gs/gs7.05/bin/gswin32.exe -g800x800
c:/tmp/test.ps")
)

that is, the hard-coded path now refers to *ps-file*, and the
OS specific call is commented out.

3. evaluate:

(plot *fishes*)

The resulting file is a plain PS file. On OS X you can view
it with Preview, and even convert it to pdf if you so wish:

http://lisp.jfb-city.co.uk/misc/eisher.pdf
--
JFB

Alex Hunsley

unread,
May 7, 2006, 2:53:12 PM5/7/06
to
Xah Lee wrote:
> i've long time been interested in algorithmic mathematical art. That
> is, mathematical or algorithmic visual art works that are generated by
> computer such that the program's source code reflects the algorithmic
> essence of the visual quality in the art work. (for detail, see
> Algorithmic Mathematical Art at
> http://xahlee.org/Periodic_dosage_dir/t1/20040113_cmaci_larcu.html

Hi Xah
thanks for the interesting links!
I sometimes dabble in computer art.
Nearest example of my stuff to hand are these:

http://ohmslaw.org.uk/images/newtonRaphsonArt/

Those images are based on a variant of the Newton-Raphson root finding
equation (and used on complex numbers - the pictures represents the
Argand plane, i.e. x => real, => imaginary).

I need to find more of my stuff and give it a proper home!
cheerio
lex

Alex Hunsley

unread,
May 7, 2006, 2:59:10 PM5/7/06
to
Xah Lee wrote:
> i've long time been interested in algorithmic mathematical art. That
> is, mathematical or algorithmic visual art works that are generated by
> computer such that the program's source code reflects the algorithmic
> essence of the visual quality in the art work. (for detail, see
> Algorithmic Mathematical Art at
> http://xahlee.org/Periodic_dosage_dir/t1/20040113_cmaci_larcu.html

Oh, speaking of escher, try the following:
http://occular.livejournal.com/89597.html
Turns out it's in Wolfram's book. Interesting looking.

Reply all
Reply to author
Forward
0 new messages