给定2个3D对象,如何计算旋转Yaw&间距对象?

时间:2016-01-04 09:15:49

标签: java math rotation

我从未对3D比赛很好。这是一张照片 link

这只是一个MS Paint模型。

图1只是当前状态,图2是我想要完成的事情。我希望红色物体面对绿色物体。

1 个答案:

答案 0 :(得分:0)

偏航和俯仰可以按几个顺序应用。在这里,我假设首先应用偏航(围绕图像中的深度轴旋转)。根据您的坐标系和规范修改以下公式。

可以根据剩下的两个轴(在这种情况下为x和y)的坐标差异来计算偏航:

yaw = atan2(target.x - source.x, target.y - source.y)

您可能需要根据您的坐标系交换源和目标和/或x和y。

然后,音调是:

pitch = atan(target.z - source.z, sqrt((target.x - source.x)² + (target.y - source.y)²)