我现在有这样一个问题:
有一个以网格形式表示的模型,比如说一个杯子,或者一头牛,它们的表面已经被划分成了一个个的三角形面片,然后,我在这些三角形面片上面,按照等面积原则,均匀的取了一些采样点。模型现在就是这个样子,那么,我现在需要计算这个模型的局部特征,在这里我选择的是计算模型局部的曲率。这就涉及到要把这些面片拟合成我所需要的二次曲面。因为是去不特征,所以这里不需要使用二次曲面的标准形式:f(x,y,z)
我采用二次曲面的显示表达形式:z=ax*x+by*y+cx*y+dx+ey+f那么,我们是否可以通过相邻的三角面片的顶点以及它上面的采样点这些数据,拟合出这些二次曲面呢?如果可以,如何用程序实现呢?

解决方案 »

  1.   


    那我可不可以这样理解:
    假设我现在的方程是这样:z(x,y)=ax*x+by*y+cx*y+dx+ey+f 
    作为拟合曲面。
    假设观测点的数据是(xi,yi),i=
    则每个观测点数据与拟合去曲线的偏差为
    z(xi,yi)=axi*xi+byi*yi+cxi*yi+dxi+eyi+f-zi,  i= 0,1,2,……,n
    而偏差的平方和为:
     F(a,b,c,d,e,f)=求和(axi*xi+byi*yi+cxi*yi+dxi+eyi+f-zi)的平方。
    然后根据最小二乘原理,取a,b,c,d,e,f使得F(a,b,c,d,e,f)有极小值,接着对F求偏导数,得到6个方程式。然后再来计算,是这样吗?