Почему происходит, где то вычитание, а где то складывания значений матрицы и почему берутся значения матрицы находящейся на этой позиции, а не на другой?Для лучшего понимания вопроса приведу пример// Левая плоскость
mPlanes[0].a = Matrix._14 + Matrix._13;
mPlanes[0].b = Matrix._24 + Matrix._23;
mPlanes[0].c = Matrix._34 + Matrix._33;
mPlanes[0].d = Matrix._44 + Matrix._43;
А почему не льзя было так сделать.// Левая плоскость
mPlanes[0].a = Matrix._11 - Matrix._13;
mPlanes[0].b = Matrix._12 - Matrix._23;
mPlanes[0].c = Matrix._13 - Matrix._33;
mPlanes[0].d = Matrix._14 - Matrix._43;
или так// Левая плоскость
mPlanes[0].a = Matrix._11 - Matrix._13;
mPlanes[0].b = Matrix._12 - Matrix._23;
mPlanes[0].c = Matrix._13 + Matrix._33;
mPlanes[0].d = Matrix._14 + Matrix._43;
Я нашёл только вот это по поводу моего вопроса.Видимое изображение в 3d графике находится в единичном кубе. Оси в этом кубе называются шириной, высотой и глубиной (но так как монитор плоский, то глубина игнорируется). Всё что находится внутри куба видно на экране, всё что вне — нет.
Матрица проекции переводит усеченную пирамиду в этот самый единичный куб. Матрица вида задает положение этой усеченной прирамиды в пространстве нашей сцены. Это должно быть уже понятно.
Теперь, если ты хочешь получить уравнение плоскостей, ограничивающих сцену, то один из способов их найти состоит в том, что мы берем уравнение плосткости в экранных координатах (тут оно тривиально — это ведь грань единичного куба) и трансформируем его в пространство сцены.
Отсюда и формулы. Можешь проверить, они выводятся за пару минут.
Мог бы кто ни будь рассказать про это подробно?