JP2578787B2 - パラメトリック・パッチの再分割システム - Google Patents

パラメトリック・パッチの再分割システム

Info

Publication number
JP2578787B2
JP2578787B2 JP61505280A JP50528086A JP2578787B2 JP 2578787 B2 JP2578787 B2 JP 2578787B2 JP 61505280 A JP61505280 A JP 61505280A JP 50528086 A JP50528086 A JP 50528086A JP 2578787 B2 JP2578787 B2 JP 2578787B2
Authority
JP
Japan
Prior art keywords
control point
signal
control
processor
subdivision
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.)
Expired - Lifetime
Application number
JP61505280A
Other languages
English (en)
Other versions
JPS63502380A (ja
Inventor
ハイス,アラン・ブラツドフオード
ブラウン,ラツセル・アレン
ジエンセン,トーマス・ウイリアム
マドセン,ブルース・ケンドール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EBANSU ANDO SAZAARANDO KONPYUUTAA CORP
Original Assignee
EBANSU ANDO SAZAARANDO KONPYUUTAA CORP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EBANSU ANDO SAZAARANDO KONPYUUTAA CORP filed Critical EBANSU ANDO SAZAARANDO KONPYUUTAA CORP
Publication of JPS63502380A publication Critical patent/JPS63502380A/ja
Application granted granted Critical
Publication of JP2578787B2 publication Critical patent/JP2578787B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 発明の背景および要約 近年、図形形成にコンピュータを利用する方法が著し
く進歩している。更に詳しく言うと、このコンピータ・
グラフィックスの分野には、コンピュータによるグラフ
ィック・オブジェクトの生成、表現、操作、処理および
評価が含まれる。コンピュータを使って作られるグラフ
ィック・オブジェクトは実在する物理的形状を持ってい
ても、持っていなくてもよい。即ち、コンピュータ・グ
ラフィックスの技術を使って、絵または図形を、(慣習
的意味で用いられている言葉で言う)物理的モデル、絵
または図面なしで作り出すことが出来る。例えば、グラ
フィックス・オブジェクトは、コンピュータで、ブラウ
ン管の表面としての表示面上に対応する絵に変換するこ
との出来る抽象的記載(モデル)を用いて形成すること
が出来る。
多くの場合、コンピュータ・グラフィックスを使用し
て、基本的幾何学的図形の数学的表現を操作または変形
することによって、表示図形が作られる。即ち、所謂、
「ユニオン」または「インターセクション」と呼ばれる
働きを持つ四角形および三角形のごとき基本的形状を作
ることによって、所望のイメージを作り出すことが出来
る。例えば、家の基本的形は三角形(屋根を表す)を四
角形(壁を表す)に加えることによって作ることが出来
る。更に複雑なイメージの場合は、更に複雑な曲線や表
面を使う必要がある。
コンピュータを使って、スクリーンに表示する基本図
形を十分に規定することの出来るデータを(直接または
コンピュータのメモリーから)提供することが出来る。
次に、この基本データを処理することによって、このイ
メージを所望の形に高めることが出来る。この点に関し
ては、グラフィック・ディスプレーに滑らかに見えるイ
メージを作り出すための技術および装置が提案されてい
る。例えば、“Scientific AMERICA"9月号、1984年、
“Computer Software for Graphics"参照。コンピュー
タ・グラフィックスの分野における継続的作業の中で、
所望のイメージを迅速且つ容易に作り出す装置の継続的
ニーズがあることが判った。
極く最近、数学科学分野において、グラフィック・イ
メージを作るために曲線基本形としてパラメトリック・
パッチ(parametric patches)の組合わせの使用の可能
性が見出だされた。このパッチの組合は複雑なイメージ
の形成に使うことが出来、例えば、布のパッチの集合体
を組合わせて、キルトの寝台掛けを形成することが出来
る。パッチは可撓性があり、平らな面も湾曲した面も表
すことが出来る。これらは、ある有理整関数をパラメー
タ化することによって作ることが出来る。このような技
術が文献に出ている。例えば“INTERACTIVE COMPUTER G
RAPHICS"Wolfgang K.Giloi著、1978年、Prentice−Hal
l,Inc.、特に、第4章、“Interpolation and Approxim
ation of Curves and Surfaces"参照;“GEOMETRIC PRI
NCIPLES AND PROCEDURES FOR COMPUTER GRAPHIC APPLIC
ATIONS"Sylvan H.Chasen著、1978年、Prentice−Hall,I
nc.、第2章、“Creating a Mathematical Formulation
to Match Constraints"参照;“COMPUTATIONAL GEOMET
RY FOR DESIGN AND MANUFACTURE"I.D.Faux and M.J.Pra
tt著、John Wiley & Son,1979年、第7章、“Composit
e Surfaces"参照。
パラメトリック・パッチを使った1つの試みは、Bezi
erの開発した方法で、上述のテキストに記載されてい
る。多面体、例えば方形、が所望の面を描くのに使用さ
れる。従って、多面体の頂点が、作られるパッチの形状
を制御する。この頂点は「制御点」として知られてい
る。パッチの角のこの制御点は多面体の上にある点に注
意。
パラメトリック・パッチ技術はコンピュータ・グラフ
ィックスと組合わせるのに適している。その理由は、制
御点の位置または数を変えることによって、パッチの形
を簡単に制御することが出来るからである。一般的に言
って、所望の表面の概略の近似は、使用者が幾つかの最
初の制御点を規定することによって得ることが出来る。
概略近似のパッチをサブパッチに再分割することによっ
て、イメージを綺麗にすることが出来る。1つの技術と
して、パッチの再分割が、文献“PRINCIPLES OF INTERA
CTIVE COMPUTER GRAPHICS"、Newton and Sproll著、第
2版、1979年、McGraw−Hill,Inc.および“An Algorith
m and Data Structure for 3D Object Synthesis Using
Surface Patch Intersections"Wayne E.Carlson著、の
1章、(“Computer Graphics"1982,7月、第16巻、No.3
(ACMO−89791−076−1/82/007/0255)所載)に記載さ
れている。
このような再分割は、1つのパラメトリック・パッチ
を幾つかの小さいものに正確に変換する1つのプロセス
である。最初のパッチの多数の制御点が公知の式に用い
られ、各サプパッチの同数の制御点を演算する。従っ
て、パッチの再分割は、追加される制御点の座標を演算
し、サブパッチによって規定されるごとくに面を更に形
成することによって完成する。再分割のモチヴェーショ
ンは、漸進的再分割によって、所望の面に漸進的により
近い制御点を持つサブパッチを作ると言うことである。
パッチの再分割を汎用コンピュータで行うことが提案
されているが、このやり方は比較的速度が遅く、相互作
用的コンピュータ使用には一般的に不適である。要する
に、経済的システムで、パラメトリック・パッチの再分
割点を制御する座標を迅速に演算することが望まれてい
る。ワーキングデータを提供し、得られたデータを表示
する関連装置は複雑で、膨大だが、先行技術では公知で
ある。従って、ここではこのシステムを構成要素の形で
説明する。コンポジット・コンピューター・グラフィッ
クス・システムの構成要素の位置および機能は当該技術
者には自明であろう。
一般的に言って、本発明のシステムはホストコンピュ
ータと共同動作をする。パラメトリック・パッチを決定
する最初の制御点を表す信号がホストコンピュータから
受け取られる。複数の平行に設けられたプロセッサが同
時に制御点を受け取る。1つの実施例によれば、制御点
を表す信号が、制御点の位置関係を示す所謂「正規な」
(canonical)シーケンスの中で与えられる。この実施
例では、カウンターが制御点を確認する。その他の実施
例では、単一の整数値の形の名前が各制御点を同定する
ために与えられる。
ここに記載するごとく、平行再分割プロセッサは制御
点を表す信号を受け取り、個々のサプパッチ制御点の座
標を演算する。然し、別の実施例では、再分割プロセッ
サは多数の制御点の座標を演算する。
再分割のレベルが完成すると、サブパッチの制御点が
ホストコンピュータに受け取られて記憶される。この場
合、全処理時間は、最初のパッチの制御点を再分割プロ
セッサに出力するのに要する時間間隔を含み、この間
に、サブパッチ制御点の演算が始まり、この時間間隔を
プラスし、サブパッチの制御点をホストコンピュータに
入力し貯蔵する。このプロセスはリカーシブ(recursiv
e:反復的)で、更に高いレベルの再分割により非常に洗
練されたイメージが迅速に得られる。
図面の簡単な説明 本明細書の一部を構成する図面において、各種の目的
および特徴を示す実施例が提出される。特に、 図1a、1bおよび2cは、1つの三角形に関する三角形パ
ラメトリック・パッチを示す図で、本発明の態様に基づ
き再分割されることを示している; 図2aおよび2bは、再分割手順を示す図; 図3は、本発明によるシステムの1実施例のブロック
図; 図4は、図3のシステムの構成要素を示すブロック
図; 図5は、図3のシステムの別の構成要素を示すブロッ
ク図;および、 図6は、本発明の別の実施例を示すブロック図であ
る。
実施例に関する説明 本発明の実施例を開示するが、これらは単に1つの例
であって、ここに開示した実施例の広範な変形が可能で
ある。然し、実施例は開示の目的で最善の例を示してお
り、本発明の範囲を規定する請求項の基礎となっている
ものである。
先ず、パッチの概念の理解に役立つ幾つかのグラフを
示す。図1aでは、二次三角ベツィヤー・パッチ(quadra
tic,triangular Bezier patch)20が実線で示されてお
り、その形は膨らんだ帆の形に似ている。パッチ20の頂
点または角の制御点22,24および26は三角形28(破線)
の各頂点と一致している。この場合、パッチは略々三角
形をしている。即ち、「湾曲した」三角形と考えること
が出来る。その他の制御点、例えば点30,32および34、
はパッチ20の中にも、また三角形28の面にも無い。
普通は、三角パッチは対応した三角形の主な特徴によ
って似せられる。要するに、1つのパッチをサブパッチ
に漸進的に再分割することによって、所望の形に段々と
近付けて行くことが出来る。例えば、図1aに実線で示す
三角形は、制御点22,24,26,30,32および34を繋げること
によって出来ており、パッチ20の形に近似した凸型を持
っている点に注意。図1bにおいては、パッチ20は4つの
サブパッチに再分割されており、それぞれ実線で制御点
200〜228(偶数)が再分割によって作られており、4つ
のサブパッチを規定している。更に、図1bに細い線で表
されている三角形は制御点200〜228を結ぶことによって
作られ、図1aに示した凸型のときよりも更にパッチ20の
形に近付いている点に注意。
図2は、サブパッチP,Q,RおよびS(図2b)を作るた
めの、二次三角ベツィヤー・パッチV(図2a)の再分割
を示している。パッチの制御点を示すための名前の付け
方に注意。即ち、数字は下付け表現の形で書くのが普通
であるが、便宜上および印刷の都合上、下付けの形は用
いていない。又、サブパッチ制御点の内のあるものはサ
ブパッチによって共有されており、例えば、制御点P020
=Q200=S002である。更に、三角パッチV、P、Q、R
およびSは二次三角ベツィヤー・パッチとの関係を示し
ている。然し、この場合、これら三角形の頂点だけがベ
ツィヤー・パッチ頂点制御点と一致する。
図2bに示すごとく、1つのパッチは単一の文字、例え
ばパッチV、で示される。制御点は、この与えられた文
字に3桁の数字を加えることによって特定される、例え
ば、制御点V020のごとく。説明の都合上、実施例の説明
では、これらの名称は制御点を表すコンピュータ信号の
中にフォーマットされていない。その代わり、単一の整
数が使用されるか、または、制御点のポジションが標準
数列(canonical sequence)の中で決定される。
再分割は基本的には凸面組合せ体を演算するプロセス
で、即ち、パッチ制御点の荷重平均がサブパッチ制御点
を作り出すプロセスである。再分割の最も簡単な例が図
2cに示されており、ここでは、線形三角ベツィヤー・パ
ッチが均等に再分割されて、4つのサブパッチを作り出
す。線形と言うことは、パッチの辺が直線で、パッチが
実質的に平らな三角形だと言うことに関する、均等再分
割と言うことは、パッチの再分割によって、(線形パッ
チの場合)全てが同一サイズのサブパッチが出来ると言
うことである。従って、線形三角ベツィヤー・パッチの
均等再分割は、そのパッチの各辺を二等分することによ
って行われる。辺の二等分はその辺の2つの終点を平均
することによって行われる。例えば、制御点P010は次の
式で計算される: P010=(V100+V010)/2 もう少し複雑な例は、図2aおよび2bに示すごとく、二
次三角ベツィヤー・パッチの「均等1対4再分割」の場
合である。二次と言うことは、パッチの辺が二次曲線、
例えば放物線、だと言うことである。均等再分割とは、
パッチの再分割によって、全てサイズが略々等しいサブ
パッチが出来ると言うことである。二次三角ベツィヤー
・パッチの均等1対4再分割の場合、制御点P020は次の
式で計算される: P020=(V200+2V110+V020)/4 一般的に言って、サブパッチを制御点を演算する算法
は公知である。特に、この算法は、月刊誌“Computer−
Aided Design”からの1章“Subdivision Algorithms f
or Bezier Triangles"Ronald N.Goldman著、Vol.15,No.
3,(May 1983),pp.159−166、に開示されている。三角
形の各種の再分割が提案されている。然し、本実施例で
は、ベツィヤーの三角形は図2に示すごとく4つのサブ
パッチに分割されている。
図3は再分割を行う1つのシステムを示す。特に、ホ
ストコンピュータ50は、制御点を表す信号を再分割プロ
セッサP1、P2〜PNに送る。特に、ホストコンピュータ50
は、個々の制御点を制御点出力バス52を介して再分割プ
ロセッサPに送る。バス52の信号が各再分割プロセッサ
Pに与えられるとき、個々の制御点信号を確認する必要
がある。従って、ホストコンピュータ50は制御点名称バ
ス54に指定信号を送る。又、ホストコンピュータが、再
分割プロセッサPの当面の機能、即ち、制御点を表す信
号を受け取るのか、または、制御点を表す信号を与える
のかのいずれか、を特定する必要がある。この機能は、
入力/出力制御ライン56を介してプロセッサPに与えら
れる信号によって行われる。要するに、制御ライン56は
二進制御が出来る。例えば、ライン56が二進信号の高い
状態によって1ビットを示すとすると、プロセッサPか
らホストコンピュータへの入力が命令される。これと反
対に、制御ライン56が低いレベル(ゼロビットを示す)
にあるとすると、制御プロセッサPはホストコンピュー
タ50から信号を受け取るように命令される。プロセッサ
Pからの入力信号は入力バス58を介してホストコンピュ
ータに戻される。
制御ライン56の単純な二進ホーマットとは異なり、バ
ス52,54および58は、制御点を命名し制御点の値を特定
する数字データを搬送する。名称バス54の信号は制御点
の名称を特定する。制御点出力バス52と入力バス58と
は、各成分X、Y、ZおよびWの値を特定し、各制御点
を規定する。従って、各制御点の値の演算には、制御点
の4つの成分例えばX、Y、ZおよびWの演算を含む。
従って、図に示したプロセッサにおいて、乗算器76(図
4)は実際には、個々の加算器、レジスタ、除算器およ
びゲートに繋がった4つの個別の乗算器を含む。従っ
て、乗算器103(図5)は図に示すごとく、実際には、
数量X、Y、ZおよびWのための4つの別個の乗算器を
含む集合乗算器である。同様に、加算器80は、レジスタ
ー86、除算器90およびゲート94と同様に4つのコンネン
トを含む。制御点を指定するためのこの値は、ホストコ
ンピュータ50から出力バス52を介して受け取るか、また
は、入力バス58を介してホストコンピュータ50に戻され
る。選択の制御は、先行技術の公知の構造体を利用し
て、ホストコンピュータ50によって行われる。この場
合、ホストコンピュータ50が、進行中の制御点データを
訂正可能のフォーマットで記憶するメモリー62を使う点
に注意。
プロセッサP1およびP2からPNとして使用する再分割プ
ロセッサーの例を以下に詳細に説明する。然し、図2に
示したごとくに例としての再分割を行うために、図3の
システムによる例としての動作を予備的に検討する。
上述したごとく、制御点P020(図2bの上)の演算に
は、動作:(V200+2V110+V020)/4、が含まれる。従
って、制御点P020の演算には、制御点:V200,V110および
V020が含まれる。その他の制御点、例えばP110,P101等
々、の演算には、図2に示すごとく、Vシリーズの異な
った制御点の使用が含まれる。
図3のシステムの動作において、制御点Vを表す信号
が出力バス52に順次送られ、一方、同時に、再分割プロ
セッサPがデータを受け取るように命令している間に、
制御点の名称を表す信号が名称バス54に送られる。再分
割プロセッサPは、計算すべき個々の制御点の演算に必
要なこれらの制御点Vを表す信号を受け取る。例えば、
再分割プロセッサP1が制御点P020(図2bの上)を演算す
るとすると、これが制御点V200、V110、およびV020を表
す入力信号を受け取ることになる。その他の再分割プロ
セッサP、例えばP2からPN、も同様に演算を行う上で重
要なこれらの制御点を受け取る。
全てのパッチ制御点Vがバス52および54に送られる
と、プロセッサPが、入力バス58を介してコンピュータ
50に入力するためのサブパッチの制御点を計算する。順
次、入力バス58が、一つの時間間隔の間に、1つのプロ
セッサPから入力される1つのサブパッチ制御点を受け
取る点に注意。従って、ホストコンピュータ50は、一度
に1回、サブパッチ制御点を受け取り、これらを記憶す
る。再分割プロセスの処理時間計は、従って、パッチ制
御点をプロセッサPに出力するのに要する時間間隔の回
数に、プロセッサPからホストコンピュータ50にサブパ
ッチ制御点を入力するのに要する時間間隔の回数を加え
たものに等しい。
再分割プロセッサP1で仮定したごとくに、サブパッチ
P200の演算を例として検討するに当たって、プロセッサ
P1の詳細を示している図4を参照する。ホストコンピュ
ータ50に接続する図3で前に確認したバスには、図4で
も同じ参照符号が使われている。
名称バス54および制御ライン56がランダム・アクセス
・メモリー(RAM)66に繋がれ、このRAMが係数バス68、
レジスター負荷ライン70、レジスチー・クリヤー・ライ
ン72およびゲート・イネーブル・ライン74に信号を送
る。RAMによって送られるこれらの信号は再分割プロセ
ッサの動作を制御し、RAM66に与えられた信号に応答し
てRAMから出されるものである。特に、所定の時間間隔
の間、名称バス54および制御ライン56からの信号は合併
して、RAM66の中でワード(言語)を選択するアドレス
信号を形成する。選択されるワードは、係数バス68、レ
ジスター負荷ライン70、レジスター・クリヤー・ライン
72およびゲート・イネーブル・ライン74に送られる信号
を含む。これらのRAMは集積回路に関する従来技術で公
知である。アドレス信号に応答して分散信号を出すRAM
の機能も公知である。
上述したごとく、RAM66から送られた信号は、それぞ
れの時間間隔における再分割プロセッサの動作を命令
し、名称バス54および制御ライン56を介して、上記時間
間隔の間、RAMに与えられた信号に応答して与えられる
信号である。従って、RAMは再分割プロセッサの動作プ
ログラムを含む。このプログラムは一連のワードから成
り、RAMプログラム・データ・バス96を介した実際の再
分割演算に先立ち、時々RAMに負荷される。負荷される
プログラムは再分割プロセッサによって計算される制御
点に特有のもので;従って、ある再分割プロセッサによ
って計算される特定の制御点は、そのプロセッサのRAM
に負荷されたプログラムによって決定され、上述した計
算と一致している、点に注意。又、異なったプログラム
を異なった時刻に単一の再分割プロセッサのRAMに負荷
することが出来、従って、負荷されるプログラムに基づ
いて、1つの再分割プロセッサで異なった時に異なった
制御点を計算することが出来る。後に、再分割プロセッ
サの動作の説明と一緒にある特定のプログラムの例につ
いて説明する。
(RAM66からの)係数バス68は除算器90と乗算器76と
に接続される。乗算器76は、又、ホストコンピュータ50
(図3)から制御点出力バス52を介して制御点信号を受
け取る。乗算器76(図4)からの信号が積バス78を経て
加算器80に第2の入力82と共に与えられる。加算器80か
らの出力は、合計バス84を経て、ライン70,72によって
制御されるレジスター86に送られる。レジスター86も又
バス82(加算器80に戻る)と除算器90とに接続される。
除算器90からの出力が商バス92に送られ、ライン74の信
号によって作動するゲート94を条件付きで通過すること
によって、信号を制御点入力バス58に信号を送る。前に
示唆したごとく、4セットの乗算器76と、加算器80と、
レジスター86と、除算器90と、およびゲート94とがあ
り、各X、Y、ZおよびWに対して1セットになってい
る。然し、4つのセットは、全て、1セットの係数バス
68、レジスタ負荷ライン70、レジスタ・クリヤー・ライ
ン72およびゲート・イネイブル・ライン74によって制御
される。
上述の式に基づきサブパッチ制御点P020を作り出す図
4のプロセッサP1の動作を検討する。即ち、パッチV
(図2)からの制御点(成分値)の算術的組合わせを含
むP020(図2)の演算を検討する。特に、 P020=(V200+2V110+V020)/4。
便宜上、制御点V200、V110、およびV020を表す信号は
制御点出力バス52、および、制御点名称バス54の中にこ
の順序で現れるものとする。制御点出力バス52の信号は
制御点(普通、X、Y、Z、およびWに置き換えられ
る)の値を示し、一方、制御点名称バス54の信号は、表
示する特定の制御点を選定する。
前に説明したごとく、制御点名称バス54の信号は1桁
の整数で表され、従って、特定の制御点は1つの特定の
整数で表される。整数“0"は制御点の特定には使用され
ず、再分割プロセッサを初期化するために使用される。
従って、RAMのプログラムは、“0"が制御点名称バス54
に与えられたとき、RAMがレジスター・クリヤー・ライ
ン72に“1"を主張するように組まれている。レジスタ・
クリヤー・ライン72の“1"の作用はレジスタ86の内容を
“0"にセットすることである。
再分割プロセッサP1の最初の動作は初期化動作であ
る。この初期化は制御点名称バス54に“0"を与えること
によって行われる。
次の動作の間に、制御点V200の値を特定する信号は、
制御点を同定する名称バス54の信号と共にバス52の中に
現れる。制御点V200に関連して、この信号が現れると、
RAM66が係数バス68にユニティーまたは“1"を表す信号
を送る。その結果、バス52に現れる制御点V200を表す値
が乗算器76の中のユニティー(1)によって乗算され、
従って、積バス78を経て加算器80にその値として送られ
る。レジスタ86は生成動作(クリヤー・ライン72)の初
めに既にクリヤーされており、従って、V200の値はライ
ン70の中の信号の制御の下でレジスタ86の中にセットさ
れる。
次の動作の間に、制御点V110(図2)が名称バス54の
信号によって指定され、その値が出力バス52の信号によ
って示される。この制御点に応答して、RAM66が2の乗
数を係数バス68に送る。その結果、制御点V110の値に2
が掛けられ、その積が積バス78を経て加算器80に送ら
れ、この加算器が機能してV200(レジスタ86から)の値
を2V110の積と組み合わせる。従って、レジスタ86は
量:(V200+2V110)を記録する。
やがて、制御点V200の指定が、出力バス52に受け取ら
れた制御点の値と共に名称バス54に受け取られる。再
び、制御点の指定に応答して、RAM66がユニティーまた
は“1"の係数を乗算器76に与え、その結果、V020の実際
の値が乗算器76から積バス78を経て加算器80に送られ
る。動作の次の段階において、量V020(乗算器76から)
が量V200+2V110(レジスタ86から)に加えられ、レジ
スタ86の中に量:(V200+2V110+V020)を作り出す。
全てのパッチ制御点が受け取られると、ホストコンピ
ュータから再分割プロセッサへの出力の動作段階が完了
する。次の動作段階は再分割プロセッサからホストコン
ピュータへの入力の段階である。この段階の間に、サブ
パッチの制御点の名前が、ホストコンピュータによって
制御点名称バス54に逐次送られる。名称P020がこのバス
に与えられると、RAM66が、量(V200+2V110+V020)を
4で割り算する係数バス68によって除算器90に“4"を与
える。商バス92に現れる得られた商はP020の信号表現で
ある。再び、RAM66の制御の下で、ライン74がイネイブ
ル信号をゲート94にパスし、その結果、P020を表す信号
が入力バス58を経てホストコンピュータ50(図1)に送
られる。
以上の動作は上述したごとくRAM66の制御の下で時間
的に順次行われる。然し、この点に関して、RAM66に対
するプログラムの指示が次ぎに表の形で時間的順番で提
出される。次の表の第1のコラムは1から8の時間間隔
を逐次示している。以下のコラムは、最終コラムに示し
たアクションの間に、表の右側に示す値を展開するため
の、各ラインおよびバスに与えられる信号の内容を示
す。
前ページの表の中のコラムの内容は次の通りである: コラムNo. 1 時間間隔、例えばT1−T22。
2 入力/出力制御ライン56上の二進信号。
3 制御点名称バス54。
4 制御点出力バス52。
5 制御点入力バス58。
6 係数バス68。
7 レジスタ負荷ライン70の二進信号。
8 レジスタクリヤーライン72の二進信号。
9 ゲートイネイブルライン74の二進信号。
10 レジスタ86の中の蓄積値。
11 機能動作 第1行から第8行までだけが表に書かれているが、図
2bに示すサブパツチ制御点をそれぞれ演算しホストコン
ピュータに入力するためには、実際の動作は22の間隔か
ら成り立っている。上記の全てのサブパッチ制御点は最
初の7つの時間間隔で現れた。残りの15の時間間隔(8
〜22)は、サブパッチ制御点をホストコンピュータに入
力するために要するものである。この点に関しては、制
御点がホストコンピュータ50によって与えられ又は受け
取られる順序では重要でなく、これは、図3のシステム
では、各制御点が表示信号の形の名称で特定されるから
である。
更に、図3のシステムに関しては、幸いに、各再分割
プロセッサP(即ち、P1およびP2からPn)は互いに同じ
再分割プロセッサである。即ち、特定の制御点を計算す
るための各再分割プロセッサの作業組み立てはRAM66に
負荷しているプログラムによって行われる。各再分割プ
ロセッサのRAM66は異なったプログラムを持っている。R
AMを使用することによって再分割に関する問題は全般的
に解決されるが、これにはかなり大規模のRAMを必要と
する。このRAM66は非常にコンパクトなプログラム出来
る理論配列(PLA)と置き換えることが出来る。このPLA
は集積回路に関する従来技術において公知である。PLA
はRAMとは異なり、異なったプログラムを内蔵すること
は出来ず、1つのプログラムだけビルトインすることが
出来、この問題は変えることが出来ない。PLA装置を使
うと、各再分割プロセッサPはその他の再分割プロセッ
サとは次の2つの点で違ってくる。第1は、RAMが各再
分割プロセッサに特有のPLAによって置き換えられ、こ
のPLAがホストコンピュータ50から受け取った信号に応
答して固有の信号を出して、その再分割プロセッサに対
して所望を操作を完成する点である。従って、各再分割
プロセッサは1つの制御点のみ計算する。第2には、各
プロセッサPの除算器、例えば除算器90、は1つの除数
によってのみ割られる。即ち、唯一の制御点の計算が唯
一の除数による割算を含む。各再分割ブロセッサが唯一
の制御点を計算するのだから、この再分割プロセッサ
は、その制御点に特有の唯一の除数によって割算を行う
ことになる。例えば、前に説明した制御点P200の計算に
おいては、4による割算が必要である。然し、 R101=(V101+V002)/2 を計算するためのプロセッサPでは2による割算をしな
ければならない。このような演算に対して、与えられた
プロセッサはRAM66を置き換えたPLAの中に唯一のプログ
ラムを持たねばならない。又、割算は、プロセッサP1で
上述した4でなく2で行わねばならない。
上に示したごとく、サブパッチの異なった制御点を演
算する式はお互いに相当異なっている;然し、再分割プ
ロセッサの中で利用することの出来るこれらの式の間に
はある共通の性質が存在する。例えば、図2に示した下
記の2つの再分割の式を考えてみる。
P020=(V200+2V110+V020)/4 R101=(V101+V002)/2 この2つの式の特徴はパッチVの制御点が共有されて
いないと言うことである。即ち、P020の演算に使用する
制御点のサブセットはR101の演算に使用される制御点の
サブセットとは重なっていない。従って、プロセッサが
異なった別のレジスタを持ち、僅かな補足的動作回路を
含むとすれば、1つのプロセッサを使って、両方のサブ
パッチ制御点P020およびR101を演算することが出来る。
この点に関しては、2つの演算構造体で制御PLAと乗算
器とを分かち持つことができる。これらのエレメントは
プロセッサの主要部分を構成する。従って、このような
構造体配置は有利である。その形を図5に示す。
以前説明したものと同じ構成要素には同じ参照符号が
使用される。従って、図5は制御点名称バス54の上に入
力/出力制御ライン56を示す。これらの信号パスは上述
した型の係数および制御をプログラムすることの出来る
ロジック・アレー(PLA)102に繋がれている。
PLA102は一連の制御ラインに幾つかの二進制御信号を
送る。又、係数バス104を経て乗算器103に係数値を送
る。乗算器103は又出力バス52を経て制御点信号を受け
取る。
一般的に言って、乗算器103は、制御点の式を実施
し、サブパッチ制御点R101およびP020を別々に展開する
ため別々の装置に積を与えることによって、乗算を実施
する。即ち、乗算器103からの信号が、制御点P020を展
開するための、参照符号106で全体を示す装置チャンネ
ルに送られる。乗算器103からの信号は又、サブパッチ
制御点R101を演算するため、参照符号108でその全体を
示す装置チャンネルに送られる。各チャンネルは後述す
るごと別々の構造体を含む。図5のシステムの動作は、
図4のシステムでその一部を説明したごとく、チャンネ
ル106および108での独立した制御点P020およびR101の展
開を含む。従って、上述したチャート・フォーマットで
は、制御点入力バス58において制御点P020およびR101を
現す信号を作り出すための図5のシステムの動作は次の
表に要約される。
表2の各コラムは次のことを示す: コラム1は、動作の時間シーケンス、例えばT1〜T2
2、を示す。
コラム2は、入力/出力制御ライン56の二進信号を示
す。
コラム3は、各時間における制御点名称バス54の内容
を示す。
コラム4は、異なった時間における制御点出力バス52
の内容を示す。
コラム5は、ある時間間隔における制御点入力バス52
の内容を示す。
コラム6は、ある間隔における係数バス104の内容を
示す。
コラム7は、P020レジスタ負荷ライン110における二
進信号を示す。
コラム8は、R101レジスタ負荷ライン112における二
進信号を示す。
コラム9は、レジスタ・クリヤー・ライン114におけ
る二進信号を示す。
コラム10は、P020ゲート・イネイブル・ライン116の
内容を示す。
コラム11は、R101ゲート・イネイブル・ライン118の
内容を示す。
コラム12は、P020レジスタ120の内容を示す。
コラム13は、R101レジスタ122の内容を示す。
前頁の表は図5のシステムの動作シーケンスを表とし
て纏めたものであるが、その詳細な説明によって完全に
理解されるようにする。従って、図5の装置はホストコ
ンピュータ50(図3)から上述したごとくに信号を受け
取るように繋がれているものとする。制御点P020および
R101の表示を完成するための図5のシステムの動作を、
前には無かった構造要素の紹介と共に、説明することに
する。図4のシスムにおけるごとく、再分割プロセッサ
は、制御点名称バス54に“0"信号を送ることによって初
期化される。この信号に応答して、PLA102がレジスタ・
クリヤー・ライン114に“1"信号を送る。この“1"の効
果はP020レジスタの内容とR101レジスタの内容とを“0"
にセットすることである。
図4のシステムと同様に、パッチVの制御点を表す信
号のシーケンスは予め決められているものとする。この
シーケンスは上述の表のコラム3でセットされ、特に、
シーケンスは:V200、V110、V101、V020、V011およびV00
2である。
最初の制御点信号(時間間隔2の間のV200を表す)が
出ると、PLA102が賦活される。特に、制御点V200はサブ
パッチ制御点P200を演算するために認識される。従っ
て、“1"の値が係数バス104に現れ、乗算器103を賦活し
て、制御点V200の値を掛算してその結果をP020加算器13
2に与える。P020レジスタはレジスタ・クリヤー・ライ
ン114によって予めクリヤーされているので、V200の値
はP020レジスタ120の中にセットされる。
制御点V110を表す信号が出されると、システムは再び
活性化する。特に、PLA102は“2"の係数値を、制御点V1
10の値を受け取る乗算器103に送る。その結果、積2V110
が加算器132によって量V200に加えられ、その合計がP02
0レジスタ120の中に置かれる。サブパッチ制御点P020の
ために部分的に演算された値がレジスタ120の中にホー
ルドされ、その演算に用いられる次の適宜の信号を待
つ。
制御点V101を表す信号が出されると、装置108(図
5)がサブパッチ制御点R101の演算を開始する。この動
作が上記表に示されており、間隔4に表示されている。
特に、PLA102は乗算器103に係数“1"ユニティーを与
え、制御点V101の値がR101加算器136に送られるように
する。レジスタ122は予めクリヤーされており、その結
果、制御点V101の値がレジスタ122にセットされる点に
注意。又、P020レジスタ120は、これがライン110から負
荷コマンド信号を受けていないので、この間隔の間は不
活性である、点に注意。
従って、制御点P020およびR101の分子は、パッチVの
関連する制御点が与えられたとき、レジスタ120および1
22の中にステージ・バイ・ステージで展開される。この
ように展開されると、一対の除算器140および142が所要
の割算を行い、制御点P020およびR101をそれぞれ表す信
号を完成する。これらの信号が、それぞれ、制御ゲート
144および146によって、除算器140および142から制御点
入力バス58にゲートされる。
以上、図5の構造体の検討から、単一の信号プロセッ
サP(図3)が、時間損失無く、マルチプルのサブパッ
チ制御点を演算出来ることが判る。上記チャートに集約
したごとく、この動作を繰返す(recap)ために、時間
間隔2、3および5の間、レジスタ122は“0"信号によ
って抑制されている(表のコラム8)。これらの時間に
おいて、ホストコンピュータは、制御点名V200、V110、
およびV020をそれぞれ制御点名称バス54の上に置く(コ
ラム3)。これらの制御点は制御点P020の演算に使用さ
れるから、各時間間隔(時間2,3および5)の間、PLA10
2は所要の荷重係数を係数バス104の上に置く。従って、
P020レジスタ120は(V200+2V110+V020)を蓄積する。
コラム12参照。
時間間隔4、6、および7の間、PLA102は0をP020レ
ジスタ負荷ライン110の上に置き、レジスタ120を抑制す
る。表のコラム7参照。時間間隔4および7の間、ホス
トコンピュータは制御点名称V101およびV002をそれぞれ
制御点名称バス54の上に置き、付帯する数字データを制
御点出力バス52に送る。これらの値は制御点R101の演算
に使用されるので、各時間間隔の間、PLA102は所要の荷
重関数を係数バス104に与える。従って、R101レジスタ1
22は(V101+V002)を蓄積する。コラム13参照。
時間間隔8から22の間、ホストコンピュータ50(図
1)は“1"を入力/出力制御ライン56に与え(コラム
2)、各時間間隔において、制御点入力バスから1つの
制御点を読むことを示す。時間間隔8の間、ホストコン
ピュータは制御点名称P020を制御点名称バス54の上に置
き(コラム3)、この時間間隔において、この制御点デ
ータを制御点入力バス58から読むことを示す。これに応
答して、PLA102は“1"の信号をP020ゲート・イネイブル
・ライン116の上に置き(コラム10)、これにより、P02
0レジスタ120の内容を4で割り、制御点入力バスにゲー
トする。
時間間隔9において、ホストコンピュータは制御点名
称R101を制御点名称バス54の上に置き(コラム3)、こ
の時間間隔の間に、制御点入力バス58からこの制御点デ
ータを読むことを示す。これに対応して、PLA102が“1"
の信号をR101ゲート・イネイブル・ライン118の上に置
き、これによって、R101レジスタ136の内容が“2"で割
られ、制御点入力バス58にゲートされる。
時間間隔10から22の間、ホストコンピュータはP020お
よびR101以外の制御点名称を制御点名称バスの上に置
く。この信号に答えて、PLA102が二進信号0をゲート・
イネイブル・ライン116および118に与え、図5の構造体
の動作を禁止し、一方、その他のプロセッサの構造体が
所要のP、Q、RまたはS制御点を表す信号を、制御点
入力バス58を介してホストコンピュータに与える。
図5のシステムは、マルチプル制御点を演算する(交
差しないサブセットを利用)再分割プロセッサの機能を
示しているが、一方、単一のプロセッサで、制御点のサ
ブセットが交差する式の制御点を演算することが出来る
場合もある。このような場合は、制御点、例えば制御点
V(図2)、が、再分割プロセッサに使用される全ての
式に同じ荷重係数によって掛合わされる場合である。例
えば、下記の制御点の演算を考えてみる。即ち、 P110=(V200+2V110+V020)/4 P101=(V200+2V101+V002)/4。
両式共、量V200を使用している点に注意。又、V200に
使われる荷重係数は両方の式で同じものである。従っ
て、図4および5を用いて説明したプリンシプルを用
い、交差するにも拘らず、P110およびP101は単一の再分
割プロセッサで演算することが出来る。
この点に関しては、二次三角ベツイヤー・パッチの均
一な1対4再分割のための再分割式のみが検討されてき
た。上述したごとく、これらの式は1および2の荷重係
数を使用する。一般的に言って、n次の均一な1対4の
再分割においては、三角ベツィヤー・パッチはn次の二
項展開式の係数を使用する。例えば、10次の三角ベツィ
ヤー・パッチの均一な1対4再分割のための再分割式は
1から252の係数を含む。又、ベツィヤー・パッチの均
一な再分割のための再分割式は2の整数累乗(integer
power of two)による割算を含む。他の方法において
は、ベツィヤー・パッチの均一な再分割が、2の整数累
乗による二項係数の割算によって作られる分数(fracti
on)である荷重係数を使用することによって達成され
た。このような方法は除算器90のごとき除算器を使用す
る必要はない。
この点に関しては、非均一再分割も又可能である。一
般的に言って、非均一再分割は、2の整数累乗以外の除
数による割算が必要である。更に、1対2、1対3およ
び1対nの再分割も又可能である。又、再分割は二次パ
ッチに限定はされず、高次のパッチにも適用される。再
分割は三角位相を持つパッチに限定されず、方形および
その他の位相を持つパッチにも適用することが出来る。
更に、再分割はベツィヤーを基礎とするパッチに限定さ
れず、その他を基礎、例えばヘルミット(Hermite)お
よびB−スプラインを基礎、とするパッチにも適用され
る。この点に関して、以上説明した概念から、各種各様
のプロセッサで各種各様の再分割を行うことが出来るこ
とは明らかであろう。
その他の考察として、与えられたパッチの再分割式の
試験によって、個々の式の幾つかはパッチの内部の制御
点を演算し、その他はパッチの辺上の制御点を演算する
ことが判る。パッチの辺上の制御点は空間曲線を描き、
これらの制御点を演算する式は空間曲線の再分割を描
く。従って、平行再分割プロセッサのサブセット(subs
et)は、ホストコンピュータ50から指示された場合、空
間曲線を再分割するのに使用することが出来る。特に、
ホストコンピュータは次のごとくに空間曲線の再分割を
指示する。先ず、パッチの特定の辺上の制御点のみを再
分割プロセッサに出力する。次に、サブパッチの同じ辺
の上の制御点のみをこれらのプロセッサから入力する。
従って、平行再分割プロセッサの全セットはパッチまた
は空間曲線のいずれの再分割にも使用することが出来
る。
平行再分割プロセッサの変形として1つのハードウエ
ヤー手段の説明を行う。先ず、別々の制御点出力バスお
よび入力バス(例えば、図5のバス52および58)が単一
のバスに置き換えられる。上述した再分割プロセスの試
験によって、ホストコンピュータが、同じ時間間隔にお
いて、制御点信号を出力も入力もしないことが判る。従
って、単一の二方向バスを、ある時間間隔では出力バス
として使用し、その他の時間間隔では入力バスとして使
用することが出来る。
別の検討として、レジスタ、例えば図5のレジスタ12
0、が初期化において0にセットされないことは注目す
べきである。再分割演算に使用する割算の試験によっ
て、初期化するとき、各レジスタを丸め因子(rounding
factor)にセットすることによって、演算上の不正確
性を最小にすることが出来ることが判る。特定の丸め因
子は、レジスタ内容が割算されることになる2つの整数
累乗によって決まる。一般的に言って、丸め因子は除数
の1/2に等しい。例えば、4の除数があるとすると、好
ましくは、2の丸め因子が用いられる。
別の検討として、制御点データが整数フォーマットで
表され、割算が2の整数累乗で行われる場合、除算器、
例えば図5の除算器140、はシフター(shifter)によっ
て置き換えることが出来ることは注目すべきである。一
般的に、シフターは除算器よりも単純である。
更に別の検討として、n次のパッチに対する再分割等
式または式は、1からn次のパッチに対する大部分の再
分割式を含むということは重要である。従って、10次の
パッチに対する等式は、1から9次のパッチの再分割式
の大部分を含んでいる。10次のパッチの再分割式に含ま
れていない1から9次のパッチの再分割式は平行再分割
プロセッサに導入される。従って、1から10次のパッチ
を再分割することが出来る。
上に示したごとく、図2で説明した便利な数学命名規
定は、普通、信号表示のコーディングには用いられず、
ある規定が用いられる。即ち、制御点の名称は、簡単
に、1からnの整数である。開示した実施例において、
使用した制御点名は1から299の範囲の整数である。整
数0は制御点名としては使用されず、初期化の命令用に
とっておかれる。
制御点が数字で簡単に確認できることから、本発明の
別の態様が導き出される。即ち、ある状況の下で、制御
点名称バス(図4および5のバス54)は、制御点信号の
重要な出力シーケンス(正準)を用いるお陰で無くすこ
とが出来る。即ち、制御点を表す信号が所定の配列で与
えられる場合は、制御点名称バスを介して確認を与える
必要がない。この場合、各再分割プロセッサPは、例え
ば1から6を数えるカウンターを含む。このカウンター
は最初の命令で初期化され、各時間間隔の間、再分割プ
ロセッサのカウンターが、ホストコンピュータからその
データが与えられる制御点名称を含む。例えば、カウン
ターの内容が3だとすると、再分割プロセッサはこの制
御点データを上の例の制御点V101として取り扱う。然
し、各再分割プロセッサにおいて、制御点名称バスをカ
ウンターと置き換えるのは、実際には、制御点信号が、
一貫して、当該技術で公知の所定の正準シーケンスで命
令される場合だけである。
別の場合、例えば、曲線の再分割がパッチの再分割と
同様に希望されるときは、制御点名称バスが適当であ
る。制御点名称バスの別の重要な用途に、パッチ再分割
式における三辺対称の利用(exploitation)が含まれ
る。例えば、次の制御点を作る場合を考える。即ち、 P110=(V200+V110)/2 Q011=(V020+V011)/2 R101=(V002+V101)/2 例えば、特定の再分割プロセッサが、制御点名V200お
よびV110(図2b)を示す信号に応答し、制御点P110を演
算するように(そのPLAによって)プログラムされてい
るとする。制御点名V200およびV110が制御点名称バスの
上に置かれている各時間間隔において、制御点V020およ
びV011に対するデータがその制御点バスの上に置かれた
場合、その特定の再分割プロセッサが実際にQ011を演算
する。同様に、制御点名V200およびV110が制御点名称バ
スの上に置かれている各時間間隔において、制御点V002
およびV101に対するデータがその制御点出力バスの上に
置かれた場合、その特定の再分割プロセッサが実際にR1
01を演算する。
従って、再分割式には三辺対称がある。図2bは二次三
角ベツィヤー・パッチの1対4の再分割を示す。図に破
線で示すごとく、対称は3つのグループのプロセッサの
可能性にまで発展し、この場合、各グループにおけるプ
ロセッサのタイプは同じである。特に、グループP(図
2b)と名付けた再分割プロセッサの1つのグループはP2
00、P110、P101、P020、S011およびP002を演算する。グ
ループQと名付けたこれらのプロセッサの正確な写しが
Q020、Q011、Q110、Q002、S101およびQ200を演算する。
更に、グループRと名付けたこれらのプロセッサの別の
写しがR002、R101、R011、R200、S110およびR020を演算
する。
演算する制御点の数と同じだけ異なった型のプロセッ
サを作るよりも、1つの型のプロセッサの3つの写しを
作る方が有利である。この製造上の利点は、再分割式の
三辺対称を利用する重要な動機である。図6は、ホスト
コンピュータで作動する3つの同じグループのプロセッ
サを使用するシステムを示す。
図6を詳細に検討すると、ホストコンピュータ150は
上述した基本的機能を行う。即ち、パッチ制御点を表す
信号を出力バスに送り、再分割したサブパッチを規定す
る制御点信号を入力バスから受け取る。一般的に言っ
て、ホストコンピュータ150はメモリー152と共同で機能
し、この場合、制御点データは上述したごとくに展開さ
れる。
図1のシステムにおけると大体同様に、ホストコンピ
ュータ150(図6)は制御点データを表す信号を制御出
力バス152に送る。更に、ホストコンピュータ150は、制
御点名を表す信号をバス154に送る。最後に、ホストコ
ンピュータは制御データ(入力−出力)を制御ライン15
6に送る。
制御点出力データがバス152から3セットのグループ
・プロセッサ160、161および162の各々に送られる。サ
ブパッチの制御点を表す出力信号が上記セットのプロセ
ッサ160、161および162から制御点入力バス164に送ら
れ、これをホストコンピュータ150に入力する。
入力および出力機能の間の制御は制御ライン156上の
二進信号によって与えられる。特に、ライン156はセッ
トのプロセッサ160、161および162の各々に接続され、
バス152からプロセッサへの、又は、プロセッサからバ
ス164へのデータの流れを制御する。
動作中、プロセッサ160、161および162は、前の実施
例で説明したごとく、制御点上に名称データを与えられ
る。特に、Pグループの制御点名称バス154はグループ
Pのプロセッサ160に直接繋がれる。バス154の接続はグ
ループQのプロセッサに対してであり、グループRのプ
ロセッサ162は翻訳プログラムを持つ論理回路(PLA)16
6を通る。
要するに、PLA166はルックアップ(look−up)能力を
持ったテーブルを含み、これにより、グループP計算の
制御点名と組み合わされる各グループQおよびRの計算
における制御点の名称を確認する。即ち、PLA166は制御
点名をグループPの制御点名から、グループQのプロセ
ッサ161とグループRのプロセッサ162とで使用される制
御点名に変換する。従って、ホストコンピュータが制御
点名をグループPの制御点名称バス154の上に、V200、V
110、V101、V020、V011、およびV002の順で、置くと、
アレー116がこれらの名称を変換し、2つの異なった一
連の名称をQグループの制御点名称バス170とグループ
Rの制御点名称バス172との上に置く。グループRのバ
ス172の上に置かれる一連の名称は:V020、V011、V110、
V002、V101およびV200である。グループQのバス170の
上に置かれる一連の名称は:V002、V101、V011、V200、V
110およびV020である。従って、簡単な順番再配置がPLS
166によって与えられる。
プロセッサ160、161および162の全てのセットが、制
御点名がホストコンピュータから現れるのと同じ順番
で、制御点データを受け取り、この制御点データが、グ
ループQのプロセッサ161とグループRのプロセッサ162
に対して再命名される。その結果、グループQのプロセ
ッサ161およびグループRのプロセッサ162が所望の演算
を行い、再分割プロセスの三辺対称を利用し、システム
に設ける異なったプロセッサの数を減らすことが出来
る。
1つのサブパッチ制御点P020を演算する下記の式を1
つの例として検討する。
P020=(V200+2V110+V020)/4。
演算を完成するために、プロセッサ160,161,および16
2の各グループの1つのプロセッサがこの式を完成す
る。特に、各プロセッサの1つのコンポーネントは(A
+2B+C)/4の計算を行う。従って、プロセッサ160の
グループPのこのコンポーネントがこの式を計算してP0
20を完成するとき、グループQのプロセッサ161および
グループRのプロセッサ162の各々の同様のコンポーネ
ントがそれぞれ同じ式を含むQおよびRのサブパッチ制
御点を演算する。従って、三辺対称が経済的に利用され
る。
以上開示した思想及び方法を用いて別の技術を導入す
ることが出来る。その1つの技術によれば、プロセッサ
の1つのグループ、例えばPグループのプロセッサ、が
ホストコンピュータに接続される。最初の処理間隔の間
に、最初のパッチ制御点が1回に1つづつ、制御点出力
バスを介して、プロセッサに出力され、一方、これらの
制御点の名称が、制御点名称バスを介してプロセッサに
同時に出力される。名称が付けられたこれらの制御点に
応答して、プロセッサがグループPの制御点を演算し、
次にこれが制御点入力バスを介してホストコンピュータ
に入力される。次に、次の処理間隔の間に、制御点名称
バス上に並べ替えた順番で置かれた制御点名を伴って、
最初のパッチの制御点が、1度に1つづつ、制御点出力
バスを介して、プロセッサに出力される。並べ替えられ
た名称を持ったこれらの制御点に応答して、プロセッサ
がグループQの制御点を次に、これが制御点入力バスを
介して、ホストコンピュータに入力される。最後に、そ
の処理間隔の間に、制御点名称バス上に別の順で並べ替
えられた制御点名を持って、最初のパッチ制御点が、1
度に1つづつ、制御点出力バスを介して、プロセッサに
出力される。再度並べ替えられた名称を持つこれらの制
御点に応答して、プロセッサがグループRの制御点を演
算し、次にこれらが制御点入力バスを介してホストコン
ピュータに入力される。従って、制御点名の異なった並
べ替えを伴って、全部で、制御点が3回出力されること
になる。
以上の説明に鑑み、本発明に基づく別のシステムが色
々異なった形を採るであろうことは明かである。要する
に、平行処理は、記載した如くに、色々な可能性を持っ
ていることを特徴とする。従って、その範囲は次に記載
した請求項に基づいて解釈される。
フロントページの続き (72)発明者 ジエンセン,トーマス・ウイリアム アメリカ合衆国 ユタ州 84117 サル ト・レイク・シテイ,コブルクリーク・ ドライブ 5306,アパートメント 15 ケイ (72)発明者 マドセン,ブルース・ケンドール アメリカ合衆国 ユタ州 84118 サル ト・レイク・シテイ,ウエストスロー プ・ドライブ 5357

