А как из трёх трёхмерных векторов сделать матрицу поворота 4x4?
Aslan
> Вообще возьми движок какой-нить, так ты далеко не уедешь
Принципиально не хочу использовать чужие разработки.
На всякий случай спрошу - автор, ты знаешь, что для матриц A*B не равно B*A?
kroonk
> Принципиально не хочу использовать чужие разработки
Тогда тебе придется детально разбираться с векторами, матрицами и прочей математикой, чего ты упорно не хочешь )))
TarasB
> На всякий случай спрошу - автор, ты знаешь, что для матриц A*B не равно B*A?
естественно.
а можно сделать такую матрицу поворота что-бы объект всегда смотрел на один вектор?
попробовал записать в матрицу таким способом:
Rotx = D3DXMATRIX(Ph.VecX.x, Ph.VecY.x, Ph.VecZ.x,0, Ph.VecX.y, Ph.VecY.y, Ph.VecZ.y,0, Ph.VecX.z, Ph.VecY.z, Ph.VecZ.z,0, 0 , 1.0f , 1.0f ,1.0f);
но теперь вращение получается вокруг стандартной системы координат.
kroonk
в 4й строке и 4м стобце все 0 кроме m44
всё равно вращается вокруг стандартной системы координат.
kroonk
транспонировать попробуй, поменять порядок умножения
прочитай руководство
Aslan
> транспонировать попробуй
А что это?
Ещё раз спрошу: можно ли сделать так что бы объект всегда смотрел на какую нибудь точку к примеру координаты вектора Z?
kroonk
Надо записать VecX,VecY,VecZ по строкам или столбцам матрицы, в зависимости как принято в DirectX, пробуй сам
Точно! надо было записывать на по столбцам а по строкам теперь всё работает. Спасибо Aslan!
Тема в архиве.