2

我注意到 Python 中有一个sin,costan函数。

所以,我想我会在我的游戏中使用这些来制定一种瞄准方式,不幸的是,、、、、、的单词sin描述cos非常混乱。 tanasinacosatan

我知道如何做所有学校的sin规则costan规则,我只需要将它们应用到代码中。所以,这就是我需要做的,我只需要知道我必须使用哪一个:

我有

  1. 角度
  2. 斜边
    (我只是保持我希望对象在再次blit之前行进多远的值)

从角度来看,我想解决相反和相邻的一个/两个。
斜边将是sin/asincos/acos。哪一个?我不知道。

如何输入我的数字?我只是做aim = cos(angle,hyp)还是必须应用其他一些计算?

4

2 回答 2

4

公式是:

adjacent = hypothenuse * math.cos(angle)
opposite = hypothenuse * math.sin(angle)

哪里angle是弧度。

于 2013-03-02T15:15:39.957 回答
2

你的措辞有点令人困惑......但我的理解是你在 2D 空间中有一个点,你想将它推进一个特定的距离(斜边),瞄准地平线以上的指定角度。如果是这样的话:

newX = oldX + dist * cos(angle)
newY = oldY + dist * sin(angle)

假设angle以弧度为单位,Y 轴向上为正,角度为 0,指向右侧,PI/2 指向顶部。如果不是这种情况,您可能需要稍微摆动一下标志。

于 2013-03-02T15:16:15.913 回答