Python 如何旋转对象以指向三维空间中的点?
目前,我无法在场景中旋转摄影机(使用python和pyglet)以指向摄影机的原点。我正在尝试制作一个围绕给定点(原点)旋转的相机,除了相机向原点旋转外,我的一切都在工作Python 如何旋转对象以指向三维空间中的点?,python,algorithm,pyglet,Python,Algorithm,Pyglet,目前,我无法在场景中旋转摄影机(使用python和pyglet)以指向摄影机的原点。我正在尝试制作一个围绕给定点(原点)旋转的相机,除了相机向原点旋转外,我的一切都在工作 self.rot[0] = rad2deg(math.atan2(self.pos[1]-self.origin[0], self.pos[2]-self.origin[2])) self.rot[1] = rad2deg(math.atan2((self.pos[0]-self.origin[0])*math.cos(deg
self.rot[0] = rad2deg(math.atan2(self.pos[1]-self.origin[0], self.pos[2]-self.origin[2]))
self.rot[1] = rad2deg(math.atan2((self.pos[0]-self.origin[0])*math.cos(deg2rad(self.rot[0])), self.pos[2]-self.origin[2]))
self.rot[2] = rad2deg(math.atan2(math.cos(deg2rad(self.rot[0])), math.sin(deg2rad(self.rot[0])) * math.sin(deg2rad(self.rot[1]))))
(自身是摄影机对象)无需旋转摄影机。若你们知道摄像机和原点的相对位置,那个么摄像机方向向量就是负的位置差
Cam.Direction = (Origin.X - Cam.X, Origin.Y - Cam.Y, Origin.Z - Cam.Z).Normalized_If_Needed