【问题标题】:XNA UnitCircle convert to RadiansXNA UnitCircle 转换为弧度
【发布时间】:2015-02-26 21:46:09
【问题描述】:

我在 XNA 中做一个 2D(从上面)游戏,但这更像是一个数学问题。 我正在尝试以与我在 Xbox 控制器上推动摇杆的方向相同的方向旋转精灵。

你看,如果我把我的棍子拉向一个方向,我也希望我的角色面对同样的方向。 Xbox 控制器给了我像 UnitCircle 中的坐标,一个 X 和 Y 值,其值为 +1 到 -1,0 是标准位置。我需要弧度中的角度才能在 XNA 中使用它,请帮我解决这个问题,我不知道如何从单位圆转换为弧度。

我找到了这个http://en.wikipedia.org/wiki/Rotation_matrix,但很难理解

【问题讨论】:

    标签: c# matrix xna rotation


    【解决方案1】:

    巨大的免责声明:我正在使用古老而被遗忘的三角,所以如果我错了,请原谅我!

    首先,想想单位圆信息告诉你什么。它看起来像这样:

    橙色 (x,y) 坐标告诉您控制器移动的方向。

    这些信息告诉你三角形的高度和三角形的底边。

    你想知道的是三角形尖端与中心接触的角度。

    查看橙色三角形的另一种方式是这样的。

    您想知道绿色的角度,并且您知道相邻边(即您的 x 坐标)和对面位置(即您的 y 坐标)。一点SOHCHAHTOA,你可以看到

    tan(θ) = y / x

    我们可以解决这个问题

    θ = (inverse tan) (y/x)

    看起来 C# 在 tan 和 atan 中使用弧度。

    我建议您花一些时间在这里:http://www.mathsisfun.com/geometry/unit-circle.html 帮助您了解其中的一些概念。

    【讨论】:

    • (我希望这会有所帮助 - 必须冲过去,但我回家后会再次检查)。
    猜你喜欢
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多