let update_angles () =
    let do_angles index bone =
      let (i,j,d) = bone in
      let (xi,yi,zi) = pos.(i) in
      let (xj,yj,zj) = pos.(j) in
      let (x,y,z) = (xj-.xi, yj-.yi, zj-.zi) in
      let newangles =
        { theta =
            if x = 0. then
              if y>=0. then halfpi else mhalfpi
            else
              do_theta x y ;
          phi =
            acos (z/.d) } in
        Printf.printf "Angle %d (%f,%f,%f) : (%f,%f)\n%!"
          index x y z
          newangles.theta newangles.phi ;
        angles.(index) <- newangles
    in
      Array.iteri do_angles bones