diff --git a/headers/tetrahedronGenerator.hpp b/headers/tetrahedronGenerator.hpp
index fa46f9947e8526043c33680f505bddbf88ed781e..3f7458a1a50be6d50b9e7b8d4640367b1306fc93 100644
--- a/headers/tetrahedronGenerator.hpp
+++ b/headers/tetrahedronGenerator.hpp
@@ -52,6 +52,7 @@ inline void createTetrahedronModel(std::string plyFile) {
   dist *= 0.2f;
 
   int i = 1;
+  int vn_i = 1;
   for (pcl::PointXYZRGB &pt : cloud->points) {
     std::vector<pcl::PointXYZ> vertex =
         calculateTetrahedronVertices(dist, pt.x, pt.y, pt.z);
@@ -63,12 +64,22 @@ inline void createTetrahedronModel(std::string plyFile) {
            << std::endl;
     }
 
+    // write the original point coordinate as the vertex normal
+    fout << "vn " << pt.x << " " << pt.y << " " << pt.z << std::endl;
+
     // write the faces
-    fout << "f " << i << " " << i + 1 << " " << i + 2 << std::endl;
-    fout << "f " << i << " " << i + 2 << " " << i + 3 << std::endl;
-    fout << "f " << i << " " << i + 3 << " " << i + 1 << std::endl;
-    fout << "f " << i + 1 << " " << i + 3 << " " << i + 2 << std::endl;
+    std::string vn = "//" + std::to_string(vn_i);
+    fout << "f " << i << vn << " " << i + 1 << vn << " " << i + 2 << vn
+         << std::endl;
+    fout << "f " << i << vn << " " << i + 2 << vn << " " << i + 3 << vn
+         << std::endl;
+    fout << "f " << i << vn << " " << i + 3 << vn << " " << i + 1 << vn
+         << std::endl;
+    fout << "f " << i + 1 << vn << " " << i + 3 << vn << " " << i + 2 << vn
+         << std::endl;
+
     i += 4;
+    vn_i++;
   }
 
   fout.close();
diff --git a/pointClouds/downsampled_trafo.ply b/pointClouds/downsampled_trafo.ply
index 203cc997ba18d65c85d11bbeae8f9a596f4bd902..5f3558c723c54d1c7b11356192161c5eef6046e4 100644
--- a/pointClouds/downsampled_trafo.ply
+++ b/pointClouds/downsampled_trafo.ply
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:e2ff144a5f62edae0b4b5a534d1dd960c85c0cf5f2717778f3793786459eeada
-size 2320387
+oid sha256:964b958d8e902b7b885d02d9fad4ff1f5a018d9225aeaa19ceed97a0abccde93
+size 815364
diff --git a/pointClouds/tetrahedron_downsampled_trafo.obj b/pointClouds/tetrahedron_downsampled_trafo.obj
index 511a436c155551ad4ab62aba0165a60603d96b45..6b8846fad5dcb78ec3134c3602ea413580333a7b 100644
--- a/pointClouds/tetrahedron_downsampled_trafo.obj
+++ b/pointClouds/tetrahedron_downsampled_trafo.obj
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:83412fd727cd76f4fc60d2c0c12c7d9f6da678b5a0de7b018d0df0162cb5d2c0
-size 7604927
+oid sha256:9916f32f45b4b9bf5551d30f9f95a78c2d21281145d939d0bb0606d0cb22a57c
+size 10360938
diff --git a/pointClouds/tetrahedron_downsampled_trafo_normals.fbx b/pointClouds/tetrahedron_downsampled_trafo_normals.fbx
new file mode 100644
index 0000000000000000000000000000000000000000..959b70b8193cd4c00bf42c043f595b803b09c802
--- /dev/null
+++ b/pointClouds/tetrahedron_downsampled_trafo_normals.fbx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b9d947e802aa203b1c41815035335dcfb4db0d541910aafacde796c08316a40f
+size 5760044