Struct Matrix4X4

Struct Documentation

struct Matrix4X4

4x4 матрица для линейных преобразований

Поддерживает операции поворота, масштабирования, переноса, проекции

Public Functions

void print()

Выводит матрицу в консоль

float *operator[](int index)

Доступ к строке матрицы по индексу

Параметры:

index – Индекс строки (0-3)

Бросает исключение:

std::out_of_range – При неверном индексе

Результат:

Указатель на строку матрицы

bool operator==(Matrix4X4 &other)

Сравнение матриц на равенство

Параметры:

other – Матрица для сравнения

Результат:

true если матрицы равны

Matrix4X4 getTransposed()

Public Members

float m[4][4] = {0}

Элементы матрицы (строка, столбец)

Public Static Functions

static Matrix4X4 makeIdentity()

Создает единичную матрицу

Результат:

Единичная матрица 4x4

static Matrix4X4 makeRotationX(float fAngleRad)

Создает матрицу поворота вокруг оси X.

Параметры:

fAngleRad – Угол поворота в радианах

Результат:

Матрица поворота вокруг X

static Matrix4X4 makeRotationY(float fAngleRad)

Создает матрицу поворота вокруг оси Y.

Параметры:

fAngleRad – Угол поворота в радианах

Результат:

Матрица поворота вокруг Y

static Matrix4X4 makeRotationZ(float fAngleRad)

Создает матрицу поворота вокруг оси Z.

Параметры:

fAngleRad – Угол поворота в радианах

Результат:

Матрица поворота вокруг Z

static Matrix4X4 makeTranslation(float x, float y, float z)

Создает матрицу переноса

Параметры:
  • x – Смещение по X

  • y – Смещение по Y

  • z – Смещение по Z

Результат:

Матрица переноса

static Matrix4X4 makeScale(float x, float y, float z)

Создает матрицу масштабирования

Параметры:
  • x – Масштаб по X

  • y – Масштаб по Y

  • z – Масштаб по Z

Результат:

Матрица масштабирования

static Matrix4X4 makeProjection(float fFovDegrees, float fAspectRatio, float fNear, float fFar)

Создает матрицу проекции

Параметры:
  • fFovDegrees – Угол обзора в градусах

  • fAspectRatio – Соотношение сторон

  • fNear – Ближняя плоскость отсечения

  • fFar – Дальняя плоскость отсечения

Результат:

Матрица проекции

static Matrix4X4 Matrix_PointAt(Vector3d &pos, Vector3d &target, Vector3d &up)

Создает матрицу направления «смотрит на».

Параметры:
  • pos – Позиция наблюдателя

  • target – Целевая точка

  • up – Вектор «вверх»

Результат:

Матрица направления