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