功能:求点到曲面距离

格式:
[nPoint, dist, err] = GeoNearestPointToSurf(surf, p, iterN, iterErr)
[nPoint, dist, err] = GeoNearestPointToSurf(surf, p, iterN)
[nPoint, dist, err] = GeoNearestPointToSurf(surf, p)
[nPoint, dist, err] = GeoNearestPointToSurf(surf)

surf   :为字符串储存的曲面方程,里面的变量必须为"x,y,z"
p   :一个m*3的矩阵变量，每一行对应一个数据点，表示求此数据点到曲面surf的距离。注意矩阵的1、2、3列分别对应x、y、z坐标。此参数默认为原点。
iterN  :内部迭代求解次数，默认为32
iterErr:内部迭代终止最小误差,默认为1e-6

nPoint :返回一组m*3的矩阵变量，这个m和p的行数一致，即此为返回曲面上对应p的最近点。
dist   :返回一组m*1的矩阵变量，这个m和p的行数一致，这个表示点nPoint与p的距离
err    :返回一组m*1的矩阵变量，这个m和p的行数一致，表示每组求解的误差，此参数越接近0，表示求解结果越精确

说明:
1、本函数内部采用迭代求解的方式得到最近点

   
例子:
//求点x(1,2,3)到曲面sin(x)*(y-4*z+5)-6*x^2 - 7*y*z + 8= 0的距离，且求此时的垂点p
f = "sin(x)*(y-4*z+5)-6*x^2 - 7*y*z + 8";
x = [1,2,3];
[p,d,er] = GeoNearestPointToSurf(f,x)//回车得到如下结果，即点x到曲面的距离为5.30370848367353，这时对应垂点为p
p =
[ 0.46245168926537   -1.46027357919432   -0.98332427132748 ]
d =
[ 5.30370848367353 ]
er =
[ 3.7657266527E-07 ]
