An approach...take the expression for the Z terms, and solve them for a term Z
zterm = Sin[u/2] Sin[v] + Cos[u/2] Sin[2 v]
Solve[zterm == zz, {u}]
you get an expression that includes
{u -> ConditionalExpression[2 ArcTan[(
zz Sin[2 v] -
Sqrt[-zz^2 Sin[v]^2 + Sin[v]^4 + Sin[v]^2 Sin[2 v]^2])/(
Sin[v]^2 + Sin[2 v]^2),
Csc[v] (zz - (zz Sin[2 v]^2)/(Sin[v]^2 + Sin[2 v]^2) + (
Sin[2 v] Sqrt[-Sin[v]^2 (zz^2 - Sin[v]^2 - Sin[2 v]^2)])/(
Sin[v]^2 + Sin[2 v]^2))] + 2 \[Pi] C[1]),
C[1] \[Element] Integers]
Pick off the equation in the conditional expression and assign it to uu
uu = 2 ArcTan[(
zz Sin[2 v] -
Sqrt[-zz^2 Sin[v]^2 + Sin[v]^4 + Sin[v]^2 Sin[2 v]^2])/(
Sin[v]^2 + Sin[2 v]^2),
Csc[v] (zz - (zz Sin[2 v]^2)/(Sin[v]^2 + Sin[2 v]^2) + (
Sin[2 v] Sqrt[-Sin[v]^2 (zz^2 - Sin[v]^2 - Sin[2 v]^2)])/(
Sin[v]^2 + Sin[2 v]^2))]
Then do a 2D ParametricPlot, replacing u with uu. Here you can manipulate it to see what you have.
Manipulate[
ParametricPlot[{Cos[u] (3 + Cos[u/2] Sin[v] - Sin[u/2] Sin[2 v]),
Sin[u] (3 + Cos[u/2] Sin[v] - Sin[u/2] Sin[2 v])} /. {u ->
uu} /. zz -> height, {v, 0, 2 Pi}], {height, -1, 1}]