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 ()