繁体   English   中英

如何旋转对象以指向3d空间中的点?

[英]How to rotate an object to point to a point in 3d space?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM