JP2016157174A - 3次元空間データ補間プログラム、ならびに、それを組み合わせて実現する形状発生プログラム - Google Patents
3次元空間データ補間プログラム、ならびに、それを組み合わせて実現する形状発生プログラム Download PDFInfo
- Publication number
- JP2016157174A JP2016157174A JP2015032863A JP2015032863A JP2016157174A JP 2016157174 A JP2016157174 A JP 2016157174A JP 2015032863 A JP2015032863 A JP 2015032863A JP 2015032863 A JP2015032863 A JP 2015032863A JP 2016157174 A JP2016157174 A JP 2016157174A
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- dimensional
- value
- equation
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Generation (AREA)
Abstract
【課題】 3次元空間にまで有効で、折れ曲がりがなく、演算の容易なデータ補間プログラムを提供すること。【解決手段】 離散データが与えられた、3次元空間中の等間隔な立体格子点位置に対して、格子点の単位立方体を8等分した立方体ごとに、各座標成分に対して2次式となる単独の補間式を求める。単位立方体同士の境界面で、偏微分値が両側の線形補間式の偏微分値の平均値に等しくなるという条件と、単位立方体内で、導関数のグラフの下の面積が、線形補間式の導関数のグラフの下の面積に等しくなるという条件と、を満たすようにすることで、補間式は一意的に定まり、折れ曲がりがなく、四則演算だけで成り立つ、1次元、2次元および3次元空間で有効なデータ補間プログラムが実現できる。【選択図】 図3
Description
本発明は、連続する数値が分布する3次元空間において、立体格子点状の標本点で数値データ(標本値)が与えられている場合に、格子点が囲む空間内でデータを補間する方法及び装置に関するものである。さらに詳しくは、与えられた標本点を通過する滑らかな形状を、コンピューターの演算機能を利用して、発生させる方法に関するものである。
等間隔に与えられた数値データ(標本値)を補間する単純な方法は、線形補間(直線補間)であり、図1のように、1次元(座標軸が1つの次元)に分布する数値pは、座標値xを使った式
を用いて、x0≦x≦x1の区間において補間される。
を用いて、x0≦x≦x1の区間において補間される。
ここで、x0,x1は隣り合う標本点で、標本点間の距離(x1−x0)を1に定義し、この距離を単位として表している。また、P0はx0における標本値であり、P1はx1における標本値である。ただし、説明を簡略化するために、添え字を便宜的に0と1にしているが、これは隣り合う2つの数字という意味であって、0と1に限定しているのではない。
数1は、x軸方向にだけ着目したものであるが、3次元に拡張するために、数1における標本値Pの添え字を3つに増やした式が、
で、Pの添え字は順に、x軸、y軸、z軸に関するものである(図2参照)。
で、Pの添え字は順に、x軸、y軸、z軸に関するものである(図2参照)。
数2を用いて、y軸に対する線形補間を組み入れた式が、
で、これは、y0≦y≦y1の区間における補間を行うものである。
で、これは、y0≦y≦y1の区間における補間を行うものである。
さらに、数3を用いて、z軸に対する線形補間を組み入れた式が、
であり、これは、z0≦z≦z1の区間における補間を行うものである。
であり、これは、z0≦z≦z1の区間における補間を行うものである。
数4に数3と数2を代入して、x,y,zで表すと、
となる。ここで、定数A1〜A8は、下記の値を持つ。ただし、Pi j kとは、(xi,yj,zk)における標本値であることを意味する(図2参照)。
となる。ここで、定数A1〜A8は、下記の値を持つ。ただし、Pi j kとは、(xi,yj,zk)における標本値であることを意味する(図2参照)。
数5が、3次元空間における線形補間の式である。数5は、x,y,zの順に組み立てたものであるが、x,y,zを入れ替えても、同じ内容の式が得られる。
数5において、z=z0としたとき、
が得られる。3次元空間中に2次元平面が包含されているが、この式は、2次元平面における線形補間の式である。
が得られる。3次元空間中に2次元平面が包含されているが、この式は、2次元平面における線形補間の式である。
さらに、数7において、y=y0としたとき、
が得られる。2次元平面中に1次元直線が包含されているが、この式は、1次元直線における線形補間の式であり、数1と同じ内容である。
が得られる。2次元平面中に1次元直線が包含されているが、この式は、1次元直線における線形補間の式であり、数1と同じ内容である。
補間によって得られる数値p自体を1つの次元として捉えるならば、数8は、2次元平面(xp平面)上に描かれる折れ線グラフを表しているといえる。数7と数5も、同様な捉え方ができ、それぞれで3次元空間(xyp空間)と4次元空間(xyzp空間)を使って、補間値を表現することが、理屈の上では可能である。
上述のような線形補間は、演算が容易であるため、一般に広く用いられているが、自然現象を補間するのに、さらに適した方法も考案されている。ただし、最小二乗法近似のように、標本点において正確に標本値になることが保証されていない補間方法は、対象外とする。
補間方法の一例として、特許文献1では、ニュートンの前進補間法を3個の標本点(2区間)に対して適用し、2区間ごとに異なる2次式を使って、補間値を算出している。特許文献1の方法は、2次元平面に分布する数値を補間する方法である。
特許文献2では、該特許文献の発明者が見いだした2次の区分多項式としての標本化関数(sinc関数)を使って、得られた値を用いて、畳み込み演算を行うことにより、補間値を算出している。特許文献2の方法は、1次元(座標軸が1つの次元)に分布する数値を補間する方法である。
特許文献3では、特許文献2と同じ方法で、X方向に沿って補間処理を行い、その後この補間処理によって得られたX方向補間値を用いてY方向に沿って補間処理を行うものである。特許文献3の方法は、2次元平面に分布する数値を補間する方法である。
等間隔に与えられた数値データ(標本値)を線形補間(直線補間)によって、補間する場合には、標本点において折れ曲がる。標本点は偶然定まった点であるにも関わらず、補間すべき他の点と異なって、折れ曲がるという自然現象にない特別な性質を持ってしまうという課題を有していた。
特許文献1では、2区間ごとに2次式を使って補間するため、1区間ごとに折れ曲がる線形補間よりは改善されるものの、2区間ごとに折れ曲がることは避けられないという課題を有していた。
特許文献2と特許文献3とは、原理が同じであって、いずれも、標本化関数により得られた値に対して、畳み込み演算を行うという方法であるが、線形補間のような明確さや単純さを欠いているという課題を有していた。また、特許文献2が1次元を扱い、特許文献3が2次元を扱う、という統一性がないということに加え、3次元を扱っていないという課題も有していた。3次元空間における補間の対象としては、具体的には、3次元空間での温度分布や電位分布とか、X線CTやMRI等の連続スライス濃淡画像とか、2次元平面での輝度分布に時間軸を加えた輝度分布履歴といったものが、挙げられる。
本発明は、以上のような課題を解決しようとするもので、線形補間の欠点である折れ曲がりをなくし、線形補間のように単純明快な方法で、容易に演算できる補間方法を提供することを目的とする。しかも、3次元空間を補間対象とすることで、2次元や1次元に座標軸を減じたときも含めて、包括的に扱えるものとする。
上記の目的を達成するため、本発明は、一般に利用される線形補間(直線補間)の方法を発展させる形をとり、線形補間の1次式に次いで演算の容易な2次式を用いて、線形補間では標本点間に1つの数式(1次式・直線)を割り当てているのに対して、本補間法では標本点間の中央で分けて1軸に付き2つの数式(2次式・放物線)を割り当てるという方法を用いて、3次元空間において補間を行うことを特徴とする。なお、本発明による補間は、標本点においては必ず標本値に一致し、また、どの位置でも折れ曲がることがない、という条件を満たす補間法である。
線形補間が、標本点で折れ曲がるのは、傾き(導関数)が標本点で不連続に変化するためである。そこで、本補間法では、標本点における傾き(微分値)に、線形補間における、前後2つの傾き(微分値)の平均値を割り当てることにした。平均値をとることで、前後の順序に依存することなく、前後の重みを均等、対称に扱うことができる(図3(b)参照)。
本発明を説明するにあたって、簡略化するために、標本点に関する添え字を便宜的に−1,0,1,2にしているが、これは隣り合う4つの数字という意味であって、−1,0,1,2に限定しているのではない。対象がi番目であれば、i−1,i,i+1,i+2というのと同じ意味である。
標本点x0を基準にすれば、2次式は、a(x−x0)2+b(x−x0)+cの形で表され、a,b,cの3つの係数によって決定できるため、3つの条件を与える3元連立方程式により、係数が求められる。1区間の標本点間を1つの2次式で表そうとするならば、区間両端における標本点の標本値2つと傾き(微分値)2つによる合計4つの条件を満たさなければならず、条件が1つ多過ぎて、係数を求めることができない。3次式にすれば、係数が1つ多くなるため、係数を求めることが可能となるが、演算量が多くなるため、本発明においては、3次式を使わず、標本点間の中央位置で、別々の2次式(放物線)に分けて補間する手法を考案した(図3(c)参照)。
x軸に着目するならば、標本点x0とx1の間の補間を考える場合、x0≦x≦(x0+x1)/2の区間と(x0+x1)/2<x≦x1の区間とで、別々の2次式を割り当てることになるが、中央を選んだことで、前後の順序に依存することなく、前後の重みを均等、対称に扱うことができる。
x0≦x≦(x0+x1)/2の区間について見ると、3元連立方程式として、まず、標本点x0において、標本値と傾き(微分値)の2つの条件式が与えられる。残りの1つの条件式には、x=(x0+x1)/2における、傾き(微分値)を用いる。この傾き(微分値)は、(x0+x1)/2≦x≦x1の区間における2次式とも共通した値とすることで、x=(x0+x1)/2において、折れ曲がることがなくなる。
線形補間の場合には、x0≦x≦x1の区間では、傾き(導関数)をグラフにすると、水平な線分で表される。本補間法では、傾き(導関数)をグラフにすると、2次式が2つあるため、傾斜した2本の線分で表され、x=(x0+x1)/2の位置で折れ曲がった状態になる(図3(b)の導関数のグラフ参照)。
x=x0の位置で、線形補間と本補間法とでは同じ標本値になり、x=x1の位置でも、両者は同じ標本値になるため、x0≦x≦x1の区間で、傾き(導関数)を積分すると、両者は同じ積分値になる。積分を視覚的にとらえるならば、グラフの下側の面積として表すことができる。すなわち、傾き(導関数)のグラフの下側の面積は、線形補間と本補間法とでは同じ値にならなければならない。このことから、x=(x0+x1)/2の位置における、傾き(微分値)の値が一意的に求められることになり、3元連立方程式の3番目の条件式が決定する。
x0≦x≦(x0+x1)/2の区間での、補間に用いる2次式の係数を求めるための3元連立方程式を構成する3つの条件をまとめると以下のようになる。
《条件1》 x=x0の位置における値は、与えられている標本値である。
《条件2》 x=x0の位置における傾き(微分値)は、線形補間における、この位置の前後2つの傾き(微分値)の平均値であるとする。
x=x1の位置における傾き(微分値)も、線形補間における、この位置の前後2つの傾き(微分値)の平均値であるとして、次の条件3を定める。
《条件3》 x=(x0+x1)/2の位置における傾き(微分値)と、x=x0の位置における傾き(微分値)(条件2による)と、x=x1の位置における傾き(微分値)との、3つを結ぶ2つの線分によるグラフの下側の面積は、x0≦x≦x1の区間における、線形補間の傾き(導関数)(一定)のグラフの下側(矩形)の面積に等しい。
上記の3つの条件に基づく3つの方程式からなる、3元1次方程式を解くことで、x0≦x≦(x0+x1)/2の区間における、補間に用いる2次式の3つの係数が決定できる。
残りの(x0+x1)/2<x≦x1の区間については、x0≦x≦(x0+x1)/2の区間と対称的になっているため、x0とx1の位置関係を逆にし、(x−x0)を(x1−x)に置き換えることで、補間式が得られる。
ここまでは、x軸のみに着目して説明してきたが、x軸の補間が済んでいると、y軸方向に補間する場合には、元々の標本点に加え、x軸方向での補間値も標本値として使うことにより、xy平面上での補間式を導き出すことができる。この場合、x軸とy軸の順序を逆にして、補間式を導き出しても、同じ内容の補間式が得られる。
さらに、xy平面上での補間が済んでいると、z軸方向に補間する場合には、元々の標本点に加え、xy平面上での補間値も標本値として使うことにより、xyz空間(3次元空間)での補間式を導き出すことができる。この場合、x軸、y軸、z軸の順序を入れ替えて、補間式を導き出しても、同じ内容の補間式が得られる。
以上のように、本発明によれば、線形補間のような折れ曲がりを発生させないで、3次元空間における、すべての標本点を満足させる補間が可能となり、しかも、単純な四則演算だけで実現しているため、演算量を低減することができる。また、3次元空間中に、2次元平面や1次元直線が包含されているため、用途の広い1次元や2次元の補間にも簡単に対応できる。
以下、本発明のデータ補間方法の実施形態について、具体的な数式を用いて、詳細に説明する。
まず、図3(a)に示すように、x軸に着目して、標本点x0とx1の間の補間を考える。ただし、標本点の間隔は、1に定義する。
x0における微分値をαlとし、線形補間における、x0の前後2つの傾き(微分値)の平均値を割り当てることにする。αlは、
の式によって求められる。
の式によって求められる。
数9を見ると、αlは、x0の前後の標本点である、x-1とx1における標本値を結んだ直線の傾きであるとともに、実は、x-1とx0とx1における、3つの標本値を通過する2次式(放物線)のx0における傾きにもなっている。
同様に、x1における微分値をαrとし、線形補間における、x1の前後2つの傾き(微分値)の平均値を割り当てることにするならば、αrは、
の式によって求められる。
の式によって求められる。
αlとαrの和は、
となる。
となる。
数11を用いると、図3(b)の導関数のグラフにおいて、S3における微分値をαcとするならば、S1S2 S3 S4 S5の5点に囲まれる五角形(右上がりのハッチング部分)の面積は、左右2つの台形に分けることで、
の式によって求められる。
の式によって求められる。
x=x0の位置で、線形補間と本補間法とでは同じ標本値P0になり、x=x1の位置でも、両者は同じ標本値P1になるため、x0≦x≦x1の区間で、傾き(導関数)を積分すると、両者は同じ積分値になる。積分を視覚的にとらえるならば、グラフと座標軸で挟まれる面積として表すことができる。すなわち、傾き(導関数)のグラフの下側の面積は、線形補間と本補間法とでは同じ値にならなければならない。ただし、x軸の下側の部分では、面積をマイナスとして扱う。
したがって、図3(b)の導関数のグラフで、S1S2 S3 S4 S5の5点に囲まれる五角形(右上がりのハッチング部分)の面積は、S1 S6S7 S5の4点に囲まれる矩形(右下がりのハッチング部分)の面積と等しくなる。この関係を式で表すと、
となり、この式を変形すると、αcは、
として求められる。
となり、この式を変形すると、αcは、
として求められる。
ここで、x0≦x≦(x0+x1)/2の区間において、
で補間式が与えられるものとし、係数a,b,cを求めることを考える。
で補間式が与えられるものとし、係数a,b,cを求めることを考える。
数15をxで微分すると、
となる(偏微分の記号を使用)。
となる(偏微分の記号を使用)。
数15に、x=x0における標本値を代入すると、
となり、係数cが求められる。
となり、係数cが求められる。
数16に、x=x0における微分値を代入すると、
となり、係数bが求められる。
となり、係数bが求められる。
数16を用いて、x=(x0+x1)/2における微分値を求めると、
となる。
となる。
この微分値は、数14で求めたαcであるため、
となる。
となる。
係数bは既に数18で求まっているので、数20を変形して、係数aを求めると、
となる。
となる。
数21と数18と数17で得られた係数a,b,cを数15に代入することで、x0≦x≦(x0+x1)/2の区間における補間式が、次式のように求められる(図3(c)の本補間法による結果のグラフ参照)。
残りの(x0+x1)/2<x≦x1の区間については、x0≦x≦(x0+x1)/2の区間と対称的になっているため、x-1〜x2の位置関係を逆にし、(x−x0)を(x1−x)に置き換えることで、補間式を求めることができる。x1−x0=1であるので、(x1−x)=(−x+x0+1)である。(x0+x1)/2<x≦x1の区間の補間式は、
となる(図3(c)の本補間法による結果のグラフ参照)。
となる(図3(c)の本補間法による結果のグラフ参照)。
標本値P-1P0 P1 P2が直線状に並んでいる場合には、P-1=2P0−P1,P2=2P1−P0の関係が成り立ち、数22は、
となり、数23は、
となる。これらは、数1と同じで、直線状に並ぶ標本値を、本補間法によって補間した結果は、線形補間の結果と同じ直線になることが分かる。
となり、数23は、
となる。これらは、数1と同じで、直線状に並ぶ標本値を、本補間法によって補間した結果は、線形補間の結果と同じ直線になることが分かる。
数22および数23では、x0≦x≦x1の区間を補間するのに、1区間外側のx-1とx2における標本値P-1とP2が必要になる。したがって、そのままでは、最も外側の区間での補間ができない。そこで、図3(b)のx-1≦x≦x0の区間のグラフで示すように、最も外側の区間では、微分値を、線形補間における、x-1の前後2つの傾き(微分値)の平均値とするのではなく、x-1の後ろの傾き(微分値)そのものを使うことにする。これを言い換えるならば、x-2における標本値をP-2=2P-1−P0として与えて、数22および数23で補間することと同じである。また、最後の標本点をPnとするならば、Pn+1=2Pn−Pn-1とすることで、最後の区間の補間もできるようになる。すなわち、最も外側の線形補間を、さらに外へ延長することにより、存在していない標本値を作り出すのである。
ここまでは、x軸にのみ着目して補間式を求めてきたが、次にy軸およびz軸を含めた3次元における補間式について記述する。
数22に現れる定数に対して、
のように定義すると、数22は、
となる。ただし、3次元に拡張するために、数22における標本値Pの添え字は3つに増やしてあり、この添え字は順に、x軸、y軸、z軸に関するものである(図4参照)。
のように定義すると、数22は、
となる。ただし、3次元に拡張するために、数22における標本値Pの添え字は3つに増やしてあり、この添え字は順に、x軸、y軸、z軸に関するものである(図4参照)。
y軸を追加したxy平面における補間式を、数27を使って求めると、
となる。これは、x軸の補間が済んだ状態で、y軸方向に補間するために、元々の標本点に加え、x軸方向での補間値も標本値として使うことにより、xy平面上での補間式を導き出したものである。
となる。これは、x軸の補間が済んだ状態で、y軸方向に補間するために、元々の標本点に加え、x軸方向での補間値も標本値として使うことにより、xy平面上での補間式を導き出したものである。
さらに、z軸を追加したxyz空間における補間式を、数28を使って求めると、
となる。これは、xy平面上での補間が済んだ状態で、z軸方向に補間するために、元々の標本点に加え、xy平面上での補間値も標本値として使うことにより、xyz空間における補間式を導き出したものである。
となる。これは、xy平面上での補間が済んだ状態で、z軸方向に補間するために、元々の標本点に加え、xy平面上での補間値も標本値として使うことにより、xyz空間における補間式を導き出したものである。
数29は、図4において、P0 0 0,P1 0 0,P1 1 0,P0 1 0,P0 0 1,P1 0 1,P1 1 1,P0 1 1の標本値を持つ8点で囲まれる、立方体の内部を対象とした補間式である。
数28と数29は、x,y,z軸の順に、補間結果を求めて、計算する形式になっているが、これを展開すると、x,y,z軸の順序に関係なく、どの順でも全く同じ数式となることが分かっている。
数29に、数28と数27を代入すると、
の形となる。ここで、B1〜B27は、標本値を使って表される値である。この式が、本発明による3次元空間におけるデータ補間式である。
の形となる。ここで、B1〜B27は、標本値を使って表される値である。この式が、本発明による3次元空間におけるデータ補間式である。
数30における、B1〜B27を求める式を、以下に示す。
数30において、z=z0としたとき、
が得られる。3次元空間中に2次元平面が包含されているが、この式は、本発明による2次元平面におけるデータ補間式である。3次元では33=27個必要だった係数が、2次元ではB19〜B27の32=9個に減っている。
が得られる。3次元空間中に2次元平面が包含されているが、この式は、本発明による2次元平面におけるデータ補間式である。3次元では33=27個必要だった係数が、2次元ではB19〜B27の32=9個に減っている。
さらに、数58において、y=y0としたとき、
が得られる。2次元平面中に1次元直線が包含されているが、この式は、本発明による1次元直線におけるデータ補間式である。1次元では、必要な係数は、B25〜B27の31=3個だけである。
が得られる。2次元平面中に1次元直線が包含されているが、この式は、本発明による1次元直線におけるデータ補間式である。1次元では、必要な係数は、B25〜B27の31=3個だけである。
数59に、数55〜数57を代入してできる
の式は、数22と同じである。
の式は、数22と同じである。
数30は、区間の前半、すなわち、x0≦x≦(x0+x1)/2かつy0≦y≦(y0+y1)/2かつz0≦z≦(z0+z1)/2の範囲における補間式である。この範囲は、図5のハッチングしてある部分である。1つの区間の立方体は、8等分した8つの立方体に分割し、それぞれの分割した立方体ごとに、補間式を変える。
図5のハッチングしてある部分以外の7つの分割立方体、すなわち、(x0+x1)/2<x≦x1または(y0+y1)/2<y≦y1または(z0+z1)/2<z≦z1の区間においては、数30において、対称性を利用して、該当するx,y,z軸に対して、下記のような変更を加えることで対処できる。
(x0+x1)/2<x≦x1の範囲の場合は、数30に対して、x-1〜x2の位置関係を逆にし、(x−x0)を(x1−x)=(−x+x0+1)に置き換える。つまり、標本値に関しては、P-1 j k→P2 j k,P0 j k→P1 j k,P1 j k→P0 j k,P2 j k→P-1 j kと置き換える。
(y0+y1)/2<y≦y1の範囲の場合は、数30に対して、y-1〜y2の位置関係を逆にし、(y−y0)を(y1−y)=(−y+y0+1)に置き換える。つまり、標本値に関しては、Pi -1 k→Pi 2 k,Pi 0 k→Pi 1 k,Pi 1 k→Pi 0 k,Pi 2 k→Pi -1 kと置き換える。
(z0+z1)/2<z≦z1の範囲の場合は、数30に対して、z-1〜z2の位置関係を逆にし、(z−z0)を(z1−z)=(−z+z0+1)に置き換える。つまり、標本値に関しては、Pi j -1→Pi j 2,Pi j 0→Pi j 1,Pi j 1→Pi j 0,Pi j 2→Pi j -1と置き換える。
数30から次元数を減じて作った、数58と数59についても、上記と同様の置き換えを行うことで、残りの範囲の補間式を求めることができる。数59に対して、置き換えを行うと、数23と同じになる。3次元空間で23=8個の立方体に等分割したものは、2次元で22=4面の正方形に、1次元で21=2本の線分に、それぞれ等分割して、対称性に基づいて、補間式を求めることになる。
最も外側の区間での補間では、該当する区間の線形補間を、さらに外へ延長することにより、存在していない標本値を作り出してから、補間する。たとえば、図4のように、P-1 -1 -1が最も外側の標本値である場合には、
などの式で、存在しない標本値を与えてから、補間式を適用する。
などの式で、存在しない標本値を与えてから、補間式を適用する。
図6は、本発明の実施形態のデータ処理装置の構成を示す図である。このデータ処理装置は、標本値取得手段11、座標と標本値記憶手段12、区間ごとの補間係数算出手段13、区間ごとの補間係数記憶手段14、座標に対する補間値演算手段15を含んで構成されている。
標本値取得手段11は、等間隔に標本値をデータ処理装置に取り込む手段のことで、センサーを使った自動入力やキーボードを使った数字入力などを意味している。前もって、標本値が固定的に与えられている場合には、標本値取得手段11を省略することが可能である。
座標と標本値記憶手段12は、標本値データを座標とともに記憶する手段のことで、メモリーやハードディスクなどが該当する。座標は、一般的には位置を指すが、距離、時間のほか、グラフィックメモリー上の記憶位置のような抽象的な座標も含む。逐次的に、標本値取得手段11で、標本値を取り込みつつ、補間値を出力する場合には、補間値を求めるのに必要な範囲のみの標本値を記憶すればよい。
区間ごとの補間係数算出手段13は、標本点の区間ごとに、補間係数を算出する手段のことで、数31〜数57を使って、補間係数B1〜B27を求める。2次元平面における補間の場合には、補間係数B1〜B18を省略することができる。さらに、1次元直線における補間の場合には、補間係数B1〜B24を省略することができる。図5のハッチングしてある部分の外側に対する補間係数についても、数31〜数57を利用して、標本点の対称性に基づいて、補間係数を算出する。
区間ごとの補間係数記憶手段14は、標本点の区間ごとに、補間係数を記憶する手段のことで、メモリーやハードディスクなどが該当する。前もって、標本値が固定的に与えられていて、補間係数を記憶する領域に余裕がある場合には、先にすべての区間の補間係数を求めておけば、処理時間を短縮することができる。
座標に対する補間値演算手段15は、座標に対する補間値を演算する手段のことで、区間・補間係数記憶手段14で記憶された、補間係数B1〜B27を使って、数30により、補間値を求める。2次元平面における補間の場合には、簡略化された数58により、補間値を求めることができる。さらに、1次元直線における補間の場合には、簡略化された数59により、補間値を求めることができる。図5のハッチングしてある部分の外側に対する補間値についても、数30、数58または数59を利用して、標本点の対称性に基づいて、(x−x0)を(x1−x)に、(y−y0)を(y1−y)に、(z−z0)を(z1−z)に、それぞれ置き換えて計算することで、補間値を求める。
本発明の補間式は、スカラー値を対象としているが、標本値が2次元や3次元の座標を表す場合のように、複数の成分をもつ場合には、成分ごとに補間して、補間結果を組み合わせて使用する。
本発明のデータ処理装置で求められた、座標に対する補間値は、変動電圧の出力、機械の動作位置制御、地形図の作図、デジタル画像の表示などに利用する。
地下探査を行うときには、直線状に等間隔に測量をして、求めた標高をもとに地形断面図を描く。かつては、自在定規や雲形定規を使って、手作業で地形断面図を描いていたが、発明者は、1982年当時、普及し始めたパーソナルコンピューターとプロッターを使った自動化を進めるにあたって、自在定規に代わる手段が必要になった。本発明の初期の目的は、図7に示すような、滑らかな地形断面図を描くことであった。図7は、標高を標本値とし、1次元直線上で補間を行った本発明の実施例であり、小さな円が、標本値を表している。これは、数60を使って、補間した例である。
本発明は、等間隔に与えられた標本値としてのスカラー値(成分が1つ)を補間するものであるが、本発明の補間法を複数組み合わせることで、複数の成分を持つ値を補間することが可能となる。実施例1では、標高が等間隔に与えられているが、任意の間隔で与えられているときには、標高だけでなく、水平座標自体も補間することで、地形断面図を描くことができる。
図8は、任意の間隔で与えられた標高と位置を独立した標本値とし、それぞれ、1次元直線上で補間を行った本発明の実施例である。これは、横軸(位置)をu軸、縦軸(標高)をv軸とし、共通の媒介変数tによって、u=f(t),v=g(t)として表される別々の関数になっているものとして、図8(a)と図8(b)のように、それぞれ補間を行い、uv座標によって作図するものである。図8(c)は、uとvに対して、別々に、数60を使って、補間した結果を組み合わせた例である。
u=f(t)が、直線を表しているときには、本発明の補間法は、線形補間と全く同じ結果になるため、tが等間隔ならば、uも等間隔になり、実施例1は、実施例2に含まれる特殊なケース(位置uが等間隔のケース)であると考えることができる。
実施例2では、u=f(t)が測量の位置を表すため、単調増加であるという制約があったが、この制約を取り除いて自由度を高めたのが、図9に示す開曲線の補間であり、小さな円の座標が、標本値になっている。uv平面上にある開曲線に含まれる点列を補間するために、図9(a)と図9(b)のように、u座標の値とv座標の値を別々に補間した上で、結合している。図9(c)は、uとvに対して、別々に、数60を使って、補間した結果を組み合わせた例である。ここで、さらに、uv平面に直交するw軸を考え、w座標の値についても同様に補間するならば、3次元空間における立体的な開曲線の補間ができる。
本発明の補間法では、最も外側の区間に対しては、さらに外側に位置する存在しない標本値を作り出すか、最も外側の区間を補間の対象範囲から除外する必要があるが、始端終端のない循環的なデータでは、こうした問題はない。図10に示すのは、閉曲線の補間であるが、これは、実施例3と同様な点列の補間で、始端と終端を一致させたものである。図10(c)は、uとvに対して、同図(a)と(b)のように別々に、数60を使って、循環的に補間した結果を組み合わせた例である。この実施例でも、w軸を追加すれば、3次元空間における立体的な閉曲線の補間ができる。
実施例1は、1次元直線上で補間を行った例であったが、図11(a)は、2次元平面上で本発明の補間法を適用した例である。この図は、段階的に補間値を等高線状に表示してあり、小さな円が、標本点を表している。これは、数58を使って、補間した例である。
図11(b)は、比較のため、従来の線形補間を用いて、図11(a)と同じデータを補間したものである。線形補間で折れ曲がっている部分が、本発明の補間法では、滑らかな曲線になっているのが分かる。図11(b)は、数7を使って、線形補間した例である。
魚眼レンズ等で撮影されたデジタル画像データは、座標変換により、レンズの歪み補正を行うことで、自然な画像に直すことができる。図12(a)に示す実施例は、本発明の補間法により、2次元座標の座標変換を行うものであり、レンズの歪み補正のような規則的な座標変換だけでなく、不規則な座標変換にも自由に対応できる。図12では、小さな円が標本点を示し、標本点ごとに、変換後の座標が標本値として与えられている。
元の画像の横軸をx軸、縦軸をy軸とし、座標変換後の画像の横軸をu軸、縦軸をv軸とするならば、u=f(x,y),v=g(x,y)という2つの関数で、座標変換を表すことができる。したがって、座標変換には、u座標の値を標本値とする2次元平面(xy平面)上の補間と、v座標の値を標本値とする2次元平面(xy平面)上の補間とを組み合わせて、用いることになる。図12(a)は、uとvに対して、別々に、数58を使って、補間した結果を組み合わせた例である。
図12(b)は、比較のため、従来の線形補間を用いて、図12(a)と同じ座標変換を行ったものである。線形補間で折れ曲がっている部分が、本発明の補間法では、滑らかな曲線になっているのが分かる。図12(b)は、uとvに対して、別々に、数7を使って、補間した結果を組み合わせた例である。
図12(a)は、元の画像の座標の点が、変換後にはどの位置に移動するか、という観点で、描いてあるため、整列した図形が歪んだ図形に変化しているが、実際のレンズの歪み補正の場合には、逆に、変換後の画像の座標の点が、元の画像のどの位置にあったのかを求めることになり、歪んだ図形が整列した図形に変化することになる。デジタル画像データでは、等間隔のピクセル位置で画像が構成されているため、元の画像の位置がピクセル位置からずれているときには、ピクセルの値(輝度など)を標本値とした2次元平面での何らかの補間を、さらに行うことになる。ピクセルの値の補間に関しても、本発明の補間法を用いてもよいが、演算量を減らすためには、線形補間や、もっと簡単な最近傍補間を用いる方が望ましい。ピクセルの値をRGBやYUVのような成分を持つものとするなら、ここでも、成分別に補間して組み合わせることになる。
本発明の補間法および補間法の組み合わせによれば、標本値のデータとする対象によって、様々な利用法が考えられる。図形上の座標を標本値とするなら、縮尺可変の意匠図形や文字フォント形状等の曲線部分の補間に利用できたり、実測に基づくデジタル画像の変則的な歪み補正にも利用できる。物体の空間座標(直交座標、極座標)を標本値とするなら、ロボットアーム等の動作をさせる数値制御装置に広く応用できる。立体的な気温や気圧といった気象データを標本値とするなら、気象シミュレーターへの応用が期待できる。
11 標本値取得手段
12 座標と標本値記憶手段
13 区間ごとの補間係数算出手段
14 区間ごとの補間係数記憶手段
15 座標に対する補間値演算手段
12 座標と標本値記憶手段
13 区間ごとの補間係数算出手段
14 区間ごとの補間係数記憶手段
15 座標に対する補間値演算手段
Claims (5)
- 等間隔の標本点から、離散データを取得する処理と、
該離散データを記憶する処理と、
該標本点の間のデータを折れ曲がりなく補間する処理、すなわち、
隣り合う該標本点間を2等分して、該離散データを通過する放物線補間式を別々に割り当てるという特徴と、
該標本点において、その両側における直線補間式の微分値の平均値に、該放物線補間式の微分値を等しくさせるという特徴と、
隣り合う該標本点間において、標本点の2等分位置の微分値を、直線補間式の導関数の積分値に該放物線補間式の導関数の積分値を等しくさせる値に、決定するという特徴と、
を有する放物線補間式を用いる補間演算処理と、
をコンピューターに実行させるプログラム。 - 請求項1記載のプログラムにおいて、前記補間演算処理では、直交する2軸に対して、同時に前記補間演算を実施することにより、2次元平面上の等間隔な格子点を標本点とした、折れ曲がりが発生しない補間演算処理をコンピューターに実行させるプログラム。
- 請求項1記載のプログラムにおいて、前記補間演算処理では、直交する3軸に対して、同時に前記補間演算を実施することにより、3次元空間上の等間隔な立体格子点を標本点とした、折れ曲がりが発生しない補間演算処理をコンピューターに実行させるプログラム。
- 請求項1または請求項2記載のプログラムにおいて、複数の成分を持つ前記離散データに対して、成分ごとに別々に、前記補間演算処理を実施した上で、補間後の連続データを成分として組み合わせることにより、離散データをつないだ滑らかな形状を作り出すプログラム。
- 請求項2記載のプログラムにおいて、媒介変数xとyに基づいた、2次元平面(uv座標)の座標成分、すなわち、u成分、v成分に関する離散データに対して、2次元平面上の前記補間演算処理を成分ごとに実施することにより、2次元平面上の滑らかな座標変換(xy座標→uv座標)、あるいは、歪み補正(uv座標→xy座標)を行うためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015032863A JP2016157174A (ja) | 2015-02-23 | 2015-02-23 | 3次元空間データ補間プログラム、ならびに、それを組み合わせて実現する形状発生プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015032863A JP2016157174A (ja) | 2015-02-23 | 2015-02-23 | 3次元空間データ補間プログラム、ならびに、それを組み合わせて実現する形状発生プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016157174A true JP2016157174A (ja) | 2016-09-01 |
Family
ID=56826054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015032863A Pending JP2016157174A (ja) | 2015-02-23 | 2015-02-23 | 3次元空間データ補間プログラム、ならびに、それを組み合わせて実現する形状発生プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016157174A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018194302A (ja) * | 2017-05-12 | 2018-12-06 | 株式会社日立製作所 | 磁化曲線補間方法および磁界解析システム |
CN113033583A (zh) * | 2019-12-09 | 2021-06-25 | 京东数字科技控股有限公司 | 数据处理方法和装置、模型训练系统 |
CN116127792A (zh) * | 2023-04-17 | 2023-05-16 | 北京世冠金洋科技发展有限公司 | 一种散乱数据的插值方法及装置 |
CN117574305A (zh) * | 2024-01-17 | 2024-02-20 | 阿尔卑斯系统集成(大连)有限公司 | 一种设备运行状态实时监测方法及系统 |
-
2015
- 2015-02-23 JP JP2015032863A patent/JP2016157174A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018194302A (ja) * | 2017-05-12 | 2018-12-06 | 株式会社日立製作所 | 磁化曲線補間方法および磁界解析システム |
CN113033583A (zh) * | 2019-12-09 | 2021-06-25 | 京东数字科技控股有限公司 | 数据处理方法和装置、模型训练系统 |
CN116127792A (zh) * | 2023-04-17 | 2023-05-16 | 北京世冠金洋科技发展有限公司 | 一种散乱数据的插值方法及装置 |
CN116127792B (zh) * | 2023-04-17 | 2023-07-04 | 北京世冠金洋科技发展有限公司 | 一种散乱数据的插值方法及装置 |
CN117574305A (zh) * | 2024-01-17 | 2024-02-20 | 阿尔卑斯系统集成(大连)有限公司 | 一种设备运行状态实时监测方法及系统 |
CN117574305B (zh) * | 2024-01-17 | 2024-04-05 | 阿尔卑斯系统集成(大连)有限公司 | 一种设备运行状态实时监测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9386297B2 (en) | Image generating apparatus generating reconstructed image, method, and computer-readable recording medium | |
CN104268934B (zh) | 一种由点云直接重建三维曲面的方法 | |
CN109215080A (zh) | 基于深度学习迭代匹配的6d姿态估计网络训练方法及装置 | |
JP4464657B2 (ja) | 曲面画像処理装置及び曲面画像処理方法 | |
JP5608726B2 (ja) | 臓器の区分けのための相互作用的なicpアルゴリズム | |
CN103218812B (zh) | 基于摄影测量的树木形态模型参数快速获取方法 | |
WO2018113502A1 (zh) | 一种自动生成网格与着色器多层次细节的方法 | |
JP2016157174A (ja) | 3次元空間データ補間プログラム、ならびに、それを組み合わせて実現する形状発生プログラム | |
JP2009134509A (ja) | モザイク画像生成装置及びモザイク画像生成方法 | |
JP2007193508A (ja) | 画像処理装置及び画像処理プログラム | |
CN117036569B (zh) | 三维模型颜色生成网络训练方法、颜色生成方法及装置 | |
EP2631877A2 (en) | Mesh generating apparatus and method | |
JP4620565B2 (ja) | 解析メッシュ生成装置 | |
TWI393071B (zh) | 可保留影像特徵之影像處理方法及系統 | |
CN118313177A (zh) | 一种布料仿真方法、装置、电子设备、介质及产品 | |
US20140347373A1 (en) | Method of generating terrain model and device using the same | |
Inoue | A new construction method for circle cartograms | |
JP2018136797A (ja) | 埋め込みグラフ単純化装置、埋め込みグラフ単純化方法、及びコンピュータプログラム | |
CN113126944B (zh) | 深度图的显示方法、显示装置、电子设备及存储介质 | |
JP6632434B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP7343446B2 (ja) | モデル生成装置、方法及びプログラム | |
JP6169048B2 (ja) | 入力パスを変換する方法、入力パスのセグメントを内部又は外部としてラベル付けする方法、入力パスをレンダリングする方法、及び、入力パスの外形を描く方法 | |
JP6216143B2 (ja) | 画像処理装置、その制御方法、およびプログラム | |
JP5565671B2 (ja) | 画像変形方法、画像処理装置、及びコンピュータプログラム | |
JP7408337B2 (ja) | 画像処理方法、および画像処理装置 |