170 likes | 318 Views
Moving least-squares for surfaces David Levin – Tel Aviv University Auckland, New Zealand 2005. The MLS for functions The projection concept Local coordinate systems The projection by MLS Interpolating projection . The problem and goals.
E N D
Moving least-squares for surfacesDavid Levin – Tel Aviv University Auckland, New Zealand 2005 • The MLS for functions • The projection concept • Local coordinate systems • The projection by MLS • Interpolating projection
The problem and goals Given points on (or near) a surface we look for a mesh-independent method to define an interpolating (approximating) surface which is: • Smooth • Approximating • Locally dependent
The Moving Least-Squares - MLS The MLS idea (McLain ‘76): Given data { }, the approximation at a point is defined by a local least-squares polynomial approximation to the data, weighted according to distances from . The resulting approximation is .
To evaluate the MLS approximation at a point we first find a local polynomial approximation such that: where as increases. Then we define the approximation at the point as Choosing the resulting function interpolates the data.
It can be shown that for interpolating MLS In particular, if , this implies the flat spots property of Shepards interpolation. This property is also the basis for showing that Hermite type MLS interpolation exists: Given data one finds such that Then, as in ordinary MLS, define
The Projection concept Let Nbe a neighborhood of the data set. We look for a projection Psuch that the set S = { P( r ) | r N } is the desired surface (curve). P( u ) = P( r ) u L( r ) N L( r ) = { r +t P( r ) | t } S = { r | P( r ) = r } ! P(r) r
Projection mesh - independence The projection property of P implies That is, starting from any ‘triangulation’ T N, P( T ) S . How to realize this concept ? One way is by local coordinate systems . . . Mesh - independence
Defining the projection P(r) P( r )is defined via a local coordinate system C( r ) = { q , e 1 ,e 2 , e 3 }s.t. q - r || e 3 . In the coordinate system C( r ), we find a local polynomial approximation p(x,y) to the data. Then, P(r) e 3 q P( r ) = q + p(0 , 0 ) e 3e 1 e 2
An example of projection on a curve Local polynomial approximations r P(r) q Local coordinate system
We want that • the points P( r ) define a smooth surface. Thus: • the coordinate systems C( r ) should vary smoothly with r. • the coordinate systems should be the same for all points in L( r ) N . C( u ) = C( r ) u L( r ) N
Defining C( r ) = { q , e 1 , e 2 , e 3 } Given a point r we look simultaneously for a point q and a plane through q , n x = n q which is the best local least-squares approximation to the data, weighted according to the distances from q, so that q-r|| n=e 3. Note: q is the same for r all points r on the line:q
Denoting the data points by , the local reference plane related to the point is defined by minimizing the quantity: subject to and Note that this step of the process is NON-LINEAR.
Defining the projection P(r) In the local coordinate system C( r ) = { q , e 1 ,e 2 , e 3 } we find a local least-squares polynomial approximationp(s,t)to the projected data, weighted according to distances P(r) e 3 from q. Then q P( r ) = q + p(0 , 0 ) e 3e 1 e 2
The local polynomial approximation is defined as the polynomial of degree m minimizing: where are the projections of the data points onto the plane spanned by .
Smoothing and Interpolation The weight function for the weighted MLS coordinate systems and for the polynomial approximation may be chosen in many ways: • With finite support - or with fast decay • Smoothing or interpolating • Globally or locally defined
Recall that the local polynomial approximation is defined as the polynomial of degree m minimizing: where . For interpolation we must of course choose a singular weight function, but we should also replace the weights by , where is the origin of the local coordinate system related to the data point . Thus, all the points having a coordinate system with origin will be projected to the data point .
Surface approximation example: Projection of a rectangular net