0

3D点围绕另一个3D点旋转一定弧度/度后计算3D点位置的公式是什么?我正在使用 Java/LWLJGL。

有人可以填写以下空白吗?
public Vector3f rotate(Vector3f origin, Vector3f rotation)
{
Vector3f ret = new Vector3f();
ret.x = __________;
ret.y = __________;
ret.z = __________;
}

4

1 回答 1

1

考虑您的固定点在 time 处具有坐标 (a,b,c) 和移动对象 (x1,y1,z1),在 timet1处具有 (x2,y2,z2)坐标t2

选项 1 您可以考虑x-y平面上的投影和平面上的投影y-z并计算该二维空间中的角度。

选项 2 您可以考虑两个向量。说矢量AB

A=(x1-a)i+(y1-b)j+(z1-c)k 
B=(x2-a)i+(y2-b)j+(z2-c)k 

A现在使用和的点积B

 A . B = |A||B|cos(angle)
于 2013-06-27T18:04:11.730 回答