-
Notifications
You must be signed in to change notification settings - Fork 4
Implement pca patch/plane detec #168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement pca patch/plane detec #168
Conversation
…before its replacement
| rh_bb_centroid = Rhino.Geometry.Point3d(df_bb_centroid[0], df_bb_centroid[1], df_bb_centroid[2]) | ||
|
|
||
| new_xDirection, new_yDirection = df_poses.select_vectors(vectors, i_assembly.beams[i].plane.XAxis, i_assembly.beams[i].plane.YAxis) | ||
| new_xDirection, new_yDirection = df_poses.select_vectors(rh_face_normals, i_assembly.beams[i].plane.XAxis, i_assembly.beams[i].plane.YAxis) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, got it. The df_face_cloud.fit_plane_ransac() method returns a null vector when it is fed an invalid point cloud, hence the subsequent unintended behaviour.

The PR concerns the implementation of a RANSAC plane detection on each face, to improve the pose estimation
...
And it works !!! The video hereunder shows successive computations of the poses of 3 point clouds. With the previous method we had some big jumps in pose, and now it is much more stable.
Enregistrement.de.l.ecran.2025-11-24.173042.mp4
Changes include:
ToDo