Напишите пожалуйста примеры работы с матрицей, а то я вообще даже не знаю с чего начать, а это очень нужно более-менее узнать до завтра.
Вот что известно:
Код:
Ясно, что если нам потребуется (а нам потребуется :) ) проводить для каждой точки в пространстве параллельный перенос + поворот в пространстве, то придется сделать огромное количество преобразований.
Можно построить матрицы преобразований, помножив точку - вектор на которую, мы получим результат — координаты искомой точки.
матрица параллельного переноса:
[ 1 0 0 0 ]
[ 0 1 0 0 ]
[ 0 0 1 0 ]
[ x y z 1 ]
матрица растяжения/сжатия:
[ z 0 0 0 ]
[ 0 y 0 0 ]
[ 0 0 x 0 ]
[ 0 0 0 1 ]
матрица поворота вокруг оси x:
[ 1 0 0 0 ]
[ 0 cos α sin α 0 ]
[ 0 -sin α cos α 0 ]
[ 0 0 0 1 ]
матрица поворота вокруг оси y:
[ cos α 0 -sin α 0 ]
[ 0 1 0 0 ]
[ sin α 0 cos α 0 ]
[ 0 0 0 1 ]
матрица поворота вокруг оси z:
[ cos α sin α 0 0 ]
[-sin α cos α 0 0 ]
[ 0 0 1 0 ]
[ 0 0 0 1 ]
Теперь, зачем нужны матрицы в 3D-програмировании, если можно все сделать с помощью векторов, и если, например, поворот точки с помощью векторов занимает меньше операций, чем используя матрицы.
Напишите пожалуйста примеры хоть с некоторыми из данных. Желательно, если можете на GLScene и как можно проще. Пожалуйста напишите пример как можно проще, очень нужно, срочно
