Geometric algorithms