Haskell光泽:旋转的方向向量到角度



对于Haskell中Gloss库的Rotate函数,我需要为它提供一个角度,而不是用于可移动对象的方向向量,因此我想知道如何转换它?我想我会用atan2来做这件事,但这给了我一个非常奇怪的结果(应该旋转的图片只旋转了一点,然后又回来了,等等,而且也没有绕过它的原点)。

我尝试的是使用Gloss Library中的Rotate函数和atan2函数从矢量转换为角度:

Rotate (atan2 (snd dir) (fst dir)) pic

其中dir是一个归一化向量,最初(1,0),指向图片(在这种情况下是玩家的飞船)所指向的方向,并可能移动。

然而,这并不能正常工作。

如果有人能帮我,我将不胜感激!

谨致问候,Skyfe。

我认为您应该只使用argV来获得向量的角度。

编辑:

您还必须使用radToDeg将此角度转换为度(从弧度)。

最新更新