【问题标题】:XNA Slope Math formulaXNA 斜率数学公式
【发布时间】:2017-08-25 13:10:05
【问题描述】:

我正在尝试使用此公式在 2D 游戏中实现斜坡 y1 = y + (x1 - x) * (v/u) 用于具有随机度数的斜率。我需要另一个方向的公式(从右到左向下)。这个公式 y1 = y + (v - (x1 - x)) 不起作用。有谁知道正确的公式吗?

这是一张可能有帮助的图片:

【问题讨论】:

  • 第一个公式只允许 45 度的坡度。使用y1 = y + tan(angle) * (x1 - x)
  • y1 = 坡度 * (x1 - x) + y;其中坡度 = v/u。
  • 抱歉忘了加 * (v/u),只是打字时打错了。问题不是从左到右向上,那工作正常,我正在寻找另一个方向的公式

标签: c# math monogame xna-4.0


【解决方案1】:

目前尚不清楚您的问题中已知和未知的内容。你的图没用。我试试猜。

答案只是高中代数和三角学。

我假设你有一个起点 (x1, y1),你选择的角度 theta 在正 x 方向上等于 0,并在逆时针方向上增加,以及你想要的距离 r喜欢旅游。

你可以像这样计算终点(x2,y2):

x2 = x1 + r*cos(theta)
y2 = y1 + r*sin(theta)

这适用于所有角度。例如,45 度角(pi/4 弧度)的“向上和向右”是:

x2 = x1 + r*sqrt(2)/2
y2 = y1 + r*sqrt(2)/2

您的“向下和向右 225 度角是:

x2 = x1 - r*sqrt(2)/2
y2 = y1 - r*sqrt(2)/2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    相关资源
    最近更新 更多