изменение угла 3d-орбитального объекта по отношению к оси x

#3d #angle #orbital-mechanics

#3D #угол #орбитальнаямеханика

Вопрос:

итак, я пытаюсь изменить угол, под которым объект вращается по отношению к оси x, когда вы смотрите вниз по оси z. смотрите картинку, чтобы понять, что я имею в виду: Углы

в настоящее время я использую этот код для обращения вокруг двух красных сфер:

 public void orbit() {
    theta  = this.vel.x;
    theta = fixAngle(theta, TWO_PI);

    this.loc.x = this.origin.x orbitRadius*cos(theta);
    this.loc.y = this.origin.y orbitRadius*cos(theta);
    this.loc.z = this.origin.z orbitRadius*sin(theta);
  }

  private float fixAngle(float ang, float range) {
    if (ang < 0)
      ang  = range;
    else if (ang > range)
      ang -= range;
    return ang;
  }
  

кто-нибудь знает, как я могу этого добиться?

Ответ №1:

по-видимому, это можно сделать, не поворачивая орбитальный объект, а поворачивая систему координат, как отвечено ЗДЕСЬ