mba.surf  R Documentation 
The function mba.surf
returns a surface approximated from a
bivariate scatter of data points using multilevel Bsplines.
mba.surf(xyz, no.X, no.Y, n = 1, m = 1, h = 8, extend=FALSE,
sp=FALSE, ...)
xyz 
a 
no.X 
resolution of the approximated surface along the x axis. 
no.Y 
resolution of the approximated surface along the y axis. 
n 
initial size of the spline space in the hierarchical construction along the x axis. If the rectangular domain is a square, n = m = 1 is recommended. If the x axis is k times the length of the y axis, n = 1, m = k is recommended. The default is n = 1. 
m 
initial size of the spline space in the hierarchical construction along the y axis. If the y axis is k times the length of the x axis, m = 1, n = k is recommended. The default is m = 1. 
h 
Number of levels in the hierarchical construction. If, e.g.,
n = m = 1 and h = 8, the resulting spline surface has a coefficient
grid of size 
extend 
if FALSE, a convex hull is computed for the input points
and all matrix elements in z that have centers outside of this
polygon are set to 
sp 
if TRUE, the resulting surface is returned as a

... 

List with 8 component:
xyz.est 
a list that contains vectors x, y and the 
no.X 

no.Y 

n 

m 

h 

extend 

sp 

b.box 

If no.X != no.Y
then use sp=TRUE
for compatibility with
the image
function.
The function mba.surf
relies on the Multilevel Bspline
Approximation (MBA) algorithm. The underlying code was developed at
SINTEF Applied Mathematics by Dr. Øyvind Hjelle. Dr. Øyvind Hjelle
based the algorithm on the paper by the originators of Multilevel Bsplines:
S. Lee, G. Wolberg, and S. Y. Shin. (1997) Scattered data interpolation with multilevel Bsplines. IEEE Transactions on Visualization and Computer Graphics, 3(3):229–244.
For additional documentation and references see:
https://www.sintef.no/upload/IKT/9011/geometri/MBA/mba_doc/index.html.
mba.points
## Not run:
data(LIDAR)
mba.int < mba.surf(LIDAR, 300, 300, extend=TRUE)$xyz.est
# Image plot of the surface.
image(mba.int, xaxs = "r", yaxs = "r")
# Perspective plot of the surface.
persp(mba.int, theta = 135, phi = 30, col = "green3", scale = FALSE,
ltheta = 120, shade = 0.75, expand = 10, border = NA, box = FALSE)
# For a good time, I recommend using rgl.
library(rgl)
# Exaggerate z a bit for effect.
mba.int$z < 10*mba.int$z
# Make nice colors for the rgl surface.
zlim < range(mba.int$z)
zlen < zlim[2]  zlim[1] + 1
colorlut < terrain.colors(zlen) # Height color lookup table.
col < colorlut[mba.int$z  zlim[1] + 1 ] # Assign colors to heights for each point.
open3d()
surface3d(mba.int$x, mba.int$y, mba.int$z, color = col)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.