April 28, 2009 Generating Random Integers With Arbitrary Probabilities I finally laid my hands on Donald Knuth’s The Art of Computer Programming (what a wonderful set of books!), and found a neat algorithm…

April 15, 2009 Estimating a Continuous Distribution from a Sample Set It is sometimes necessary to find the distribution given a sample set from that distribution. If we do not know anything about the distribution,…

April 15, 2009 Generating Random Points from Arbitrary Distributions for 2D and Up I have already covered how to generate random numbers from arbitrary distributions in the one-dimensional case. Here we look at a generalisation of that…

April 9, 2009 Cellular Automata for Simulation in Games A cellular automata system is one of the best demonstrations of emergence. If you do not know what cellular automata (CA) is, then you…

December 15, 2008 A simple texture algorithm – faster code and more results Faster Code A while back I wrote about a simple texture algorithm that I have been exploring. The Python implementation was very slow –…

December 7, 2008 Random Steering – 7 Components for a Toolkit Random steering is often a useful for simulating interesting steering motion. In this post we look at components that make up a random steering…

November 15, 2008 Quadtrees The code below implements some quadtree extensions, as discussed in another Dev.Mag tutorial about quadtrees (see Issue 27). The tutorial covers the following topics:…

I use this code to illustrate many of the tutorials on this site, and the articles I write for Dev.Mag. Ideally, I would like…

November 11, 2008 5 Tips for Prototyping Slow Algorithms (Photo by Darren Hester) Some algorithms take a long time to return their results. Whether it is because the algorithm has to operate on…

October 6, 2008 Quadtrees The quadtree is an important 2D data structure and forms the core of many spatial algorithms, including compression, collision detection, and stitching algorithms. Below…