ParametricPlot3D of Boy's surface

z := u + v I
g1 := -(3/2) Im[(z (1 - z^4))/(z^6 + z^3 Sqrt[5] - 1)]
g2 := -(3/2) Re[(z (1 + z^4))/(z^6 + z^3 Sqrt[5] - 1)]
g3 := Im[(1 + z^6)/(z^6 + z^3 Sqrt[5] - 1)] - 1/2
g = g1^2 + g2^2 + g3^2;

You could use Piecewise here.

When Abs[z] > 1, the function is undefined and plots nothing.

ParametricPlot3D[Piecewise[{{{g1/g, g2/g, g3/g}, Abs[z] <= 1}}, Undefined],
                 {u, -1, 1}, {v, -1, 1}]

enter image description here

I'm not an expert on Graphics, but I hope that helps.


Altho traditionally one should use polar coordinates as I suggested in a comment above, I found it amusing that ParametricPlot3D[] can actually support a region specification for specifying the domain of the parameters. Thus here is a way to plot the Bryant-Kusner parametrization of the Boy surface:

ParametricPlot3D[With[{z = u + I v}, (#/(#.#)) &[Re[{0, 0, 1/2} +
                      {I z (1 - z^4), z (z^4 + 1), -(2 I/3) (z^6 + 1)}/
                      (z^6 + Sqrt[5] z^3 - 1)]]], {u, v} ∈ Disk[],
                 Axes -> None, Boxed -> False, Mesh -> True,
                 PlotPoints -> {20, 30}, PlotStyle -> Opacity[2/3]]

just look at the threefold symmetry!

where I made the surface translucent to display the inner structure. Mathematically, the construction is an inversion of a certain minimal surface that is topologically equivalent to the projective plane, thrice-punctured. See the linked paper for more background.