我想旋转一个物体面对一个我有点麻烦的点.
所以我开始使用一个基数为零的对象,并在y轴上对齐.

我想旋转它,使对象的顶部朝向目的地

到目前为止,我的过程是:给定轴A
这是代码表示.我不确定这究竟是什么问题我已经在纸上解决了问题,据我所知,这种方法应该有效,但结果在绘制时完全不正确.如果有人看到任何瑕疵,并指出我正确的方向,那将是伟大的.
Vector3 distance = new Vector3(from.x, from.y, from.z).sub(to.x, to.y, to.z);
final Vector3 axis = new Vector3(0, 1, 0);
final Vector3 direction = distance.clone().normalize();
final Vector3 right = (axis.clone().cross(direction));
final Vector3 up = (distance.clone().cross(right));
float angle = (float) Math.acos((up.dot(direction)/ (up.length() * direction.length())));
bondObject.rotateLocal(angle, direction.x , direction.y, direction.z);
Run Code Online (Sandbox Code Playgroud)