From cbe306782020c271108fa2765c67101fa90b5477 Mon Sep 17 00:00:00 2001
From: fdai7322 <christoph-anton.schwierz@informatik.hs-fulda.de>
Date: Mon, 10 Jun 2024 18:48:57 +0200
Subject: [PATCH] matrixProduct()

---
 src/cg/utils.ts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/cg/utils.ts b/src/cg/utils.ts
index fc005a4..db0243a 100644
--- a/src/cg/utils.ts
+++ b/src/cg/utils.ts
@@ -72,4 +72,21 @@ export function vecCrossProduct(vecOne: Array<number>, vecTwo: Array<number>){
 
     return crossProduct;
 }
+
+export function matrixProduct(a: Array<number>, b: Array<number>){
+    // for 3x3 matrix only
+    //[
+    //    0 1 2
+    //    3 4 5
+    //    6 7 8
+    //  ]
+    return [
+        //row 1
+        a[0]*b[0] + a[1]*b[3] + a[2]*b[6], a[0]*b[1] + a[1]*b[4] + a[2]*b[7], a[0]*b[2] + a[1]*b[5] + a[2]*b[8],
+        //row 2
+        a[3]*b[0] + a[4]*b[3] + a[5]*b[6], a[3]*b[1] + a[4]*b[4] + a[5]*b[7], a[3]*b[2] + a[4]*b[5] + a[5]*b[8],
+        //row 3
+        a[6]*b[0] + a[7]*b[3] + a[8]*b[6], a[6]*b[1] + a[7]*b[4] + a[8]*b[7], a[6]*b[2] + a[7]*b[5] + a[8]*b[8],
+    ]
+}
 //
\ No newline at end of file
-- 
GitLab