我正在做一个2D游戏(从上面)在XNA,但这是一个更多的数学问题。我试图旋转雪碧在同一个方向,我把棍子推到Xbox控制器上。
你看,如果我把我的棍子拉向一个方向,我也希望我的角色面对同样的方式。Xbox控制器给我类似于UnitCircle中的坐标,一个X和Y值的值+1到-1和0是标准位置。我需要的角度在XNA中使用它,请帮助我这个,我不知道如何从单位圆转换为弧度。
我找到了这个matrix,但很难理解
发布于 2015-02-27 01:48:24
巨大的免责声明:我是工作的古老和被遗忘的三角,所以请原谅我如果我把你错了!
首先,考虑一下单位圆圈信息告诉你的是什么。看起来是这样的:

橙色(x,y)坐标告诉你控制器是朝哪个方向移动的。
这些信息告诉你三角形的高度,以及三角形的底部。
你想知道的是三角形顶端接触中心的角度。
另一种看待我们橙色三角形的方法是这样的。

你想知道绿色的角度,你知道相邻的边(这是你的x坐标)和相反的位置(这是你的y坐标)。一个小苏卡托,你可以看到
tan(θ) =y/x
我们可以用它解决
θ=(反tan) (y/x)
它看起来像C#使用弧度在晒黑和atan。
我建议在这里花些时间:http://www.mathsisfun.com/geometry/unit-circle.html来帮助你理解这些概念。
https://stackoverflow.com/questions/28753371
复制相似问题