Scientific & Mathematics Software 

This page contains a collection of simple (and not so simple) programs and applications that I have written over the past twenty years, and which either demonstrate some mathematical or scientific principle, or which have been used for my own research projects. (These were available for download until June 2013 when a denial-of-service attack collapsed the hosting server. I will try to re-upload them once I have setup a new server.)

Blaschke Diagrams:  A visualization of the Blaschke condition.for a specific class of series parameterized by an exponent s, 

a_n = \frac{1}{1 - (n+1)^s} exp(i\sqrt{n+1})

and coloured according to the number of iterations to generate B_{N+1} - B_N < epsilon.


Dynamic Dimension:  A simple program that I wrote in my final year as an undergraduate student which would simulate gravitational orbits and clustering in higher dimensional models of the Universe, including effects from slow variations in the scale of the hidden dimensions. I dropped the program because my computer at the time didn't have the power to simulate more than a few massive objects. (I did rewrite this program a few years later as part of my graduate studies research work, but it didn't lead to any publishable research projects)

Escape Fractals:  Another simple program that generates random patterns (not always fractals) by iterating the two polynomials

x -> a x^2 + b x + c y^2 + d y + e xy + f

y -> g x^2 + h x + i y^2 + j y + k xy + l

using random values for the twelve coefficients, and colouring the pixels based on the number of iterations required to exceed a pre-set bound.

 Exoplanet Explorer: A simple C# program that I started writing in 2012 to simulate the formation and evolution of exoplanets around various types of stars. At present the stellar parameters and materials for planet formation are set manually, but I intend to eventually include more realistic physical processes into it instead. My eventual goal is to have a program that can start with a disc of dust around a star, and evolve to the point of having a detailed surface of an exoplanet complete with terrain features and accurate atmospheric conditions, although these projects may be a long while in the future.

Feather Fractals:   A simple app to draw a class of iterated fractals known colloquially as "Feather Fractals". By adjusting three parameters, the app draws a pattern generated by iterating its generating formula over 100,000 points in the plane. This program also allows zooming in on smaller details, which also contain interesting details.

IFS Explorer:  A simple C# application that allows the user to quickly create iterative fractals using the same methods as my Chaos Game Screensaver. I originally wrote it to test patterns for the screensaver, but now it has become a separate project.

Julia:  Another simple Windows application that I wrote in C# which takes a complex number as input, and generates the corresponding Julia set. This program also has a setting to draw both the Mandelbrot set and specific subsets of it.

 Maze-Runner Screensaver -  A simple screensaver program that draws one of over 100,000 mazes on the screen, and then the computer tries to solve the maze. (Not all the mazes it selects can be solved, but it can determine that as well). It is an entertaining display originally developed as an offshoot of an experiment AI program I wrote in the 1990s.

NeuralNet:  A C# class I wrote in 2009 for modelling basic neural networks. It includes individual neurons and a class for containing them, as well as a visualization routine for monitoring the development of the neural network. In the image to the left, each node of the graph represents a neuron and the connecting lines represent neural connections with the colour of each being determined by the properties of the two neurons.


Nucleosynthesis:  A piece of code I adapted from Fortran into C++ while I was a graduate student, this project simulates the production of light chemical elements in the Big Bang, with options in the code for including new particles and exotic physics.

Evolver: An experimental program written in C# and Unity to simulate the evolution of 3D creatures in a simulated environment. More details.

Note: Development of this project has been suspended, as other teams of programmers have now built more advanced and opensource versions of this idea. I may restart it at a later date if there is suitable interest.

Make a Free Website with Yola.