I am trying to reconstruct specific 3d objects such as cubes, pyramids and so on. For this, i am using point cloud data and then fitting planar surfaces for the segmented point patches. Planes are obtained by doing Least sqaure adjustments. Then my objective is to intersect neighbouring planes and then to get intersection lines (line segments). Then from those lines, i wish to make a something like wireframe model.
But, when i get all the normal vectors (n1, ..n4 in this object) and then if i project them onto XY plane and calculated the azimuths of each plane, then they are not exactly changing by 90 degree but 92, 87…..
So, as i am looking for an accurate pyramid model, i think i should first adjust these planes in a way to having their azimuths exactly in 90 degree differences with adjacent plane. After that, i think i should intersect them, which will improve the accurate shape of the pyramid.
please refer following sample images
Now, i want to know, how should i update my plane parameters in a way to reside their azimuth differences exactly in 90 degrees with other planes. In this case, should i change both (a, b, c) and d. where the plane equation is ax+by+cz+d=0.
Could you please give me equations and way to do this. thank you.