JPH07120410B2 - 大規模並列アーキテクチャによる3次元物体の表示・操作システム及び方法 - Google Patents

大規模並列アーキテクチャによる3次元物体の表示・操作システム及び方法

Info

Publication number
JPH07120410B2
JPH07120410B2 JP3332902A JP33290291A JPH07120410B2 JP H07120410 B2 JPH07120410 B2 JP H07120410B2 JP 3332902 A JP3332902 A JP 3332902A JP 33290291 A JP33290291 A JP 33290291A JP H07120410 B2 JPH07120410 B2 JP H07120410B2
Authority
JP
Japan
Prior art keywords
edge
vertex
label
processor
edges
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
JP3332902A
Other languages
English (en)
Other versions
JPH04277792A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04277792A publication Critical patent/JPH04277792A/ja
Publication of JPH07120410B2 publication Critical patent/JPH07120410B2/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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は大規模並列演算システ
ムに関し、特に大規模並列アーキテクチャにより幾何学
的モデル又は模型を作成及び変更するシステム及び方法
に関する。
【0002】
【従来の技術】立体の模型作成はコンピュータによる設
計及び分析、物理的処理のシミュレーション、ロボット
工学、コンピュータ視覚、及び他のコンピュータ関連業
務等多くの方面において基礎的なものである。物理的物
体に対しコンピュータを適用して実処理に類似したもの
を使用するようにした計算実験は高価な実験及び予備的
設計のプロトタイプを作成する必要性を大きく減少させ
た。しかし、そのような実験は相当長時間のコンピュー
タ・タイムを必要とすることが多いため、その実験のた
めの処理時間を短縮することは、更に多くの設計変更を
より詳細に検討する時間を与えることができることにな
る。
【0003】3次元物体又は立体は次の3つの基本的に
異なる定理を使用して表わすことが最も多い。それら
は、集合演算法を使用して原始的立体の代数的組合せと
して立体を記述する構成的立体幾何学と、簡単な立体の
互いに素な結合として立体を記述する容量分解法と、そ
の境界の0,1及び2次元部を枚挙することにより立体
を記述する境界表現法とである。
【0004】集合演算法は全3種類の表現のうち基本的
に重要なものである。しかし、物体の基礎的表現とは関
係なく、すべて既知の集合演算アルゴリズムは境界表現
又は等価の計算を要求し、いくつかの理由により長時間
の計算を必要とする。又、該アルゴリズムは固有的な複
雑性を有し、それ自体長時間の計算が要求される。その
上、重要な模型は大きくなる傾向となり、計算時間も模
型の大きさの関数となる。
【0005】高度な並列処理を使用した並列計算は課題
のサイズが大きくなったときに、使用可能な計算力の量
を増加するべき方法を提供しうるため、時間消費型計算
のための万能薬として提案されてきた。コンピュータ・
グラフィックスにそれを適用して模型化するための専用
並列コンピュータを構築したが、立体の模型化の適用に
対しては有効とは見られなかった。かかるコンピュータ
は主にコンピュータ・グラフィックスのイメージの描写
を助けるために設計されたものであり、幾何学的物体の
基礎的表現の作成のためのものではなかった。最近、少
数の非常に強力なプロセッサに対し作業を分配する負荷
平衡を使用した立体模型化用並列アーキテクチャ及び関
連アルゴリズムが提案された。しかし、そのような解決
方法はそのように強力なプロセッサを複製することにか
かるコストのため、問題のサイズを評価しうるものにな
ったとは思われない。
【0006】今日、大規模並列処理システムが市場から
入取しうるようになってきた。例えば、マサチューセッ
ツ州ケンブリッジのシンキング・マシンズ・インクから
販売の“コネクション・マシーン”は限定した能力及び
メモリー・サイズを有する65,536個のプロセッサ
を使用している。高度な並列アルゴリズムを実行してプ
ロセッサを制御するプログラムを内在するプロセッサは
フロント・エンド・コンピュータによるアレイとして取
扱われる。そのような大規模並列システムにおいては、
プログラムの実行中、アレイ内のプロセッサ間の相互通
信を回避することが重要な課題となってくる。そのよう
な相互通信はアルゴリズムの実行を目立つ程全体的に遅
くし、ある例では、直列システムに較べて大規模並列シ
ステムの価値を疑問視しうるようにさえなる場合があ
る。
【0007】立体又は3次元模型作成アルゴリズムは既
知の多数のデータ表示を使用している。“立体”はその
境界が平面の断片から成る物理的物体である。境界が湾
曲した表面を有する物体は一般に小平面を使用して近似
させる。かくして、立体は面と称する平面の断片と、エ
ッジと称する面が出合う線分と、頂点と称するエッジが
出合う点とによって表現される。
【0008】複雑な立体は和集合、交わり、及び差分の
ようなオペレーションズを使用して簡単な立体を組合わ
せることにより形成される。立体の実際の計算は立体の
境界表現で行われる。その計算は頂点、エッジ及び面の
間に規定されるべき関係が要求される。そのような関係
は“隣接性(adjacencies)”と呼ばれる。
【0009】図1には、6面(A−F)と、12エッジ
と、8頂点とを有する立方体を示す。立方体の模型作成
及び操作を行うため、先行技術においては、1組の相互
に関係のあるデータ構造が提案された(カラシックの
“固定した立体の表示及び操作について”、哲学博士論
文、マッギル大学、キューベック州モントリオール、1
988年:コーネル大学学部(ニューヨーク州イサカの
コンピュータ科学報告書89−976として入手可
能))。その論文中に、立体の境界表現のために、スタ
ー・エッジ・データ構造、すなわち直列演算環境におい
て特に有効なデータ構造が記載されている。カラシック
は、そのほか、立体をより良く表現するため、人為的構
成を加えることを提案している。このように加えられた
人為的構成物を有向接線(又はdエッジ)と称する。d
エッジは図1に示すように各面A−Fに存在する。例え
ば、面Aはdエッジ0−3を有し、面Bはdエッジ4−
7を有する等である。図1で注意するべきことは、立方
体の各エッジ(接線)(例えば、頂点uv間のエッジ
e)は2つの同伴するdエッジ(すなわち、2及び4)
を有し、かかる各dエッジは夫々エッジeを含む面に存
在する。
【0010】始頂点uと終頂点vとを有するエッジeは
多くの面の境界をなしている。各隣り合う面fのため、
面fの内部はエッジeの右側にあるか左側にあるかを記
述しなければならない。これはdエッジef (+)及び
f (−)を使用して行われる。面fの内部がeの右側
にあればdエッジef (+)は存在する。エッジeから
左方向か右方向かはエッジeの始頂点uに立ち、終頂点
vの方を見ることによって決定可能である。面fが左側
にあればdエッジef (−)が存在する。より詳細に説
明すると、今Nが面fの外方直角にある場合、(v−
u)×Nがeの内部からfの内部に向って指示すると、
f (+)は存在することになる。同様に、(u−v)
×Nがeの内部から面fの内部に向けて指示すると、e
f (−)が存在することになる。すなわち、dエッジe
f (+)は始頂点u及び終頂点vを有し、dエッジef
(−)は始頂点v及び終頂点uを有する。図1(及び図
4)において、dエッジは方向ベクトルとして表わされ
る。
【0011】頂点vに付随し、面fに含まれるdエッジ
は面fの平面において、それらの方向ベクトルを放射状
に分類することにより整列される。同様に、エッジeに
同伴するdエッジはエッジeについてそれらが夫々存在
する面で放射状に分類することにより整列される。
【0012】
【発明が解決しようとする課題】図2はスター・エッジ
表示のキー隣接関係を表わす。スター・エッジ表示は概
念的に率直ではあるが、そのデータ構造として実現した
ものは複雑であり、有効に実行するのが困難である。
【0013】更に、図2に示すものは、各3つの独立し
たデータ集合、すなわちエッジ、面及び頂点が各面と同
伴する両方のdエッジに対する指針、及び2つの場合、
相互に対する指針を有する。かかるデータ表示は、模型
作成アルゴリズムを形成するときごとに多数のメモリー
照会を必要とする。そして、そのような表示はそれ自体
高度な並列処理に役立つものではない。
【0014】従って、本発明の目的は並列演算システム
において、3次元物体を表わす改良したデータ構造を提
供することである。
【0015】この発明の他の目的は、高度な並列プロセ
ッサで独立の模型作成オペレーションを可能にするデー
タ構造を有する大規模並列アーキテクチャ演算システム
を提供することである。
【0016】更に、この発明の他の目的は、最少のプロ
セッサ相互間通信で動作する高度な並列アーキテクチャ
を可能にする模型のデータ表示構造に対しラベルを割当
てる改良した方法を提供することである。
【0017】
【課題を解決するための手段】上記の課題を解決するた
め、本発明は、各プロセッサが複数の頂点、面、及びエ
ッジを含む3次元物体をモデル化又は模型作成すること
ができる複数の唯一的にラベルされた大規模並列プロセ
ッサを含む並列演算システムを提供した。この並列演算
システムは、並列プロセッサに対し、3次元物体に関す
る模型作成プログラムを発行するフロント・エンド・プ
ロセッサを含む。各並列プロセッサはそのコマンドに応
答して、唯一的なラベルの使用により、3次元物体の1
つの面に対して該3次元物体のエッジを唯一的に関係さ
せる有向接線(dエッジ)構造を形成する。各dエッジ
・データ構造は少くとも該エッジの頂点の記述と該1つ
の面の記述とを含む。その結果、各プロセッサは模型作
成コマンドに応答して模型の小部分について演算し、プ
ロセッサ相互間通信を必要とせず、すべて他のプロセッ
サと並列に結果の答を発生することができる。
【0018】
【実施例】次に、添付図面に基づき本発明の一実施例を
詳細に説明する。図3において、並列処理システム50
はフロント・エンド・プロセッサ52と、通信網54
と、ディスプレイ55と、複数の並列プロセッサ56と
を含む。フロント・エンド・プロセッサ52はシステム
用の主制御ソフトウェア及び3次元模型作成ソフトウェ
アを含み、通信網54を介して各プロセッサ56と並列
に通信する。各並列プロセッサ56は全プロセッサ間で
それを各唯一的に識別する予め割当てられたラベルを有
する。該ラベルは所在、名称又は他の適当な唯一的な識
別表示でよい。
【0019】本発明の好ましい実施例は、並列処理シス
テム50が密集行進的に動作するプロセッサ56の各々
と同期的に動作することを意図するものである。それに
も拘らず、プロセッサ56間では非同期動作を意図する
ものであるということを理解するべきである。本実施例
においては、特定の立体物について、その3次元模型作
成プログラムを実行するよう、使用者がフロント・エン
ド・プロセッサ52に対し指令を発する。フロント・エ
ンド・プロセッサ52は、それに応答して、すべての並
列プロセッサ56に対し直列に1つづつ指令を発生す
る。
【0020】以下の記載でわかるように、並列プロセッ
サ56の各々(すなわち、P0 −Pn-1 )はフロント・
エンド・プロセッサ52からの模型作成コマンドに応答
して決定した立体構造の模型作成を開始する。前述した
ように、各立体構造は複数の頂点、エッジ、及び面から
成るが、各個々のプロセッサ(例えば、P1 )は演算の
ために模型の一部のみが割当てられる。その部分の模型
は形成されるべきその模型部分を唯一的に識別するプロ
セッサのラベルによって確認される。
【0021】各並列プロセッサ56はそのラベルに基づ
いてdエッジが割当てられる。そこで、プロセッサはそ
の同伴する物体のエッジ及び面に割当てられたdエッジ
を唯一的に同伴するdエッジ・データ構造を構成する。
その結果、構成されたデータ構造は、他の並列プロセッ
サ56に照会したり、通信することなく、各並列プロセ
ッサに割当てられたdエッジについて、多くの模型作成
コマンドの処理を完了することができるものが十分に完
成する。かくして、本実施例における全プロセッサは密
集行進的に動作するから、全模型作成作用を並列且つ最
短の延時間で行うことができる。
【0022】図4及び図5に基づき、並列プロセッサの
dエッジ・データ構造の発生について説明する。図4は
図1の立方体の部分図であり、図5は図4の模型として
使用する実際のdエッジ・データ構造を示す。以下の説
明により、各dエッジ・データ構造は唯一的であり、割
当てられた並列プロセッサ56で形成されるということ
が明らかとなる。しかし、dエッジ・データ構造は他の
場所で形成しても、又種々割当てられた並列プロセッサ
56に外部から挿入されてもよいということを理解する
べきである。
【0023】前述のカラシックは、dエッジは頂点及び
エッジについて形成し、放射状に並べても良いというこ
とを予め示した。すなわち、dエッジは、プロセッサは
dエッジの存在する面と模型のエッジとを同伴すること
ができる単なる人為的構成であるということを知ること
ができる。
【0024】図5を見ると、各dエッジは始頂点と、終
頂点と、同伴するエッジと、同伴する面とを有するとい
うことがわかる。各dエッジは、又その方向が同伴する
エッジと同じか又は異なるかということを表示するビッ
ト・インジケータを有する。dエッジが一部にある立体
にもラベルが与えられる。各始頂点、終頂点、及びエッ
ジは詳細に確認しうるラベルと、後述する“後継者”と
を有する。面にはラベルが与えられるほか、そのために
与えられる2つの追加のデータを有する。すなわち、そ
れは、そこから面の方程式を容易に決定することができ
る面法線ベクトル及び面距離である。
【0025】“始頂点後継者dエッジ”は始頂点を中心
にして放射状反時計方向である面fのdエッジのラベル
である。今、データ構造が模型のdエッジ2のために構
成されているものと仮定すると、その“始頂点後継者d
エッジ”は図4の反時計方向矢印60で示すようなdエ
ッジ1である。dエッジ2の“始頂点ラベル”は15で
ある。(始頂点ラベルに対し値を割当てる方法は後述す
る。)“終頂点後継者dエッジ”はdエッジ2を含む面
のdエッジのラベルである。すなわち、該ラベルは終頂
点8を中心にした放射状反時計方向である(図4の曲線
矢印62で示す)。dエッジ3はこの要求を満たすもの
である。“dエッジ2周囲の後継者”はdエッジ2から
エッジeを中心とした放射状反時計方向のdエッジのラ
ベルである。この関係はdエッジ4と指定した図4の曲
線矢印64で示される。
【0026】dエッジ2が置かれている平面の方程式は
立体のかたまりから外方に向けて引かれた単体法線ベク
トル(図に示していない)によって表わされ、面距離は
原点からの該面の平面の符号付距離である。上記の反時
計方向という慣例表現は、すべての慣例的表現が一貫し
て適用される限り、容易に時計方向の慣例表現として用
いることができることは理解するべきである。
【0027】dエッジのラベルは常に夫々のdエッジ・
データ構造を含むように割当てられたプロセッサの名称
又はラベルに対応する。例えば、立方体は12のエッジ
と24のdエッジとによって規定される。かくして単一
のdエッジ・データ構造を含むように割当てられた24
個のプロセッサが立方体を表示又は記述するために使用
される。
【0028】dエッジ・データ構造を効率よく機能させ
うるため、エッジ、面、頂点及びdエッジに対するラベ
ルの正準的割当が望ましい。該正準的割当は、「唯一性
−同じ型の2つの別個な境界要素(すなわち、面、エッ
ジ又は頂点)は同一ラベルを持たない;結合性−各境界
要素は付随するdエッジによりラベルされる;交差性−
正準的にラベルされた立体と、点、線、又は平面のいず
れかとにより与えられ、同一のラベルは立体の2つの別
々な境界要素ではなく、点、線、又は平面との点交差を
持つ」という特性を有する。例えば、平面は、同一ラベ
ルによりエッジと頂点とを横断交差させることはできな
い。
【0029】ラベル付与を実行するアルゴリズムは下記
の如き演算を行う。 1.各dエッジはそこに割当てられたプロセッサのラベ
ルを取得する。 2.面fのdエッジの最大ラベルで面fをラベルする。 3.エッジeに同伴するdエッジの最大ラベルでエッジ
eをラベルする。 4.終頂点としてその頂点vを共有するdエッジの最大
ラベルで始頂点vをラベルする。 5.終頂点としてその頂点uを共有するdエッジの最大
ラベルで始頂点uをラベルする。
【0030】上記のアルゴリズムは明らかに使用者が変
更できる選択部分を含む。例えば、ラベル付与動作にお
いて、最大ラベルを使用することを示したが、それは逆
に最小ラベルでもよい。同様に、上記第4及び第5ステ
ップにおいては、ラベルを割当てる基礎として終頂点の
代りに始頂点を選択することもできる。上記選択のいず
れにしても、重要なことは、割当てられたラベルは唯一
のものであり、容易に確認しうるものであることであ
る。
【0031】dエッジ・データ構造はプロセッサ間通信
をしないで容易に演算できるよう該データ構造には含ま
れていないdエッジ周囲の情報を可能にする。例えば、
各種方向ベクトルは図5に示すデータ構造から引出すこ
とができる。更に、立体模型作成アルゴリズムは一定の
要件を満足するような境界要素の選択を要求する。立体
の交差を計算する際、与えられた面のdエッジを選択す
ることが必要である。直列プロセッサでは、それは数個
のデータ構造の検査が必要である。
【0032】両者を対比してみると、図5に示すdエッ
ジ・データ構造(大規模並列プロセッサにより)を使用
するそのような演算は計算のため1組のプロセッサを選
択し、該1組のアクティブ・プロセッサによって計算を
実行するようにして行われる。例えば、面のdエッジの
選択はその面のラベルが与えられた面のものと一致する
ラベルのプロセッサを作動することによって達成される
(その選択は並列処理システムにより効率的に行われる
一種の同伴選択である)。
【0033】次に、上記の正規のアルゴリズムに従い、
種々のラベルの割当を示す例を考察する。既に示したよ
うに、各並列プロセッサは、該プロセッサがある初歩的
3次元物体の表示を構成することができる模型作成ソフ
トウェア命令を実行する。
【0034】フロント・エンド・プロセッサが“立方体
を作れ”と命令され、立方体の長さ、幅、及び高さが与
えられたものと仮定すると、そのコマンドを実行するた
め、すべてのプロセッサ56に対して命令を発すること
により処理を開始する。それに応答して、各並列プロセ
ッサは立方体の特定のdエッジのプロセッサに対して予
めなされる割当に従って、該立方体の唯一的なdエッジ
を構成する。
【0035】フロント・エンド・プロセッサ52におい
て、模型作成ソフトウェア・システムは、立方体が24
dエッジを有し、それらdエッジを立方体の各面に対し
て予め割当てるということを知っている。図4に示すよ
うに、dエッジ0−3は立方体の上面に割当てられるの
に対し、dエッジ4−7は立方体の右面に対して割当て
られる、等である。
【0036】例えば、プロセッサP2 はdエッジ2及び
それに関する計算を処理する。プロセッサP2 は、かく
してdエッジ2に対するdエッジ・データ構造を作成す
るよう命令され、又模型のどこにdエッジ2を置くかそ
の場所も命令される。プロセッサP0 ,P1 、及びP3
は夫々dエッジ0,1,及び3に対する各計算を処理す
る。
【0037】プロセッサP2 はdエッジ2の頂点の座標
と、dエッジ2が存在する面のための面方程式とを計算
する。そこで、プロセッサP2 は図5に示すデータ構造
のための各要素に対する種々ラベルを計算する。dエッ
ジ2が存在する面に対するラベルは正規の割当アルゴリ
ズムの第2ステップに従って決定される。その面は、d
エッジ3がその面内のすべてのdエッジのうちの最大ラ
ベル値を有するため、3のラベル値が割当てられる。
【0038】そこで、プロセッサP2 は同伴するdエッ
ジの最大ラベル値を持つdエッジ2が同伴するエッジe
のラベル付与に進むよう命令される。図4に見られるよ
うに、エッジeはdエッジ2により面3に同伴し、dエ
ッジ4により面7に同伴する。その結果、エッジeは正
規のアルゴリズムの第3ステップに従い、4のラベル値
が割当てられる。
【0039】次に、アルゴリズムの第4及び第5ステッ
プに従い、頂点ラベルを決定する。dエッジ2はエッジ
e(現在、4の値が割当てられている)に行ったと同
様、同じ頂点を共有するということを思いだそう。dエ
ッジ2の最左頂点はその終頂点vであり、アルゴリズム
の第4ステップに従い、dエッジ8として8の値が割当
てられ、それは、その終頂点としてその頂点を共有する
すべてのdエッジの最大値を有する。dエッジ9も又、
その頂点を共有するが、始頂点のため、その値は割当て
られないということに注目するべきである。
【0040】終頂点としてuを共有するdエッジを審査
することにより、前記アルゴリズムの第5ステップに従
い、dエッジ2の始頂点uのラベルを決定する。終頂点
として頂点uを共有するdエッジの最大値はdエッジ1
5であるから、頂点には値15が割当てられるというこ
とが図4からわかる。
【0041】次に、プロセッサP2 は種々“後継者dエ
ッジ”の値の決定に入る。“始頂点後継者dエッジ”の
値は(dエッジ2を参照して決定すると)図4の曲線6
0で示すようにdエッジ1である。“終頂点後継者dエ
ッジ”はdエッジ3として曲線62で表わされるのに対
し、“dエッジ2周囲の後継者”は曲線64で示すよう
にdエッジ4である。
【0042】次に、dエッジ2のための方向ビットが決
定される。dエッジ2は、それが同伴するエッジeと同
方向を向いているので、+1の値が割当てられる。(そ
れが反対方向に向いていると、−1の値が割当てられ
る。)又、立方体に対し立体ラベルを割当てることもで
きるが、それは任意であり、必ずしも上記のどちらかの
値に関係付ける必要はない。各上記の決定値は、決定し
たときに図5に示すデータ構造に格納される。
【0043】この処理段階において、現在各並列プロセ
ッサは夫々割当てられたdエッジのための完全なdエッ
ジ・データ構造を含む。これらデータ構造は並列プロセ
ッサ間で相互通信なしに、又は最少の相互通信で、埋込
まれているデータの効率よい回復を可能にする。以下、
かかるデータ回復の例を数件例示する。
【0044】例1 ここで、ディスプレイのスクリーンに模型化物体の“面
5”を描こうとするものと仮定する。フロント・エンド
・プロセッサは各プロセッサ(P0 −Pn-1 )の各々に
対してリクエストを発生する。それら面のラベルは5に
等しく、ディスプレイを可能化して、割当てられた図5
の“dエッジ”をディスプレイに表示するよう命令を発
する。各プロセッサは、それに応答してその面ラベルを
検査し、それが5に等しいかどうかを確認する。それが
5に等しいと、それ以上のプロセッサ間通信を行わず
に、すべての必要な情報を持つことになるので、ディス
プレイを可能化し、面5の夫々のエッジ部分を構成する
ようディスプレイに命令を発する。そこで、各プロセッ
サはその特に割当てられたエッジをディスプレイに供給
してそれらを組合わせ、全面を表示する。
【0045】例2 この例は、記憶されたデータをいかに回復し、操作しう
るかを説明し、なぜデータ構造が面、エッジ、及び頂点
のデータ・リストの分離した記憶を要求しないのかにつ
いて指摘する。このコマンドは空間の3次元物体をベク
トル規定の方向に変換するものと仮定する。フロント・
エンド・プロセッサは各dエッジがそれ自体距離Lのベ
クトルVに変換するコマンドを発生する。各プロセッサ
はそのコマンドに応答して、割当てられたdエッジの始
頂点座標及び終頂点座標を変更し、更に同伴する面の面
方程式を変更する。並列にあるすべてのプロセッサは、
変換したエッジを形成してその図を表示するディスプレ
イに対し、更新したデータを供給する。
【0046】前述で示したように、プロセッサの多くの
機能はdエッジ・データ構造の使用中、プロセッサ間通
信をせずに作用しうるよう可能化される。しかしなが
ら、3次元模型作成プログラムの遂行中、個々の並列プ
ロセッサは、時折り、他のプロセッサを調べる必要があ
る。かかる通信は屡々他の立体と立体が交差し、それに
ついて計算を実行するときに要求される。プロセッサ間
通信のために必要な時間は、下記の方法に従ってdエッ
ジを再配置することにより減少することができる。
【0047】図6に示すように、面70が面80と交差
し、その交点a−dが夫々異なる並列プロセッサに存在
するものと仮定する。又、交点a及びbを処理する個々
のプロセッサの該交点の間にエッジを形成し、又交点c
及びdを処理するプロセッサの該交点間に他のエッジを
形成しようとする場合、各対のプロセッサ間に通信が必
要である。通信するプロセッサ間のパス長が短かくても
要求されなくなることはないであろう。
【0048】これらパス長は直線(その物体のすべての
面が全部平面であることを考慮して発生する)に沿い交
点間を順に配列することによって最短とすることができ
る。交差点の各々は直線に沿い、位置の順に従って整列
され、その整列に従って隣接する送信先プロセッサに配
分される。かくして、図6に示すように、交点aはプロ
セッサiが指定され、交点bはプロセッサi+1に向け
られ、等々と配分される。この整列及び交点の配置が完
了した後、後の通信は一番近い隣接プロセッサ間で行わ
れ、通信時間の損失を最少にする。
【0049】一方から他方に角度をもって配置されたd
エッジに沿って発生する場合も同様に整列することがで
きる。多くの立体模型作成手順も近隣分類として説明す
ることができる。例えば、図7に示すように、立体のエ
ッジe及びeと直角なベクトルVが与えられた場合、V
が該立体に向いているかどうかを知ることは有益かもし
れない。エッジeに同伴するdエッジはエッジeの周囲
に放射状に整列されるということは既に説明した。
【0050】更に、領域“dエッジ周囲の後継者”は次
のエッジeの周囲のdエッジのラベルを含む。そのラベ
ルは、そこから“次の”dエッジ(複数の)を含む面の
ラベルを取得することができる“次の”dエッジのデー
タ構造を含む並列プロセッサの番号に相当する。どの面
がベクトルVに対して直近反時計方向にあるかを決定す
ることによってそれを分類することができる。エッジe
に同伴するdエッジを含む各プロセッサはベクトルVと
その夫々の面との間の角度を計算する。そこで、計算し
た角度は容易に整列することができ、同伴するdエッジ
を再配置する場合、物理的に隣接するプロセッサを捜出
するため、放射状整列が使用される。
【0051】この再配置動作は図8に略図的に示され
る。そこには、図7に示した各平面a,b,c及びdの
各々に同伴するdエッジが示され、真正面からエッジe
を見たものである。前述したように、dエッジea −e
d を含む並列プロセッサによって角度θa ,θb
θC ,θd を計算する。そこで、これら角度はそれらの
サイズに従って整列され、種々dエッジが角度順に従っ
てプロセッサi,i+1,i+2等と再割当される。
【0052】他の例として、立体の面f及び頂点uが与
えられ、面fの平面に含まれているベクトルVが与えら
れると、ベクトルVが面fに向いているかどうかを知る
ために有益である。頂点uに隣接するどのdエッジがベ
クトルVに対し直近反時計方向にあるかを決定すること
によって、それを分類することができる。頂点uに隣接
するdエッジを含む各プロセッサはベクトルVに対する
角度を計算する。かくして計算された角度は放射状に整
列され、その放射状の整列は同伴するdエッジが再配置
された場所の物理的に隣接するプロセッサを捜出するた
めに使用される。
【0053】
【発明の効果】以上説明したように、本発明によれば、
3次元物体を表わすデータ構造を改良して、唯一的なd
エッジ・データ構造に割当てたラベルに従い、夫々それ
と同一ラベルの各並列プロセッサを使用して、高度に並
列な各プロセッサ独立の模型作成オペレーションを可能
にしたことにより、並列プロセッサ間通信を必要とせ
ず、簡単な構成で効率よく高速に模型作成アルゴリズム
を実行可能にした。
【図面の簡単な説明】
【図1】面、頂点、及びエッジを表わすようにした先行
技術のデータ構造の種々特徴を表わす立方体の斜視図
【図2】隣接物を確認しうるようデータ構造間に存在す
る指針を表わすようにした図1の先行技術におけるデー
タ構造を示す説明図
【図3】本発明を実施するための大規模並列処理システ
ムのハイレベル・ブロック図
【図4】本発明のデータ構造の理解に有益な図1の立方
体の部分斜視図
【図5】1並列プロセッサ当り1つ存在するdエッジ・
データ構造を示す図
【図6】2つの面を交差させ、その交差の各点がいかに
整列され、隣接する並列プロセッサに収納されるかを示
す説明図
【図7】ベクトルが交差する複合立体の3次元斜視図
【図8】図7のエッジeに対し直角に切断され、夫々の
dエッジ間の角度がいかに決定され、整列され、そして
同伴するdエッジがいかに隣接する並列プロセッサに収
納されるよう使用されるかを示す説明図
【符号の説明】
0−9: dエッジ 50: 並列処理システム 52: フロント・エンド・プロセッサ 54: 通信網 55: ディスプレイ 56: 並列プロセッサ e: エッジ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビド・アール・ストリップ アメリカ合衆国87123、ニューメキシコ州 ノースイーストアルバカーキ、カミーノ ウ・デッド・ラ・シィーラ 431番地

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】 頂点と面と3次元物体の面の境界を示す
    線分であるエッジとを有する3次元物体を模型化するソ
    フトウェアを含む並列演算システムであって、 複数の唯一的にラベルされたプロセッサと、 前記プロセッサに対し3次元物体に関する模型作成命令
    を発行する手段とを有し、 各前記プロセッサは、前記命令に応答し、唯一的なラベ
    ルに基づいて割当てられた3次元物体に関する有向接線
    (dエッジ)に唯一的に関係するエッジの頂点と面の特
    定を行う演算手段、 を含むことを特徴とする並列演算システム。
  2. 【請求項2】 各前記プロセッサに唯一的なdエッジを
    割当てることを特徴とする請求項1記載の並列演算シス
    テム。
  3. 【請求項3】 前記3次元物体に存在するdエッジと少
    なくとも同数のプロセッサを有し、各前記プロセッサは
    前記プロセッサのラベルに対応する唯一的なdエッジの
    ためのデータ構造を特定することを特徴とする請求項2
    記載の並列演算システム。
  4. 【請求項4】 エッジに同伴するdエッジは前記エッジ
    の周囲で所定の周囲方向に整列され、前記周囲方向はそ
    の始頂点と終頂点から決定した前記エッジのベクトル方
    向に関して決定されることを特徴とする請求項1乃至請
    求項3のうちの一つに記載の並列演算システム。
  5. 【請求項5】 面に存在するdエッジは前記面の周囲に
    おいて所定の方向に整列されることを特徴とする請求項
    4記載の並列演算システム。
  6. 【請求項6】 前記dエッジを割当てる手段は前記3次
    元物体の唯一的なdエッジに対し各前記プロセッサのラ
    ベルを割当てるソフトウェアを含むことを特徴とする請
    求項2記載の並列演算システム。
  7. 【請求項7】 各前記プロセッサは唯一的なdエッジが
    存在する面に対しラベルを割当て、前記ラベルの値は前
    記面に存在するdエッジのラベルの値の一つに等しいこ
    とを特徴とする請求項1乃至請求項6のうちの一つに記
    載の並列演算システム。
  8. 【請求項8】 前記割当てられたラベルの値は前記面に
    存在するすべてのdエッジの最大ラベル値に等しいこと
    を特徴とする請求項7記載の並列演算システム。
  9. 【請求項9】 各前記プロセッサは更にその唯一的なd
    エッジと同一の2つの頂点を有するエッジに対してラベ
    ル値を割当て、前記エッジのラベル値は前記エッジと同
    一の頂点を有するdエッジのラベル値の1つに等しいこ
    とを特徴とする請求項1乃至請求項8のうちの一つに記
    載の並列演算システム。
  10. 【請求項10】 前記エッジに対し割当てられたラベル
    値は前記エッジと同一の頂点を有するすべてのdエッジ
    の最大ラベル値に等しいことを特徴とする請求項9記載
    の並列演算システム。
  11. 【請求項11】 各前記プロセッサは更に前記エッジの
    始頂点uにその終頂点として頂点uを有するdエッジの
    値の1つに等しいラベルを割当てることを特徴とする請
    求項1乃至請求項10のうちの一つに記載の並列演算シ
    ステム。
  12. 【請求項12】 前記頂点uに割当てられたラベル値は
    その終頂点として頂点uを有するすべての前記dエッジ
    の最大ラベル値であることを特徴とする請求項11記載
    の並列演算システム。
  13. 【請求項13】 各前記プロセッサは更に前記エッジの
    終頂点vに対しラベル値を割当て、前記エッジは前記唯
    一的なdエッジと同一の頂点を有し、前記ラベル値はそ
    の終頂点として頂点vを有するdエッジのラベル値の1
    つに等しいことを特徴とする請求項1乃至請求項10の
    うちの一つに記載の並列演算システム。
  14. 【請求項14】 前記頂点vに対し割当てられたラベル
    値はその終頂点として頂点vを有するすべての前記dエ
    ッジの最大ラベル値であることを特徴とする請求項13
    記載の並列演算システム。
  15. 【請求項15】 各前記プロセッサは、演算により特定
    されたエッジの頂点と面より前記3次元物体を模型化
    し、表示するためのエッジを表示する命令を他のすべて
    のプロセッサと並列に発行するようにした手段を含み、
    前記演算は前記プロセッサの相互間通信をせずに行われ
    ることを特徴とする請求項1乃至請求項14のうちの一
    つに記載の並列演算システム。
  16. 【請求項16】 複数の唯一的にラベルされたプロセッ
    サを有し、頂点と面と3次元物体の面の境界を示す線分
    であるエッジとを有する3次元物体を模型化するソフト
    ウェアを含む並列演算システムにおいて、 前記3次元物体の少くとも1対の交差面間の全交差点を
    見出す工程と、 前記交差点を整列する工程と、 前記整列した交差点を順次1連の隣接するプロセッサに
    分配する工程と、 を含む並列演算方法。
  17. 【請求項17】 複数の唯一的にラベルされたプロセッ
    サを有し、頂点と面と3次元物体の面の境界を示す線分
    であるエッジとを有する3次元物体を模型化するソフト
    ウェアを含む並列演算システムにおいて、 前記3次元物体のエッジに対して直角なベクトルを見出
    す工程と、 前記ベクトルと複数のdエッジの各々との間の角度を整
    列する工程と、 前記整列された角度に対応する前記dエッジを前記プロ
    セッサに順次に分配する各工程と、 を含む並列演算方法。
  18. 【請求項18】 頂点と面と3次元物体の面の境界を示
    す線分であるエッジとを有する3次元物体を模型化する
    ソフトウェアを含む並列演算システムにおいて、 複数の唯一的にラベルされたプロセッサに対し3次元物
    体に関する模型作成命令を発行する工程と、 各前記プロセッサにおいて、前記命令に応答し、唯一的
    なラベルに基づいて割当てられた3次元物体に関する有
    向接線(dエッジ)に唯一的に関係するエッジの頂点と
    面の特定を行う工程と、 を含むことを特徴とする並列演算方法。
  19. 【請求項19】 各前記プロセッサは唯一的なdエッジ
    を決定しうることを特徴とする請求項18記載の方法。
  20. 【請求項20】 各前記プロセッサは、前記唯一的なd
    エッジが存在する面に対してラベルを割当て、該ラベル
    の値は前記面に存在するdエッジのラベルの値の1つに
    等しくすることを特徴とする請求項18または請求項1
    9記載の方法。
  21. 【請求項21】 各割当てられたラベル値は前記面に存
    在するdエッジの最大ラベル値に等しいことを特徴とす
    る請求項20記載の方法。
  22. 【請求項22】 各前記プロセッサは、前記唯一的なd
    エッジと同一の頂点を有するエッジに対し、前記エッジ
    と同一の頂点を有するdエッジのラベル値の1つに等し
    いラベル値を割当てる工程を実行することを特徴とする
    請求項18乃至請求項21のうちの一つに記載の方法。
  23. 【請求項23】 前記エッジに対して割当てられたラベ
    ル値は前記エッジと同一の頂点を有するdエッジのいず
    れより最大のラベル値に等しいことを特徴とする請求項
    22記載の方法。
  24. 【請求項24】 各前記プロセッサは、前記唯一的なd
    エッジと同一の頂点を有するエッジの始頂点uに対し、
    その終頂点として頂点uを有するdエッジの値の1つに
    等しいラベル値を割当てる工程を実行することを特徴と
    する請求項18乃至請求項23のうちの一つに記載の方
    法。
  25. 【請求項25】 前記頂点uに割当てられたラベル値は
    その終頂点として頂点uを有する前記dエッジのいずれ
    より最大のラベル値であることを特徴とする請求項24
    記載の方法。
  26. 【請求項26】 各前記プロセッサは、前記唯一的なd
    エッジと同一の頂点を有するエッジの終頂点vに対し、
    その終頂点として頂点vを有するdエッジのラベル値の
    1つに等しいラベル値を割当てる追加の工程を実行する
    ことを特徴とする請求項18乃至請求項23のうちの一
    つに記載の方法。
  27. 【請求項27】 前記頂点vに対して割当てられたラベ
    ル値は終頂点として頂点vを有する前記dエッジのいず
    れより最大のラベル値であることを特徴とする請求項2
    6記載の方法。
