There is a neat way in Mathematica to generate random points on a sphere. Note that "randomness" is defined (somewhat not mathematically strictly) so that the points must be evenly distributed over the sphere (see more info in the linked demo):
Is there a similar (or even very different but reasonable) way of generating random points on Klien's bottle?
klein[u_, v_] := Module[{
bx = 6 Cos[u] (1 + Sin[u]),
by = 16 Sin[u],
rad = 4 (1 - Cos[u]/2),
X, Y, Z},
X = If[Pi < u <= 2 Pi, bx + rad Cos[v + Pi], bx + rad Cos[u] Cos[v]];
Y = If[Pi < u <= 2 Pi, by, by + rad Sin[u] Cos[v]];
Z = rad Sin[v];
{X, Y, Z}
]
ParametricPlot3D[klein[u, v], {u, 0, 2 Pi}, {v, 0, 2 Pi}, Axes -> False, Boxed -> False]
(code and image courtesy of @e.doroskevic)