C1 is the default cylinder that was created by using the Add-> Mesh -> Cylinder. C2 is created by immediately changing the vertices count to 1024 right after the creation. C3 is a default cylinder but with “Shade Smooth”. C4 is created by selecting all the side faces of a default cylinder and then invoking “Subdivide” with the maximum allowed value of “10”.
C2 looks smooth. But the option to change the vertices is only available right after its creation, so I cannot change it later. Also, there could be cases where the curved surface is not a simple single mesh, so I think changing the vertices is not a general method to smooth a curved surface.
C3 does not look as smooth as C2. When I was creating C4, I thought that I would get similar effect as C2 by subdividing the side surface. But I was wrong. If I look the object closely, even though the tool has subdivided the side surface, it just divided the existing face by the same angle, so in the rendered image C4 looks exactly like C1. So, my question is, can I take an existing curved surface (part of a round), subdivide it, but make the new edges form a curve that interpolate the existing edges, like C2?