Я пытаюсь заставить объекты вращаться вокруг начала координат.
Это в 3D, поэтому Y - ось вверх.Они вращаются вокруг начала плоскости (X, Z) * 1003 *
Объекты могут находиться в любом месте круга вокруг начала координат.Чтобы получить их вектор скорости, я определяю угол между началом координат и объектом и добавляю 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, но я не могу заставить это работать.
Любойидеи о том, где я ошибся?