(57)【特許請求の範囲】
【請求項１】
Ｎ個の受信値を補間する曲線を生成する画像処理装置であって、
前記受信から１組の仮想値を生成する第１生成手段と、
前記仮想値を用いて前記受信値を補間する曲線を生成する第２生成手段とを備え、
前記第１生成手段は、
１つの仮想値に対応して、前記Ｎ個の受信値よりＮ’個の受信値を抽出して受信値列を形成し、
前記Ｎ’個に基づいて、Ｎ’個の係数からなる係数列を形成し、該係数列は、中央部へ向かって各係数の絶対値が順次増加し、その後順次減少する係数で構成され、
前記係数列と前記受信値列との行列演算により前記１つの仮想値を生成し、
他の仮想値について夫々異なる受信値列を形成し、夫々の受信値列と前記係数列との行列演算をくり返し行うことで少なくとも前記１組の仮想値の部分集合を獲得することを特徴とする画像処理装置。
【請求項２】
前記系数列の生成では、少なくとも１つの数列を構成する各項を予め格納しておき、これらの項から１＋（Ｎ’／２）個までを選択して並べることにより１＋（Ｎ’／２）個の係数からなる列を形成し、これを反射することにより前記系数列の残りの部分を形成することによって前記係数列が生成されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記数列が再帰関係によって定義されることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記数列は、所望されている曲線の種類に基づいて選択された１つ以上の開始値によって決定されることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記曲線は閉曲線であり、２次元の係数行列の行を形成するべく複数の係数列が格納され、該係数行列を形成する行の先頭部分集合の夫々の行に基づいて受信値の先頭部分集合から仮想値の先頭部分集合が生成され、係数行列の行の最終部分集合の夫々の行に基づいて前記受信値の最終部分集合より仮想値の最終部分集合が生成され、係数行列の中央行に基づいて受信値の夫々の部分集合より仮想値の中央部分集合が生成されることを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
前記第２生成手段により生成された曲線を用いて、２次元あるいは３次元空間に物体をあらわす画像を形成し、該画像を出力する画像出力手段を更に備えることを特徴とする請求項１乃至５のいずれかに記載の画像処理装置。
【請求項７】
静止画或は動画の物体の形状もしくは軌跡、或は視点の軌跡を、前記第１生成手段及び前記第２生成手段を用いて生成された曲線に基づいて得られる補間値により特定しこれを記録する記録手段を更に備えることを特徴とする請求項１乃至６のいずれかに記載の画像処理装置。
【請求項８】
Ｎ個の受信値を補間する曲線を生成する画像処理方法であって、
前記受信値から１組の仮想値を生成する第１生成工程と、
前記仮想値を用いて前記受信値を補間する曲線を生成する第２生成工程とを備え、
前記第１生成工程は、
１つの仮想値に対応して、前記Ｎ個の受信値よりＮ’個の受信値を抽出して受信値列を形成し、
前記Ｎ’個に基づいて、Ｎ’個の係数からなる係数列を形成し、該係数列は、中央部へ向かって各係数の絶対値が順次増加し、その後順次減少する係数で構成され、
前記係数列と前記受信値列との行列演算により前記１つの仮想値を生成し、
他の仮想値について夫々異なる受信値列を形成し、夫々の受信値列と前記係数列との行列演算をくり返し行うことで少なくとも前記１組の仮想値の部分集合を獲得することを特徴とする画像処理方法。
【請求項９】
前記第２生成工程により生成された曲線を用いて、２次元あるいは３次元空間に物体を表わす画像を形成し、該画像を出力する画像出力工程を更に備えることを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
静止画或は動画の物体の形状もしくは軌跡、或は視点の軌跡を、前記第１生成工程及び前記第２生成工程を用いて生成された曲線に基づいて得られる補間値により特定しこれを記録する記録工程を更に備えることを特徴とする請求項８又は９に記載の画像処理方法。
【請求項１１】
Ｎ個の受信値を補間する曲線を生成する画像処理装置であって、
所定の第１の数列及び第２の数列を構成するための情報を格納する格納手段と、
前記第１の数列より所定の規則に従って抽出された複数の項に基づいてＮ×Ｎの行列を形成する第１形成手段と、
前記第１の数列より所定の規則にしたがって抽出された項に基づいて除数を獲得する獲得手段と、
前記第１形成手段で形成された行列の各要素を前記除数で除することにより係数行列を生成する第２生成手段と、
前記係数行列を用いて前記１組の受信値から対応する１組の仮想値を生成する第３生成手段と、
前記仮想値を用いて前記受信値を補間する曲線を生成する第４生成手段とを備えることを特徴とする画像処理装置。
【請求項１２】
Ｎ個の受信値を補間する曲線を生成する画像処理方法であって、
所定の第１の数列及び第２の数列を構成するための情報を格納する格納工程と、
前記第１の数列より所定の規則に従って抽出された複数の項に基づいてＮ×Ｎの行列を形成する第１形成工程と、
前記第１の数列より所定の規則にしたがって抽出された項に基づいて除数を獲得する獲得工程と、
前記第１形成工程で形成された行列の各要素を前記除数で除することにより係数行列を生成する第２生成工程と、
前記係数行列を用いて前記１組の受信値から対応する１組の仮想値を生成する第３生成工程と、
前記仮想値を用いて前記受信値を補間する曲線を生成する第４生成工程とを備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、受信値を補間するための方法及び装置に関する。特に、本発明は、パラメトリック曲線を得るための一組の制御値を、多数の受信値から導出し、その曲線が受信値を近似補間するようにするための方法及び装置に関する。
【０００２】
尚、本発明の応用は、数多くかつ多様であるが、特に、応用例として、コンピュータ・グラフィク・システム、コンピュータ援用設計（ＣＡＤ）システム、ロボット工学及び数値制御（ＮＣ）が含まれる。受信値は単純な１次元値であってもよいが、上記の応用例においては、ある画像上の点、すなわち、３次元空間の複数の点を表わす、２次元値及び３次元値が特別な重要性を有する。従って、本発明は、画像合成システム、並びに、このような装置を用いて行なわれる写真や映画の録画にも関するものである。
【０００３】
【従来の技術】
上述した応用分野において、滑らかに且つ連続的に１組の受信値を補間する値を生成することがしばしば要求される。この目的のために一般に普及している技術として、補間曲線のパラメトリック定義が用いられ、その曲線は、１組の混合方程式と１組の制御値（多次元の空間の制御点）によって定義される。そして、単一の変数を変更することによって、曲線上の任意の点を生成することが可能となる。特に、パラメトリック３次曲線は、魅力的な、審美的かつ物理的性質を有し、その中には、例えば、Ｂｅｚｉｅｒ（ベジェ）曲線や３次スプライン曲線が含まれる。いわゆるＢ−スプライン曲線は、補間された値を生成するために適度の演算上の負荷を必要とはするが、任意の数の制御値によって曲線の制御を行なうことができるという点において有用である。
【０００４】
ピーター・バーガー（Ｐｅｔｅｒ  Ｂｕｒｇｅｒ）  及びダンカン・ギリーズ（Ｄｕｎｃａｎ  Ｇｉｌｌｉｅｓ）著「対話型コンピュータ・グラフィクス；関数型、手続き型及び装置レベル方法」（アディソン・ウェズレー（Ａｄｄｉｓｏｎ  Ｗｅｓｌｅｙ）出版社発行、ＩＳＢＮ０−２０１−１７４３９−１）に、３次元Ｂ−スプライン及び他のパラメトリック曲線が記載されている。この参考文献によれば、３次元Ｂ−スプライン曲線の不都合な点として、生成された曲線が、実際には、制御値を補間しておらず、そのため、空間の１組の受信（ユーザ指定による）点を補間する曲線を生成するためには、その曲線に受信点を補間させるための１組の“ファントム”制御値を生成する必要があるという事実が指摘されている。一般に、１組の受信制御値によって各ファントム制御値が定義する１組の連立方程式を導出することが可能である。
【０００５】
しかし、残念なことであるが、１組のＮ個の受信値に対して、Ｎ個のファントム値を表わす方程式を得るためには、Ｎ連立方程式の解、すなわち、係数Ｎ×Ｎの行列置換が必要となる。制御値の数が多数でかつ可変である場合、３次元Ｂ−スプライン曲線表示それ自体は、有用ではあるが、ファントム値を得るためのＮ個の連立方程式の解を得るために大きな演算上の負担が課せられる。そのため、多くのシステムにおいては、このような曲線を対話型定義によって定義することは不可能である。バーガーとギリーズ共著による前記参考文献の章６．３．１には、任意のサイズのＮから成る１組の受信点に対して、ファントム値を容易に演算できるように、Ｎ個の値の範囲に対して逆行列を生成することは可能であるという提案がなされている。しかしながら、Ｎが、例えば１００に達するような大きな数になった場合、数メガバイトのメモリが、これらの逆行列の格納に消費されることになろう。
【０００６】
【発明が解決しようとする課題】
我々の特許出願（英国出願番号９３１１１５２）においてクレームされている発明によって、演算上の負担がより少ない、ファントム制御値生成に必要な係数の直接生成方法が提案されている。この提案では、ユーザが、１組の補間値を生成したり修正したりしながら同時に結果として生成される曲線を見ることできるように、１組の受信値を補間するパラメトリック３次曲線の対話型定義を行なうことが可能ではあるが、非常に多数の点に対してこれを行なうことはますます困難になる。
【０００７】
しかしながら、特に、制限された解像度で画像を移動している場合には、近似的補間で十分な場合がしばしばある。別の参考文献によれば、最小二乗分析法や同種の方法によって、曲線を近似補間する生成が記載されている。
【０００８】
本発明は上記の問題点に鑑みてなされたものであり、１組のＮ個の受信値を近似的に補間する曲線上の所望の補間値を生成する画像処理方法及び装置を提供することを目的とする。
【０００９】
又、本発明の他の目的は、１組の受信値より受信値群を順次抽出し、各受信値群に所定の係数を適用することによって近似曲線を得るための仮想点を順次発生することを可能とし、簡潔で迅速な曲線生成処理を可能とする画像処理方法及び装置を提供することにある。
【００１０】
又、本発明の他の目的は、１組の受信値に対応する１組の仮想値を所定の数列に含まれる各項を用いて生成される係数行列により獲得し、仮想値の獲得を迅速に行うことが可能な画像処理方法及び装置を提供することにある。
【００１１】
又、本発明の他の目的は、上記の如く迅速な受信値の補間処理を行うことを可能とすることにより、補間曲線の生成を対話的に処理することが可能な画像処理方法及び装置を提供することにある。
【００１２】
【課題を解決するための手段】及び【作用】
上記の目的を達成する本発明の画像処理装置は以下の構成を備えている。即ち、
Ｎ個の受信値を補間する曲線を生成する画像処理装置であって、
前記受信から１組の仮想値を生成する第１生成手段と、
前記仮想値を用いて前記受信値を補間する曲線を生成する第２生成手段とを備え、
前記第１生成手段は、
１つの仮想値に対応して、前記Ｎ個の受信値よりＮ’個の受信値を抽出して受信値列を形成し、
前記Ｎ’個に基づいて、Ｎ’個の係数からなる係数列を形成し、該係数列は、中央部へ向かって各係数の絶対値が順次増加し、その後順次減少する係数で構成され、
前記係数列と前記受信値列との行列演算により前記１つの仮想値を生成し、
他の仮想値について夫々異なる受信値列を形成し、夫々の受信値列と前記係数列との行列演算をくり返し行うことで少なくとも前記１組の仮想値の部分集合を獲得することを特徴とする。
【００１３】
又、上記の目的を達成する本発明の画像処理方法は以下の工程を備えている。即ち、
Ｎ個の受信値を補間する曲線を生成する画像処理方法であって、
前記受信値から１組の仮想値を生成する第１生成工程と、
前記仮想値を用いて前記受信値を補間する曲線を生成する第２生成工程とを備え、
前記第１生成工程は、
１つの仮想値に対応して、前記Ｎ個の受信値よりＮ’個の受信値を抽出して受信値列を形成し、
前記Ｎ’個に基づいて、Ｎ’個の係数からなる係数列を形成し、該係数列は、中央部へ向かって各係数の絶対値が順次増加し、その後順次減少する係数で構成され、
前記係数列と前記受信値列との行列演算により前記１つの仮想値を生成し、
他の仮想値について夫々異なる受信値列を形成し、夫々の受信値列と前記係数列との行列演算をくり返し行うことで少なくとも前記１組の仮想値の部分集合を獲得することを特徴とする。
【００１５】
尚、少なくとも１つの数列から成る項を格納し、前もって定義した規則に従ってこれらの項を選択することによって、この１組の係数を生成してもよい。
【００１６】
又、この数列は、典型的には、再帰関係によって定義されてもよい。また、曲線のタイプ（開曲線／閉曲線、Ｎ’が奇数／Ｎ’が偶数）に依存する開始値によって定義されてもよい。
【００１８】
又、曲線が端が開いているものである場合、複数組の係数群が格納され、各係数群により２次元の係数行列における行が特定され、係数行列の行の先頭部分集合のそれぞれの行に基づいて受信値の部分集合から仮想値の先頭部分集合を生成し、係数行列の行の最終部分集合の夫々の行に基づいて受信値の最終部分集合より仮想値の最終部分集合が生成され、また、係数行列の中央行に基づいて受信値の夫々の部分集合から仮想値の中央部分集合が生成される。
【００２０】
上述の構成において、１組の係数がＮ’に依存し、このＮ’が補間値の数で決められるのではなく、その近似的に要求される精度の程度によって決められるということは本発明の長所である。即ち、ユーザが補間のためにどんな数のＮ’個の数値を指定しようとも、仮想値（実施例ではファントム点）の生成のために必要なことは、１つの係数の組、即ち１組の係数で構成される行列を格納するだけで足りる。それにもかかわらず、数値Ｎ’を適当に決定することで、所望の補間精度を得ることが可能である。
【００２２】
又、本発明の他の目的を達成する画像処理装置は、
Ｎ個の受信値を補間する曲線を生成する画像処理装置であって、
所定の第１の数列及び第２の数列を構成するための情報を格納する格納手段と、
前記第１の数列より所定の規則に従って抽出された複数の項に基づいてＮ×Ｎの行列を形成する第１形成手段と、
前記第１の数列より所定の規則にしたがって抽出された項に基づいて除数を獲得する獲得手段と、
前記第１形成手段で形成された行列の各要素を前記除数で除することにより係数行列を生成する第２生成手段と、
前記係数行列を用いて前記１組の受信値から対応する１組の仮想値を生成する第３生成手段と、
前記仮想値を用いて前記受信値を補間する曲線を生成する第４生成手段と
を備える。
【００２３】
上記構成によれば、１組の受信値に対応する１組の仮想値を所定の数列に含まれる各項を用いて生成される係数行列により獲得されるので、仮想値の獲得を迅速に行うことが可能となる。
【００２４】
更に、本発明は、補間値が用いられる画像合成法や装置を構成したり、また、このような装置及び方法を用いて作られる静止画や動画を記録する装置をも構成し得る。本発明のこれらの及び更なる特徴と利点は、以下の説明及び添付の請求の範囲を考察することによって、当業である読者には理解できるであろう。
【００２５】
【実施例】
以下に添付の図面を参照して本発明の好適な実施例を説明する。
【００２６】
＜装置の概要＞
図１は本発明の一実施例による装置の概略の構成を示すブロック図である。本装置は、メモリ２０に接続されたプロセッサ１０（例えば、マイクロプロセッサ）を有する。メモリ２０は、プロセッサ１０の動作手順を定義するプログラムを格納するとともに、プロセッサ１０によって用いられ演算される物体及び画像データを格納する。プロセッサ１０の入力ポートには、入力装置３０が接続される。この入力装置３０としては、キーボードを含んでもよいが、典型的には、“マウス”、トラック・ボール、ディジタイザタブレット及びスタイラスなどのような位置検知用入力装置も含まれる。
【００２７】
又、プロセッサ１０に接続される構成として、その画像の点、すなわち画素（ピクセル）当り１つの（あるいはいくつかの）記憶場所が与えられ、少なくとも１つの画像に関する画像データを格納するように配置されたメモリユニットを有するフレーム・バッファ４０がある。各ピクセルに関するデータのフレーム・バッファ４０内のアドレスは、そのピクセルの画像内の位置に関係する（言いかえれば、フレーム・バッファ４０はメモリ・マップされている）。各ピクセルのためにフレーム・バッファ内に格納された値によって、その画像の中でのピクセルの色が定義される。“色”という用語は、ＲＧＢ値（赤、緑、青）のような多重成分の色値と同様にモノクロ（濃度階調）強度値を含むものと理解されることは言うまでもない。
【００２８】
画像とは、一般に、画像要素の２次元配列であり、直角座標によって一般的に説明されるものである。従って、１対のｘ，ｙ座標によって、与えられたピクセルの位置を記述することが可能となる。例えば、その画像がラスタ表示装置上に表示される場合、１本の走査線に沿った距離及びその走査線の数をそれぞれｘ，ｙ座標がマップするので、これは便利である。画像中の画素数は、画像の解像度によって左右される。従って、例えば、１０００×１０００ピクセルの解像度を有する一つの画像に対して、フレーム・バッファ４０には１０６  ピクセルの（ピクセル座標ｘ，ｙによって直接的あるいは間接的に各記憶場所にアドレス指定可能な）記憶場所が必要とされる。
【００２９】
映像表示装置５０がフレーム・バッファ４０に接続される。この映像表示装置５０は、１秒当たり５〜５０（典型的には２５乃至３０）の標準フレーム繰返速度でフレーム・バッファ４０に格納される画像に対応する信号によって駆動されるものであり、一般的な方法で配置される。メモリ２０（典型的にはプロセッサ１０を介して）に接続されるものとして、また、おそらく、フレーム・バッファ４０に接続するものとして、メモリ２０にロードされるいくつかの画像すなわち画像や物体データ用のデータを格納することが可能な、データ用の大容量を持つハードディスク装置のような大容量記憶装置６０がある。
【００３０】
又、ＶＴＲあるいは他の画像録画装置７０がこのフレーム・バッファ４０に接続される。これによって、表示される連続画像がリアルタイムで録画ができるばかりでなく、これを用いて、一連のより複雑な、あるいは、より高画質の画像をリアルタイムより低速で捉えることも可能となる。その結果、これらの画像をコンピュータによって生成された映画録画としてその後再生することが可能となる。もちろん、この録画装置の解像度は、映像表示装置５０と等しい解像度である必要はない。従って、映像表示装置５０の低画質媒体を介してユーザが対話処理によってこの画像内容を定義した後、非常に高画質のバージョンの画像を録画するために、例えば用紙印刷装置や３５ミリフィルムレコーダを用いることも可能である。
【００３１】
本実施例の利点として、プロセッサ１０及びメモリ２０、また、オプションとして、フレーム・バッファ４０、映像表示装置５０及び大容量記憶装置６０は完全なシステムとして市販のものを使用できるということがある。例えばパーソナル・コンピュータ（ＰＣ）や、米国サン・マイクロシステムズ社製のスパーク・ステーションのようなワークステーションであってもよい。次いで、本発明の実施例をフロッピー・ディスク６５あるいは他の媒体に格納したプログラムの形で市販したり、データ・リンクを通じて伝送することによって、顧客のハードウェアを、本発明を具体化した装置へ再構成することができる。
【００３２】
図２に、本実施例の装置の機能構成を示し、次いで、本装置の全体的な動作について説明する。コンピュータ１００はメモリ２０内の対応する内蔵プログラムを実行して、異なる時刻にいくつかの異なる作業を行なう。従ってこのような作業を行なうための機能構成１０２〜１１０を（メモリ２０と共に）有する。これらの機能構成は、別個の構成として図２に示されているが、説明の実施例においては、これらの機能すべては、メモリ２０と協動してプロセッサ１０によって実行される。しかしながら、各機能を実行するために、別個の演算処理装置や専用論理回路を機能的に相互接続して提供してもよいことは言うまでもない。
【００３３】
従って、本実施例は、まず第１に、２次元あるいは３次元の物体の形状を動画として動かすために、また、オプションとしてこの物体を編集するために、定義できるように配置された定義／エディタ部１０２を含むものとして見ることができる。典型的には、定義／エディタ部１０２は、一旦定義された物体を後で用いるために格納するための大容量記憶装置６０に接続され、また、この定義／エディタ部１０２はオペレータがこの物体を変更できるように、入力装置３０に接続される。しかしながら、他の入出力装置（例えばネットワークを介して接続された他のコンピュータ）を追加したり、あるいは入力装置３０及び大容量記憶装置６０の代りにそれらの他の装置を用いてもよい。以下で、より詳細に説明するが、この実施例において、ある物体を定義するデータとはこの物体を形作る複数の曲線あるいは曲面（典型的にはパラメトリック３次元表面）の、制御点すなわち頂点を表わすデータである。この制御点だけを定義することによって、相当数の画素を含む可能性のある滑らかな曲面を相対的にコンパクトに表示することが可能となり、また同時に、この物体の画像が再生される解像度に左右されることもなくなる。
【００３４】
本実施例において、コンピュータ１００はソータ部１０４を有するが、このソータ部は、該物体の表面すなわち領域が描かれる（すなわち、フレーム・バッファ４０中へ描画される）順序を決めながら、その順序に従ってそれらをソートするという初期作業を行なう。これは、他の領域を塞ぐ領域（オクルージョンを生じる領域）を最後に描くためである。ソータ部１０４は、この物体の描画や、その後のすべての動画化に先立って、定義／エディタ部１０２によって定義された物体データをしかるべく読取り、後に用いるためにこの領域の対応するソートされたリストを生成する。
【００３５】
映像表示装置５０のような２次元画面の物体の様相、結果的にはフレーム・バッファ４０に格納される画像データは、その物体が見られる方向に左右される。これは、また、映像表示装置５０の平面に対応する、その物体と抽象的な視点との間の定義された距離にも左右される。従って、コンピュータ１００には、入力装置３０を介して、オペレータが、視方向すなわち方向と距離を定義する（例えば視点及び／又は方向の座標を定義することによって）ことができる視野制御部１０６が含まれる。個々の視点を一度に一つ定義するよりはむしろ、入力装置３０を用いて、例えば動作方向と速度を指定することによって、連続的視点の軌道すなわち視方向を定義してもよい。それによって、連続的に描画される画像を動画化することができる。このような軌道は、パラメトリック曲線を定義する制御点によっても便宜的に表現される。
【００３６】
視方向もしくは距離の少なくともいずれかを定義するデータによって、その物体と映像表示装置５０の抽象的な平面（抽象的な視点）との間の相対的な距離と方向が定義される。単一の物体だけが表示される場合、データとしては、その物体の位置と方位、若しくは画面の位置と方位のどちらかを定義すればよい。なぜなら、重要なことはその両者（物体と画面）の間の相対的傾きだからでる。一方、相互に定義された位置に複数の物体を描く場合には、ある物体を見る位置あるいはある物体の１回毎の新しい位置のいずれかを、視野制御部１０６によって定義できることが望ましい。そうすれば、１つの物体を別個に移動するか、もしくは、すべての物体に対して相対的に視点を移動すればよいことになる。
【００３７】
映像表示装置５０に対応する、視平面との相対的位置関係で、その物体の相対的方位を定義した後に、コンピュータ１００は、映写制御部１０８がそれぞれの３次元物体を２次元視平面に変換して映写するのに必要なデータを持つことになる。映写制御部１０８によってこのように映写された各２次元視平面領域は、次に、ソータ部１０４によって予め定義された順序で、その領域を描画する（すなわち、フレーム・バッファ４０内の各ピクセル記憶場所に、その領域内の適切な色値を割当てる）描画部１１０によって描画される。我々の出願（英国出願番号９１１９４１）に詳細に解説されているように、その物体の外側に面している領域（“前面”）だけを描画する必要がある。従って、描画部１１０は、各領域をテストして、映写面において各領域が向けられている方向を決定するように配置されている。すべての領域を描画し、対応する画像データをフレーム・バッファ４０中に書込んだ後で、視野制御部１０６は、もし必要であれば、視点を更新する。そして、少なくとも、視点が変った場合でも、映写制御部１０８と描画部１１０によって、上記のプロセス過程が再実行される。
【００３８】
上述のように、視野制御部１０６、映写制御部１０８及び描画部１１０は、曲面と軌道を定義する１組の制御点に反応する。本発明は、定義／エディタ部１０２に応用性がみられ、システムのユーザが直感的にこれらの制御点を定義することが可能である。
【００３９】
＜Ｂ−スプライン曲線による受信点補間＞
図３の（ａ）は、３次元空間で定義する必要がある曲線Ｑ（ｔ）を例示するものである。尚、ｘ，ｙ，ｚ軸がこの図に示されている。
【００４０】
曲線Ｑに沿ったすべての点から成る３次元空間の座標は、参考文献等から知られているように、Ｂ−スプライン方程式のようなパラメトリック３次元方程式によって演算することが可能である。Ｂ−スプライン曲線のようなパラメトリック３次曲線には、多くの望ましい特徴があるが、特に、２次元あるいは３次元空間の滑らかに変化する描画を、比較的に適当な演算条件で行なうことができるという点に望ましい特徴がある。曲線を再現するために必要なことは、混合関数に従って１組の制御点Ａｉ  （図で“×”で印した点）の座標の加重平均を演算することである。曲線全体は、変数ｔの多項式である一連の方程式によって定義される。０．０から１．０までの所望の増分で変数を変更することによって、曲線上の任意の、また、すべての点を生成することが可能である。各点Ｑ（ｔ）に対する方程式を、３次Ｂ−スプライン混合関数Ｂ（区分的３次関数）の定義と共に、図３（ｂ）に示す。
【００４１】
Ｂ−スプライン曲線生成の利点は、曲線Ｑ上の各点がせいぜいこの４つの近接制御点の位置に依存し、その一方で、曲線全体を定義するのに、任意の数の制御点を用いることが可能であるという点である。従って、曲線上の任意の点を描画するのに必要とされる演算性能は適度なものでよく、かつ、制御点の数とは無関係である。スプライン曲線の不利な点としては、バーガー＆ギリーズ著の参考文献に解説されているように、曲線を定義する制御点を曲線が実際には通過しないことである。システムのユーザの共通の望みは、マニュアルで、若しくは、既知の物体の周囲をトレースすることによって空間の１組の点を定義し、これらの点間を、これらの点を通って滑らかに補間する曲面あるいは生成軌道を得ることである。
【００４２】
例えば、図１と図２に示されるシステムのユーザは、タブレット装置等の入力装置３０を用いて、曲線Ｑを通過させたいＰ１  からＰＮ  までのＮ個の点の座標を定義／エディタ部１０２に与えてもよい。ユーザから受信したＰ１  〜ＰＮ  の点から、Ｂ−スプライン曲線を定義する制御点として用いることができるＡ０  からＡＮ＋１  までの１組のファントム点を、定義／エディタ部１０２がどのように生成しなければならないかについては、参考文献に説明されている。
【００４３】
Ｐ１  からＰＮ  までの受信点に加えて、曲線Ｑを完全に定義するためには、さらに２つの制約条件が要求される。特に、ユーザは、ｇ１  及びｇＮ  の２つの勾配ベクトルを定義（あるいはそのベクトルのデフォルト値を採用）しなければならない。これらの勾配ベクトルは、単位長のものであるが、端点Ｐ１  とＰＮ  における、変数ｔに対する所望の曲線方向を定義するものである。上記の及び以下の説明を通じて、各“点”及び勾配とは多次元値（ベクトル）であり得るということを理解して欲しい。本システムにおいて、（ｘ，ｙ）及び（ｘ，ｙ，ｚ）という形の２次元値及び３次元値は特に適切なものである。
【００４４】
補間するＢ−スプライン曲線Ｑ（ｔ）及びその微分ｄＱ／ｄｔを定義する一般的な方程式から、図４ａの方程式に示されているように、各受信点Ｐ及び勾配ｇ１  及びｇＮ  はファントム点によって定義することが可能となる。
【００４５】
図４ａにおいて、Ｎ＝４の値が採用されているが、これは、以下の説明における簡単な例の基礎とするためのものである。Ｎ＝４の制御点（Ｐ１  からＰ４  まで）が与えられたケースにおいて、６つの連立方程式があるということが判る。これらの連立方程式を行列形式で記載した状態を図４ｂに示す。（Ｎ＋２）×（Ｎ＋２）の正方行列である、第１係数行列Ｍが定義される。列行列Ａは、その行として、Ａ０  からＡＮ＋１  までの１組のファントム点を含むものとして定義され、一方、列行列Ｐは、その行が（上から下へ）ｇ１  ，Ｐ１〜ＰＮ  ，ｇＮ  を有するものとして定義されている。従って、単一行列方程式Ｍ・Ａ＝Ｐによって、図４ａの１組の連立方程式が定義される。
【００４６】
この６×６の行列Ｍの中央部分は、主対角線上に集中した各行中に繰り返される１／６、２／３、１／６というパターンの正則構造を持っていることが判る。この行列Ｍ全体は、定数スプライン方程式、及び、受信制御点Ｐの変数Ｎに依存する１組の規則によって定義される。さて、現時点で必要なことは、ファントム点Ａを受信点Ｐから演算することである。前記参考文献では、これに対して、行列Ｍの逆行列Ｍ−１である、係数行列を用いることが可能であるという提案がなされている。なぜなら、方程式Ｍ・Ａ＝ＰからＡ＝Ｍ−１・Ｐということが当然の結果として生じるからである。
【００４７】
図４ａと図４ｂから判るように、各制御点Ｐｉ  は、ファントム点Ａｉ  の中のちょうど３つの点の組合せであることが判る。また、行列Ｍのほとんどのエントリは０である。しかしながら、この同じことは逆行列Ｍ−１には当てはまらない。というのは各ファントム点Ａｉ  が、与えられた点Ｐｉ  と勾配ｇ１  とｇＮ  のすべてにある程度まで左右されるという結果を伴うからである。従来技術では、Ｎの異なる値に対して、ガウス消去法による逆行列の前演算法や将来のルックアップのための格納方法が説明される。しかしながら、多数でかつ変りうる数の点に対して、このように多数の大きな行列を格納することは実際的ではない。また一方、多数点の逆行列を演算することは、非常に多くの処理時間を必要とするので、対話型の操作を事実上妨げることになる。
【００４８】
＜端が開いている曲線の例＞
図５ａ〜図５ｉは、本装置によって実現される代替方法を示すものである。本手法によれば、行列Ｍを定義する規則と所望の行列サイズを知ることにより逆行列Ｍ−１を直接生成することが可能となる。ガウス消去法のような従来の方法とは対照的に、実際に、完全な行列Ｍを構築する必要も、単位行列と等しい第２行列を構築する必要もない。説明として、単位行列とは、エントリが、主対角線（ｉ＝ｊ）で１で、かつ、他のところ（ｉ≠ｊ）では０である行列であるということでよく知られている。図５ａ〜図５ｉに示された各ステップにおいて、本例の逆行列Ｍ−１の未定義のエントリが“×”印で示されている。行列記法の規定に従って、任意の特定エントリを、Ｘｉｊとして参照することとするが、これは、行列のｉ行とｊ列のエントリが“Ｘ”であることを示す。諸例の間で一貫性を保つという理由のために、この本文において、第１番目の行と列はそれぞれｉ＝０及びｊ＝０というインデックス値によって識別する。
【００４９】
この装置は、所望の逆行列の検査によって導出された、予め格納された規則に従って動作する。これらの規則は、本文で“除数級数”及び“列級数”として参照される２つの級数を定義するために、表わされたものである。除数級数の項ＤＳｉ  は、２つの初期値及び再帰関係によって以下のように定義される。即ち、
ＤＳ１  ＝１
ＤＳ２  ＝４
ＤＳｉ  ＝４×ＤＳｉ−１  −ＤＳｉ−２  （ｉ＝３，４，５…）
となる。
【００５０】
除数級数の値は従って１，４，１５，５６，２０９などである。除数ｄは、逆行列Ｍ−１に対して定義され、この除数は除数数列、ＤＳＮ−１  の（Ｎ−１）番目の項である。従って、Ｐ１  からＰ４  までの制御点が定義されている（Ｎ＝４）例では、除数ｄは１５である。この除数を演算した後は、除数級数はそれ以上の目的には寄与しない。
【００５１】
列級数ＣＳは、その２つの初期値及び再帰関係によって以下のように定義される。即ち、
ＣＳ１  ＝１
ＣＳ２  ＝２
ＣＳｉ  ＝４×ＣＳｉ−１  −ＣＳｉ−２  （ｉは３，４，５…）
となる。
【００５２】
列級数の値は従って１，２，７，２６，９７などである。この装置によって、列級数の最初のＮ項が演算され、将来の使用のためにこれらは格納される。
【００５３】
次いで、この装置によって、級数がペナルティメート項ＣＳＮ−１  から開始し、後方へ進みながら１つおきの各項に−（負号）をつけることによって、修正列級数ＣＳ’を作成する。Ｎ＝４の例の場合、従って、修正列級数は−１，２，−７，２６となる。又、Ｎ＝５の場合であれば、修正列級数は１，−２，７，−２６，９７となる。
【００５４】
乗数ｍも、この処理のために定義され、それは、与えられた点Ｎの数が偶数か奇数かによって、以下のように定義される。即ち、
ｍ＝−２．０（Ｎは偶数）
ｍ＝２．０（Ｎは奇数）
となる。
【００５５】
修正列級数ＣＳ’、除数ｄ、及び乗数ｍを定義してしまうと、本装置は、今度は、いくつかの単純な規則に従って所望の逆行列Ｍ−１を直接生成することができる。Ｎ＝４の場合を例にとって、図５ａから図５ｉを参照しながら説明する。
【００５６】
最初に、本装置は、サイズＮ×Ｎの内部正方行列の生成を行い、完全逆行列の、最初の列と最後の列、及び最初の行と最後の行は無視される。この内部行列は、図５ａのダッシュで囲まれた領域となる。
【００５７】
図５ａに示されるように、内部行列の最初の列（第１番目の列に対してｊ＝０なので内部行列の最初の列はｊ＝１となる）は、最下部左隅（Ｘ４１）から順に、修正列級数の先頭より４つの項によって定義される。図５ｂと図５ｃで、以下に述べるように、本装置は、内部行列の対角下半分（ｉ＝１〜４；ｊ≦ｉ）におけるエントリの生成を完了する。
【００５８】
図５ｂで、本行列の第３列（即ち、内部行列の第２列（ｊ＝２））の値は、乗数ｍと修正列級数の第２項ＣＳ’２  との積を、図５ａで形成された第２列（ｉ＝１）の対応するエントリに乗ずることによって、第３行（ｉ＝２）から第（Ｎ＋１）行（ｉ＝４）までのエントリが生成される。すなわち、第３列のこれらのエントリには、ｍ＝−２（Ｎが偶数であるため）とＣＳ’２  ＝２を乗じて得られた−４と、第２列の対応するエントリとの積となる。例えば、Ｘ２２＝−７×−２×２＝２８となる。
【００５９】
図５ｃで、行列の第４列（内部行列の３列）の下２つのエントリが、同じようにして生成される。今度は、この行列の第２列の対応する行の各エントリに、乗数ｍと修正列級数の第３項（ＣＳ’３）を乗じてエントリの生成が行なわれる。例えば、行列の第５行と第４列のエントリＸ４３は−１４となるが、これは、−１（第２列の対応するエントリＸ４１）と、ｍ＝−２及びＣＳ’３  ＝−７の積である。
【００６０】
以上のようにして演算された係数は、図５ｄにおいて  除数級数ＤＳから演算された除数ｄ＝１５で除される。図５ｅで、対角指定下半分の値は、シンメトリー規則に従って、対角指定上半分の対応する位置にコピーされる。そのため、内部行列の右半分の各列は、内部行列の左半分の対応する列の“上下逆さま”コピーとなる。
【００６１】
図５ｆにおいて、行列の第１行（ｉ＝０）が、第３行（ｉ＝２）をコピーすることによって生成される。又、図５ｇでは、行列の底の行は、底の行（第Ｎ＋１行）から数えて第３番目の行（本例では、ｉ＝Ｎ＋１−２＝Ｎ−１＝３の行）をコピーすることによって生成される。この時点で、所望の逆行列Ｍ−１の第１列と最後の列が生成される状態が続く。
【００６２】
逆行列の定義は、行列Ｍと逆行列Ｍ−１の積が、サイズ（Ｎ＋２）×（Ｎ＋２）の単位行列Ｉと等しくなければならないことを意味する。この関係式から、また、行列Ｍの特別な形から、すでに見つけられている逆行列の内部部分中のエントリを用いて、逆行列の第１列から欠けている値を演算するための、利用可能な単純な公式が見出されている。
【００６３】
図６にこれらの公式を示す。この公式は、第１番目のＸ００をＮとエントリＸ０１で表わす第１方程式と、残りエントリＸｉ０をそれに隣接したエントリＸｉ１とＮとで表す第２方程式を含む。
【００６４】
図５ｇに示される状態へ戻る。図６に示される方程式は、行列Ｍの形式によって予め決められるものであるが、ここでこれを用いて、逆行列の第１列のＸ００からＸ５０までのエントリをすべて生成することが可能であることが認識されるであろう。図５ｇの例ではＮ＝４であるので、因数２／（Ｎ−１）は値２／３を有する。一方、値Ｘ０１は値−７／１５を持つ。図６の第１方程式は、本装置によって用いられ、エントリＸ００に対して値−９７／１３５が導出される。図６の第２方程式も同様に用いられ、行列の第２列のエントリから、Ｘ１０からＸ５０までの残りのエントリが導出され、図５ｈのようになる。そして、図５ｉにおいて、図５ｈの如く導出された第１列のエントリを底からトップへと読取り、各々に−をつけることによって、逆行列の最も右側の列（ｊ＝Ｎ＋１）が生成される。
【００６５】
これで逆行列Ｍ−１の導出は完了する。ここから、定義／エディタ部１０２によって、与えられた点Ｐ１  からＰＮ  について、Ａ０  からＡＮ＋１  のパラメトリック制御点が演算される。
【００６６】
図５ａ〜図５ｉにおいてＮ＝４の特定例が例示されているが、一般規則を定義することによって、本装置を用いて任意のＮの値に対してこのような行列の逆行列を作ることが可能であるということが見出されている。後で、図１１〜１４を参照しながら、これらの規則をより明白に説明する。しかしながら、この時点で、補間可能な曲線のタイプに関していくつかの変種を考慮することが好都合であろう。
【００６７】
まず、端勾配ベクトルｇ１  とｇＮ  が両方とも０に設定される特別の場合、上記の方法の特別の変種は有効である。これによって、ユーザの操作が単純化され、ユーザは、多くの場合満足な結果を生む一方で、補間のための点Ｐを単に定義するだけでよい。さらに、端勾配が０の場合、逆行列Ｍ−１の最初と最後の列は冗長なものとなり演算する必要がなくなる。従って、図５ｇの如くエントリが求められた後、図５ｈ及び図５ｉの処理を行うことなく、例示された処理を終了することが可能となる。その結果、与えられた４つの制御点Ｐ１  〜Ｐ４  によって、有効にＡ０  〜Ａ５  までのファントム点が定義される。更に、図５ｇにおいて、行列の第１行が第３行と同一であるということ、及び、最後の行は最後の行から３番目の行と同一であるということに気付くであろう。それゆえ、第１ファントム点Ａ０  はファントム点Ａ２  と同一であり、ファントム点ＡＮ＋１  はファントム点ＡＮ−１  と同一である。従って、図５ｅの如く逆行列のエントリが求められた後、本処理を停止することによって、処理負担をさらに省くことができる。つまり、内部行列を用いて、Ｐ１  からＰ４  までの受信点から、点Ａ１  からＡ４  までの４つのファントム点を生成し、そして、この生成されたファントム点Ａ２  とＡ３  （ＡＮ−１  ）を単にコピーすることによってファントム点Ａ０  とＡ４  （ＡＮ＋１  ）がそれぞれ生成される。
【００６８】
＜閉曲線の例＞
図７に閉ループの場合を例示する。この閉ループにおいて、例えば、Ｎ＝４の場合、ユーザが定義した、Ｐ１  からＰ４  までの４つの受信点が１つの連続曲線Ｑを完全に定義するようになっている。Ａ１  からＡ４  までの４つのファントム点によって、補間すべきＰ１  からＰ４  までの受信点を定義する４つの連立方程式が、図８の（ａ）に示されている。これらの方程式の中に、また、これと等価な図８の（ｂ）に示された行列方程式中に、係数１／６、２／３及び１／６のパターンを明白に見ることができる。このパターンは、新しい行列Ｍの各行で繰り返されるが、このパターンは、端が開いている例（図４ｂ）の行列Ｍの内部部分にもまさに密接に対応するものである。このパターンは、主対角線上に集中するように行列の行から行へ移されるが、一方、行列のトップの左に現れる１／６という係数は、トップの右位置まで「ラップアラウンド」され、また、同様に、底の右からの係数は底の左に現れるようにラップアラウンドされる。
【００６９】
この「ラップアラウンド」特徴の必然的結果として、どの点が最初の点で、どの点が最後の点であるかという選択は、１つの閉曲線上では、全く任意であるということが観察される。これは逆行列Ｍ−１が、エントリの位置での周期的な桁送りを除いて同一行を含んでいるということがこの観察から生じる当然の結果である。従って、この装置は、１つの閉曲線に対して、逆行列の１つの行だけを明示的に演算するように作動する。そして、これは受信点Ｐｉ  に対して適用され、対応するファントム点が巡回的に生成される。事実、この繰返し行は係数の１つに関して対称的になるので、行列の１つの行の半分だけを明示的に演算する必要があるということが認識されている。本例において採用されている手順は以下のとおりである。
【００７０】
図９の（ａ）から（ｆ）に示されているように、端が開いている曲線に関して２つの級数が演算される。この場合、この級数は、除数級数ＤＳと行級数ＲＳである。級数項ＤＳとＲＳに対する公式は曲線の受信点の数Ｎが奇数か偶数かに依存する。Ｎが偶数の場合、級数は以下のように定義される。即ち、
ＤＳ１  ＝１
ＤＳ２  ＝４
ＤＳｉ  ＝４×ＤＳｉ−１  −ＤＳｉ−２  （ｉは３，４，５…）
ｄ＝ＤＳＮ／２
ＲＳ１  ＝１
ＲＳ２  ＝２
ＲＳｉ  ＝４×ＲＳｉ−１  −ＲＳｉ−２  （ｉは３，４，５…）
となる。
【００７１】
又、Ｎが奇数の場合、級数は以下のように定義される。即ち、
ＤＳ１  ＝１；
ＤＳ２  ＝３
ＤＳｉ  ＝４×ＤＳｉ−１  −ＤＳｉ−２  （ｉは３，４，５…）
ｄ＝ＤＳ１＋Ｎ／２
ＲＳ１  ＝１
ＲＳ２  ＝５
ＲＳｉ  ＝４×ＤＳｉ−１  −ＤＳｉ−２  （ｉは３，４，５…）
となる。
【００７２】
除数ｄは、上記に定義されているような除数級数から演算され、Ｎが偶数の時はｄ＝ＤＳＮ／２、Ｎが奇数の時はｄ＝ＤＳ１＋Ｎ／２となる。整数演算を用いて、これらの式の両方を組合せて、単一の論理式ｄ＝ＤＳ（Ｎ＋１）／２  を得ることが可能であることが、以下明らかとなるであろう。
【００７３】
この行級数ＲＳは、１＋Ｎ／２項（Ｎ／２は用いられた整数演算によって丸められる）の長さまで演算される。従って、Ｎ＝４の場合、行級数には３つの項１、２及び７が含まれるようになる。先の例における列級数ＣＳと同様に、ペナルティメート項から始めて後ろ向きに数えながら、行級数の各項に１つおきに−（負号）をつけることによって、修正行級数ＲＳ’が生成される。従って、Ｎ＝４に対して、修正行級数ＲＳ’は１、−２、７である。次いで、修正行級数のこれらの項は、除数（ｄ＝４）で単に除され（図９の（ｂ））、１＋Ｎ／２個の係数が形成される（図９の（ｃ））。次いで、（１＋Ｎ／２）番目の係数について係数を「反射」することにより、残りの係数が生成される。このようにして、必要とする逆行列の（１＋Ｎ／２）番目の行が得られる（図９の（ｄ））。その他の行については、単に図９の（ｅ）に示されているように、図９の（ｄ）と同じものを移動して得られる。
【００７４】
図９の（ｆ）に示されるように、追加点Ａ５  及びＡ６  （すなわちＡＮ＋１  及びＡＮ＋２  ）は定義されるが、これは単に最初の２つの生成点Ａ１  とＡ２  をコピーしたものである。これは、生成点Ａｉ  が、スプライン曲線を生成するための制御点として用いられるその後の処理にとって、閉曲線の場合のラップアラウンドのことを心配することなく、同じ手順を端が開いている曲線と閉曲線の双方に対して用いることができるという点で便利である。
【００７５】
図１０ａ〜図１０ｆに、奇数Ｎ＝１１の点によって定義された、より大きな閉曲線に対応するための手順が例示されている。図１０ａは曲線Ｑを示し、この曲線はＰ１  からＰ１１までのユーザ指定制御点を補間し、Ａ１  からＡ１１までのファントム制御点によって定義される。ファントム点Ａｉ  によってユーザ指定点Ｐｉ  を定義する１１個の線形方程式を、図１０ｂに行列形式で示す。１１×１１の係数行列の正則構造を明らかに見ることができ、この中で、パターン１／６、２／３、１／６が、主対角線に沿って再び繰り返されている。前記参考文献では、この行列を反転させるということが提案されるにすぎないであろうが、本装置では、Ａ１  からＡ１１までの所望のファントム点を以下のようにより直接的に演算することができる。
【００７６】
図１０ｃで、除数級数ＤＳが６つの項まで演算され、第６項が除数ｄ＝５７１として選択される。図１０ｄで、行級数ＲＳがやはり第６番目の項まで演算される。次いで、修正行級数ＲＳ’が、最後から２番目の生成項から１つおきに各項に−をつけることによって生成される。次いで、修正行級数ＲＳ’が除数ｄで除され、求めるべき逆行列の中央行（第６番目の行）の最初の６つの項が生成される（図１０ｅ）。図１０ｆで、求めるべき逆行列の中央行の残りの項が、「反射」によって第６の項のもう一方の側に生成される。
【００７７】
＜一般化された実施例＞
上記の例から生じる結果として、図１１〜１３のフローチャートを参照しながら、より形式的に、一般的な条件で本装置の作動を定義することができる。
【００７８】
図１１のフローチャートによって、この装置の動作の概要が与えられており、このフローチャートには、定義／エディタ部１０２、視野制御部１０６、映写制御部１０８及び描画部１１０の動作が含まれている。しかしながら、本明細書にとって特に有意義なものとしては、定義／エディタ部１０２によって実行されるような、ユーザによる定義点を補間するスプライン物体の定義である。このフローチャートはステップ１１００から始まり、以下のように続く。ステップ１１０２で、これまで未定義の数Ｎの制御値が、入力手段３０を介してユーザから受信されるが、これらの値は、２次元あるいは３次元空間のＰ１  からＰＮ  までのＮ個の点Ｐを定義するものである。１１０４で、ユーザは、受信点のさらなる処理を行なうための使用可能な機能の範囲からの選択を促される。ここで、例えば、ユーザはＢ−スプライン補間機能に従ってＰ１  からＰＮ  の点を通る曲線を示すという機能を選択をするように促される。他の機能として、例えば、多角形定義を含め、指定された記憶場所、あるいは、任意の記憶場所にこれまで定義した物体を複製することも含まれよう。
【００７９】
Ｂ−スプライン補間が選択されたと仮定すると、制御はステップ１１０６に移り、ユーザは、端が開いている曲線か閉じている曲線のいずれかを選択するように要求される。端が開いている曲線を所望すると、ユーザは、ｇ１  からｇＮ  までの端勾配を指定するように促される（ステップ１１０８）。この時点で、ユーザはデフォルト値ｇ１  ＝ｇＮ  ＝０の指定を単に選択してもよい。閉曲線が生成される場合、端部の制約条件は暗黙裡に含まれているのでステップ１１０８は必要とされない。
【００８０】
ユーザに関する限り、所望の曲線はここで定義され、定義／エディタ部１０２によって、上記の例のようなファントム点が生成され始める。端が開いている曲線の場合と、閉曲線の場合とで異なるプロセスが含まれているという観点から、夫々別個のモジュール１１１０ａと１１１０ｂによってファントム点が生成される。これらのモジュールについて、図１２と１３を参照してより詳細に後述する。ステップ１１１２で、生成されたファントム点は、スプラインオブジェクト定義として必要制御情報と一緒に、装置が所有するメモリ（図１の２０、６０）のオブジェクトデータベースに格納される。この時点で制御は、より多くの曲線を必要とする場合、あるいは例えば、スプライン曲面片を定義する１組の曲線を処理する場合、ステップ１１０２に返されてもよい。
【００８１】
一度オブジェクトデータベースが完全なものになれば、視野制御部１０６と映写制御部１０８が作動し（ステップ１１１４）、一般的な方法で視方向と物体方位に従ってスプラインオブジェクト定義が変換される。ステップ１１１６で、描画部１１０が、スプライン重み関数を用いて、一般的な方法で、変換されたファントム点の間を再補間して、表示画面あるいは他の画像録画媒体上へスプラインオブジェクトを描画する。１１１８で、制御をステップ１１１４と１１１６へ繰返し戻して、様々な位置と角度から目に見えるのと同じ様に、オブジェクトデータベースの物体画像を描画してもよい。各繰返しのための視位置は、ユーザによって対話処理によって定義されてもよいし、あるいは、前もって定義した軌道に従って定義されてもよい。見る位置によって、ユーザによって定義された一連の点が滑らかに補間されるように、この軌道それ自体が、上記のように定義／エディタ部１０２によって定義されたスプラインオブジェクトであってもよい。
【００８２】
図１２ａと図１２ｂは、端が開いている曲線のためのファントム点が生成される際の本装置の動作手順（すなわち、図１１のステップ１１１０ａの動作）を定義するフローチャートを示す。ステップ１２００で、除数ｄが演算されるが、これは、除数級数ＤＳＮ−１  の（Ｎ−１）番目の項として定義される。この目的のために、除数級数の値は任意の長さまで前もって格納されていてもよいし、あるいは必要に応じて生成されてもよい。ステップ１２０２で、列級数ＣＳが、Ｎ項の長さまで生成され、ステップ１２０４で修正されて、修正列級数ＣＳ’が生成される。ステップ１２０６で、乗数ｍが、Ｎの値が偶数か奇数によって、それぞれ、−２．０あるいは２．０のいずれかに設定される。行列Ｍの逆行列Ｍ−１を形成する係数演算のための必要定数を生成した後、装置はステップ１２０８から１２２２へ処理を続け、この係数行列の内部部分が生成される。
【００８３】
ステップ１２０８及び１２２２によって“ＦＯＲループ”が定義され、これによって、内部行列の各行が順番にアドレス指定されるように、インデックスｉが１から増分１で値Ｎまで進む。ステップ１２１０で、カレント行ｉの第１エントリＸｉ１は、修正列級数から項ＣＳ’Ｎ＋１−ｉ  をコピーすることによって生成される。本装置では、図５ｅに対応するコピー処理のために別個のＦＯＲループを用いずに、即座に値Ｘｉ１を対角線を軸に対向するエントリ（Ｘ（Ｎ＋１−ｉ），Ｎ  ）にコピーする（ステップ１２１２）。ステップ１２１４及び１２２０によって内部“ＦＯＲループ”が定義され、これによってインデックスｊがインクリメントされて、行ｉにおける内部行列の対角線下半分にさらなるエントリのアドレスを指定する。インデックスｊが、ステップ１２１４において値２に初期設定され、インデックスｉがそのまま１に等しい場合、制御は直接ステップ１２２２へ移る。索引ｉが１に等しくない場合は、修正列級数ＣＳ’からの乗数ｍ、除数ｄ及び２つのエントリを用いて、ステップ１２１６で各係数Ｘｉｊが演算される。再び、ステップ１２１８で、ステップＳ１２１６で得られたエントリＸｉｊが、行列の対称性に従って、対角線を軸に対向するエントリＸ（Ｎ＋１−ｉ），（Ｎ＋１−ｊ）  へコピーされる。内部行列のｉ＝１からＮまですべての行が生成された後、図１２ｂのステップ１２２４へ制御が移る。
【００８４】
ステップ１２２４で、曲線の両端の勾配が検査され、デフォルト値ｇ１  ＝ｇＮ  ＝０が端勾配に対して選択されたか否かによってさらなる処理が実行される。デフォルト値が適用された場合、図５の例に関して説明したように、処理は単純化され、ステップ１２２６から１２３４に従って内部行列の係数から、Ａ０  からＡＮ＋１  までのファントム点を直接生成することが可能となる。ステップ１２２６と１２３０によって、インデックスｉが１からＮまで変化するＦＯＲループが定義され、このループ内のステップ１２２８によって対応するファントム点が生成される。行列乗法の定義に従って、Ａｉ  は、ｊ＝１からＮに対応する係数Ｘｉｊと関連する受信点Ｐｊ  との積の和として定義される。
【００８５】
次いで、デフォルト端条件が選択された状態では、点Ａ２  を単にコピーすることによって、点Ａ０  がステップ１２３４で生成される。一方、点ＡＮ＋１  は、点ＡＮ−１  をコピーすることによってステップ１２３２で生成される。Ａ０  からＡＮ＋１  までのすべてのファントム点がこのようにして生成される。
【００８６】
ステップ１２２４へ戻って、デフォルト条件が適用されない場合、係数を表わす、行列の外側の行及び列は、ファントム点が生成される前に、演算されなければならない。この目的のために、ステップ１２３６と１２４２によって、ステップ１２３８及びステップ１２４０を含むＦＯＲループが定義される。この結果、インデックスｊが１からＮまで変化し、行列の各列が順番にアドレス指定される。ステップ１２３８で、第１行及びカレント列の係数Ｘ０ｊが、第３行から係数Ｘ２ｊをコピーすることによって生成される。同じ様にして、ステップ１２４０で係数Ｘ（Ｎ＋１），ｊ  が、最後の行から３番目のエントリＸ（Ｎ−１），ｊ  をコピーすることによって、生成される。
【００８７】
次いで、ステップ１２４４で、第１列の第１エントリＸ００が、図６で導出された論理式に従ってその右側のエントリを用いて生成される。ステップ１２４６で、エントリＸ００がコピーされ、−（負号）をつけられて、対角線を軸に対向するエントリＸ（Ｎ＋１），（Ｎ＋１）  が生成される。ステップ１２４８と１２５４でステップ１２５０と１２５２とを含むＦＯＲループが定義され、ｉ＝１からＮ＋１までの行のアドレス指定によって最初と最後の列の残りの係数が生成される。ステップ１２５０で、図６において示された式に従って、係数Ｘｉ０が係数Ｘｉ１から生成され、ステップ１２５２で、これはコピーされ、−をつけられて、対角線を軸に対向する係数Ｘ（Ｎ＋１−ｉ），Ｎ  が生成される。
【００８８】
以上で、完全な係数行列Ｍ−１が生成されたので、Ａ０  からＡＮ＋１  までのファントム点を生成することが可能となる。ステップ１２５６と１２６０で、インデックスｉが０からＮ＋１まで変化するループが定義され、ループ内のステップ１２５８によって対応するファントム点Ａが、行列乗法の標準規則に従って、再びカレント行ｉに沿って総和を行なうことにより生成される。
【００８９】
図１３ａは、閉曲線（図１１のステップ１１１０ｂ）の場合のファントム点を生成するためのフローチャートを示す。ステップ１３００で、除数級数ＤＳは前もって定義した規則に従って生成されるが、この級数は受信制御点の数Ｎが奇数か偶数かに依存することは前述の通りである。ステップ１３０２で、除数ｄが決定されるが、これは、除数級数の項である。普通のＤＳ（Ｎ＋１）／２  浮動小数点演算システムが、本装置の係数及びファントム点の演算に適用されるのに対して、これらの例のインデックスｉとｊは、整数演算回路だけを用いて演算されるということは重要である。この結果を図１４に例示する。この中で、表は７〜１４の範囲のＮの値に対する（Ｎ−１）／２、Ｎ／２及び（Ｎ＋１）／２の値を示す。標準演算という点から、これらの式の意味は、例示されているようにＮが奇数であるか偶数であるかに左右される。例えば、Ｎが１１か１２のいずれかの場合、除数ｄの値は、除数級数の第６項になることが判る。
【００９０】
ステップ１３０４で、行級数ＲＳは、第（Ｎ／２＋１）項の合計に演算される。ステップ１３０６で、修正行級数ＲＳ’は、上記に説明した規則に従って（すなわち、ペナルティメート項から始まり後方へ進みながら、１項おきに−をつけることによって）生成される。上記閉曲線の例で注意したように、ファントム点Ａｉ  を生成するためには、係数行列を完全に生成することが必要である。従って、作動中の装置で、図１３ａのフローチャートに従い、ファントム点は、修正行級数ＲＳ’値を係数として用いて直接生成される。ステップ１３０８と１３１２で、ｉ値が１からＮまで変化し、各ファントム点Ａｉ  が順番にアドレス指定されるように、ステップ１３１０を含むループが定義される。ｄによる除算は、上記の例とは対照的に、各ファントム点に対して一度だけ実行されるが、同じ端結果を生じる。ステップ１３１０で示される公式内には３つの項があり、それらの内の２つには、総和値が含まれる。中央項によって、係数ＲＳ’の中の最大値ＲＳ’Ｎ／２＋１  ／ｄに、現在生成されているファントム点Ａｉ  に対応する受信点Ｐｉ  が乗ぜられる。この左側の項では、ｊが１からＮ／２まで変化する総和によって、ＲＳ’により定義された係数の級数に、対応する点Ｐ（ｉ−ｊ）  がＰｉ  の左側まで乗ぜられる。同様に、ｊが１から（Ｎ−１）／２まで動く２番目の総和には、点Ｐ（ｉ＋ｊ）  から点Ｐの右側までの寄与が含まれている。図１３ｂで示されるように、インデックス（ｉ−ｊ）と（ｉ＋ｊ）は“モジュロ−Ｎ”関数（％Ｎ）によって修正され、正確な「ラップアラウンド」が、点Ｐ１  から左方向へＰＮ  まで、そして、点ＰＮ  から右方向へＰ１  まで成し遂げられる。閉曲線を定義するのに必要な、Ａ１  からＡＮ  までのファントム点を生成した後、装置はステップ１３１４で、点ＡＮ  、Ａ１  及びＡ２  をそれぞれコピーすることによってさらに、点Ａ０  、ＡＮ＋１  、及びＡＮ＋２  を生成し始める。これによる利点は、スプライン曲線描画ステップ１１１６（図１１）が端が開いている曲線と閉曲線との区別をせずに、Ａ０  からＡＮ＋２  までのこの拡張された１組の点をそれに与えることによって作動することができるということである。そして、このようにすることで、所望の閉曲線が描画されるという結果になる。
【００９１】
上記の説明から、上記に説明したような装置によって、従来技術で提案されるような、Ｎ×Ｎ行列の係数を構築し、反転する必要なく、ユーザから受信されたＮ個の点を補間するスプラインオブジェクトを定義する方法が、提供されているということが認識されるであろう。特に、単純で前もって定義した１組の規則から直接生成された係数を用いて、受信点から１組のファントム点を生成することが可能であることが示された。一度曲線のタイプが定義されると（本例ではＢ−スプライン）、これらの規則をインプリメントする目的のための唯一の変数は、実際上受信点の数Ｎである。演算処理装置によって実行される必要がある演算の数、特に、時間を消費する除法及び乗法作動の数は、上記の装置で軽減され、増加するＮに関してただ線形的に増加する傾向をもつ。従って、説明してきたような装置は任意の多数の受信点に対して作動することが可能であり、特に、与えられた点の数を従来の知られているシステムより迅速に補間する曲線を生成することが可能となる。その結果、特に、ユーザが、新しい点を入力したり、すでに存在する点を移動した場合に引起こされるスプラインオブジェクトに対する影響を対話処理によって見ることが可能となる。
【００９２】
＜近似モード＞
しかしながら、本当に対話型の動作を行なうために、上記の装置でも、普通のパーソナル・コンピュータで実行された場合、補間すべき非常に多数の点に直面すると、処理スピードが遅くなる可能性がある。従って、ここまで説明したような装置の単純な変更によって受信点の近似補間が達成され、特に、装置の表示画面上での対話型操作を行なうためのある実施例を今から説明する。図１１のフローチャートによって提供された動作の概観を参照すると、装置の機能選択ステップ１１０４によって、ユーザが、ステップ１１０６〜１１１２によって実現される完全なＢ−スプライン補間の選択とは異なる近似補間を選択できることが点線によって示されている。
【００９３】
近似補間モードにおける作動の主要点は以下のとおりである。これまで言及したように、各ファントム点位置Ａｉ  は、受信されたＮ個の制御点Ｐ１  からＰＮ  の全てに左右され、その当然の結果として、逆行列Ｍ−１の係数がすべての位置でゼロでない値を持つようになると言うことは、厳密に言って、真実である。しかしながら、実際上は、多数のＮの値に対して、主対角線から遠い逆行列の係数が０に近づくことが観察される。言いかえれば、Ｐ１  からＰＮ  までのすべての点が理論的にファントム点Ａｉ  の位置に寄与しているのに対して、位置Ａｉ  に対する主な影響は、対応する受信点Ｐｉ  と、点Ｐｉ  に最も近接している点に由来している。従って、本装置の近似補間機能は、受信点Ｐｉ  に対応するファントム点Ａｉ  の１組の近似点を生成するように作動する。ここで、各近似ファントム点Ａｉ  には、受信点Ｐｉ  とその最も近い隣接点の中のいくつかの点からの貢献しか含まれておらず、その隣接点の中から選ぶ数は、任意の所望の程度の精度が得られるように選択可能である。この目的のために、装置によって、正確な上記補間例のような１組の係数が生成されるが、これは、受信点の実際の数Ｎより少ないＮ’の数の点を表わす。次いで、これらの係数は、順番に各点を生成するいわば“動く窓”のように受信点に対して適用される。
【００９４】
図１５に、Ｎ＝１００の受信点を持つ閉曲線の場合の、この装置の近似補間機能の作動を例示する。この例において要求される精度の程度は、Ｎ’＝１１となるように設定されている。従って、この係数の核は、図１５ａの１５００に例示されるように修正行級数ＲＳ’から生成される。この核を生成するのに必要とされる動作は、図１３ａのフローチャートのステップ１３００〜１３０６に例示されている手順と全く同じであるが、受信点の合計数Ｎの代りに用いられる値はＮ’である。従って、核１５００は図１０ｆで誘導された係数の行と全く同じである。
【００９５】
１組のＭ’個の係数を定義した後、図１５ｂに示される公式を用いて、ｉ＝１からＮまでの値に対して近似のファントム点位置Ａｉ  を生成することが可能となる。この公式は、図１３ａのステップ１３１０中で用いられたものと同一であるが、ｊの値の範囲を決定するために、Ｎ自身の代りにＮ’の値が用いられていることに気付くであろう。従って、２つの総和項で、点Ｐの一方の側で５つの受信点だけが、モジュロ−Ｎ機能によってインデックスを付けられ、Ｐ１００  から点Ｐ１  （その逆もまた同様に）まで必要なラップアラウンドが提供される。正確な補間例の場合と同じように、追加点Ａ０  、Ａ１０１  及びＡ１０２  が、点Ａ１００  、Ａ１  、及びＡ２  をそれぞれコピーすることによって生成され、描画ステップ１１１６（図１１）に明示的にラップアラウンドを実現する必要性が回避される。
【００９６】
図１６に、同様に、Ｎ＝１００の受信点を持ち、かつ、Ｎ’＝１１のような設定された１組の所望の程度の精度を持つ、端が開いている曲線の場合の、この装置の近似補間機能の動作を概略的に例示する。図１２の例のような正確な補間のために生成される、逆行列に対応する係数の配列が、０からＮ’＋１＝１２まで行インデックスｉと列インデックスｊの両方が動きながら生成されて、図１６に例示されている。図１６の例では、デフォルト値ｇ１  ＝ｇＮ  ＝０が端勾配に対して選択され、従って、行列の外側のｊ＝０及びｊ＝１２の列は生成されていないものと仮定されている。正確な補間例Ｎ＋２におけるように、Ａ０  からＡ１０１  までのファントム点は、以下のように生成される。
【００９７】
Ａ１  からＡ６  までの６つのファントム点は、受信点の配列に、ｉ＝１からｉ＝６までのそれぞれの係数行を乗ずることによって、図１２ｂのステップ１２２８に従って正確に生成される。第１行（ｉ＝０）は、前の例で言及したように第３行（ｉ＝２）と同一であり、次いで、第１ファントム点Ａ０  が、点Ａ２  を単にコピーすることによって生成される。係数行列の行ｉ＝６は、図１６で斜線で影をつけられているが、“動く窓”として、図１５ａの核１５００が使われたのと類似の仕方で繰返し用いられ、Ａ７  からＡ９５までのファントム点の中央部分集合が生成される。次いで、ｉ＝７からｉ＝１１までのその固有の係数行をそれぞれ使用して、Ａ９６からＡ１００  までのファントム点が生成され、点Ａ１０１  は、点Ａ９９をコピーすることによって最終的に生成される。このようにして、Ａ０  からＡ１０１  までのファントム点の完全な１組がスプラインオブジェクトを定義して生成されるが、各ファントム点は、Ｐ１  からＰ１００  までの合計Ｎ＝１００の受信点の内の最も近接した１１個の隣接点だけから誘導されたものである。
【００９８】
従って、結果として生じるスプラインオブジェクトは、Ｎ’の選択されたサイズによって決定された精度を持つ受信点の近似補間にすぎない。しかしながら、１，０００×１，０００ピクセルの表示画面による対話型作業のためには、最近傍の１０若しくは１１個だけのピクセルを考慮することによって生じる不正確さは、実際上、検知できないということが判っている。もちろん、対話型処理によって近似的に所望のスプラインオブジェクトを定義してしまえば、ユーザは完全に正確なスプライン物体を生成するために、以上説明してきたような正確なＢ−スプライン補間のより遅い機能を選択することは利用者の自由である。以上の操作は、例えば、スプライン物体を、３５ミリフィルムのような高い解像度の画像録画媒体上へ描画しなければならない場合に必要となるかもしれない。またスプライン曲線によって、工作機械あるいはロボット駆動装置の軌道が定義されるシステムの場合に興味あるものとなろう。
【００９９】
端勾配のデフォルト値がまだ選択されていない状態に備えて、すなわち、ｇ１  もしくはｇＮ  の少なくともいずれかがゼロでない場合に備えて、係数行列の外側の列と行は、明示的に生成されるべきである。そのような場合、近似補間機能の動作は、図１７に例示されるように、わずかにより複雑になる。ゼロでない係数からなる行列が、図１６の表示に類似の仕方で図１７に表わされているが、この実例だけの目的のために、行ｉ＝６は３つの行に拡大されている。以前と同じ様に、最初の部分集合、中央部分集合、及びファントム点の最後の部分集合が生成される。ファントム点の第１部分集合には、Ａ０  からＡ６  までの点が含まれ、これらの各々は、係数からなる行列のｉ＝０からｉ＝６のそれぞれの行を用いて生成されるが、最後の列（ｊ＝１２）中のエントリは、これら最後の係数が未定義の端勾配に関するものであるという理由で、用いられない。Ａ７  からＡ９４までの点の中央部分集合に対して、係数の行ｉ＝６（図１７で斜線で影を付けられている）は、動く窓として繰返して用いられるが、最初のエントリと最後のエントリ（ｊ＝０，１２）の両方は無視される。
【０１００】
最後に、ファントム点の最後の部分集合は、係数行列のｉ＝６からｉ＝１２をそれぞれ用いてＡ９５からＡ１０１  まで生成される。ただ、今回は、左側の勾配制約条件が使用不可能という理由で、第１列ｊ＝０が無視される。
【０１０１】
当業者である読者には、説明された作業を行なうための装置の多くの異なる実現例を理解できるであろう。例えば、汎用コンピュータ装置を‘Ｃ’言語や、他の高級言語でプログラムして、１組の受信点からスプライン曲線を描画するのに必要なすべての作動を含むルーチンを、例えば、上記のフローチャートに従って定義してもよい。そのルーチンによって、例えば、今説明したような近似補間を実現するために、“有意点”の数（Ｎ’）の制限を特定することによって、それらの点が組合わされ、それぞれのファントム点になることが可能となる。次いで、特定された有意点の数が、受信点の数の合計と等しいかそれを越えて十分に高く設定された場合、正確な補間が得られることになる。又、そのルーチンによって、可能性のあるすべて、あるいはそれらのひとつの部分集合だけがカバーされ得る。また、例えば、端が開いている曲線の端勾配が両方とも０であるというデフォルト条件を仮定できるかもしれない。
【０１０２】
必要なタイプの曲線（閉曲線あるいは端が開いている曲線）に従って必要な１組のファントム点を得た後、このルーチンによって、それらのファントム点を制御点として持つスプライン曲線上の所望の点の位置を演算する機能を与えることもできよう。これによって、所定の指定解像度の数のサンプルに対して、完全な１組の点を生成することができようし、あるいは、曲線パラメータの指定値に応じて曲線上の１点を単に返すこともできよう。
【０１０３】
この発明の原理のその他の多くの実現例が上記に説明した特定例に加えて可能であることを、当業者である読者は容易に理解するであろう。当業に周知の方法で、この技術を容易に拡張し、スプライン曲線のネットワークによって、曲面を定義してもよい。更に、コンピュータ・グラフィクスにおけるこの技術の応用は数多く、変化に富むものであり、また、ロボット工学や数値制御のような他の分野にこれらの技術の応用を見い出すこともできよう。従って、本発明の範囲は、上記の例に決して限定されるものではなく、また、説明された特定の応用例に限定されるものでもない。
【０１０４】
【発明の効果】
以上説明したように、本発明によれば、１組のＮ個の受信値を近似的に補間する曲線上の所望の補間値を生成することが可能となる。
【０１０５】
又、本発明の他の構成によれば、１組の受信値より受信値群を順次抽出し、各受信値群に所定の係数を適用することによって近似曲線を得るための仮想点を順次発生することが可能となり、簡潔で迅速な曲線補間処理が可能となる。
【０１０６】
又、本発明の他の構成によれば、１組の受信値に対応する１組の仮想値を所定の数列に含まれる各項を用いて生成される係数行列により獲得し、仮想値の獲得を迅速に行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の１実施例による装置の概略の構成を示すブロック図である。
【図２】図１の装置のプロセッサによる機能構成を表すブロック図である。
【図３】３次元パラメトリック曲線を制御するためのファントム点を生成することによって、１組の受信点を補間する様子を説明する図である。
【図４ａ】４つの受信点Ｐ１  からＰ４  とファントム点の関係を説明する図である。
【図４ｂ】４つの受信点Ｐ１  からＰ４  とファントム点の関係を説明する図である。
【図５ａ】Ｎ＝４の場合におけるファントム点の生成手順を表す図である。
【図５ｂ】Ｎ＝４の場合におけるファントム点の生成手順を表す図である。
【図５ｃ】Ｎ＝４の場合におけるファントム点の生成手順を表す図である。
【図５ｄ】Ｎ＝４の場合におけるファントム点の生成手順を表す図である。
【図５ｅ】Ｎ＝４の場合におけるファントム点の生成手順を表す図である。
【図５ｆ】Ｎ＝４の場合におけるファントム点の生成手順を表す図である。
【図５ｇ】Ｎ＝４の場合におけるファントム点の生成手順を表す図である。
【図５ｈ】Ｎ＝４の場合におけるファントム点の生成手順を表す図である。
【図５ｉ】Ｎ＝４の場合におけるファントム点の生成手順を表す図である。
【図６】図５ａ〜図５ｉにおいて用いられる２つの式を示す図である。
【図７】補間曲線として閉曲線を生成する受信点（Ｎ＝４）の例を表わす図である。
【図８】図７の例における受信点とファントム点との間の関連を例示する図である。
【図９】図７の例におけるファントム点を生成する手順を例示する図である。
【図１０ａ】Ｎ＝１１の受信点に閉ループの曲線を補間する様子を表わす図である。
【図１０ｂ】図１０ａの受信点よりファントム点を生成する手順を表わす図である。
【図１０ｃ】図１０ａの受信点よりファントム点を生成する手順を表わす図である。
【図１０ｄ】図１０ａの受信点よりファントム点を生成する手順を表わす図である。
【図１０ｅ】図１０ａの受信点よりファントム点を生成する手順を表わす図である。
【図１０ｆ】図１０ａの受信点よりファントム点を生成する手順を表わす図である。
【図１１】ユーザにより指定された点をスプライン補間する手順を表すフローチャートである。
【図１２ａ】開曲線のファントム点の生成手順を表すフローチャートである。
【図１２ｂ】開曲線のファントム点の生成手順を表すフローチャートである。
【図１３ａ】閉曲線のファントム点の生成手順を表すフローチャートである。
【図１３ｂ】モジュロ−Ｎ関数を表わす図である。
【図１４】整数演算の動作を例示する図である。
【図１５ａ】閉曲線を定義するＮ＝１００の多数受信点の近似補間を与えるファントム点の生成を例示する図である。
【図１５ｂ】閉曲線を定義するＮ＝１００の多数受信点の近似補間を与えるファントム点の生成を例示する図である。
【図１６】Ｎ＝１００の受信点と端勾配条件がゼロの開曲線の近似補間のためのファントム点の生成方法を説明する図である。
【図１７】Ｎ＝１００の受信点と端勾配条件がゼロでない開曲線の近似補間のためのファントム点の生成方法を説明する図である。
【符号の説明】
１０  プロセッサ
２０  メモリ
３０  入力装置
４０  フレームバッファ
５０  映像表示装置
６０  大容量記憶装置
１００  コンピュータ
１０２  定義／エディタ部
１０４  ソータ部
１０６  視野制御部
１０８  映写制御部
１１０  描画部
【図１】
0003571754.tif 000002
【図２】
0003571754.tif 000003
【図３】
0003571754.tif 000004
【図４ａ】
0003571754.tif 000005
【図４ｂ】
0003571754.tif 000006
【図５ａ】
0003571754.tif 000007
【図５ｂ】
0003571754.tif 000008
【図５ｃ】
0003571754.tif 000009
【図５ｄ】
0003571754.tif 000010
【図５ｅ】
0003571754.tif 000011
【図５ｆ】
0003571754.tif 000012
【図５ｇ】
0003571754.tif 000013
【図５ｈ】
0003571754.tif 000014
【図５ｉ】
0003571754.tif 000015
【図６】
0003571754.tif 000016
【図７】
0003571754.tif 000017
【図８】
0003571754.tif 000018
【図９】
0003571754.tif 000019
【図１０ａ】
0003571754.tif 000020
【図１０ｂ】
0003571754.tif 000021
【図１０ｃ】
0003571754.tif 000022
【図１０ｄ】
0003571754.tif 000023
【図１０ｅ】
0003571754.tif 000024
【図１０ｆ】
0003571754.tif 000025
【図１１】
0003571754.tif 000026
【図１２ａ】
0003571754.tif 000027
【図１２ｂ】
0003571754.tif 000028
【図１３ａ】
0003571754.tif 000029
【図１３ｂ】
0003571754.tif 000030
【図１４】
0003571754.tif 000031
【図１５ａ】
0003571754.tif 000032
【図１５ｂ】
0003571754.tif 000033
【図１６】
0003571754.tif 000034
【図１７】
0003571754.tif 000035