smooth surface approximation from unordered (x,y,z)

This is a discussion on smooth surface approximation from unordered (x,y,z) within the Graphics forums in Theory and Concepts category; I'm looking for a method to fit a smooth surface to a point cloud from a terrestrial laser scanner. The surface will be defined on regular (xi, yi) mesh. Usually the resolution of the grid will be coarser that the local density of points, except the no-data regions (holes). The surface need not go through the points, but in a piecewise local least- square manner with hole-filling and extrapolation. Non-unique z for the same (x,y) can be just replaced by their average for now. There's a function like that for Matlab, but it's not easy to tile the patches together ...

Go Back   Application Development Forum > Theory and Concepts > Graphics

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 08-25-2008, 12:23 PM
rych
Guest
 
Default smooth surface approximation from unordered (x,y,z)

I'm looking for a method to fit a smooth surface to a point cloud from
a terrestrial laser scanner. The surface will be defined on regular
(xi, yi) mesh. Usually the resolution of the grid will be coarser that
the local density of points, except the no-data regions (holes). The
surface need not go through the points, but in a piecewise local least-
square manner with hole-filling and extrapolation. Non-unique z for
the same (x,y) can be just replaced by their average for now.

There's a function like that for Matlab, but it's not easy to tile the
patches together for a large dataset. I was wondering if a solution
exists in C/C++?

Thanks
Igor
Reply With Quote
  #2  
Old 08-25-2008, 03:03 PM
Andrew_M
Guest
 
Default Re: smooth surface approximation from unordered (x,y,z)


rych:
> I'm looking for a method to fit a smooth surface to a point cloud from
> a terrestrial laser scanner. The surface will be defined on regular
> (xi, yi) mesh. Usually the resolution of the grid will be coarser that
> the local density of points, except the no-data regions (holes). The
> surface need not go through the points, but in a piecewise local least-
> square manner with hole-filling and extrapolation. Non-unique z for
> the same (x,y) can be just replaced by their average for now.
>
> There's a function like that for Matlab, but it's not easy to tile the
> patches together for a large dataset. I was wondering if a solution
> exists in C/C++?
>
> Thanks
> Igor


You should read the previous topis "Contour Plot algorithm for curved
contours", where similar problem is discussed. I prefer tinfoil
method, which actually is developed for relatively small number of
points- less than 1000. But, I think, this method could be enhanced
for any number of points too.

Reply With Quote
  #3  
Old 08-26-2008, 07:10 AM
rych
Guest
 
Default Re: smooth surface approximation from unordered (x,y,z)

On Aug 25, 8:03*pm, Andrew_M <m...@smartfills.com> wrote:
> rych:
>
> > I'm looking for a method to fit a smooth surface to a point cloud from
> > a terrestrial laser scanner. The surface will be defined on regular
> > (xi, yi) mesh. Usually the resolution of the grid will be coarser that
> > the local density of points, except the no-data regions (holes). The
> > surface need not go through the points, but in a piecewise local least-
> > square manner with hole-filling and extrapolation. Non-unique z for
> > the same (x,y) can be just replaced by their average for now.

>
> > There's a function like that for Matlab, but it's not easy to tile the
> > patches together for a large dataset. I was wondering if a solution
> > exists in C/C++?

>
> > Thanks
> > Igor

>
> You should read the previous topis "Contour Plot algorithm for curved
> contours", where similar problem is discussed. I prefer tinfoil
> method, which actually is developed for relatively small number of
> points- less than 1000. But, I think, this method could be enhanced
> for any number of points too.


I have, Andrew, thanks, and I was tempted to add my question there.
But this one is about a least squared approximant, not an interpolant.
Besides, the number of points that I have is up to 100,000,000.
Reply With Quote
  #4  
Old 08-26-2008, 10:34 AM
Dave Eberly
Guest
 
Default Re: smooth surface approximation from unordered (x,y,z)

"rych" <rychphd@gmail.com> wrote in message
news:91038a29-f4c3-4c66-bf4f-f5ba0e7bed11@r35g2000prm.googlegroups.com...
> I have, Andrew, thanks, and I was tempted to add my question there.
> But this one is about a least squared approximant, not an interpolant.
> Besides, the number of points that I have is up to 100,000,000.


You also mentioned that the (x,y) values are on a regular grid, which
is important information. You did not mention in your original post
about want a "least squared approximant". I believe it is straightforward
to choose a B-spline surface with NxM unknown control points and
set up a least-squares error function of the control points using your
gridded data. The gradient of this function is set to zero (to give you
a global minimum), leading to a system of linear equations in the control
points.

I have not yet written up a document on how to do this for surfaces,
but the idea is illustrated for curves:
http://www.geometrictools.com/Sample...tDiscrete.html
At this page there is a PDF link to a document describing the algorithm.

--
Dave Eberly
http://www.geometrictools.com


Reply With Quote
  #5  
Old 08-26-2008, 04:46 PM
bite
Guest
 
Default Re: smooth surface approximation from unordered (x,y,z)

