Reference: Adrian Bowyer, John Woodwark, A programmer's geometry