Проблемы с матрицей перспективы - PullRequest
0 голосов
/ 21 апреля 2020

Я впервые пытаюсь сделать 3D движок. У меня проблемы с проецированием очков. Используя матрицу перспективы, я получаю некоторую перспективу, но она заставляет мои точки смещаться (все еще должно быть в центре экрана). Любая помощь приветствуется.

   public static Matrix getPerspectiveMatrix() {
   double far = 100;
   double near = 0.1;
   return new Matrix(
         new double[][] {
            {1,0,0,0},
            {0,1,0,0},
            {0,0,-((far+near)/(far-near)),-((2*far*near)/(far-near))},
            {0,0,1,0}
         }
      );
   }

   public static Point3D transformPoint(Point3D scale, Point3D rotation, Point3D translation, Point3D 
   point) {
     Matrix m = Matrix.mul(Matrix.getTransformationMatrix(scale, rotation, translation), 
     point.toMatrix());
     m.getArray()[0][0] = m.getArray()[0][0] / m.getArray()[3][0];
     m.getArray()[1][0] = m.getArray()[1][0] / m.getArray()[3][0];
     m.getArray()[2][0] = m.getArray()[2][0] / m.getArray()[3][0];
     return m.toPoint3D();
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...