我正在尝试参考2D视口旋转3D圆柱体。通过圆柱的半径和已知的2D平移,我怎样才能找到它转动的角度?
答案 0 :(得分:1)
让我们假设圆柱体从A旋转到B.此外,我们假设A是逆时针的θ
度,B是从水平方向顺时针θ
度。因此,A和B之间的角度为2θ
。
A的y坐标由r*sin(θ)
给出,B的y坐标仅为-r*sin(θ)
。
因此,2*r*sin(θ) = D
(平移距离)
解决θ
:
θ = asin(D/(2*r))
(其中asin是反正弦函数)
另一种(可能更强大)方法是计算三角形的垂直和底部,然后进行atan2(perp,base)
。
垂直线只是D/2
,而基线是sqrt(R*R - D*D/4)
。