Normand Briere
2019-05-13 f924d3e00db476c06f55f3d5aaef307e17575340
LA.java
....@@ -160,6 +160,7 @@
160160
161161 static cVector xformDir(cVector v, double mat[][])
162162 {
163
+ new Exception().printStackTrace();
163164 System.exit(0);
164165 cVector temp = new cVector();
165166 xformDir(v, mat, temp);
....@@ -306,14 +307,15 @@
306307
307308 }
308309
309
- GrafreeD.Assert(Math.abs(src[0][3]) <= 1E-15);
310
- GrafreeD.Assert(Math.abs(src[1][3]) <= 1E-15);
311
- GrafreeD.Assert(Math.abs(src[2][3]) <= 1E-15);
312
- GrafreeD.Assert(Math.abs(src[3][3] - 1) <= 1E-15);
313
- GrafreeD.Assert(Math.abs(dst[0][3]) <= 1E-15);
314
- GrafreeD.Assert(Math.abs(dst[1][3]) <= 1E-15);
315
- GrafreeD.Assert(Math.abs(dst[2][3]) <= 1E-15);
316
- GrafreeD.Assert(Math.abs(dst[3][3] - 1) <= 1E-15);
310
+ // Last row should always be 0 0 0 1
311
+ Grafreed.Assert(Math.abs(src[0][3]) <= 1E-15);
312
+ Grafreed.Assert(Math.abs(src[1][3]) <= 1E-15);
313
+ Grafreed.Assert(Math.abs(src[2][3]) <= 1E-15);
314
+ Grafreed.Assert(Math.abs(src[3][3] - 1) <= 1E-15);
315
+ Grafreed.Assert(Math.abs(dst[0][3]) <= 1E-15);
316
+ Grafreed.Assert(Math.abs(dst[1][3]) <= 1E-15);
317
+ Grafreed.Assert(Math.abs(dst[2][3]) <= 1E-15);
318
+ Grafreed.Assert(Math.abs(dst[3][3] - 1) <= 1E-15);
317319 }
318320
319321 static double toRadians(double degrees)
....@@ -623,6 +625,7 @@
623625 private static int indxr[] = new int[4];
624626 private static int indxc[] = new int[4];
625627
628
+ static double[][] Identity = new double[4][4];
626629
627630 static int SIZE = 0; // 65536*64;
628631
....@@ -638,6 +641,8 @@
638641 costable[i] = Math.cos(PI2 * i/SIZE);
639642 sintable[i] = Math.sin(PI2 * i*i/SIZE/SIZE);
640643 }
644
+
645
+ LA.matIdentity(Identity);
641646 }
642647
643648 static double cos(double x0)