Math 如何沿Y轴反射角度

Math 如何沿Y轴反射角度,math,Math,我不是数学家,但不知怎的,我把游戏开发当成了一种爱好 除了基础数学之外,我从未学习过任何东西,我很难想出如何反转某个东西的角度,朝向相反的方向,沿着X轴&穿过Y轴 但有一张图片显示了1000多个单词(特别是未受过教育的单词): 我基本上想反转机器人上的加农炮物体的方向。当机器人从面向右变为面向左时,我确实按照每个人的建议做了(180角),但它确实颠倒了角度,使大炮在向下瞄准时向上瞄准。所以,我需要做些别的事情,但我不知道 换言之,我在2D中工作,所以我想要一个从右到左的角度。我的角度定义如下:

我不是数学家,但不知怎的,我把游戏开发当成了一种爱好

除了基础数学之外,我从未学习过任何东西,我很难想出如何反转某个东西的角度,朝向相反的方向,沿着X轴&穿过Y轴

但有一张图片显示了1000多个单词(特别是未受过教育的单词):

我基本上想反转机器人上的加农炮物体的方向。当机器人从面向右变为面向左时,我确实按照每个人的建议做了
(180角)
,但它确实颠倒了角度,使大炮在向下瞄准时向上瞄准。所以,我需要做些别的事情,但我不知道

换言之,我在2D中工作,所以我想要一个从右到左的角度。我的角度定义如下:

  • 0表示“完全向右”
  • 180“左”
  • 90“向上”和
  • 270“向下”

我想要一个瞄准角度为91的东西,当它反转时会变成89。没有Z轴存在。有人愿意帮我吗?

这取决于你如何定义你的角度。如果相对于X轴定义它,那么角度实际上就是(180-alpha)。

查看图表,您标记的角度是相同的-您只是更改了它们的起点。如果您实际上打算测量角度,使0度垂直向上,那么它是
360-x


因此,如果你瞄准45度,当你倒车时,它是360-45=315度,你的零度角指向哪里,90度角指向哪里


如果零是直线上升的,那么您可以只做
-1*角度

来回答您的编辑,然后您想要的是

-( x - 90 ) + 90
i、 e

当然,如果你使用的是标准的C三角函数,你很可能会用弧度而不是度来计算,所以这实际上是

M_PI - x
基本上可以分为三个步骤

  • (x-90)调整角度,使零点位于90度
  • 对此求反,然后翻转变换的角度
  • 添加90返回以变换回原始角度范围

  • 编辑:刚刚注意到这与@Paul R相同,但你似乎不认为这是正确的?

    在不知道游戏中大炮是如何定义的情况下,回答这个问题相当棘手,但我会尝试给出一些提示

    听起来你的大炮是从侧面看的,你想让它从右向左旋转,但要让大炮面朝上。计算取决于0的方向,以及角度是顺时针还是逆时针

    如果角度为0时大炮指向正上方,则角度从正上方顺时针测量。因此,反向角度将为-角度。如果负角度不起作用,则使用(360度)

    如果角度为0时,加农炮指向右侧,而角度为45时,加农炮指向右下角,则向上的加农炮角度为180到360,270为直线向上。因此,要反转角度,可以使用(540角度)

    如果角度为0时,加农炮指向右侧,但角度为45时,加农炮指向右上角,则加农炮角度为0到180。要反转角度,请使用(180角度)


    我希望这有帮助!李。

    是的,但与我添加的图像不同,我将红线移到了下象限…@米沙尔伯德:这可能是因为你没有如图中所示定义相对于X轴的角度。我想你可能是相对于Y轴来定义它的?你是在反转右轴的角度吗?听起来你是在做z=180-z而不是x=180-x。如果没有,请尝试进一步解释问题所在。那么大炮的角度是与机器人的坐标系相连还是独立的?另外,一定要检查你的角度是否以度或弧度为单位。在解决这个问题之前,你真的需要固定好你的坐标系。哦,天哪,我本来打算让中心成为普通的,我应该在它们上面画箭头,但看起来像是“速度”…-角度“起作用了!至少在渲染方面。我需要检查发动机是否认为物体瞄准的方向正确。虽然这很奇怪,但我发誓用角度0推动一个物体会使它向右移动,而不是向上移动。我会做进一步的实验,谢谢!
    M_PI - x