diff --git a/src/cg/testing.ts b/src/cg/testing.ts
index 58ed4da62fe9e08eb39a92d7203a5f202bc7fe3f..d20e5217eb7da99c9e1177f336e0fbd23c6daceb 100644
--- a/src/cg/testing.ts
+++ b/src/cg/testing.ts
@@ -1,18 +1,31 @@
 import Playground from "./playground";
 import { vecNormalize } from "./utils";
 import { vecLength } from "./utils";
+import { vecDotProduct } from "./utils";
+import { vecAngle } from "./utils";
 
 const pg = new Playground();
 
 // Some vectors
-const v = [2,2,3]
+const v = [1,0,1]
+const w = [0,0,2]
 
-const normalized = vecNormalize(v);
+const vNormalized = vecNormalize(v);
+const wNormalized = vecNormalize(w);
 
-console.log(vecLength(normalized));
+const dotProduct = vecDotProduct(v, w);
+const normalizedDotProduct = vecDotProduct(vNormalized, wNormalized);
 
 // Visualize
 pg.gridXZ(); // Grid
 
 pg.visVector(v,{color:"orange",label:"V"});
-pg.visVector(normalized,{color:"red",label:"normalized"});
+pg.visVector(w,{color:"red",label:"W"});
+
+console.log("v length:" + vecLength(v));
+console.log("w length:" + vecLength(w));
+console.log("dotProduct:" + dotProduct);
+console.log("vnormalized length:" + vecLength(vNormalized));
+console.log("wnormalized length:" + vecLength(wNormalized));
+console.log("normalizedDotProduct:" + normalizedDotProduct);
+console.log("angle v w:" + vecAngle(v, w));
\ No newline at end of file
diff --git a/src/cg/utils.ts b/src/cg/utils.ts
index c04275caa120984ed34db817f72c9a5d1a2a0f1e..9582fe45c1930bcbec773f0fa0fa33e22199c978 100644
--- a/src/cg/utils.ts
+++ b/src/cg/utils.ts
@@ -53,4 +53,13 @@ export function vecDotProduct(vecOne: Array<number>, vecTwo: Array<number>){
     let dotProduct = vecOne[0]*vecTwo[0] + vecOne[1]*vecTwo[1] + vecOne[2]*vecTwo[2];
     return dotProduct;
 }
+
+export function vecAngle(vecOne: Array<number>, vecTwo: Array<number>){
+    //calculate radiant
+    let radiant = Math.acos(vecDotProduct(vecOne, vecTwo) / (vecLength(vecOne) * vecLength(vecTwo)))
+
+    //convert into degrees
+    let degrees = radiant * 180 / Math.PI;
+    return degrees;
+}
 //
\ No newline at end of file