大家好,你们数学高手!
我正在努力解决数学问题,我希望你能帮助我。我用弧度计算了一个方向角。在OpenGL ES中,我通过改变我的点值来移动我的家伙:
spriteLocation.x -= playerSpeed * cosf(playerRadAngle);
spriteLocation.y -= playerSpeed * sinf(playerRadAngle);
// playerRadAgnle is my angle of direction using radians
这可以很好地将我的精灵移动到正确的方向。但是,我决定让我的精灵“锁定”在屏幕中间并移动背景。这需要我反转我的计算角度。如果我的精灵的弧度方向相当于90度,我想将其转换为270度。再次,保持一切都在弧度。
我承认我对Trig的了解充其量也很差。有没有办法用弧度计算出相反的角度?我知道我可以将我的弧度转换为度数,然后加/减180度,然后转换回弧度,但我正在寻找更高效的东西。
提前致谢....
-Scott
答案 0 :(得分:15)
添加/减去pi
。
答案 1 :(得分:0)
object_sprite.rotation = warp_direction - 3.14;
答案 2 :(得分:0)
您需要添加Pi,然后使用除以2 Pi的余数(以使其限制在[0; 2 Pi]
范围内。)
JavaScript:
function invertAngle(angle) {
return (angle + Math.PI) % (2 * Math.PI);
}