How to get the center point of a curved surface

I have multiple irregularly shaped floors and i want to get the center point for each. Centroid doesn’t seem to do it or am I missing something?

Use :

Curve.PointAtParameter

Maybe I was not clear, I was hoping to get the center of an irregular shape/surface. See Image:
image