JP3332902A 1991-01-15 1991-11-22 大規模並列アーキテクチャによる3次元物体の表示・操作システム及び方法 Expired - Lifetime JPH07120410B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US64147191A 1991-01-15 1991-01-15
US641471 1991-01-15

Publications (2)

Publication Number Publication Date
JPH04277792A JPH04277792A (ja) 1992-10-02
JPH07120410B2 true JPH07120410B2 (ja) 1995-12-20

Family

ID=24572538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3332902A Expired - Lifetime JPH07120410B2 (ja) 1991-01-15 1991-11-22 大規模並列アーキテクチャによる3次元物体の表示・操作システム及び方法

Country Status (2)

Country Link
US (1) US5488692A (ja)
JP (1) JPH07120410B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5877970A (en) * 1995-08-11 1999-03-02 United States Golf Association Analytical method and system for the design of iron club heads
US5929865A (en) * 1996-06-14 1999-07-27 International Business Machines Corporation Method of sorting two-dimensional graphic images for converting into raster lines
US5886702A (en) 1996-10-16 1999-03-23 Real-Time Geometry Corporation System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
US5945996A (en) * 1996-10-16 1999-08-31 Real-Time Geometry Corporation System and method for rapidly generating an optimal mesh model of a 3D object or surface
US6356263B2 (en) 1999-01-27 2002-03-12 Viewpoint Corporation Adaptive subdivision of mesh models
US6895371B1 (en) * 2000-09-11 2005-05-17 The United States Of America As Represented By The Secretary Of The Navy Geometrical modeling of structural products
JP3925112B2 (ja) * 2001-06-20 2007-06-06 富士ゼロックス株式会社 画像処理装置
US7454659B1 (en) * 2004-08-24 2008-11-18 The Mathworks, Inc. Distributed systems in test environments
US7908313B2 (en) * 2004-07-21 2011-03-15 The Mathworks, Inc. Instrument-based distributed computing systems
JP2006181189A (ja) * 2004-12-28 2006-07-13 Bridgestone Sports Co Ltd ゴルフクラブヘッドの性能シミュレーション方法
US8310482B1 (en) * 2008-12-01 2012-11-13 Nvidia Corporation Distributed calculation of plane equations
US8229710B2 (en) * 2008-12-23 2012-07-24 Bridgestone Sports Co., Ltd. Method of analysis for kinetic properties of golf club head and golf club therefor
US8229711B2 (en) * 2008-12-23 2012-07-24 Bridgestone Sports Co., Ltd. Method of analysis for kinetic properties of golf club head and golf club therefor
US8624893B2 (en) * 2009-07-31 2014-01-07 Adobe Systems Incorporated System and method for generating 2D texture coordinates for 3D meshed surfaces
US8384717B2 (en) * 2010-02-16 2013-02-26 Siemens Product Lifecycle Management Software Inc. Method and system for B-rep face and edge connectivity compression
EP2811463B1 (en) * 2013-06-04 2018-11-21 Dassault Systèmes Designing a 3d modeled object with 2d views
EP4131172A1 (en) 2016-09-12 2023-02-08 Dassault Systèmes Deep convolutional neural network for 3d reconstruction of a real object
CN108710697B (zh) * 2018-05-23 2020-01-03 百度在线网络技术(北京)有限公司 用于生成信息的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4890242A (en) * 1986-06-05 1989-12-26 Xox Corporation Solid-modeling system using topology directed subdivision for determination of surface intersections
US4967392A (en) * 1988-07-27 1990-10-30 Alliant Computer Systems Corporation Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
ATE102371T1 (de) * 1988-12-06 1994-03-15 Heidenhain Gmbh Dr Johannes Verfahren zur simulation der bearbeitung eines werkstueckes und darstellung desselben, sowie vorrichtung zur durchfuehrung des verfahrens.
US5189781A (en) * 1990-08-03 1993-03-02 Carnegie Mellon University Rapid tool manufacturing

