1. It would be very easy. I just use vertex 0 as common point, and then radially go through the polygon edges. (0,2,1), (0,3,2), .. (0,n-1,n-2). I thought i might do this for testing purpose, but it would be slower than optimized function.
2. I don't know how to do the projection, and even so, wouldn't it use the same vector math as 3D? I don't imagine we would need to go for angles with this problem at least.