【问题标题】:Flipping an angle using radians使用弧度翻转角度
【发布时间】:2011-01-16 20:26:34
【问题描述】:

大家好,各位数学高手!

我正在努力解决一个数学问题,希望您能帮助我。我已经使用弧度计算了方向角。在 OpenGL ES 中,我通过改变我的点值来移动我的人:



spriteLocation.x -= playerSpeed * cosf(playerRadAngle);
spriteLocation.y -= playerSpeed * sinf(playerRadAngle);

// playerRadAgnle is my angle of direction using radians

这非常适合将我的精灵移动到正确的方向。但是,我决定将我的精灵“锁定”在屏幕中间,并移动背景。这需要我反转我计算的角度。如果我的精灵的弧度方向等于 90 度,我想将其转换为 270 度。同样,将所有内容保持在弧度中。

我承认我对 Trig 的了解充其量是很差的。有没有办法用弧度计算出对角?我知道我可以将弧度转换为度数,然后加/减 180 度,然后再转换回弧度,但我正在寻找更有效的方法。

提前谢谢....

-斯科特

【问题讨论】:

    标签: trigonometry flip angle


    【解决方案1】:

    改为加/减pi

    【讨论】:

    • 从 2*PI 中减去 playerRadAngle 适用于 Y 轴,但对 X 轴没有影响。由于我在 X 上执行 cosf() 并在 Y 上执行 sinf(),我可以对 playerRadAngle 进行什么计算来完成这项工作?再说一次,我的三角技巧很烂!感谢您的快速回复!
    • 他没有说从 2*pi 中减去,他说的是加(或减去)1*pi。你试过了吗?
    • 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊我看了之后他就改了帖子。是的,这完美!谢谢你们的快速发帖!
    【解决方案2】:

    您需要将 Pi 相加,然后使用除以 2 Pi 后的余数(使其限制在[0; 2 Pi] 范围内)。

    JavaScript:

    function invertAngle(angle) {
      return (angle + Math.PI) % (2 * Math.PI);
    }
    

    【讨论】:

      【解决方案3】:

      object_sprite.rotation = warp_direction - 3.14;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-15
        • 2022-01-16
        • 2015-11-28
        • 1970-01-01
        • 2020-10-24
        • 1970-01-01
        • 2020-04-09
        • 1970-01-01
        相关资源
        最近更新 更多