Identifying Boundary Nodes in a Point Cloud

74 views (last 30 days)
Finlay Price
Finlay Price on 22 Nov 2024 at 16:17
Commented: Image Analyst ungefär 4 timmar ago
I have 2 point clouds which represent the nodes of 2 3D separate lattices. There is a small gap between the lattices where they don't join together correctly. The boundary face closest to the other body is jagged. I want to identify these bounadry nodes so I can connect them and join my lattices (but the joining part is something I can do in external softwares). Does anyone have any suggestions on how I could go about identifying these boudary nodes? I have tried using the "boundary" function but I am trying with a criteria for identifying the nodes. Any help would be greatly appreciated. I have attached a picture of the nodes for reference.
  4 Comments
Finlay Price
Finlay Price ungefär 4 timmar ago
My apologies, maybe I haven't explained the context of my problem. So each point cloud represents the node points of a lattice. In this case obviously there are 2 separate lattices. Critically, these lattices are not joined to each other and also not of the same type of unit cell, hence their nodes don't align. I am trying to find the closest nodes to each other so I can find joining pairs. I will use these nodes coordinates to create a series of struts through which will attach the lattices. Does that make sense?
Image Analyst
Image Analyst ungefär 4 timmar ago
And did the suggestions of pdist2 or knnsearch not work? I've seen other people use them for that situation.

Sign in to comment.

Answers (3)

Matt J
Matt J on 22 Nov 2024 at 17:33
If the regions are supposed to be convex, you can use convhull or convhulln.
  8 Comments
Finlay Price
Finlay Price ungefär 5 timmar ago
Do you have any suggestions on how to identify these points? I know this is a bit of a wild shot haha
Matt J
Matt J ungefär 4 timmar ago
You're the one who has made the decision that they belong in the boundary. Once you tell us why, we might have some suggestions.

Sign in to comment.


Walter Roberson
Walter Roberson ungefär 20 timmar ago
Your red nodes are sometimes immediately adjacent to your blue nodes. There is no way you will be automatically able to differentiate the nodes -- not unless there is some attached property that can tell them apart (such as color or reflectivity or infrared emission.)
  1 Comment
Finlay Price
Finlay Price ungefär 20 timmar ago
I can differentiate between both the red and blue points okay. They are derived from two separate .csv’s which contain their xyz coordinates. It’s more identify the closest ones to each other on those jagged faces :/

Sign in to comment.


Image Analyst
Image Analyst ungefär 15 timmar ago
Maybe use either pdist2 or knnsearch to identify blue points that are closest to red points. In other words, pairs that have minimum distance between them.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!