我正在尝试创建一个简单的游戏,我有一个想要指向鼠标的图像(像这样的箭头:--->
)。如果我知道鼠标位置和图像的位置,我肯定可以做一些数学运算来旋转图像,使其指向鼠标指针。那么我需要做什么才能以这种方式旋转对象(围绕中心)?
如果我想将对象指向另一组坐标,我是否也可以这样做?
答案 0 :(得分:1)
对于旋转,您可以使用旋转矩阵,欧拉角或四元数。我会使用后者,因为他们没有万向节锁的问题。所有这些都是可以互换的,但是有很多惯例,请注意这一点!
具有欧拉角的问题是,它们中有很多。我知道这听起来有点奇怪。我的意思是有各种约定,你必须知道你正在使用哪一个,否则你会引入错误。下图围绕z
(D)轴旋转,然后围绕新x'
(C)轴旋转,然后围绕z'
(B)轴旋转。
使用quaternions,可以完全避免这个问题。虽然它引入了一些新的,例如更复杂的数学,但这在下面的链接中得到了很好的解释,并且也在various libraries in python中实现。
进行旋转的旋转轴可以任意取向,这是一个很大的好处。这在以后非常方便。
如果您希望看到algorithmic example,我建议您查看this帖子。对于math,维基百科可能有帮助。