计算绕轴旋转的点的速度

时间:2019-01-22 00:19:39

标签: vector rotation

我正在尝试使对象绕原点旋转。

这是3D模式,因此Y是上轴。它们绕(X,Z)平面的原点旋转

对象可以在原点周围的圆圈内的任何位置。为了获得它们的速度矢量,我计算出原点和物体之间的角度,并将该角度加90度(这样所有点都与原点成直角)。

这是我当前的代码

radians:=ArcTan2(z,x);
//add 90 degrees to angle so point is heading at a 90 degree angle around the origin
radians:=radians+DegToRad(90);
//find new (x2,z2) point
x2:=x+cos(radians)*initialspeedscale;
z2:=z+sin(radians)*initialspeedscale;
//vectors from rotated position to object position
vx:=x2-x;
vz:=z2-z;
然后

vx和vz用作初始物体速度。

这就是我认为代码应该起作用的方式 https://ibb.co/4TPtLtv

问题是速度不是恒定的。如果我在红色和蓝色之间缩放初始设置的速度,则会得到此图像 https://ibb.co/Xk56VY0 一定是弧度到度或arctan2象限的东西,但是我无法正常工作。

关于我哪里出了问题的任何想法?

0 个答案:

没有答案