zmin = 0;  
zmax  =  1;   
y0  =  2;  
k = 1;

For[i = 1; oldPointList = pointList; 
      pointList = {}, 
i ≤ 
        Length[oldPointList], i++, 
x = oldPointList[[i]][[1]]; 
y = oldPointList[[i]][[2]]; 
z = oldPointList[[i]][[3]]; 
theta = 
        If[z < zmax, z - zmin, zmax - zmin]; 
c = 
        Cos[theta]; 
s = 
        Sin[theta]; 
radius  =  
        y0 - y; 
newy = 
        If[z < zmin, 
          y, 
If[z < zmax, y0 - radius*c, 
            y0 - radius*c + (z - zmax)*s]]; 
newz = 
        If[z < zmin, 
          z, 
If[z < zmax, zmin + radius*s, 
            zmin + radius*s + (z - zmax)*
                c]]; 
pointList = 
        Append[pointList, {x, newy, 
            newz}];
]