3-D point cloud to a surface

  • Follow


Just wondering if anyone knows of a matlab function(s) which will build a surface from (x,y,z) point cloud? 

I do this now using CAD software (pro-e) and I mesh the constructed surface for FEA analysis later. I'd much rather use matlab for both the surface construction & meshing (simple quad elements) if possible and not a tremendous task. 

Thanks in advance for your thoughts/recommendations. 
0
Reply Amir 7/29/2010 9:00:22 PM

Amir wrote:
> Just wondering if anyone knows of a matlab function(s) which will build 
> a surface from (x,y,z) point cloud?

Yes, but unless you want a convex hull, there is no unique solution unless you 
add additional constraints.

For any finite set of points, there are an infinite number of planes that 
divide the set into two (possibly unequal) subsets that could be considered as 
  top and bottom half-surfaces, possibly with a single-point bridge between 
them. Without constraints to prevent this kind of arbitrary division, any of 
the infinite number are as valid as any of the others.

Another way of phrasing this is that if your point cloud does not represent 
the outside skin of a convex object, then there is no unique way of deciding 
where the skin should follow, not unless you have some additional guidance as 
to what it should look like.
0
Reply Walter 7/29/2010 11:13:00 PM


Walter Roberson <roberson@hushmail.com> wrote in message <i2t25l$pkd$1@canopus.cc.umanitoba.ca>...
> Amir wrote:
> > Just wondering if anyone knows of a matlab function(s) which will build 
> > a surface from (x,y,z) point cloud?
> 
> Yes, but unless you want a convex hull, there is no unique solution unless you 
> add additional constraints.
> 
> For any finite set of points, there are an infinite number of planes that 
> divide the set into two (possibly unequal) subsets that could be considered as 
>   top and bottom half-surfaces, possibly with a single-point bridge between 
> them. Without constraints to prevent this kind of arbitrary division, any of 
> the infinite number are as valid as any of the others.
> 
> Another way of phrasing this is that if your point cloud does not represent 
> the outside skin of a convex object, then there is no unique way of deciding 
> where the skin should follow, not unless you have some additional guidance as 
> to what it should look like.


Assuming you do have the x-y-z co-ords of the convex hull, this is what I usually use:
tri = delaunay(x,y);
h = trisurf(tri, x, y, z);

If not, maybe try this: <http://www.mathworks.com/matlabcentral/fileexchange/8998>.

Hope this helps.


--Andy
0
Reply arich82 7/30/2010 12:00:22 AM

Thanks so much Andy & Walter. Very helpful answers. 
0
Reply Amir 7/30/2010 3:51:04 PM

This question may not pertinent to MATLAB but I would appreciate it if you tell me how you've been reconstructing a surface from a point cloud in Pro-e.

Thanks!

"Amir " <amirgsalem@gmail.com> wrote in message <i2sq56$r9d$1@fred.mathworks.com>...
> Just wondering if anyone knows of a matlab function(s) which will build a surface from (x,y,z) point cloud? 
> 
> I do this now using CAD software (pro-e) and I mesh the constructed surface for FEA analysis later. I'd much rather use matlab for both the surface construction & meshing (simple quad elements) if possible and not a tremendous task. 
> 
> Thanks in advance for your thoughts/recommendations. 
0
Reply Sujana 12/8/2010 8:47:23 PM

4 Replies
494 Views

(page loaded in 0.06 seconds)

Similiar Articles:













7/23/2012 4:00:23 PM


Reply: