对于Haskell中Gloss库的Rotate函数,我需要为它提供一个角度,而不是用于可移动对象的方向向量,因此我想知道如何转换它?我想我会用atan2来做这件事,但这给了我一个非常奇怪的结果(应该旋转的图片只旋转了一点,然后又回来了,等等,而且也没有绕过它的原点)。
我尝试的是使用Gloss Library中的Rotate函数和atan2函数从矢量转换为角度:
Rotate (atan2 (snd dir) (fst dir)) pic
其中dir是一个归一化向量,最初(1,0),指向图片(在这种情况下是玩家的飞船)所指向的方向,并可能移动。
然而,这并不能正常工作。
如果有人能帮我,我将不胜感激!
谨致问候,Skyfe。
我认为您应该只使用argV
来获得向量的角度。
编辑:
您还必须使用radToDeg
将此角度转换为度(从弧度)。