3d 抛物线轨迹

发布于 2024-08-18 22:27:35 字数 554 浏览 9 评论 0原文

我正在尝试使用 3d 空间中的弧进行一些计算,但有点迷失。假设我想在 3d 空间中制作一个弧线动画来连接 2 个 x,y,z 坐标(两个坐标的 az 值为 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;

我试图将角度保持为恒定值。

I'm trying to figure out some calculations using arcs in 3d space but am a bit lost. Lets say that I want to animate an arc in 3d space to connect 2 x,y,z coordinates (both coordinates have a z value of 0, and are just points on a plane). I'm controlling the arc by sending it a starting x,y,z position, a rotation, a velocity, and a gravity value. If I know both the x,y,z coordinates that need to be connected, is there a way to calculate what the necessary rotation, velocity, and gravity values to connect it from the starting x,y,z coordinate to the ending one?

Thanks.

EDIT: Thanks tom10. To clarify, I'm making "arcs" by creating a parabola with particles. I'm trying to figure out how to ( by starting a parabola formed by a series particles with an beginning x,y,z,velocity,rotation,and gravity) determine where it will in end(the last x,y,z coordinates). So if it if these are the two coordinates that need to be connected:

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

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

how can the rotation, velocity, and gravity of this parabola be calculated using only these variables start the formation of the parabola:

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

I am trying to keep the angle a constant value.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏了南城 2024-08-25 22:27:35

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

This link describes the ballistic trajectory to "hit a target at range x and altitude y when fired from (0,0) and with initial velocity v the required angle(s) of launch θ", which is what you want, right? To get your variables into the right form, set the rotation angle (in the x-y plane) so you're pointing in the right direction, that is atan(y/x), and from then on out, to match the usual terminology for 2D problem, rewrite your z to y, and the horizontal distance to the target (which is sqrt(xx + yy)) as x, and then you can directly use the formula in link.

淡笑忘祈一世凡恋 2024-08-25 22:27:35

执行与 2D 中相同的操作。您只需通过旋转轴将图形转换为仿射空间,这样其中之一就为零;然后求解并撤消旋转。

Do the same as you'd do in 2D. You just have to convert your figures to an affine space by rotating the axis, so one of them becomes zero; then solve and undo the rotation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文