On 26 Ago, 13:10, rych <rych...@gmail.com> wrote:
> On Aug 25, 8:03*pm, Andrew_M <m...@smartfills.com> wrote:
>
>
>
> > rych:

>
> > > I'm looking for a method to fit a smooth surface to a point cloud from
> > > a terrestrial laser scanner. The surface will be defined on regular
> > > (xi, yi) mesh. Usually the resolution of the grid will be coarser that
> > > the local density of points, except the no-data regions (holes). The
> > > surface need not go through the points, but in a piecewise local least-
> > > square manner with hole-filling and extrapolation. Non-unique z for
> > > the same (x,y) can be just replaced by their average for now.

>
> > > There's a function like that for Matlab, but it's not easy to tile the
> > > patches together for a large dataset. I was wondering if a solution
> > > exists in C/C++?

>
> > > Thanks
> > > Igor

>
> > You should read the previous topis "Contour Plot algorithm for curved
> > contours", where similar problem is discussed. I prefer tinfoil
> > method, which actually is developed for relatively small number of
> > points- less than 1000. But, I think, this method could be enhanced
> > for any number of points too.

>
> I have, Andrew, thanks, and I was tempted to add my question there.
> But this one is about a least squared approximant, not an interpolant.
> Besides, the number of points that I have is up to 100,000,000.


I suggest to google for "moving least squares". This method (or better
family of methods) is useful for very large data set, as computation
is performed only locally. It assumes the data set is dense and this
is not your case, as you speak of holes. Anyway there are also
variants which can deal with holes.
Reply With Quote
  #6  
Old 08-27-2008, 02:01 PM
Andrew_M
Guest
 
Default Re: smooth surface approximation from unordered (x,y,z)


bite:
> On 26 Ago, 13:10, rych <rych...@gmail.com> wrote:
> I suggest to google for "moving least squares". This method (or better
> family of methods) is useful for very large data set, as computation
> is performed only locally. It assumes the data set is dense and this
> is not your case, as you speak of holes. Anyway there are also
> variants which can deal with holes.


Course, "moving least squares" is the only way to fight with huge
nember of points. On the other hand, I think, biharmonic functions are
the best way to fill holes (may be harmonics, but htey do not
guarantee smooth approximation). And method what I was talking about
can be used not only for interpolation but for approximation as well.
The only problem is to make some practical approach to full procedure.
This is interesting task, and I'm currently working with. One small
snapshot may be downloaded from http://www.smartfills.com/Html/images/isohypses.png
..
Reply With Quote
  #7  
Old 08-28-2008, 01:43 AM
Dave Eberly
Guest
 
Default Re: smooth surface approximation from unordered (x,y,z)

"Andrew_M" <mats@smartfills.com> wrote in message
news:1e55623c-e7b9-417f-988b-6ed2551dd29d@f63g2000hsf.googlegroups.com...
> Course, "moving least squares" is the only way to fight with huge
> nember of points. On the other hand, I think, biharmonic functions are
> the best way to fill holes (may be harmonics, but htey do not
> guarantee smooth approximation). And method what I was talking about
> can be used not only for interpolation but for approximation as well.
> The only problem is to make some practical approach to full procedure.
> This is interesting task, and I'm currently working with. One small
> snapshot may be downloaded from
> http://www.smartfills.com/Html/images/isohypses.png


If all you have is a hammer, everything looks like a nail.

--
Dave Eberly
http://www.geometrictools.com


Reply With Quote
  #8  
Old 08-28-2008, 02:41 PM
Andrew_M
Guest
 
Default Re: smooth surface approximation from unordered (x,y,z)


Dave Eberly:

> If all you have is a hammer, everything looks like a nail.
>
> --
> Dave Eberly
> http://www.geometrictools.com


I'm using math, what fits better to task to be solved. Each problem
requires its own math, savvy? Large numbers of methods are used mostly
because people don't know how to to it in the best way. For 1D event
splines are the best instrument out of questions, but for the 2D no.
Therefore, I can compare splines with a hammer. What I'm actually
using is much more flexible thing. BTW, I've just realised method for
large numers of points, which needn't huge matrix and for which
required time is proportional number of points. I think, within few
days I'll send a message to this topic and put draft to my site, so
people will be able to test it and realize, if it is as efficient as I
think
Reply With Quote
  #9  
Old 08-28-2008, 09:33 PM
Kenneth Sloan
Guest
 
Default Re: smooth surface approximation from unordered (x,y,z)

Andrew_M wrote:
> Dave Eberly:
>
>> If all you have is a hammer, everything looks like a nail.
>>
>> --
>> Dave Eberly
>> http://www.geometrictools.com

>
> I'm using math, what fits better to task to be solved. Each problem
> requires its own math, savvy?


yes. Dave - I really think you ought to consider using math.


--
Kenneth Sloan KennethRSloan@gmail.com
Computer and Information Sciences +1-205-932-2213
University of Alabama at Birmingham FAX +1-205-934-5473
Birmingham, AL 35294-1170 http://KennethRSloan.com/
Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 10:56 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.