Bugsx draws the biomorphs based on parametric plots of Fourier sine and cosine series and let's you play with them using the genetic algorithm. A paper describing the theoretic backgrounds of bugsx in included in the source only package.
What is bugsx?
bugsx runs under MIT's X11 window system. It was written under UNIX but should be easily portable. It is a program which draws the biomorphs based on parametric plots of Fourier sine and cosine series and let's you play with them using the genetic algorithm.
The original version which ran under Suntools and XViews was written by Joshua R. Smith sometime 1990. See the 'credits' section for more details.
For more information about the theoretic backgrounds of bugsx consult Joshua R. Smith's paper distributed with this program in gzip'ed postscript format as bugs.ps.gz. You have to uncompress this file with 'gunzip' before you can print it.
Gunzip should be available at an archive near you.
The paper can also be gotten from:
Command line parameters
bugsx accepts the following parameters as command line options:
+rv reverse video (use to override xrdb entry)
+synchronous syncronous mode (use to override xrdb entry)
-background <arg> backgound color
-batch run program in batch mode
-bg <arg> same as -background
-bordercolor <arg> border color
-borderwidth <arg> border width
-cycle <arg> re-initialize population after n batch turns
-extend_print show extended reproduction info while running
-fg <arg> same as -forground
-font <arg> font
-foreground <arg> forground color (also file system bar color)
-geometry <arg> geometry
-interval <arg> interval used per turn
-mb show menu border
-name <arg> run bugsx under this name
-nobreed do not breed when running in batch mode
-number <arg> number of biomorphs to draw (must be a square #)
-printpop print the population when breeding
-rv reverse video
-seed <arg> use this seed for random number generator
-segments <arg> use this many segments to draw an organism
-showbreed show breeding subpopulation when in batch mode
-showgenes show a graphic representation of the genes
-synchronous synchronous mode
-xrm make no entry in resrouce database
bugsx recognizes the following XResources. Usually bugsx will search for resources under the program name but you can override this with the -name flag. If you do not wish to use a specific application defaults file, you can execute xrdb -merge to merge your resource specifications into the XResource database.
bugsx first checks in the directory pointed at by the environment variable XAPPLRESDIR. If this doesn't yield any resource definitions it checks the APP_DEFAULTS_DIR. This is defined in your headers or in bugsx.h. If you want to change this you'll have to recompile bugsx.
background universal backgound color
batch run program in batch mode
batchbreed do not breed when running in bactch mode
borderColor border color
borderWidth border width
cycle re-initialize population after n batch turns
extend_print show extended reproduction info while running
foreground universal foreground color
help show help
mainWin.geometry main window geometry
iconic start program in iconic mode
interval interval used per turn
minimize minimize window size
menuborder draw menu borders
name run bugsxunder this name
number number of biomorphs to draw (must be a square #)
printpop print the population when breeding
reverseVideo reverse video
seed use this seed for random number generator
segments use this many segments to draw an organism
showbreed show breeding subpopulation when in batch mode
showgenes show a graphic representation of the genes
synchronous syncronous mode
verbose verbose mode
To install bugsx just follow these instructions.
Check the multiverse repository is enabled.
Inspect /etc/apt/sources.list using your favourite editor with sudo which will ensure that you have the correct permissions.
sudo gedit /etc/apt/sources.list
Ensure that multiverse is included.
After any changes you should run this command to update your system.
sudo apt-get update
You can now install the package like this.
sudo apt-get install bugsx
Which will install bugsx and any other packages on which it depends.
If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog: