【问题标题】:3d Parabolic Trajectory3d 抛物线轨迹
【发布时间】:2010-01-28 01:26:19
【问题描述】:

我正在尝试使用 3d 空间中的弧进行一些计算,但有点迷失了。假设我想在 3d 空间中为弧设置动画以连接 2 个 x、y、z 坐标(两个坐标的 z 值均为 0,并且只是平面上的点)。我通过发送起始 x、y、z 位置、旋转、速度和重力值来控制弧。如果我知道需要连接的 x、y、z 坐标,有没有办法计算将它从起始 x、y、z 坐标连接到结束坐标所需的旋转、速度和重力值?

谢谢。

编辑:谢谢汤姆10。为了澄清,我通过创建带有粒子的抛物线来制作“弧”。我试图弄清楚如何(通过启动由一系列粒子形成的抛物线,其起始为 x、y、z、速度、旋转和重力)确定它最终的位置(最后的 x、y、z 坐标)。所以如果这是需要连接的两个坐标:

x1=240;
y1=140;
z1=0;

x2=300;
y2=200;
z2=0;

如何仅使用这些变量来计算抛物线的旋转、速度和重力,从而开始形成抛物线:

x1=240;
y1=140;
z1=0;
rotation;
velocity;
gravity;

我试图保持角度恒定。

【问题讨论】:

  • 听起来像是一个与编程无关的物理问题。另外,顺便说一句,“弧”通常是指圆的一部分,但重力的无摩擦轨迹通常会给出抛物线。你在找哪个?所以我的建议是稍微澄清一下这个问题并连接到编程。
  • 给定平面上的两个点,无限数量的弧将与这两个点相交。平面上的每个圆都有两个直径大于或等于两点之间距离的圆,您可以将这些圆中的每一个旋转到围绕通过两点的线的任意角度。
  • 你的引力是沿 y 轴还是沿 z 轴?如果是 y,那么 z 可以完全忽略。
  • @msell,我的万有引力当前正在应用于我的 x 和 y 坐标。
  • 如果重力作用在 x 和 y 上,那么 z 将始终为零。我认为您的 x 和 y 是地面上的位置,而 z 是高度,这更有​​意义 - 特别是对于这个问题的 3d 标签。

标签: math 3d geometry physics trigonometry


【解决方案1】:

这个link 描述了弹道轨迹“当从 (0,0) 以初始速度 v 所需的发射角度 θ 发射时,在距离 x 和高度 y 处击中目标”,这就是你想要对不对?要将变量转换为正确的形式,请设置旋转角度(在 x-y 平面中),以便指向正确的方向,即 atan(y/x),从那时起,与通常的术语相匹配2D问题,把你的z改写为y,到目标的水平距离(即sqrt(xx + yy))改写为x,然后就可以直接用link中的公式了。

【讨论】:

    【解决方案2】:

    执行与在 2D 中相同的操作。您只需通过旋转轴将图形转换为仿射空间,因此其中一个变为零;然后解决并撤消旋转。

    【讨论】:

      猜你喜欢
      • 2021-02-25
      • 2016-10-28
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 2023-01-13
      • 2015-09-29
      • 1970-01-01
      • 2014-11-26
      相关资源
      最近更新 更多