一般可以使用两种方式:
1。拟合
用g(x, y) = a x^2 + b x y + c y^2 + d x + e y + f拟合
令Φ(a, b, c, d, e, f) = Σ(g(x, y) - z)^2
对Φ求关于a, b, c, d, e, f的偏导,并令之为0,不是得到6个方程,
求解这个线性方程得到a, b, c, d, e, f, g
于是对给定的定义域[a1, b1] * [a2, b2]进行一定的分割
得到系列点{x}和{y}求这些点上g的值,并以每四个点构成空间中的
一个曲面片,剩下的就是用OpenGL把这些曲面片显示出来了。
2。插值
如果给定的点是网格给出即x = a1 + h1 * i, y = a2 + h2 * i,
h1 = (b1 - a1) / n1, h2 = (b2 - a2) / n2
那么固定任意一个x,对(y[k], z[k])进行多项式插值,形成z[k] = g(x, y)
固定任意一个y,对(x[k], z[k])进行多项式插值,形成z[k] = h(x, y)
于是有z = f(x, y) = (g(x, y) + h(x, y)) * 0.5