Материал получен от доктора Инцай Сяо, 3460:457/557.

Векторы

Вектор имеет направление и длину, определенные от начала координат (0, 0). Чтобы вычислить длину вектора (|V|), используйте формулу: |V| = sqrt(x^2 + y^2). Единичный вектор имеет длину 1. Чтобы нормализовать вектор, просто вычислите V / |V|.

Скалярное произведение двух векторов находится в форме слева и используется для вычисления cos(θ) = (V ● W) / (|V| * |W|).

Существует также понятие нормального вектора, который представляет собой вектор, перпендикулярный поверхности.

Линии

Параметрическая форма

Параметрическая линия может быть получена по двум точкам, P_0 и P_1. Чтобы вычислить параметр для x и y, можно вычислить набор уравнений, изображенный ниже.

Эти уравнения могут быть представлены как x(t) = x0 + t * (x1 — x0) и y(t) = y0 + t * (y1 — y0). Где 0 <= t <= 1.

2D-преобразования

Масштабирование

Масштабирование может быть выполнено с использованием следующей матрицы:

Вращение

Вращение вокруг начала координат может быть достигнуто с помощью следующей матрицы:

Однородные координаты

Однородные координаты представлены в виде (x, y, w), которые могут быть представлены в матрицах следующим образом:

Затем преобразования могут быть представлены в виде следующей матрицы с учетом dx и dy:

Стрижка

Сдвиг теперь может быть выполнен с точки зрения x и y с использованием следующих матриц:

3D-преобразования

Существует набор преобразований, аналогичных для 3D, подобных 2D, как показано ниже:

Вращение

Вращение сейчас, к сожалению, сложнее. Вращение может быть выполнено вокруг оси X, Y или Z.

Проекция

Не в матричной форме это можно выразить как: —x_p = x’ / w’ = x / (z/d + 1) и —y_p = y’ / w’ = y / (z/d + 1). Проекция включает в себя идею ракурса, заключающуюся в том, что объект становится все меньше и меньше по мере удаления от глаза, что контролируется значением d.