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

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

Info

Publication number
JPH04277792A
JPH04277792A JP3332902A JP33290291A JPH04277792A JP H04277792 A JPH04277792 A JP H04277792A JP 3332902 A JP3332902 A JP 3332902A JP 33290291 A JP33290291 A JP 33290291A JP H04277792 A JPH04277792 A JP H04277792A
Authority
JP
Japan
Prior art keywords
edge
vertex
processor
tangent
label
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.)
Granted
Application number
JP3332902A
Other languages
English (en)
Other versions
JPH07120410B2 (ja
Inventor
Michael S Karasick
ミッチェル・エス・カラシック
David R Strip
デイビド・アール・ストリップ
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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は大規模平行演算システ
ムに関し、特に大規模平行アーキテクチャにより幾何学
的モデル又は模型を作成及び変更するシステム及び方法
に関する。
【0002】
【従来の技術】立体の模型作成はコンピュータによる設
計及び分析、物理的処理のシミュレーション、ロボット
工学、コンピュータ視覚、及び他のコンピュータ関連業
務等多くの方面において基礎的なものである。物理的物
体に対しコンピュータを適用して実処理に類似したもの
を使用するようにした計算実験は高価な実験及び予備的
設計のプロトタイプを作成する必要性を大きく減少させ
た。しかし、そのような実験は相当長時間のコンピュー
タ・タイムを必要とすることが多いため、その実験のた
めの処理時間を短縮することは、更に多くの設計変更を
より詳細に検討する時間を与えることができることにな
る。
【0003】3次元物体又は立体は次の3つの基本的に
異なる定理を使用して表わすことが最も多い。それらは
、集合演算法を使用して原始的立体の代数的組合せとし
て立体を記述する構成的立体幾何学と、簡単な立体の互
いに素な結合として立体を記述する容量分解法と、その
境界の0,1及び2次元部を枚挙することにより立体を
記述する境界表現法とである。
【0004】集合演算法は全3種類の表現のうち基本的
に重要なものである。しかし、物体の基礎的表現とは関
係なく、すべて既知の集合演算アルゴリズムは境界表現
又は等価の計算を要求し、いくつかの理由により長時間
の計算を必要とする。又、該アルゴリズムは固有的な複
雑性を有し、それ自体長時間の計算が要求される。その
上、重要な模型は大きくなる傾向となり、計算時間も模
型の大きさの関数となる。
【0005】高度な平行処理を使用した平行計算は課題
のサイズが大きくなったときに、使用可能な計算力の量
を増加するべき方法を提供しうるため、時間消費型計算
のための万能薬として提案されてきた。コンピュータ・
グラフィックスにそれを適用して模型化するための専用
平行コンピュータを構築したが、立体の模型化の適用に
対しては有効とは見られなかった。かかるコンピュータ
は主にコンピュータ・グラフィックスのイメージの描写
を助けるために設計されたものであり、幾何学的物体の
基礎的表現の作成のためのものではなかった。最近、少
数の非常に強力なプロセッサに対し作業を分配する負荷
平衡を使用した立体模型化用平行アーキテクチャ及び関
連アルゴリズムが提案された。しかし、そのような解決
方法はそのように強力なプロセッサを複製することにか
かるコストのため、問題のサイズを評価しうるものにな
ったとは思われない。
【0006】今日、大規模平行処理システムが市場から
入取しうるようになってきた。例えば、マサチューセッ
ツ州ケンブリッジのシンキング・マシンズ・インクから
販売の“接続機”は限定した能力及びメモリー・サイズ
を有する65,536個のプロセッサを使用している。 プログラムが高度に平行なアルゴリズムを実行してプロ
セッサを制御する居住者である場合、プロセッサはフロ
ント・エンド・コンピュータによるアレイとして取扱わ
れる。そのような大規模平行システムにおいては、プロ
グラムの実行中、アレイ内のプロセッサ間の相互通信を
回避することが重要な課題となってくる。そのような相
互通信はアルゴリズムの実行を目立つ程全体的に遅くし
、ある例では、直列システムに較べて大規模平行システ
ムの価値を疑問視しうるようにさえなる場合がある。
【0007】立体又は3次元模型作成アルゴリズムは既
知の多数のデータ表示を使用している。“立体”はその
境界が平面の断片から成る物理的物体である。境界が湾
曲した表面を有する物体は一般に小平面を使用して近似
させる。かくして、立体は面と称する平面の断片と、接
線(又はエッジ)と称する面が出合う線分と、頂点と称
するエッジが出合う点とによって表現される。
【0008】複雑な立体は和集合、交わり、及び差分の
ようなオペレーションズを使用して簡単な立体を組合わ
せることにより形成される。立体の実際の計算は立体の
境界表現で行われる。その計算は頂点、接線及び面の間
に規定されるべき関係が要求される。そのような関係は
“隣接物”と呼ばれる。
【0009】図1には、6面(A−F)と、12接線と
、8頂点とを有する立方体を示す。立方体の模型作成及
び操作を行うため、先行技術においては、1組の相互に
関係のあるデータ構造が提案された(カラシックの“固
定した立体の表示及び操作について”、哲学博士論文、
マッギル大学、キューベック州モントリオール、198
8年:コーネル大学学部(ニューヨーク州イサカのコン
ピュータ科学報告書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 (+)及びe
f (−)を使用して行われる。面fの内部がeの右側
にあればdエッジef (+)は存在する。接線eから
左方向か右方向かは接線eの始頂点uに立ち、終頂点v
の方を見ることによって決定可能である。面fが左側に
あればdエッジef (−)が存在する。より詳細に説
明すると、今Nが面fの外方直角にある場合、(v−u
)×Nがeの内部からfの内部に向って指示すると、e
f (+)は存在することになる。同様に、(u−v)
×Nがeの内部から面fの内部に向けて指示すると、e
f (−)が存在することになる。すなわち、dエッジ
ef (+)は始頂点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.終頂点として頂点uを共有するdエッジの最大ラベ
ルで始頂点uをラベルする。 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の曲線
60で示すように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エッジがそれ自体ベクトルVに
沿って距離Lに変換するコマンドを発生する。各プロセ
ッサはそのコマンドに応答して、割当てられた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 −ed
 を含む平行プロセッサによって角度θ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:  接線

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】  複数の唯一的にラベルされたプロセッ
    サから成り、頂点と面と接線とを有する3次元物体を模
    型化するソフトウェアを含む平行演算システムであって
    、前記プロセッサに対し、3次元物体に関する模型作成
    命令を発行するフロント・エンド手段と、各前記プロセ
    ッサにおいて、前記命令に応答し、前記3次元物体の面
    の1つに対し該物体の接線に唯一的に関係する有向接線
    (dエッジ)データ構造を有する演算手段とを含み、各
    前記プロセッサは類似的ではあるが唯一的に構成された
    dエッジ・データ構造を有し、前記唯一的なdエッジ・
    データ構造は前記唯一的なラベルに従って前記プロセッ
    サ間に配置され、各前記dエッジ・データ構造は少くと
    も前記接線の頂点の記述と前記1つの面の記述とを含み
    、夫々の前記dエッジ・データ構造から各プロセッサ内
    部のデータ利用を可能とした結果、プロセッサ間通信を
    最少にしうることを特徴とする平行演算システム。
  2. 【請求項2】  各前記プロセッサのラベルは、該プロ
    セッサが前記dエッジ・データ構造を創成して唯一的な
    dエッジを決定しうることを特徴とする請求項1記載の
    平行演算システム。
  3. 【請求項3】  前記3次元物体に存在するdエッジと
    同数程多数のプロセッサを有し、各前記プロセッサは前
    記プロセッサのラベルによって決定された対応する唯一
    的なdエッジのためのデータ構造を引出すことを特徴と
    する請求項2記載の平行演算システム。
  4. 【請求項4】  前記模型の各前記接線は複数の交差す
    る面によって規定され、前記接線と同伴する各前記面に
    dエッジが存在することを特徴とする請求項1記載の平
    行演算システム。
  5. 【請求項5】  接線に同伴するdエッジは前記ソフト
    ウェアにより前記接線の周囲で所定の周囲方向に整列さ
    れ、前記周囲方向はその始頂点と終頂点から決定した前
    記接線のベクトル方向に関して決定されることを特徴と
    する請求項4記載の平行演算システム。
  6. 【請求項6】  面に存在するdエッジは前記面の周囲
    において所定の方向に整列され、前記所定の方向は前記
    面に対するベクトル方位の法線に関して決定されること
    を特徴とする請求項4記載の平行演算システム。
  7. 【請求項7】  前記フロント・エンド手段は前記3次
    元物体の唯一的なdエッジに対し各前記プロセッサのラ
    ベルを割当てるソフトウェアを含むことを特徴とする請
    求項4記載の平行演算システム。
  8. 【請求項8】  各前記プロセッサは唯一的なdエッジ
    が存在する面に対しラベルを割当て、前記ラベルの値は
    前記面に存在するdエッジのラベルの値に等しいことを
    特徴とする請求項7記載の平行演算システム。
  9. 【請求項9】  前記割当てられたラベルの値は前記面
    に存在するすべてのdエッジの最大ラベル値に等しいこ
    とを特徴とする請求項8記載の平行演算システム。
  10. 【請求項10】  各前記プロセッサのソフトウェアは
    更にその唯一的なdエッジと同一の頂点を有する接線に
    対してラベル値を割当て、前記ラベル値は前記接線と同
    一の頂点を有する1つのdエッジのラベル値に等しいこ
    とを特徴とする請求項8記載の平行演算システム。
  11. 【請求項11】  前記接線に対し割当てられたラベル
    値は前記接線と同一の頂点を有するすべてのdエッジの
    最大ラベル値に等しいことを特徴とする請求項10記載
    の平行演算システム。
  12. 【請求項12】  各前記プロセッサは更に前記接線の
    始頂点uに等しいラベルを割当て、前記接線は前記唯一
    的なdエッジと同一の頂点を有し、前記ラベル値はその
    終頂点として頂点uを有するdエッジの値に等しいこと
    を特徴とする請求項10記載の平行演算システム。
  13. 【請求項13】  前記頂点uに割当てられたラベル値
    はその終頂点として頂点uを有するすべての前記dエッ
    ジの最大ラベル値であることを特徴とする請求項12記
    載の平行演算システム。
  14. 【請求項14】  各前記プロセッサは更に前記接線の
    終頂点vに対しラベル値を割当て、前記接線は前記唯一
    的なdエッジと同一の頂点を有し、前記ラベル値はその
    終頂点として頂点vを有する1つのdエッジのラベル値
    に等しいことを特徴とする請求項10記載の平行演算シ
    ステム。
  15. 【請求項15】  前記頂点vに対し割当てられたラベ
    ル値はその終頂点として頂点vを有するすべての前記d
    エッジの最大ラベル値であることを特徴とする請求項1
    4記載の平行演算システム。
  16. 【請求項16】  各前記プロセッサは、更に前記発行
    手段からの命令に応答して前記模型を変更し、そのdエ
    ッジ・データ構造の対応する変更を行い、前記変更した
    dエッジ・データ構造から引出しうる接線を表示する命
    令を他のすべてのプロセッサと平行に発行するようにし
    た手段を含み、前記データ構造の変更は前記プロセッサ
    の相互間通信をせずに行われることを特徴とする請求項
    1記載の平行演算システム。
  17. 【請求項17】  各々が3次元物体の1境界要素を規
    定するのみの所在データ構造を含む複数の唯一的にラベ
    ルされたプロセッサから成り、複数の頂点、面、及び接
    線を含む前記3次元物体の模型作成用ソフトウェアを含
    む平行演算システムにおいて、該平行演算システムは、
    前記所在データ構造をアクセスすることにより前記3次
    元物体の少くとも1対の交差面間の全交差点を見出し、
    前記交差点を整列し、前記整列した交差点を順次1連の
    隣接するプロセッサに分配する各工程から成る方法を実
    行することにより、前記整列した交差点を伴う処理のた
    めのプロセッサ間通信の長さを最小にしたことを特徴と
    する平行演算システム。
  18. 【請求項18】  各々が唯一的なdエッジ・データ構
    造を含む複数の唯一的にラベルされたプロセッサから成
    り、複数の頂点、面、接線を含む3次元物体の模型作成
    用ソフトウェアを含む平行演算システムにおいて、前記
    接線の周囲で所定の方向に測定された複数のdエッジの
    各々間の角度と、前記dエッジと同伴する物体の接線に
    対して直角なベクトルとを見出し、各前記dエッジに対
    して見出された角度を整列し、前記見出された角度のた
    めの前記dエッジを1連の隣接するプロセッサに分配す
    る各工程から成り、前記dエッジを伴う処理のためのプ
    ロセッサ間通信の長さを最小にしたことを特徴とする平
    行演算システムの処理時間短縮方法。
  19. 【請求項19】  各々が唯一的なdエッジ・データ構
    造を含む複数の唯一的にラベルされたプロセッサから成
    り、複数の頂点、面、接線を含む3次元物体の横型作成
    用ソフトウェアを含む平行演算システムにおいて、前記
    頂点の周囲で所定の方向に測定された共通の頂点及び共
    通の面を共有する複数のdエッジの各々間の角度と、前
    記共通の面の平面に含まれているベクトルとを見出し、
    前記見出された角度を各前記dエッジに整列し、前記見
    出された角度のための前記dエッジを1連の隣接するプ
    ロセッサに分配する各工程から成り、前記dエッジを伴
    う処理のためのプロセッサ間通信の長さを最小にしたこ
    とを特徴とする平行演算システムの処理時間短縮方法。
  20. 【請求項20】  フロント・エンド・プロセッサ及び
    複数の唯一的にラベルされたプロセッサと、頂点と面と
    接線とを含む3次元物体の模型作成用ソフトウェアとを
    含む平行演算システムにおいて、前記平行演算システム
    及びソフトウェアは共同して動作することにより、前記
    プロセッサは3次元物体に関する模型作成命令を平行に
    発行し、前記命令に応答して各前記プロセッサは1つの
    面に対し前記3次元物体の接線に唯一的に関係する有向
    接線(dエッジ)データ構造を作成し、前記プロセッサ
    の唯一的なラベルに従い該プロセッサに対し前記3次元
    物体のdエッジを唯一的に割当てる各工程を含み、前記
    dエッジ・データ構造は少くとも前記接線の頂点の記述
    と前記1つの面の記述とを含むことを特徴とする方法を
    実行する平行演算システム及びソフトウェアの動作方法
  21. 【請求項21】  前記3次元物体の接線は複数の交差
    面を規定し、前記接線になすと同一の頂点を有する各前
    記面に存在するdエッジがあることを特徴とする請求項
    20記載の動作方法。
  22. 【請求項22】  前記フロント・エンド・プロセッサ
    は、前記3次元物体の唯一的なdエッジを選択し、前記
    唯一的なdエッジに対し前記プロセッサのラベルを割当
    てる各工程を実行することを特徴とする請求項21記載
    の動作方法。
  23. 【請求項23】  各前記プロセッサは、前記唯一的な
    dエッジが存在する面に対してラベルを割当て、該ラベ
    ルの値は前記面に存在するdエッジのラベルの値に等し
    くした追加の工程を実行することを特徴とする請求項2
    2記載の動作方法。
  24. 【請求項24】  各割当てられたラベル値は前記面に
    存在するdエッジの最大ラベル値に等しいことを特徴と
    する請求項23記載の動作方法。
  25. 【請求項25】  各前記プロセッサは、前記唯一的な
    dエッジと同一の頂点を有する接線に対し、前記接線と
    同一の頂点を有する1つのdエッジのラベル値に等しい
    ラベル値を割当てる工程を実行することを特徴とする請
    求項23記載の動作方法。
  26. 【請求項26】  前記接線に対して割当てられたラベ
    ル値は前記接線と同一の頂点を有するdエッジのいずれ
    より最大のラベル値に等しいことを特徴とする請求項2
    5記載の動作方法。
  27. 【請求項27】  各前記プロセッサは、前記唯一的な
    dエッジと同一の頂点を有する接線の始頂点uに対し、
    その終頂点として頂点uを有するdエッジの値に等しい
    ラベル値を割当てる工程を実行することを特徴とする請
    求項25記載の動作方法。
  28. 【請求項28】  前記頂点uに割当てられたラベル値
    はその終頂点として頂点uを有する前記dエッジのいず
    れより最大のラベル値であることを特徴とする請求項2
    7記載の動作方法。
  29. 【請求項29】  各前記プロセッサは、前記唯一的な
    dエッジと同一の頂点を有する接線の終頂点vに対し、
    その終頂点として頂点vを有する1つのdエッジのラベ
    ル値に等しいラベル値を割当てる追加の工程を実行する
    ことを特徴とする請求項25記載の動作方法。
  30. 【請求項30】  前記頂点vに対して割当てられたラ
    ベル値は終頂点として頂点vを有する前記dエッジのい
    ずれより最大のラベル値であることを特徴とする請求項
    29記載の動作方法。
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 2000-08-18

Publications (2)

Publication Number Publication Date
JPH04277792A true JPH04277792A (ja) 1992-10-02
JPH07120410B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013519962A (ja) * 2010-02-16 2013-05-30 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッド B−Repフェースおよびエッジ結合情報圧縮のための方法およびシステム

Families Citing this family (17)

* 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
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
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
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 富士ゼロックス株式会社 画像処理装置
US7908313B2 (en) * 2004-07-21 2011-03-15 The Mathworks, Inc. Instrument-based distributed computing systems
US7454659B1 (en) * 2004-08-24 2008-11-18 The Mathworks, Inc. Distributed systems in test environments
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
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
EP0372107B1 (de) * 1988-12-06 1994-03-02 Dr. Johannes Heidenhain GmbH Verfahren zur Simulation der Bearbeitung eines Werkstückes und Darstellung desselben, sowie Vorrichtung zur Durchführung des Verfahrens
US5189781A (en) * 1990-08-03 1993-03-02 Carnegie Mellon University Rapid tool manufacturing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013519962A (ja) * 2010-02-16 2013-05-30 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッド B−Repフェースおよびエッジ結合情報圧縮のための方法およびシステム

Also Published As

Publication number Publication date
JPH07120410B2 (ja) 1995-12-20
US5488692A (en) 1996-01-30

Similar Documents

Publication Publication Date Title
JPH04277792A (ja) 大規模並列アーキテクチャによる3次元物体の表示・操作システム及び方法
AU747230B2 (en) Longest-edge refinement and derefinement system and method for automatic mesh generation
US7679615B2 (en) Calculating three-dimensional (3D) Voronoi diagrams
Franco et al. A distributed approach for real time 3D modeling
JPH08138082A (ja) 四角形メッシュの生成方法及びシステム
US8954295B1 (en) Determining an outer shell of a composite three-dimensional model
JPH0785290A (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
JP2020533685A (ja) Quador:格子用の回転二次曲面ビーム
Kim Minimum distance between a canal surface and a simple surface
US7050053B2 (en) Geometric folding for cone-tree data compression
Ng Evaluation of euclidean shortest path, voronoi digram and line segement intersection using mass, spark, and mapreduce
Kumar Interactive rendering of parametric spline surfaces
Avril et al. New trends in collision detection performance
Saldanha et al. High performance algorithms for counting collisions and pairwise interactions
Leconte et al. Exact and efficient booleans for polyhedra
JP2000251081A (ja) 内点判定方法、グラフィック描画装置およびプログラム記憶媒体
Zyda A decomposable algorithm for contour surface display generation
Gerndt et al. A parallel approach for VR-based visualization of CFD data with PC clusters
Mäkinen Line-segment insertion in constrained triangulations with applications in path-planning
EP0212774A2 (en) Display system
Wang A linear-time algorithm for computing collision-free path on reconfigurable mesh
Lai et al. Triangulation on reconfigurable meshes: a natural decomposition approach