Claims (19)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の初期制御点によって定義されるパラ
    メトリック・パッチを再分割して、設定された再分割式
    に基づいて、サブパッチを示す複数の制御点を得るシス
    テムにおいて、 再分割するパッチの上記最初の制御点を表す信号を供給
    する信号供給手段(50、52、54、56、150、152)と、 上記信号供給手段(50、52、54、56、150、152)に接続
    され、再分割すべきパッチの上記最初の制御点を表す上
    記信号を受け取り、上記再分割式を実行する複数のプロ
    セッサ(P1、P2、Pn)と、 上記複数のプロセッサ(P1、P2、Pn)を制御し、各プロ
    セッサ(P1、P2、Pn)に上記最初の制御点を表す上記信
    号を上記再分割式を実行させて処理させ、前記サブパッ
    チの制御点を表す信号を発生する制御手段(66、166、1
    50)と、 上記結果として得られた信号を上記各プロセッサ(P1、
    P2、Pn)から受けとる信号受け取り手段(58、164)
    と、 を含む、パラメトリック・パッチの再分割システム。
  2. 【請求項2】上記信号供給手段は、上記最初の制御点を
    表す信号を各プロセッサに順次供給するバス手段(52)
    を含む、請求項1記載のシステム。
  3. 【請求項3】上記信号受け取り手段は、上記結果として
    得られた信号を順次パスする手段(50、52)を含む、請
    求項2記載のシステム。
  4. 【請求項4】上記複数のプロセッサは、生成すべきサブ
    パッチの各制御点を演算するプロセッサを含む、請求項
    1記載のシステム。
  5. 【請求項5】上記複数のプロセッサが1以上のプロセッ
    サを含み、上記プロセッサがサブパッチの複数の上記制
    御点を演算する構造を含む、請求項1記載のシステム。
  6. 【請求項6】上記複数のプロセッサが、各々、サブパッ
    チの複数の上記制御点を生成する同じ構造からなる、請
    求項1記載のシステム。
  7. 【請求項7】上記信号供給手段が、上記最初の制御点の
    名称を表す信号を供給する手段(54、166)と、上記制
    御点のデータの値を表す信号を供給する手段(52、15
    2)とを含む、請求項1記載のシステム。
  8. 【請求項8】上記プロセッサが上記最初の制御点を表す
    上記信号を選択的に受け入れる論理手段(66、76、80、
    86、90、94)を含む、請求項1記載のシステム。
  9. 【請求項9】上記論理手段がカウンターを含む、請求項
    8記載のシステム。
  10. 【請求項10】上記信号供給手段が、上記プロセッサに
    上記最初の制御点を表す上記信号を順次送るバス手段
    (52、154)を含み、上記信号受け取り手段が上記結果
    として得られた信号を順次パスする手段(50、52)を含
    む、請求項1記載のシステム。
  11. 【請求項11】上記複数のプロセッサが1以上のプロセ
    ッサを含み、上記プロセッサがサブパッチの複数の上記
    制御点を演算する構造からなる、請求項10記載のシステ
    ム。
  12. 【請求項12】空間曲線を再分割するための制御手段
    (166)を含む、請求項10記載のシステム。
  13. 【請求項13】上記信号受け取り手段が、サブパッチの
    上記制御点の名称を表す信号を供給する手段(54、15
    4、166、170、172)と、サブパッチの上記制御点のデー
    タの値を表す信号を受け取る手段(58、164)と、を含
    む、請求項1記載のシステム。
  14. 【請求項14】上記プロセッサが、サブパッチの上記制
    御点を表す上記信号を選択的に送る論理手段(166)を
    含む、請求項1記載のシステム。
  15. 【請求項15】上記論理手段がカウンターを含む、請求
    項14記載のシステム。
  16. 【請求項16】上記制御手段がRAMを含む、請求項1記
    載のシステム。
  17. 【請求項17】上記制御手段がPLAを含む、請求項1記
    載のシステム。
  18. 【請求項18】上記プロセッサがプロセッサの多数のグ
    ループを含み、上記グループが同一である、請求項1記
    載のシステム。
  19. 【請求項19】プロセッサが単一のグループのプロセッ
    サを含み、上記信号供給手段が上記最初の制御点を繰り
    返し供給する手段を含み、繰り返し供給する度に、上記
    プロセッサがサブパッチの異なる組の制御点を演算す
    る、請求項1記載のシステム。
