我正在尝试使对象绕原点旋转。
这是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象限的东西,但是我无法正常工作。
关于我哪里出了问题的任何想法?