Also Published As

Publication number Publication date
US5488692A (en) 1996-01-30
JPH04277792A (ja) 1992-10-02

Similar Documents

Publication Publication Date Title
JPH07120410B2 (ja) 大規模並列アーキテクチャによる3次元物体の表示・操作システム及び方法
US11507382B2 (en) Systems and methods for virtually partitioning a machine perception and dense algorithm integrated circuit
AU747230B2 (en) Longest-edge refinement and derefinement system and method for automatic mesh generation
TWI395155B (zh) 用於處理射線之方法與系統以及包括相關聯資料之機器可存取媒體
Franco et al. A distributed approach for real time 3D modeling
JPH08138082A (ja) 四角形メッシュの生成方法及びシステム
JPH0877365A (ja) 多重プロセッサ・グラフィカル作業負荷分配を管理するための方法および装置
US6052128A (en) Method and apparatus for clipping convex polygons on single instruction multiple data computers
JPH0350679A (ja) コンピュータモデルシステム
de Cougny et al. Parallel three-dimensional mesh generation on distributed memory MIMD computers
US6043825A (en) Method of displaying 3D networks in 2D with out false crossings
Mackerras A fast parallel marching-cubes implementation on the Fujitsu AP1000
Bronstein et al. Weighted distance maps computation on parametric three-dimensional manifolds
US6229545B1 (en) Method of generating solid-shell object
US10424096B1 (en) Technique for orthogonal edge routing of directed layered graphs with edge crossings reduction
Ng Evaluation of euclidean shortest path, voronoi digram and line segement intersection using mass, spark, and mapreduce
Herbordt The evaluation of massively parallel array architectures
Rygol et al. MARVIN and TINA: A multiprocessor 3‐D vision system
JP2000251081A (ja) 内点判定方法、グラフィック描画装置およびプログラム記憶媒体
El-Boghdadi Constant Time Algorithm for Computing a Collision-Free Path on R-Mesh with Path Quality Analysis
Feschet et al. Parlist: A parallel data structure for dynamic load balancing
Johnson et al. A parallel algorithm for surface-based object reconstruction
Lai et al. Triangulation on reconfigurable meshes: a natural decomposition approach
Wang A linear-time algorithm for computing collision-free path on reconfigurable mesh
Mäkinen Line-segment insertion in constrained triangulations with applications in path-planning