@bbcmicrobot @geoffl Messing with the maths, which I probably got wrong-I see I left in an unnecessary if abs(K)<abs(X). At each value of x from -(R+r) to (R+r) and each value of K=(R+rcosv) I get the 4 points on the surface and plot them. Seems to have enough density to avoid bleed, but the shading looks wrong to me, I think I have incorrect Z-values in there