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