Haskell Gloss:方向向量到旋转角度

时间:2014-10-28 22:33:44

标签: haskell rotation geometry

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

我尝试使用光泽库中的旋转功能加上atan2函数从矢量转换为角度:

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

其中 dir 是一个标准化的Vector,最初为(1,0),指向pic(本例中玩家的船)指向并可能移动的方向。

但是这不能正常工作。

如果有人能帮助我,我会非常感激!

祝你好运, Skyfe。

1 个答案:

答案 0 :(得分:2)

我认为您应该使用argV来获取矢量的角度。

修改

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