JP61505280A 1985-10-03 1986-10-02 パラメトリック・パッチの再分割システム Expired - Lifetime JP2578787B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US783,492 1985-10-03
US06/783,492 US4646251A (en) 1985-10-03 1985-10-03 Computer graphics, parametric patch parallel subdivision processor

Publications (2)

Publication Number Publication Date
JPS63502380A JPS63502380A (ja) 1988-09-08
JP2578787B2 true JP2578787B2 (ja) 1997-02-05

Family

ID=25129431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61505280A Expired - Lifetime JP2578787B2 (ja) 1985-10-03 1986-10-02 パラメトリック・パッチの再分割システム

Country Status (5)

Country Link
US (1) US4646251A (ja)
EP (1) EP0240557B1 (ja)
JP (1) JP2578787B2 (ja)
DE (1) DE3689654T2 (ja)
WO (1) WO1987002159A1 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390292A (en) * 1987-01-26 1995-02-14 Ricoh Company, Ltd. Apparatus for converting a gregory patch
US4912659A (en) * 1987-10-30 1990-03-27 International Business Machines Corporation Parallel surface processing system for graphics display
FR2624993B1 (fr) * 1987-12-21 1990-04-06 Comp Generale Electricite Generateur de signal temporel periodique a caractere recursif
US4912664A (en) * 1988-02-01 1990-03-27 Mentor Graphics Corporation Method and apparatus for generating a mesh for finite element analysis
US4933889A (en) * 1988-04-29 1990-06-12 International Business Machines Corporation Method for fine decomposition in finite element mesh generation
US5367615A (en) * 1989-07-10 1994-11-22 General Electric Company Spatial augmentation of vertices and continuous level of detail transition for smoothly varying terrain polygon density
JP2852813B2 (ja) * 1989-07-10 1999-02-03 ゼネラル・エレクトリック・カンパニイ 細部レベルの変化に対する頂点の空間的な増強
JPH0776991B2 (ja) * 1989-10-24 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Nurbsデータ変換方法及び装置
US5163126A (en) * 1990-05-10 1992-11-10 International Business Machines Corporation Method for adaptively providing near phong grade shading for patterns in a graphics display system
GB2245804A (en) * 1990-06-28 1992-01-08 Marconi Gec Ltd Sub-dividing image "tiles" using random data and fractal dimension gives "close in" texture
FR2673013B1 (fr) * 1991-02-19 1996-05-15 Proditec Sa Systeme de traitement parallele des images.
JP3137245B2 (ja) * 1991-10-30 2001-02-19 ソニー株式会社 自由曲線作成方法及び自由曲面作成方法
GB2274376B (en) * 1992-12-09 1996-12-18 Honda Motor Co Ltd Method of and system for producing solid models
US5428718A (en) * 1993-01-22 1995-06-27 Taligent, Inc. Tessellation system
US5553206A (en) * 1993-02-12 1996-09-03 International Business Machines Corporation Method and system for producing mesh representations of objects
GB2278524B (en) * 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
US5592597A (en) * 1994-02-14 1997-01-07 Parametric Technology Corporation Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics
US5506947A (en) * 1994-09-22 1996-04-09 International Business Machines Corporation Curve and surface smoothing without shrinkage
AU3972695A (en) * 1994-11-03 1996-05-31 Parametric Technology Corporation Computer system for reconstructing 3d object using transormations between screen and model space
JP2642070B2 (ja) * 1994-11-07 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション 四角形メッシュの生成方法及びシステム
CA2214433A1 (en) * 1995-03-02 1996-09-06 Parametric Technology Corporation Computer graphics system for creating and enhancing texture maps
GB2300052B (en) * 1995-04-19 1998-04-29 Honda Motor Co Ltd Method of generating die structure data
JP3702496B2 (ja) * 1995-07-10 2005-10-05 三菱電機株式会社 数値制御装置を用いた加工方法
US5767859A (en) * 1995-09-28 1998-06-16 Hewlett-Packard Company Method and apparatus for clipping non-planar polygons
US6348921B1 (en) 1996-04-12 2002-02-19 Ze Hong Zhao System and method for displaying different portions of an object in different levels of detail
JP3926866B2 (ja) * 1996-05-10 2007-06-06 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、及び描画システム
US6078331A (en) * 1996-09-30 2000-06-20 Silicon Graphics, Inc. Method and system for efficiently drawing subdivision surfaces for 3D graphics
US6002406A (en) * 1996-11-13 1999-12-14 Silicon Graphics, Inc. System and method for storing and accessing data representative of an object in various level-of-detail
US5995109A (en) * 1997-04-08 1999-11-30 Lsi Logic Corporation Method for rendering high order rational surface patches
US5984511A (en) * 1997-05-12 1999-11-16 Mcdonnell Douglas Corporation Knowledge driven composite design optimization process and system therefor
US7010472B1 (en) 1997-05-12 2006-03-07 Mcdonnell Douglas Corporation Knowledge driven composite design optimization process and system therefor
US6407743B1 (en) 1998-10-20 2002-06-18 Microsoft Corporation System and method for morphing based on multiple weighted parameters
US6693646B1 (en) * 1999-04-28 2004-02-17 Microsoft Corporation Method and system for iterative morphing
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
US6437795B1 (en) 1999-07-21 2002-08-20 Sun Microsystems, Inc. Method and apparatus for clipping a function
US7034777B1 (en) * 2000-08-15 2006-04-25 Logitech Europe S.A. Mini monitor on shared peripheral bus
US6799081B1 (en) 2000-11-15 2004-09-28 Mcdonnell Douglas Corporation Fiber placement and fiber steering systems and corresponding software for composite structures
JP2002162958A (ja) * 2000-11-28 2002-06-07 Pioneer Electronic Corp 画像表示方法および装置
JP4636741B2 (ja) * 2001-07-06 2011-02-23 任天堂株式会社 画像処理装置および立体形状表示プログラム
US8471852B1 (en) * 2003-05-30 2013-06-25 Nvidia Corporation Method and system for tessellation of subdivision surfaces
US7243055B2 (en) * 2004-01-28 2007-07-10 The Boeing Company Composite stacking sequence optimization for multi-zoned composites
US7097540B1 (en) * 2005-05-26 2006-08-29 General Electric Company Methods and apparatus for machining formed parts to obtain a desired profile
US8571346B2 (en) * 2005-10-26 2013-10-29 Nvidia Corporation Methods and devices for defective pixel detection
US7750956B2 (en) * 2005-11-09 2010-07-06 Nvidia Corporation Using a graphics processing unit to correct video and audio data
US8588542B1 (en) 2005-12-13 2013-11-19 Nvidia Corporation Configurable and compact pixel processing apparatus
US8737832B1 (en) * 2006-02-10 2014-05-27 Nvidia Corporation Flicker band automated detection system and method
US8594441B1 (en) 2006-09-12 2013-11-26 Nvidia Corporation Compressing image-based data using luminance
EP2104930A2 (en) 2006-12-12 2009-09-30 Evans & Sutherland Computer Corporation System and method for aligning rgb light in a single modulator projector
US8723969B2 (en) * 2007-03-20 2014-05-13 Nvidia Corporation Compensating for undesirable camera shakes during video capture
US8724895B2 (en) * 2007-07-23 2014-05-13 Nvidia Corporation Techniques for reducing color artifacts in digital images
US8570634B2 (en) * 2007-10-11 2013-10-29 Nvidia Corporation Image processing of an incoming light field using a spatial light modulator
US8780128B2 (en) * 2007-12-17 2014-07-15 Nvidia Corporation Contiguously packed data
US9177368B2 (en) * 2007-12-17 2015-11-03 Nvidia Corporation Image distortion correction
US8698908B2 (en) * 2008-02-11 2014-04-15 Nvidia Corporation Efficient method for reducing noise and blur in a composite still image from a rolling shutter camera
US9379156B2 (en) * 2008-04-10 2016-06-28 Nvidia Corporation Per-channel image intensity correction
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US8373718B2 (en) * 2008-12-10 2013-02-12 Nvidia Corporation Method and system for color enhancement with color volume adjustment and variable shift along luminance axis
US8749662B2 (en) * 2009-04-16 2014-06-10 Nvidia Corporation System and method for lens shading image correction
US8698918B2 (en) * 2009-10-27 2014-04-15 Nvidia Corporation Automatic white balancing for photography
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
US9798698B2 (en) 2012-08-13 2017-10-24 Nvidia Corporation System and method for multi-color dilu preconditioner
US9508318B2 (en) 2012-09-13 2016-11-29 Nvidia Corporation Dynamic color profile management for electronic devices
US9307213B2 (en) 2012-11-05 2016-04-05 Nvidia Corporation Robust selection and weighting for gray patch automatic white balancing
US9756222B2 (en) 2013-06-26 2017-09-05 Nvidia Corporation Method and system for performing white balancing operations on captured images
US9826208B2 (en) 2013-06-26 2017-11-21 Nvidia Corporation Method and system for generating weights for use in white balancing an image
US10902675B2 (en) 2019-02-22 2021-01-26 Alyn Rockwood Graphical modelling by smoothing polyhedral meshes with multi-sided patches

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889107A (en) * 1972-10-16 1975-06-10 Evans & Sutherland Computer Co System of polygon sorting by dissection
JPS566294A (en) * 1979-06-29 1981-01-22 Hitachi Ltd Graphic display device
US4608653A (en) * 1984-03-30 1986-08-26 Ryozo Setoguchi Form creating system

