使用zrotation角度进行计算当270度转到-90度时如何用它们进行计算?

时间:2014-11-06 01:23:01

标签: ios math rotation sprite-kit angle

我有一个物体,当它旋转时从0度开始指向水平向右,然后向左旋转到+270度然后变为-90度然后回到零以完成360度旋转。 (我认为这只是spritekit的工作原理?)

如何设置此项以便我可以正确地对这些角度进行数学计算? 例如,我有两个物体,我试图计算彼此的度数差异,并设置相互之间的最小和最大角度差异,但如果一个物体翻转-90,则无法进行锻炼。另一个是265度,相差5度等? 我需要在这里使用/做什么来成功计算考虑270变化到-90等?

我想我问我如何让我的计算开始时为0并转到360而不是270到-90到0?

我的计算也是用弧度完成的,但我只是用度数来显示标签,所以我可以看到它等。

任何帮助都会很棒

1 个答案:

答案 0 :(得分:0)

摘要:它是模数类型的操作,但模数仅适用于整数,并且您的角度可能有一个小数组件,因此会有类型转换和繁琐的细节来存储/恢复任何小数组件到结果.. < / p>

所以.. 手动做模数..

CGFloat myAngle = //however you calculate that..



while (myAngle < 0.0){ 
    myAngle += 360.0;
    }
 while (myAngle > 360.0){ 
    myAngle -= 360.0;
    }

如果出于某种原因需要将其取回,只需更改这些值以反映范围:

while (myAngle < -90.0){ 
    myAngle += 360.0;
    }

while (myAngle > 270.0){ 
    myAngle -= 360.0;
    }