2D ビューポートを参照して 3D Cylinder を回転させようとしています。円柱の半径と 2D 移動がわかっている場合、どのように円柱の回転角度を知ることができますか?

円柱が A から B に回転するとします。さらに、A が水平からθ反時計回りに、B が時計回りにあるとします。θしたがって、A と B の間の角度は です2θ。
A の y 座標は で与えられr*sin(θ)、B の y 座標は単純に-r*sin(θ)です。
したがって、2*r*sin(θ) = D(パン距離)
を解くθ:
θ = asin(D/(2*r))
(ここで、asin は逆正弦関数です)
もう1つの(おそらくより堅牢な)方法は、三角形の垂線と底辺を計算してからatan2(perp,base).
垂線は単純D/2に で、底辺はsqrt(R*R - D*D/4)です。