3D математика

Автор: Евгений Рыжков Дата публикации: 26.02.2013

Векторы

Вектор - величина, характеризующаяся размером и направлением. Другими словами - отрезок, имеющий направление и длину.

AB = [ bx - ax, by - ay, bz - az ]

Основные операции с векторами

Длина вектора

|a| = sqrt( ax2 + ay2 + az2 );

Сложение/вычитание векторов

a + b = [ ( ax + bx ), ( ay + by ), ( az + bz ) ]

a - b = [ ( ax - bx ), ( ay - by ), ( az - bz ) ]

Скалярное произведение

Скалярное произведение двух векторов - произведение длин двух векторов на cos угла между ними.

Если вектор b - единичный, тогда скалярное произведение будет проекцией вектора a на b.

a * b = |a||b| * cos α

либо

a * b = ax * bx + ay * by + az * bz

Векторное произведение

Умножая вектор a на вектор b, мы получим вектор, перпендикулярный плоскости, которую определяют вектора a и b.

a * b = [ ( ay * bz - by * az ), ( az * bx - bz * ax ), ( ax * by - bx * ay ) ]

Нормированный вектор

an = a / |a|;

Проекция одного вектора на другой

Для того чтобы вычислить проекцию вектора b на вектор a, требуется нормировать вектор a, то есть сделать его единичным, и произвести скалярное умножение этого вектора на вектор b, а затем полученное число умножить на нормированный вектор a.

c = ( an b ) * an

Матрицы

Сложение/вычитание

При сложении или вычитании матриц [A] и [B] получается матрица [C], элементы которой есть результатом сложения или вычитания соответствующих элементов матриц [A] и [B].

Умножение

Элемент произведения матриц приведённых выше вычисляется следующим образом

Умножение вектора на матрицу

a = [ x, y, z ]

[ B ] - матрица размерностью 3х3

Результатом умножения вектора на матрицу будет вектор:

a * [ B ] = [ ( ax * B11 + ay * B21 + az * B31 ), ( ax * B12 + ay * B22 + az * B32 ), ( ax * B13 + ay * B23 + az * B33 ) ]