$Header: /cvsroot/aleph1/Aleph\040One/docs/index.html,v 1.18 2005/02/17 22:00:41 jmmcg Exp $
Introduction.
Aleph One is a highly sophisticated program for generating fractals. It's major features are:
- The obligatory screen shot... Yes I really do use the VMWare Workstation for Linux to develop and run Aleph One!!!!
- An image gallery generated by various versions of Aleph One.
- It is highly flexible, with just about every calculation it does capable of being modified by the user with the built-in expression generator.
- It is pretty - it supports full 32-bit colouring schemes for the fractals, so no longer are you limited to 256 colour palettes! To enable and support this feature it has a completely configurable "colour range"
tool that is used to create a 32-bit "colour
range" that is used to colour the fractal (which is
separately saveable for independant redistribution in ".FCR" format, which is actually just an XML file).
- For those really lucky people out there with 2 (or more!)
processors Aleph One is completely multi-threaded and
capable of making use of all of the processors! It implements a unique, mathematically efficient, work-stealing algorithm for load balancing across the processors, called "Divide-N-Conquer"™ (copyright me). This is clearly ultra cool and Aleph One deserves a download for this alone!
- A "trace" of points can be set up (by the user) in the fractal, and then "run" so that the
successive orbits of these points in the trace are generated. This may optionally be saved as an AVI. Naturally various decoration options (e.g. colouring according to position in the orbit-trace sequence, etc) are
available for the points within the orbit.
- Various number systems are natively supported: complex,
hyper-complex, quaternion and many more in the
"custom fractal" mode, where you can create
your own fractals with the easy to use expression
generator!
- You can create your own fractal types using the built-in
expression generator, which is completely graphical. No
programming or mathematical knowledge is assumed!
- 4-d number systems may be rendered using either a 2-d slice through them
or a 3-d "slice" may be taken instead. The 3-d slice is the
shadow made from a full 4-d ray-tracing, where the surface colour is the
distance of a point on the surface of the 3-volume from the viewer.
Naturally the orbit window supports 2-d and 3-d display of 4-d orbits,
rendered about any arbitrarily positioned plane or 3-volume, with various
point decorations supported, see above. Orbit tracing and AVI generation is also supported.
- Various clip-board related, copy functionality is supported, such as copying the picture within the orbit window or the fractal generated as a BMP, or copying to the clipboard most of the fractal parameters as text,
depending upon which window has focus. Try it out & see what is supported!
- Aleph One saves it's images in three formats:
- ".PNG" (image and data). (Technical details: the hunk name Aleph One uses is called "alEf", an optional, binary, custom hunk. This stores all of the image generation parameters in a (gzip) compressed XML format. It also stores many of the details in a compressed text, comment hunk (called "Description"), that should be viewable with a reasonable ".PNG" image file viewer. Naturally, as the source code is freely available, the XML format is freely available.)
- ".IXI" (XML data only, so tiny). (Technical details: The data is saved in an uncompressed XML format. This XML format is exactly the same as the format used within the "alEf" hunk in the ".PNG" file format. This is because the same code is used to write it.)
- ".BMP" (uncompressed image only, so lardy and largely pointless, implemented only because it was easy).
- Aleph One is, and will always remain FREEWARE!
- Another amazing feature of Aleph One is the ability to scan a network, and identify those machines on it that can run remote rendering. It can automatically install the remote rendering software on the selected target machine(s), without you leaving your chair!!!
Please note: Aleph One is currently in BETA, so expect some rough edges... If you find a bug, please check to see that you have the latest build (check the "Help/About Aleph One..." dialog) before you report it. Thanks!
Documentation.
Yes, it does exist... Well, it's not totally useful, but here it is, better than nothing:
-
Technical details can be found here.
Installation & Uninstallation.
Aleph One binary releases are packed complete with a full "InstallShield" installation & uninstallation package. You will need to ensure that you have the correct version of the Microsoft Foundation Classes installed, and the C++ run-time. Get these here. You will also need to be able to install & remove programs on your local machine (e.g. be a local system administrator or power user). You also need to install MSXML4. This is often installed as part of the Internet Explorer installation, but is also available for separate downoad & install from Microsoft's site.
Build Requirements:
To build Aleph One you will need to install:
-
Microsoft Developer's Studio v6.0 and install Service Pack 5. The templating implementation in earlier versions of the C++ compiler is too poor to correctly compile the code. (Or equivalent.).
-
You will need to checkout the modules: "Aleph One", "Fractal Generator", "Complex Calc/Mappings Expression Generator UI", "Graphics Codes/png", "Graphics Codes/zlib", "Maths Libraries" and "a386_cde". (N.B. The directions of the slashes is vitally important.)
-
I use "WinCVS" to access Sourceforge CVS from Windows. You'll also need to download and install SSH, I got it from here. The important point is to copy ssh2.exe to ssh.exe, and put the path to ssh.exe into your PATH environment variable. See here for more details.
-
The "*.8" files in the "a386_cde" module are assembler files for x86. They are built using Eric Isaacson's A386 Assembler, you can get it here.
-
I use the InstallShield Pro v3.0 that comes with the Microsoft Developer's Studio v6.0 Enterprise Edition to build the installation packages.
-
Get the correct version of JMMcG Core C++ Library. The build required is tagged "build_2" in the CVS tree. Fortunately I've zipped up a set of the required sources in "build_2.zip" that is in the "Aleph One" module. Just unzip that into the directory which contains the "Aleph One" source directory.
Build platforms tested, most recent first:
-
Windows XP (including running under VMWare), Windows 2000, Windows NT v4.0, Windows 95.
-
A Mandelbrot Demonstration program that runs on a cut-down version of the Cyclops-E (the processor implementation within the IBM BlueGene/[L|C] project), this is embedded within the DIMES project being developed at the University of Delaware. The resultant demonstration program is a very reduced version of the "Aleph One" code, supporting only Mandelbrot set generation and the "Divide-N-Conquer" algorithm, with none of the GUI support.
What's even cooler is my demostration program was selected as one of the programs to be demonstrated at Super Computing 2003!!! Pictures of it may be found here!
More Details:
Aleph One is hosted at Sourceforge where you can find:
Credits:
This code was developed by J.M.McGuiness.
The idea for this code came from Fractint, the amazing program for fractal generation!
License & Warranty.
The module "Aleph One" is released under the GPL, the modules "Fractal Generator", "Complex Calc/Mappings Expression Generator UI", "Graphics Codes/png", "Graphics Codes/zlib", "Maths Libraries" and "a386_cde" are released under the LGPL, with absolutely no warranty, express or implied.
Please see the files "COPYING" and "WARRANTY" in the release distribution for more details.
Copyright © Jason M McGuiness, webmaster at hussar dot demon dot co dot uk, 2003.