Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何旋转对象以指向三维空间中的点?_Python_Algorithm_Pyglet - Fatal编程技术网

Python 如何旋转对象以指向三维空间中的点?

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

目前,我无法在场景中旋转摄影机(使用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(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