功能:求点到二次曲面距离

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

surf   :为1*10的矩阵变量,分别储存二次曲面系数
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、本函数内部采用迭代求解的方式得到最近点
2、二次曲面形式如下：
   surf(1)*x^2 + surf(2)*y^2  + surf(3)*z^2 + surf(4)*x*y + surf(5)*x*z + surf(6)*y*z + surf(7)*x + surf(8)*y + surf(9)*z + surf(10) = 0
   
例子:
//求点x(1,2,3)到曲面 4*x^2 + 5*y^2 + 6*z^2 + 7*x*y + 8*x + 9*z + 10 = 0的距离，且求此时的垂点p
s = [4,5,6,7,0,0,8,0,9,10];
x = [1,2,3];
[p,d,er] = GeoNearestPointToSurf2(s,x)//回车得到如下结果，即点x到曲面的距离为4.14143191349336，这时对应垂点为p
p =
[-1.44336992621329    1.16798305855689   -0.23869564901202 ]
d =
[ 4.14143191349336 ]
er =
[ 7.4348023495E-12 ]
