Figure: 2のような二次元格子空間を考え, (i,j)番目の格子点 Gi,j(i=1,2,...,nx, j=1,2,...,ny) の座標を (xi,j,yi,j) とし, この格子点における関数 z = f(x,y) の値を zi,j とする. ここに示した格子は概念的なものであって, 実際には非等間隔であってもよい. しかしながら, すべての i および j について格子点 Gi,j, Gi+1,j, Gi+1,j+1 および Gi,j+1 は 互いに隣接していて, これらを頂点とする四角形の格子をつくることができるものとする. そして, その四角形の内部には他の格子点が入らないものとする. つまり z=f(x,y) の定義域が四角形の格子で分割できるものとする. また, z=f(x,y) の定義域と値域の間で適当な正規化を行って, 隣接する格子点の間隔とその関数値の間隔が同程度のオーダーになるものとする.
定義域が四角形の格子で分割できるので, この四角形の領域で等高線が求め られれば, それらをつなぎ合わせていくことにより連続した等高線が求められる. したがって, まず四角形領域について考える. 曲面 z = f(x,y) に対する最も単純な近似はこれを平面で近似することである. ところが,一般に3次元的に分布した4つの点すべてを通る平面が存在することは まれである. そこで, 四角形領域を4つの三角形に分割し, それぞれの部分領域を平面で近似することにする. 周辺の格子点の情報を多数導入して高次曲面で近似することももちろん可能であるが, その場合はz=f(x,y)が高階にわたって微分可能であることを仮定する必要があり, またプログラムの中で多数の偏微分係数を格納する大きな作業用配列が 必要になる. 開発の順番としては, まず精度は低いがより汎用性のある, 平面近似を用いたプログラムを作成すべきであろう. 四角形領域を4つ三角形に分割することは, かなり以前にNIFTY-Serve(現,@Nifty)の流れのフォーラム(FFLOW)で話題 になった方法である. また三角形領域を平面で近似することもよく行われている. 筆者オリジナルの部分は次節以降の連続した等高線を求めるアルゴリズムの部分 であるが, ここでは採用した平面近似について Taylor 展開に基ずく考察を加え て説明する.