xvals = linspace(0, 3, 1025);
yvals = x.^2 + 1;
zvals = zeros(size(xvals));
xyz = [xvals(:), yvals(:), zvals(:)];
now you put xyz through standard rotation matrices, using a variety of angles, getting a series of output xyz for each input xyz. Put all of the resulting coordinates into arrays as vertices. Then construct edge lists, linking in a rectangular mesh -- the xyz for the N'th point on the K'th angle connecting to the (N-1)'st point and the (N+1)'th point at the K'th angle, and linking to the N'th point on the (K-1)'st and (K+1)'th angle. Toss everything into appropriate arguments for patch(). Adjust the face color parameters as you prefer: if you want everything to be the same nominal color then you will probably want to set up a lighting object (your sample diagram is lit from the right-and-back somewhere.)