Based on the images, it seems that the corresponding indices for each ellipse are not in proper order. To get the desired result, the points on the ellipse should be ordered such that they are alligned vertically. Lines in the right figure show that indices of points on each ellipse are not alligned properly which creates twisted cylinder surfaces.
If the above does not help in the explanation and resolution of your problem, could you please provide the complete code with data so that we can replicate the issue.

