pz := cos(t)^2; py := -cos(t)^3*sin(t); tz := -1/36*cos(t)*(-3+4*cos(t)^2)*(3*sin(2*t)+4); ty := 1/18*sin(t)*(3*sin(2*t)+4); tx := simplify(sqrt(tz^2+ty^2)); plot3d([tx*sin(s),py+ty*cos(s),pz+tz*cos(s)], t=0..Pi, s=0..2*Pi, grid=[99,25], style=patch, orientation=[170,120], scaling=constrained, lightmodel=light4); # Here's a view with a slice cut out of it where it intersects itself: plot3d([tx*sin(s),py+ty*cos(s),pz+tz*cos(s)], t=(Pi*.355)..(Pi*1.32), s=0..2*Pi, grid=[99,25], style=patch, orientation=[210,100], scaling=constrained, lightmodel=light4);