Question: I have two point - cloud data. They are kept in seperate files in the format given below: numberOfPoints x 1 y 1 z 1

I have two point-cloud data. They are kept in seperate files in the format given below:
numberOfPoints
x1 y1 z1
x2 y2 z2
....
xn yn zn
I will read these files and get two sets of 3D points like this: ={1,...,,...,} and ={1,...,,...,} with and points respectively. n and m values can be different or same.
I am required to calculate the transformation (registering the second point set to the first point set) between these two sets of points using the algorithms described below:
* Rigid transformation: Assume that there are different number of points (not ordered) in the files but at least half of the points are exact matches. The rigid transformation is given by: =+.
Hint is to use RANSAC algorithm along with a three-point alignment method. I think iterative closest point algorithm is mentioned above as a three-point alignment method since it is mentioned in the class, too. But I am not sure of it, therefore, it is up to you to decide if iterative closest point algorithm can be used or not.
At the end, there must be two registration methods used. The users will be asked at the start of the program to choose among the two registration methods.
I want you to describe and explain the whole transformation process and calculations step by step by using a numerical example.
Use this as input:
1) Two point-cloud data as inputs read from the file.
Produce these as output:
1) I need to print the original and aligned points.
2) I need to print the transformed points.
Additionally, implement a complete C# code to calculate such transformation and produce the outputs with the input as described above.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!