From aacd2217c5c33628b9a2ad4457977b842d165145 Mon Sep 17 00:00:00 2001 From: "bocska.karina" <bocska.karina@hallgato.ppke.hu> Date: Sun, 3 Nov 2024 10:21:34 +0100 Subject: [PATCH] use normals as origin point --- headers/tetrahedronGenerator.hpp | 19 +++++++++++++++---- pointClouds/downsampled_trafo.ply | 4 ++-- pointClouds/tetrahedron_downsampled_trafo.obj | 4 ++-- .../tetrahedron_downsampled_trafo_normals.fbx | 3 +++ 4 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 pointClouds/tetrahedron_downsampled_trafo_normals.fbx diff --git a/headers/tetrahedronGenerator.hpp b/headers/tetrahedronGenerator.hpp index fa46f99..3f7458a 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 203cc99..5f3558c 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 511a436..6b8846f 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 0000000..959b70b --- /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 -- GitLab