http://www.pacinfo.com/~hallock/triangles.html