If that's all you do the polygon would look exactly like it does now.
You'd have to take those midpoints and 'push' them outward.
The question is 'How far outward do you push them'?

You don't have to "push out" the edges. The process of subdivision makes them smoother. You're adding more points to the shape to make it smoother. Just keep on subdividing the edges by their midpoints until it looks smooth.

You don't have to "push out" the edges. The process of subdivision makes them smoother. You're adding more points to the shape to make it smoother. Just keep on subdividing the edges by their midpoints until it looks smooth.

I didn't say 'push out the edges', I said push out the midpoints of each divided segment as below ...

The pushing of midpoints is make at the second part of the same ScaleMiddlePositions()
[the "push out the midpoints of each divided segment" factor is the last parameter of this funtion, I have set it to 1.1 )