Also Published As

Publication number Publication date
US4646251A (en) 1987-02-24
JPS63502380A (ja) 1988-09-08
EP0240557B1 (en) 1994-02-16
EP0240557A4 (en) 1990-05-14
DE3689654T2 (de) 1994-10-06
DE3689654D1 (de) 1994-03-24
WO1987002159A1 (en) 1987-04-09
EP0240557A1 (en) 1987-10-14

Similar Documents

Publication Publication Date Title
JP2578787B2 (ja) パラメトリック・パッチの再分割システム
US5010502A (en) Method and apparatus for generating representations of 3-dimensional objects
US5278948A (en) Parametric surface evaluation method and apparatus for a computer graphics display system
JP2501580B2 (ja) 曲線イメ−ジの可視表示発生装置
Pember et al. An adaptive Cartesian grid method for unsteady compressible flow in irregular regions
US5392385A (en) Parallel rendering of smoothly shaped color triangles with anti-aliased edges for a three dimensional color display
JPS59172068A (ja) マルチプロセツサ・コンピユ−タシステム
WO2000002165A1 (fr) Procede permettant de produire des donnees de polygone et afficheur d'images utilisant lesdites donnees
JP3599386B2 (ja) エッジの混合方法
Tsingos et al. Implicit surfaces for semi-automatic medical organ reconstruction
US5402533A (en) Method and apparatus for approximating a signed value between two endpoint values in a three-dimensional image rendering device
JP2868666B2 (ja) 任意の線に沿って組版する電子組版装置
Woodward B 2-splines: a local representation for cubic spline interpolation
US5611029A (en) Run slice line draw engine with non-linear shading capabilities
Hartley et al. Boundary element analysis of thin plates internally bounded by rigid patches
Hecht et al. Domain decomposition algorithm for computer aided design
US5657435A (en) Run slice line draw engine with non-linear scaling capabilities
JP3254276B2 (ja) 貼り形状算出装置
EP0425174A2 (en) Parametric curve evaluation for a computer graphics display system
JPH0623990B2 (ja) 立体容器の設計装置
Terzidis Transformational design
JPH02176879A (ja) パラメータ曲線発生器
EP0549189B1 (en) Solid model generation by span method using dividing cubes
Armit Curve and surface design using multipatch and multiobject design systems
JPH0786821B2 (ja) オーバレイ表示の制御方法