P0 is the point. I should have said pick a point P0 in the plane determined by P1, P2, and P3.
Well, my point was to show that there are a lot of hidden assumptions in such a simple program.
What is a plane, point, halfway, draw, triangle, random, and equilateral?