Вычислить вправо, вверх и посмотреть вектор из вектора at и eye?

Я пытаюсь сделать матрицу WorldToView, и для этого мне нужно вычислить правые (r), up (u) и просмотреть векторы (v).

Я знаю, что глазной вектор eye(0,0,0) и в векторе at(0,0,-1); затем:

v= normalise(at-eye); вектор представления v будет (0,0, -1)

Как я могу получить R и U векторов?

Я знаю это:

r=normalise(v X u);
u=normalise(r X v);

Спасибо

0

Решение

В данный момент у вас недостаточно информации — вы не знаете, в какую сторону ориентирован ваш зритель, это может быть что угодно. Вы, вероятно, хотите указать вектор вверх, например, (0,1,0), а затем рассчитать r используя уравнение.

Обратите внимание, для чего это стоит, что gluLookAtфункция GLU, которая делает эквивалент того, что вы пытаетесь сделать, принимает три параметра, а не два, а именно вектор глаз, вектор at и вектор вверх. Вам не хватает восходящего вектора, поэтому вы сталкиваетесь с трудностями.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]