Simula Research Laboratory /
Center for Resilient Networks and Applications /
NorNet
Homepage of Thomas Dreibholz /
FractGen Homepage
New release: fractgen-3.0.6.
New release: fractgen-3.0.5.
FractGen (Fractal Generator) is a Qt/KDE-based program to generate fractal images (e.g. the Mandelbrot set). The size of the calculated images is only limited by the computerβs virtual memory. That is, images may use the full printer resolution! I created this program as an example for object-oriented programming and writing Qt/KDE applications for our Linux Workshop 2003. The goal of this workshop was to continue this basic application as an Open Source project.
The package consists of 3 programs:
FractGen is the Qt version of the fractal generator program. That is, it provides a Qt-based GUI. It can simply be started via the GUI menu (depending on the desktop environment), or from the command-line:
fractgen
Alternatively, it is also possible to specify one or more input files (e.g. alpha01.fsf, beta04.fsf, delta07.fsf). These input files will then be loaded:
fractgen alpha01.fsf beta04.fsf delta07.fsf
FractGen is the KDE version of the fractal generator program. That is, it provides a KDE-based GUI (which itself is based on Qt). It can simply be started via the GUI menu (depending on the desktop environment), or from the command-line:
kfractgen
Alternatively, it is also possible to specify one or more input files (e.g. gamma01.fsf, delta03.fsf, kappa02.fsf). These input files will then be loaded:
kfractgen gamma01.fsf delta03.fsf kappa02.fsf
CLIFractGen is the command-line version of the fractal generator program. That is, does not provide a GUI and can be used to process FractGen input files via scripts.
Process epsilon10.fsf and generate 1920x1080 (Full HD resolution) in PNG output format with a maximum of 2500 iterations:
clifractgen -W 1920 -H 1080 -M 2500 epsilon10.fsf epsilon10.png
Process gamma05.fsf and generate 3840x2160 (Ultra-HD 4K resolution) in WebP output format with a maximum of 5000 iterations:
clifractgen -W 3840 -H 2160 -M 5000 gamma05.fsf gamma05.webp
Find all files matching pattern *.fsf< in the local directory (e.g. using the examples from src/examples, and compute 3840x2160 WebP output format:
find . -name "*.fsf" | xargs -iΒ§ clifractgen -W 3840 -H 2160 -M 5000 Β§ Β§.webp
The manpage of CLIFractGen contains details and further examples:
man clifractgen
These and further example input files can be found in src/examples.
Please use the issue tracker at https://github.com/dreibh/fractgen/issues to report bugs and issues!
For ready-to-install Ubuntu Linux packages of FractGen, see Launchpad PPA for Thomas Dreibholz!
sudo apt-add-repository -sy ppa:dreibh/ppa
sudo apt-get update
sudo apt-get install fractgen
For ready-to-install Fedora Linux packages of FractGen, see COPR PPA for Thomas Dreibholz!
sudo dnf copr enable -y dreibh/ppa
sudo dnf install fractgen
For ready-to-install FreeBSD packages of FractGen, it is included in the ports collection, see FreeBSD ports tree index of benchmarks/fractgen/!
sudo pkg install fractgen
Alternatively, to compile it from the ports sources:
cd /usr/ports/graphics/fractgen
make
sudo make install
FractGen is released under the GNU General Public Licence (GPL).
Please use the issue tracker at https://github.com/dreibh/fractgen/issues to report bugs and issues!
The Git repository of the FractGen sources can be found at https://github.com/dreibh/fractgen:
git clone https://github.com/dreibh/fractgen
cd fractgen
sudo ci/get-dependencies --install
cmake .
make
Note: The script ci/get-dependencies automatically installs the build dependencies under Debian/Ubuntu Linux, Fedora Linux, and FreeBSD. For manual handling of the build dependencies, see the packaging configuration in debian/control (Debian/Ubuntu Linux), fractgen.spec (Fedora Linux), and Makefile FreeBSD.
Contributions:
Issue tracker: https://github.com/dreibh/fractgen/issues. Please submit bug reports, issues, questions, etc. in the issue tracker!
Pull Requests for FractGen: https://github.com/dreibh/fractgen/pulls. Your contributions to FractGen are always welcome!
CI build tests of FractGen: https://github.com/dreibh/fractgen/actions.
Coverity Scan analysis of FractGen: https://scan.coverity.com/projects/dreibh-fractgen.
The tarball has been signed with my GnuPG key 21412672518D8B2D1862EFEF5CD5D12AA0877B49. Its authenticity and integrity can be verified by:
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 21412672518D8B2D1862EFEF5CD5D12AA0877B49
gpg --verify fractgen-<VERSION>.tar.xz.asc fractgen-<VERSION>.tar.xz
The tarballs have been signed with my GnuPG key 21412672518D8B2D1862EFEF5CD5D12AA0877B49. Its authenticity and integrity can be verified by:
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 21412672518D8B2D1862EFEF5CD5D12AA0877B49
gpg --verify fractgen-<VERSION>.tar.xz.asc fractgen-<VERSION>.tar.xz