Вращение к объекту в трехмерном пространстве - PullRequest
0 голосов
/ 07 февраля 2010

У меня есть две координаты на 2-й плоскости в трехмерном пространстве, и я пытаюсь повернуть одну координату (вектор) в направлении другой координаты. моя вертикальная ось - это ось y, поэтому, если обе координаты расположены на плоскости в плоскости, они оба будут иметь ось y, равную 0, а их координаты x и z определяют их положение по длине / ширине на самолет. сейчас я вычисляю угол следующим образом (независимость от языка):

angle = atan2(z2-z1,x2-x1);

и я вращаюсь / перемещаюсь в пространстве так:

pushMatrix();
rotateY(angle);
popMatrix();

похоже, это не работает. мои расчеты / процесс верны?

1 Ответ

0 голосов
/ 07 февраля 2010

Я не совсем понимаю ваш вопрос (см. Мой комментарий), но если вы ищете разность углов в радианах между двумя векторами, возьмите дугу cos их точечного произведения. Векторы в точечном произведении должны быть нормализованы.

Вы используете загар, или я не понимаю, что вы пытаетесь сделать, или загар неправильно.

...