let rec random_vector_3d () =
let r () = if Random.bool ()
then Random.float 1.0
else 0.0 -. Random.float 1.0
in let x' = r () and
y' = r () and
z' = r ()
in if sqrt (x' *. x' +. y' *. y' +. z' *. z') < 1.0 then
new vector x' y' z'
else random_vector_3d ()