Thanks Kujonai for the kudos.
The most interesting thing is that the magnitude sweep functions are not conditional.
When the points escape they simply escape the graph; the red lines sweeping away outward.
These graphs are motivated because within the spirit of polysign we see that the elemental form
s x
exposes the magnitude x as fundamental. These graphs expose dynamics which do treat magnitude as fundamental but in their signature spaces.
They are not actually fractals but are their own branch of iterated functions.
Magnitude Sweep
is a fairly precise description of these iterated graphics. Some of you here are faster than me. You may not like my C++ source code, but then few like others' source code in the software world. Here is my current version of source packaged up so that you can have access:
http://bandtechnology.com/PolySigned/polysign.tar.gzThis is C++ source code with a cvs directory of revisions. The source should compile on Linux and cygwin as well. It needs the libgd library to generate graphics, which may then want some other libraries as well. The polysign library polysign.a is pretty robust. There may be some valid complaints since I learned C++ writing it, and early on I wanted to do things more openly than C++ wants them to be done. The math including some optimizations and error reporting is working cleanly.
The code that made the graphics of this thread is called 'generation' and typing 'make generation' will put a binary 'generation' in ~/bin.
That is to say you should create a bin directory in your home directory if you do not wish to edit the Makefile. This Makefile is not robust and is intended for research purposes, so that things are done lightly and quickly. No GUI is involved here. These programs are compile and run type of cycle. After unpacking the .gz file open a shell in the polysign directory and type
mkdir ~/bin
make generation
~/bin/generation
A long list of numbers will print and a .png file will be generated in the directory your shell is in.
The first image is unimpressive, but there are other routines in the main() of Generation.C that should be more pretty.
Simply edit the file Generation.C and recompile and rerun the binary. Now you are doing polysign.
Clearly my color scheme needs tremendous work. There is so much work to do it isn't funny, but the math is correct.
I apologize in advance if you run into snags. Please let me know if you try it and if you have a problem maybe there is a simple fix.
I've tested it on my own computer here and the procedure above works cleanly, but that is too easy a verification of course.
- Tim