JP3015262B2 - 3次元形状データ加工装置 - Google Patents

3次元形状データ加工装置

Info

Publication number
JP3015262B2
JP3015262B2 JP6256036A JP25603694A JP3015262B2 JP 3015262 B2 JP3015262 B2 JP 3015262B2 JP 6256036 A JP6256036 A JP 6256036A JP 25603694 A JP25603694 A JP 25603694A JP 3015262 B2 JP3015262 B2 JP 3015262B2
Authority
JP
Japan
Prior art keywords
shape data
dimensional shape
interference
area
polygon
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 - Fee Related
Application number
JP6256036A
Other languages
English (en)
Other versions
JPH0896023A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP6256036A priority Critical patent/JP3015262B2/ja
Priority to US08/492,348 priority patent/US5801709A/en
Publication of JPH0896023A publication Critical patent/JPH0896023A/ja
Application granted granted Critical
Publication of JP3015262B2 publication Critical patent/JP3015262B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ユーザの操作に応じ
て、3次元形状データを変形するとともに、操作に伴う
3次元形状の変化を画面に表示する3次元形状データ加
工装置に関し、特に、操作に対応してリアルタイムでデ
ータを変形することを可能にしたものである。
【0002】
【従来の技術】3次元物体をレーザ等の光学的手段を用
いて測定し、得られた3次元形状データを基に様々な工
業製品を直接生成するCAE(computer aided enginne
ring)が普及しつつある。例えば補聴器を作成する場
合、補聴器使用者の耳にシリコンを詰めて型を取り、そ
のシリコン型を3次元スキャナで測定して3次元形状デ
ータを作成する。その3次元形状データを適当な長さに
切断して補聴器の外殻データとすることで、使用者の耳
の形に合った補聴器を作ることができる。
【0003】こうした3次元形状データには高精度が要
求されるため、測定点は数万点を超えることも珍しくな
い。また、測定対象の3次元物体は試作品である場合が
多く、その形状を変形して実際の製品を製作することが
少なくない。
【0004】こうした場合に対処するために、3次元形
状データに対して変形などの操作を行なう、いわゆる3
次元形状データ加工装置が多数考案されている。
【0005】従来の3次元形状データ加工装置では、対
象の3次元物体が複数のポリゴン(多角形)の集合で表
され、変形しようとするポリゴンの指定や物体の各頂点
の移動量がキーボードなどから数値入力される。また、
マウスなどの入力装置を用いて、画面に表示された対象
物体のポリゴンや頂点を直接指示し、移動などの操作を
行なう方式も開発されている。
【0006】
【発明が解決しようとする課題】しかし、キーボードな
どから数値入力する従来の方法では、対象物体の形状を
変形させるために、操作者は多大な時間と労力とを費や
して入力操作を行なう必要があり、実用的でない。ま
た、この種の装置では操作者が行なった変形操作をリア
ルタイムで画面上で確認できることが望まれているが、
この方式では、これに応えることができない。
【0007】また、画面に表示されている3次元形状デ
ータの構成要素であるポリゴンや頂点をマウスなどの入
力装置で直接指示し、移動や変形などの操作を行なう従
来の方法では、数万点を超えるポリゴンで構成される3
次元形状データに対し、1画面を描画する毎に全てのポ
リゴンと入力装置から得たデータとの間で干渉判定など
の演算を行なうため、演算量が膨大となり、変形操作の
結果をリアルタイムで画面に表示することが困難であっ
た。
【0008】また、従来の3次元形状データ加工装置で
は、操作者が3次元形状データに変形などの加工を施す
際の操作の方式が、各操作毎に異なっている。これは、
種々の加工操作の間で操作インタフェースを統一するこ
とが難しいためである。例えば、3次元形状データに対
して任意の箇所を一様に上方に「盛り上げ」る操作と、
逆の操作である任意の箇所を一様に下方に「掘り下げ」
る操作とは、これら2つの操作が上方、下方の違いを除
いて同様であるため、同一の操作方式で対処することが
できる。しかし、前記「盛り上げ」と、3次元形状デー
タに対してプレス加工を施す「圧縮」操作とは、これら
2つの操作に共通点が無いため、同一のインタフェース
で操作を行なうことが困難である。
【0009】そのため、複数の加工操作が可能な従来の
3次元形状データ加工装置では、各加工操作毎に操作イ
ンタフェースの変更が明示され、操作者にはそれに合っ
た操作行動が求められる。例えば、「圧縮」操作の時に
は、プレス機械が表示され、現実の作業行程でプレスを
行なうように操作を実行し、また「穴あけ」などの場合
にはドリルが表示され、現実のドリルを用いるときと同
様の操作を、表示された3次元形状データに対して行な
う必要がある。プレス機械とドリルとを比較すれば明ら
かなように、各操作の操作インタフェースはまったく異
なる。操作者は、こうした操作要領を一々会得しなけれ
ばならず、装置の操作性が悪い。
【0010】また、従来の3次元形状データ加工装置で
は、3次元形状データに対して行なった変形結果を、実
際のデータと比較して評価することができなかった。例
えば、補聴器を製作する場合では、補聴器使用者の耳に
シリコンを詰めて型データを作り、これを基に変形操作
により補聴器の外殻データを作成したとき、この外殻デ
ータが元の型データに挿入できなければ、補聴器の用を
なさない。しかし、従来の3次元形状データ加工装置で
は、型データと外殻データとの重なりを判定する干渉判
定機能を持たないため、加工したデータが果して使用で
きるものか否かを判断することができなかった。
【0011】また、この判断のために、二つの3次元形
状データ間の干渉判定を実施しようとしても、データ数
が多量であるために、相互の干渉判定演算数が膨大とな
り、実際的な時間内で実行することはとても無理であ
る。
【0012】本発明は、こうした従来の問題点を解決す
るものであり、操作者が3次元形状データの変形操作を
画面上でリアルタイムで確認しながら行なうことができ
る、動作速度の速い3次元形状データ加工装置を提供す
ることを目的とし、また、種々の加工操作を同一の操作
インタフェースで操作できる、操作性の優れた3次元形
状データ加工装置を提供することを目的とし、さらに、
3次元形状データの加工操作に関する評価を高速で得る
ことができる3次元形状データ加工装置を提供すること
を目的としている。
【0013】
【課題を解決するための手段】そこで、本発明では、3
次元形状データを表示し、操作者の入力操作に応じてこ
の3次元形状データを変形し、変形状態を逐次表示する
3次元形状データ加工装置において、3次元空間内の位
置情報を入力する入力手段と、この位置情報より3次元
形状データの加工を行なう加工領域を求める領域決定手
段と、3次元空間内の小領域毎に3次元形状データの構
成要素を分割して記憶する記憶手段と、領域決定手段に
よって決定された加工領域と小領域との干渉を判定する
第一の干渉判定手段と、第一の干渉判定手段によって判
定された小領域内に存在する3次元形状データの構成要
素と領域決定手段によって決定された加工領域との干渉
を判定する第二の干渉判定手段と、第二の判定手段によ
って判定された3次元形状データの構成要素を変形する
変形手段とを設けている。
【0014】また、第一の判定手段が、領域決定手段に
より決定された加工領域と小領域内に存在する3次元形
状データの構成要素を全て含む外接球との干渉判定を各
小領域について行なうように構成している。
【0015】また、領域決定手段によって決定された加
工領域の形状を、3次元形状データと併せて表示するよ
うに構成している。
【0016】また、変形手段によって変形される量を設
定するための関数を選択する関数選択手段を設けてい
る。
【0017】また、位置情報の法線ベクトルと3次元形
状データの法線ベクトルとの内積演算を行なう内積計算
手段と、内積計算手段の演算結果より3次元形状データ
の表面裏面の判断を行なう裏面判定手段とを設けてい
る。
【0018】また、記憶手段に、3次元形状データの構
成要素が加工領域と干渉することを表す構成要素干渉フ
ラグの記憶領域を設け、この記憶領域に、第二の干渉判
定手段の判定結果に基づいて、該当する構成要素に対応
させて構成要素干渉フラグを記録し、変形手段が、この
構成要素干渉フラグの付された構成要素を変形するよう
に構成している。
【0019】また、3次元空間内の小領域を選択する小
領域選択手段を設けるとともに、記憶手段に、小領域選
択手段によって選択された小領域を表す小領域選択フラ
グの記憶領域を設け、第一の干渉判定手段が、領域決定
手段によって決定された加工領域と小領域選択フラグの
付された小領域との干渉を判定するように構成してい
る。
【0020】さらに、複数の3次元形状データの構成要
素を3次元空間内の小領域毎に分割して記憶する記憶手
段と、3次元空間内の位置情報を入力する入力手段と、
この位置情報に応じて3次元空間における3次元形状デ
ータの位置を変更するデータ処理手段と、複数の3次元
形状データに関する各々の小領域間の干渉判定を行なう
第三の干渉判定手段と、第三の干渉判定手段により判定
された小領域に含まれる各3次元形状データの構成要素
間の干渉判定を行なう第四の干渉判定手段とを設けてい
る。
【0021】
【作用】そのため、3次元形状データの構成要素につい
て行なう干渉判定は、第一の干渉判定手段が加工領域と
干渉していると判定した小領域の内部の構成要素だけに
対象を絞ることができるので、干渉判定の回数が減少
し、処理時間を大幅に短縮することができ、操作者は、
変形操作の結果をリアルタイムで画面上で確認すること
ができる。
【0022】また、加工領域が3次元形状データととも
に画面表示され、その加工領域内の3次元形状データ
が、選択した関数に応じて、一様に隆起したり、なだら
かに隆起したり、様々に変形する。加工操作は、変形の
種類に関わらず、同じであるため、操作がし易い。
【0023】また、裏面判定手段の判定結果を用いるこ
とにより、3次元形状の表面または裏面だけに変形を加
えることができる。
【0024】また、第二の干渉判定手段の判定結果を構
成要素干渉フラグによって記憶することにより、加工操
作を、加工領域を指定する指定モードと、構成要素干渉
フラグが付された構成要素を変形する変形モードとに分
けることができ、精度の高い加工を施すことが可能にな
る。
【0025】また、小領域選択手段を設けた場合には、
3次元空間の一部の小領域を抽出して画面中央に拡大表
示するなどの処理が可能となり、加工操作がし易くな
る。また、第一の干渉判定手段の判定すべき小領域が小
領域選択手段によって絞られるため、動作速度が向上す
る。
【0026】また、複数の3次元形状データの間の干渉
を、それぞれの3次元形状データに関する小領域間の干
渉判定と、小領域内の構成要素間の干渉判定とに分けて
行なうことにより、判定回数を減らすことができ、処理
時間の大幅な短縮を実現することができる。そのため、
3次元形状データに対して行なった変形などの加工操作
の評価を、操作直後に確認することが可能になる。
【0027】
【実施例】
(第1実施例)第1実施例の3次元形状データ加工装置
は、図1に示すように、対象物体のデータを読取るデー
タ読取り装置1と、対象物体の3次元形状データを記憶
する記憶装置2と、3次元形状データに基づいて立体図
形を表示する表示装置3と、3次元空間の位置情報を入
力するマウスやポインティングカーソルなどの入力装置
5と、3次元形状データの加工を実行するデータ処理装
置4とを備えている。
【0028】この3次元形状データ加工装置では、図2
に示すように、変形しようとする3次元形状データの表
示される3次元空間を予め小領域に分割し、3次元形状
データを構成する各ポリゴンを各小領域に一意に対応付
ける。例えば、ポリゴンの重心座標を求め、その重心座
標を内部に含む小領域にポリゴンを対応させる。以後、
この小領域をセルと呼ぶ。
【0029】記憶装置2は、セルに関するデータを記述
したセルテーブル21と、ポリゴンに関するデータを記述
したポリゴンテーブル22と、各ポリゴンの頂点に関する
データを記述した頂点テーブル23とを備えており、3次
元形状データの構成要素をセル毎に分割して記憶してい
る。各テーブルを図3に示している。この内、セルテー
ブル21に記憶されるデータ内容は次の通りである。
【0030】C.no:セル番号 C.num:セルに含まれるポリゴンの数 C.flag:セルが判定領域に含まれるか否かの判定フラグ C.adr:セルに含まれるポリゴンが記憶されているポリ
ゴンテーブルの先頭番地 C.x:セルに含まれるポリゴンをすべて含む外接球の中
心のx座標値 C.y:セルに含まれるポリゴンをすべて含む外接球の中
心のy座標値 C.z:セルに含まれるポリゴンをすべて含む外接球の中
心のz座標値 C.r:セルに含まれるポリゴンをすべて含む外接球の半
径。
【0031】また、ポリゴンテーブル22に記憶されるデ
ータ内容は次の通りである。
【0032】P.no:ポリゴン番号 P.v1:ポリゴンを構成する頂点1の頂点番号 P.v2:ポリゴンを構成する頂点2の頂点番号 P.v3:ポリゴンを構成する頂点3の頂点番号 P.tx:法線ベクトルのx成分 P.ty:法線ベクトルのy成分 P.tz: 法線ベクトルのz成分。
【0033】また、頂点テーブル23に記憶されるデータ
内容は次の通りである。
【0034】V.no:頂点番号 V.x:頂点のx座標値 V.y:頂点のy座標値 V.z:頂点のz座標値 V.flag:頂点が判定領域に含まれるか否かの判定フラ
グ。
【0035】なお、本実施例では三角形ポリゴンを例に
説明するが、記憶装置2の頂点記憶部分の拡張により一
般的な多角形ポリゴンに対応することができる。
【0036】データ処理装置4は、操作者が入力装置5
で指定した加工の行なわれる領域(加工領域)を決定す
る領域決定部41と、加工領域などのデータを一時的に記
憶する記憶部45と、加工領域とセルとの干渉を判定する
領域−セル干渉判定部42と、加工領域とポリゴンとの干
渉を判定する領域−ポリゴン干渉判定部43と、加工領域
の頂点位置を変形する変形処理部44と、変形の形態に応
じて関数を選択する関数選択部49と、表示装置3の表示
データを生成する表示処理部47と、各種演算を行なうデ
ータ処理部46とを備えている。
【0037】領域−ポリゴン干渉判定部43は、領域−セ
ル干渉判定部42によって干渉していると判定されたセル
内に存在するポリゴンと加工領域との干渉のみを判定
し、また、変形処理部44は、領域−ポリゴン干渉判定部
43によって干渉していると判定されたポリゴンにおける
頂点位置のみを変形する。
【0038】この3次元形状データ加工装置の動作を、
図4、図6及び図7のフローチャートに基づいて説明す
る。
【0039】ステップ1:光学的な手段で計測された3
次元形状データをデータ読取り装置1で読取り、記憶装
置2の各テーブル21〜23に格納する。計測された通常の
3次元形状データはポリゴンの集合であり、各ポリゴン
は、構成する頂点の番号と座標値、および法線ベクトル
の値を持っている。3次元形状データを読取り、記憶装
置2に記憶するために、以下の動作を行なう。
【0040】第1に、データ読取り装置1が読み込んだ
ポリゴンに対し、ポリゴンの重心座標(Gx,Gy,Gz)を求め
る。これはポリゴンを構成する頂点の座標値を用い容易
に計算できる。
【0041】第2に、重心座標値を基に当該ポリゴンが
配置されるセルデータCellを決定する。
【0042】第3に、記憶装置2のセルテーブル21の前
記セルデータCellのC.numフィールドの値を1だけ増加
させる。
【0043】この第1から第3までの動作を全てのポリ
ゴンに対して行なう。このようにしてC.numフィールド
にはそのセルに含まれるポリゴンの数が記憶される。
【0044】第4に、セルテーブルの各セルデータに対
し、C.adrの値を書き込む。このC.adrは、ポリゴンテー
ブルにおいて、各セルに含まれるポリゴンの最初のポリ
ゴンの先頭番地となるべき値であるが、これは、例えば
C.no = 1のセルのC.adr = 1とし、以降C.no = iのセル
のC.adrは、C.no = 1からC.no = i-1までの各セルのC.n
umを足し合わせ、さらに1を加えることによって求め
る。
【0045】第5に、先頭のポリゴンに戻り、各ポリゴ
ンに対して再び重心座標値を計算し、それが配置される
セルデータCell.noを求め、前記データCellのC.adrから
ポリゴンテーブルのポリゴン番号P.noを決定する。この
ポリゴン番号P.noは、セルデータCellのC.adrが指すポ
リゴンテーブルのポリゴン番号P.noを起点として、まだ
ポリゴンデータが書き込まれていないポリゴン番号P.no
まで進み、その番号をポリゴン番号P.noに決定する。ポ
リゴンテーブルのそのポリゴン番号P.noに対応させて、
ポリゴンを構成する頂点の番号P.v1、P.v2、P.v3、およ
びポリゴンの法線ベクトル値P.tx、P.ty、P.tzを書き込
む。この動作をすべてのポリゴンについて行なう。
【0046】第6に、頂点データを読み込み、その値を
頂点テーブルの各フィールド、頂点番号V.no、および頂
点の座標値V.x、V.y、V.zに書き込む。またV.flagにOFF
を書き込む。この動作をすべての頂点について行なう。
【0047】第7に、セルテーブルの各セルデータにつ
いて、セルに含まれるポリゴンを全て含む外接球の中心
座標値C.x、C.y、C.z、と半径C.rとを求め、各フィール
ドに書き込む。具体的には以下の様に計算すればよい。
【0048】各セルデータ毎に、当該セルデータに配置
された3次元形状データの構成要素であるポリゴンにつ
いて、構成する頂点をすべて探索し、最大のx座標値C.
MaxXと最小のx座標値C.MinXをみつける。外接球のx軸
の中心座標値C.xは、C.MaxXとC.MinXの中央値とする。
同様にC.MaxY、C.MinY、C.MaxZ、C.MinZを求め、それら
を基にC.y、C.zを求める。C.x、C.y、C.zを当該セルの
各フィールドに書き込む。次に式1を計算し、最大値C.
Maxを求める。 C.Max = max(C.MaxX - C.MinX, C.MaxY - C.MinY, C.MaxZ - C.MinZ) (式1) 外接球の半径C.rは式2で求める。 C.r = √( 3 * C.Max2 /4) (式2) これらの一連の処理により、3次元形状データをセルに
分割して記憶装置2に記憶させることができる。
【0049】また、この3次元形状データに基づく立体
図形が、表示処理部47の処理を通じて表示装置3に表示
される。
【0050】ステップ2:データ処理装置4の領域決定
部41は、入力装置5から入力したポインティングデータ
を基に、3次元形状データの加工を行なう領域と領域形
状とを求める。
【0051】具体的には、領域決定部41は、図5(1)
に示すように、入力データから、ポインティングカーソ
ルの位置座標(pc.x, pc.y, pc.z)、ポインティングカー
ソルの方向を表すベクトル値(pc.tx, pc.ty, pc.tz)、
ポインティングカーソルの始点半径pc.rs、ポインティ
ングカーソルの終点半径pc.rg、及びポインティングカ
ーソルの長さpc.lを求め、それらを記憶部45に記憶する
とともに、表示処理部47を通じて領域形状を画面表示す
る。
【0052】また、ポインティングカーソルが移動した
ときは、領域決定部41は、入力装置5からポインティン
グデータの変化量を受取り、記憶している各データに変
化量を加えて、ポインティングデータを更新し、新たな
領域形状を表示する。例えば領域形状をx軸方向にDelt
a.Xだけ移動させる操作が行なわれた場合、入力装置5
からDelta.Xが入力し、領域決定部41は、pc.xの値を新
たにpc.x + Delta.Xに変更する。
【0053】図5(2)に示すように、入力装置として
マウスを用い、操作者がマウスを横方向に移動させるこ
とでx軸方向の変化量を入力できるようにすれば、図5
(3)のようにマウスの移動量だけ表示装置3に表示さ
れている領域形状も移動するので、直観的で対話的な操
作が可能となる。また、入力装置として磁気センサなど
を具備する3次元ポインティングデバイスを用いた場合
では、図5(4)に示すように、操作者の手の動きに応
じて、領域形状を傾けたり、移動させたりすることがで
き、直観的で対話的な操作が可能となる。
【0054】ステップ3:データ処理装置4の領域−セ
ル干渉判定部42は、入力装置5からの3次元ポインティ
ングデータを基に、各セルと領域形状との干渉判定を行
ない、干渉しているセルデータのフラグC.flagにONを書
き込む。
【0055】ステップ3の詳細を図6のフローチャート
を基に説明する。
【0056】ステップ30:各セルデータと領域形状との
干渉判定が完了したか否かの判断を行なう。完了した場
合はステップ4に進む。完了していない場合にはステッ
プ31に進み、 ステップ31:セルテーブル21の各セルデータのフラグC.
flagを初期化する。具体的にはOFFを書き込む。次に、 ステップ32:各セルデータと領域形状との干渉判定を行
なう。
【0057】そのために、まずステップ2で得たポイン
ティングデータを基に領域形状と各セルデータとの位置
関係を求める。
【0058】領域形状の始点を原点とし、ポインティン
グデータの法線方向の延長線を考え、セルの重心座標、
つまり、セルに含まれるポリゴンを全て含む外接球の中
心座標(C.x, C.y, C.z)からその延長線に垂線を下ろし
たときの垂線の長さRと、領域形状の始点の位置からそ
の交点までの距離Lを求める。計算式は以下のとおりで
ある。
【0059】 L = pc.tx * (C.x - pc.x) + pc.ty * (C.y - pc.y) + pc.tz * (C.z - pc.z) (式3) R = √( (L * pc.tx - (C.x - pc.x))2 + (L * pc.ty - (C.y - pc.y))2 + (L * pc.tz - (C.z - pc.z))2 ) (式4) このR、Lを基に以下の条件式が満たされた場合は領域形
状とセルとが干渉している。
【0060】 R ≦ pc.rs + (pc.rg - pc.rs) * L / pc.l + C.r (式5) 干渉している場合にはセルテーブル21のC.flag にONを
書き込む。
【0061】全てのセルと領域形状との干渉を判定した
後、ステップ4へ進み、 ステップ4:データ処理装置4の領域−ポリゴン干渉判
定部43は、領域−セル干渉判定部42によって領域形状と
干渉すると判定されたセルに含まれるポリゴンと領域形
状との干渉を判定し、変形処理部44は、領域−ポリゴン
干渉判定部43により領域形状と干渉すると判定されたポ
リゴンの頂点を変形する。記憶装置2のテーブルは、変
形後のデータで更新され、変形されたポリゴンが画面上
に描画される。この処理を図7に基づいて詳細に説明す
る。
【0062】ステップ40:各ポリゴンと領域形状との干
渉判定が完了したか否かを判断し、完了している場合に
はステップ46へ進む。完了していない場合にはステップ
41に進み、 ステップ41:領域−ポリゴン干渉判定部43は、セルテー
ブル21及びポリゴンテーブル22を参照して、各ポリゴン
の属しているセルデータのフラグC.flagのON・OFFを判
定する。OFFの場合にはステップ45へ進む。C.flagがON
の場合、つまりステップ3の処理によりポリゴンが領域
形状と干渉している可能性を有している場合には、ステ
ップ42に進み、 ステップ42:領域形状とそのポリゴンを構成する各頂点
との間の干渉判定を行なう。この判定は、具体的に次の
ように行なう。
【0063】頂点テーブルを参照して、ポリゴンテーブ
ルの該当するポリゴンの第一の頂点P.v1におけるV.flag
フィールドがOFFの場合には以下の処理を行なう。
【0064】第1にV.flagフィールドにONを書き込む。
【0065】第2に領域形状の始点を原点とし、ポイン
ティングデータの法線方向の延長線を考え、P.v1からそ
の線に垂線を下ろしたときの垂線の長さR1、領域形状の
始点からその交点までの距離L1、および領域形状の始点
から距離L1だけ離れた点と領域形状の周辺までの距離R2
を求める。計算式は以下のとおりである。ここでV.x、
V.y、V.zは処理中の頂点のx軸、y軸、z軸座標値であ
る。 L1 = pc.tx * (V.x - pc.x) + pc.ty * (V.y - pc.y) + pc.tz * (V.z - pc.z) (式6) R1 =√( (L1 * pc.tx - (V.x - pc.x))2 + (L1 * pc.ty - (V.y - pc.y))2 + (L1 * pc.tz - (V.z - pc.z))2 ) (式7) R2 = pc.rs + (pc.rg - pc.rs) * L1 / pc.l (式8) このR1、L1、R2を基に以下の式9と式10とが同時に満
たされた場合は領域形状と頂点とが干渉している。
【0066】 0 ≦ L1 ≦ pc.l (式9) R1 ≦ R2 (式10) P.v1と同様に、この処理をP.v2、P.v3について行なう。
【0067】ステップ43:ステップ42の処理において、
式9と式10とが同時に成立した頂点が1つ以上あった
場合にはステップ44へ進む。それ以外の場合、つまり干
渉していない場合にはステップ45へ進む。
【0068】ステップ44:変形処理部44は、干渉してい
る頂点に対し座標値の変更処理を行ない、また、データ
処理部46は、セルの外接球半径の再計算を行なう。干渉
している頂点の座標変更処理は、例えば以下のように行
なえばよい。
【0069】頂点のx座標値V.xを新たに式11のよう
に更新する。ここでK(L1,R1,R2)は、ステップ42で得たL
1、R1、およびR2を引数とする実数値関数である。 V.x = V.x + k(L1,R1,R2) * pc.tx (式11) 同様にy座標値V.y、z座標値V.zについてそれぞれ式1
2、式13のように更新する。 V.y = V.y + k(L1,R1,R2) * pc.ty (式12) V.z = V.z + k(L1,R1,R2) * pc.tz (式13) 式11、12、13の処理によって、頂点は領域形状の
始点に対してk(L1,R1,R2)によって定義される量だけ移
動する。
【0070】また、セルの外接球半径の再計算は以下の
ように行なう。式14により、セルの外接球中心と変更
させた頂点間の距離Rvを計算する。 Rv = √( (C.x - V.x)2 + (C.y - V.y)2 + (C.z - V.z)2 ) (式14) 次に、式15により、セルの外接球半径C.rとRvとの比
較を行ない、式15が成立した場合には、セルの外接半
径C.rをRvに更新する。 Rv > C.r (式15)。
【0071】ステップ45:ステップ44で得た値によって
記憶装置2の各テーブルのデータを更新し、更新データ
に基づくポリゴンを、表示処理部47を通じて、表示装置
3に画面表示した後、ステップ40へ戻る。
【0072】ステップ46:ステップ40において、ポリゴ
ンと領域形状との干渉判定が完了したときは、全ての頂
点テーブルのV.flagにOFFを書き込む。
【0073】このアルゴリズムでは、まずセルと領域形
状との干渉判定を行ない、次にポリゴンと領域形状との
干渉判定を行なっている。セルの数はポリゴンの数と比
較して少ない。また、領域形状とセルとの干渉判定の演
算量は、領域形状と頂点との干渉判定の演算量とほぼ同
じである。従って、図8(1)に示すように、領域−セ
ル干渉判定部42の干渉判定により、図8(2)に示すよ
うに、セルを選別できるため、図8(3)に示すよう
に、領域−ポリゴン干渉判定部43が干渉判定を行なう必
要のあるポリゴンの数を削減することができ、その結
果、動作速度を速めることができる。
【0074】また、ステップ44における頂点座標値の変
更は、式11、式12、および式13を用いて行なわれ
るが、この際に、実数値関数K(L1,R1,R2)を自由に選択
することで、基本のアルゴリズムを変えずに、様々な加
工操作を行なうことができる。この関数の選択は、操作
者の入力装置5からの指示を受けた関数選択部49によっ
て行なわれる。
【0075】関数選択と変形との関係を図9を基に説明
する。関数選択部49が、実数値関数K(L1,R1,R2)として
式16に示す関数を選ぶと、領域形状内の3次元形状デ
ータの部分を一様に盛り上げ、もしくは掘り下げる変形
が行なわれる。その場合の操作状況を図9(1)及び
(2)に示している。 K(L1,R1,R2) = 定数 (式16) また、実数値関数K(L1,R1,R2)として式17に示す関数
に選ぶと、領域形状内の3次元形状データの部分をなだ
らかに盛り上げ、もしくは掘り下げることができる。そ
の場合の操作状況を図9(3)及び(4)に示してい
る。ここでc、及びlは任意の定数である。 K(L1,R1,R2) = c * ( 1 - 1/(1-exp(2*l*R1/R2 + l))) (式17) また、実数値関数K(L1,R1,R2)を式18に示すように引
数を拡張してK(L1,R1,R2,pc.l)とすれば、領域形状内の
3次元形状データの部分を滑らかに圧縮、もしくは膨ら
ませることができる。その場合の操作状況を図9(5)
及び(6)に示す。ここでc、およびlは任意の定数であ
る。 K(L1,R1,R2,pc.l) = c * ( 1 - 1/(1-exp(2*l*L1/pc.l + l))) (式18) このように、実数値関数Kとして、引数を拡張し、任意
の関数を選択することで、様々な加工操作を同一の操作
インタフェースで行なうことができる。
【0076】(第2実施例)第2実施例の3次元形状デ
ータ加工装置は、3次元物体の手前側の面(表面)と、
向こう側の面(裏面)とを区別して変形させることがで
きる。この装置は、図10に示すように、位置情報の法
線ベクトルと3次元形状データの法線ベクトルとの内積
演算を行なう内積計算部50と、内積計算部50の結果に基
づいてデータの表裏面を判断する裏面判定部51とを備え
ている。その他の構成は第1実施例の装置(図1)と変
わりがない。
【0077】この装置は、図4のフローチャートに従っ
て動作を実行するが、ステップ4に関しては、図11に
示す手順を踏む。
【0078】ステップ40:各ポリゴンと領域形状との干
渉判定が完了したか否かの判断を行なう。完了した場合
にはステップ47へ進む。完了していない場合にはステッ
プ41へ進み、 ステップ41:領域−ポリゴン干渉判定部43は、各ポリゴ
ンの属しているセルデータのフラグC.flagのON・OFFを
判定する。OFFの場合にはステップ46へ進む。ONの場合
にはステップ42に進み、 ステップ42:内積計算部50は、ポインティングデータの
法線ベクトルとポリゴンの法線ベクトルとの内積演算を
行なう。裏面判定部51は、内積演算の結果が正の値なら
ばポリゴンは裏面であると判断し、ステップ46に進み、
また、内積演算の結果が負ならばポリゴンは表面である
と判断してステップ43へ進む。
【0079】なお、ここでは表面に対する変形操作のみ
を行なう場合の手順を示しているが、裏面の変形操作だ
けを行なうように変更することもできる。
【0080】ステップ43:領域−ポリゴン干渉判定部43
は、領域形状とそのポリゴンを構成する各頂点との間の
干渉判定を行ない、 ステップ44:干渉している頂点が見つからなかった場合
はステップ46へ進む。干渉している頂点が1つ以上見つ
かった場合はステップ45へ進み、 ステップ45:変形処理部44は、干渉している頂点に対し
座標値の変更処理を行ない、また、データ処理部46は、
セルの外接球半径の再計算を行なう。
【0081】ステップ46:次いで、得られた値によって
記憶装置2の各テーブルのデータを更新し、更新データ
に基づくポリゴンの描画を行ない、ステップ40へ戻る。
【0082】ステップ47:各ポリゴンと領域形状との干
渉判定が完了したときは、全ての頂点テーブルのV.flag
にOFFを書き込み、終了後、ステップ2へ戻る。
【0083】以上の処理により、3次元形状データの表
面または裏面のいずれかを特定して変形を行なうことが
可能になる。
【0084】図12に裏面判定を実施したときの変形の
様子を示している。図12(1)は3次元形状データで
ある。一般に操作者は3次元形状データに対して表示さ
れている面(表面)に注目して操作を行なう。そのた
め、操作者はある領域を指定した場合に、無意識の内に
図12(2)のように、表面の変形を期待する。このと
き、図11のアルゴリズムを用いなければ、図12
(3)に示すように、操作者が変形を希望しない3次元
形状データの裏側まで変形されてしまう。しかし、前記
アルゴリズムを用いれば、図12(2)のように操作者
が希望する表面だけの変形を行なうことができる。
【0085】(第3実施例)第3実施例の3次元形状デ
ータ加工装置は、加工領域設定のための領域指定モード
と、3次元形状の変形操作のための変形モードとのモー
ド切替えが可能である。この装置は、図13に示すよう
に、データ処理装置4に、操作者の指示を受けてモード
を選択するシステムモード選択部52を備えており、ま
た、記憶装置2に、図14に示すセルテーブル21、ポリ
ゴンテーブル24及び頂点テーブル23を記憶している。そ
の他の構成は、第1実施例の装置(図1)と変わりがな
い。
【0086】記憶装置2のセルテーブル21及び頂点テー
ブル23は、図3のセルテーブル及び頂点テーブルと同じ
である。ポリゴンテーブル24は、ポリゴンが加工領域と
干渉していることを表す領域判定フラグ(P.flag)の欄
が追加されている点で図3のポリゴンテーブルと異なっ
ている。
【0087】システムモード選択部52は、選択したモー
ドを記憶部45に記憶させ、外部からの入力によりこれを
書換える。操作者は、システムのモードの切替えを入力
装置5やキーボードなどから行なう。
【0088】この装置は、図4のフローチャートに従っ
て動作を実行するが、ステップ4に関しては、図15に
示す手順を踏む。
【0089】ステップ40:システムモード選択部52が、
領域指定モードを選択しているときはステップ41に進
み、変形モードを選択しているときはステップ45に進
む。
【0090】ステップ41:領域指定モードでは、各ポリ
ゴンと領域形状との干渉判定が完了したか否かを判断
し、完了している場合にはステップ2へ進む。完了して
いない場合にはステップ42へ進み、 ステップ42:領域−ポリゴン干渉判定部43は、各ポリゴ
ンの属しているセルのフラグC.flagのON・OFFを判定
し、OFFの場合にはステップ44へ進む。ONの場合にはス
テップ43へ進み、 ステップ43:ポリゴンを構成する各頂点について干渉判
定を行ない、干渉している場合にはP.flagにONを書き込
む。
【0091】ステップ44:P.flagにONが書込まれたポリ
ゴンは、表示処理部47により、他と区別できる状態で画
面表示され、その後、ステップ41へ戻る。
【0092】変形モードでは、 ステップ45:ポリゴンの変形処理が完了しているか否か
を判断し、完了している場合はステップ49へ進む。完了
していない場合にはステップ46に進み、 ステップ46:変形処理部44は、ポリゴンテーブルのフラ
グP.flagのON・OFFを判定し、OFFの場合にはステップ48
へ進む。ONの場合にはステップ47へ進み、 ステップ47:そのポリゴンの頂点に対し座標値の変更処
理を行ない、また、データ処理部46は、セルの外接球半
径の再計算を行なう。
【0093】ステップ48:次いで、得られた値によって
記憶装置2の各テーブルのデータを更新し、更新データ
に基づくポリゴンの描画を行ない、ステップ45へ戻る。
【0094】ステップ49:各ポリゴンの変形が完了した
ときは、全てのポリゴンテーブルのP.flag及び頂点テー
ブルのV.flagにOFFを書込み、ステップ2へ戻る。
【0095】この3次元形状データ加工装置は、変形す
る領域を指定する操作と、指定された領域を変形する操
作とを分けて行なうことができるため、より精度の高い
加工を行なうことができる。
【0096】具体的な操作例を図16に例示している。
図16(1)に示すように、領域指定モード時にマウス
などの入力装置を用いて、変形などの加工を施す3次元
形状データの領域を指定する。図16(2)に、(1)
で指定された変形領域を示している。次に図16(3)
に示すように、領域指定モードから変形モードに切り替
えた後、マウスなどの入力装置を用いて変形などの加工
操作を行なう。
【0097】(第4実施例)第4実施例の3次元形状デ
ータ加工装置は、変形しようとするポリゴンを含む一部
のセルだけを選択して画面表示することができる。この
装置は、図17に示すように、データ処理装置4に、セ
ル領域を選択するセル領域選択部53を備えており、ま
た、記憶装置2に、図18に示すセルテーブル25、ポリ
ゴンテーブル22及び頂点テーブル23を備えている。その
他の構成は、第1実施例の装置(図1)と変わりがな
い。
【0098】記憶装置2のポリゴンテーブル22及び頂点
テーブル23は、図3のポリゴンテーブル及び頂点テーブ
ルと同じである。セルテーブル25は、選択されたセルで
あるか否かを記憶するフラグ(C.rgnflag)の欄が追加
されている点で図3のポリゴンテーブルと異なってい
る。
【0099】この装置は、図19の手順で動作を行な
う。
【0100】ステップ1:計測された3次元形状データ
をデータ読取り装置1で読取り、記憶装置2の各テーブ
ル22、23、25に格納する。記憶装置2に記録された3次
元形状は、表示処理部47を通じて表示装置3に画面表示
される。
【0101】ステップ2:セル領域選択部53は、図20
に示す手順でセルを選択する。
【0102】まず、 ステップ20:ポインティングカーソルの先端に球または
立方体を設定する(図21(1)参照)。このポインテ
ィングカーソルの位置を(pc.x, pc.y, pc.z)、球の半
径、または立方体の一辺の長さの2分の1の長さをpc.r
とする。この球または立方体によって囲まれる空間をセ
ル領域と呼ぶことにする。
【0103】ステップ21:ポインティングカーソルの位
置、及び球の半径または立方体の大きさを適当に変化さ
せることでセル領域を変える。
【0104】ステップ22:ステップ21の操作で定まった
セル領域(図21(2))に含まれるセルのC.rgnflag
にONを書き込む。この処理が終了後、図19のステップ
3へ進む。
【0105】ステップ3:表示処理部47は、座標変換を
行ない、ステップ2で指定されたセル領域のみを表示装
置3の画面中央に拡大して表示する(図21(3))。
【0106】ステップ4:入力装置5から入力されたポ
インティングデータを基に3次元形状データの加工を行
なう領域と領域形状を求める(図21(4))。
【0107】ステップ5:画面表示されている各セルと
領域形状との干渉判定を行ない、干渉しているセルデー
タのフラグC.flagにONを書き込む。
【0108】ステップ6:ステップ5でC.flagがONとな
ったセルに含まれるポリゴンと領域形状との干渉を判定
し、干渉するポリゴンの頂点を変形し、変形されたポリ
ゴンを描画した後、ステップ4へ戻る。このステップ6
の動作は、実質的に図4のステップ4と同じである。
【0109】この3次元形状データ加工装置では、この
ように、大きな表示物体の任意の場所を拡大して画面に
表示し、この拡大した3次元形状に対して加工変形操作
を行なうことができるので、操作がしやすい。また、表
示されるポリゴン数が削減されるために操作に対する応
答が早まり操作性が向上する。
【0110】(第5実施例)第5実施例の3次元形状デ
ータ加工装置は、複数の表示物体の間の干渉を判定する
ことができる。この装置は、図22に示すように、デー
タ処理装置4に、第1の表示物体を含むセルと第2の表
示物体を含むセルとの干渉を判定するセル間干渉判定部
54と、第1の表示物体のポリゴンと第2の表示物体のポ
リゴンとの干渉を判定するポリゴン間干渉判定部55とを
備えており、また、記憶装置2に、第1の表示物体に関
するデータを記述するセルテーブル26、ポリゴンテーブ
ル27及び頂点テーブル28と、第2の表示物体に関するデ
ータを記述するセルテーブル29、ポリゴンテーブル30及
び頂点テーブル31とを備えている。その他の構成は第1
実施例の装置(図1)と変わりがない。
【0111】記憶装置2に記憶される各テーブルを図2
3に示している。セルテーブル26、29には、表示物体1
または2を含むセルだけが記録される。各テーブルにお
ける記録項目は、図3のテーブルのそれと同じである。
【0112】この3次元形状データ加工装置の動作を図
24及び図25のフローチャート並びに表示画面の状態
を表す図26を用いて説明する。
【0113】ステップ1:表示物体1及び表示物体2の
3次元形状データがデータ読取り装置1で読取られ、記
憶装置2の各テーブル26〜31に格納される。記憶装置2
に記録された表示物体1及び表示物体2は、表示処理部
47を通じて表示装置3に表示される(図26(1))。
【0114】ステップ2:操作者が、ポインティングカ
ーソルで表示物体1または表示物体2を指定して、移動
操作を行なうと、それに合わせて、表示物体の画面上で
の移動が行なわれる。この説明では表示物体1を移動さ
せることにする。表示物体1の移動は、例えば以下のよ
うに行なう。
【0115】データ処理装置4の記憶部45に、装置起動
時の表示物体1の座標原点からの移動量を、x軸方向の
移動量Trans1.xと回転量Rot1.x、y軸方向の移動量Tran
s1.yと回転量Rot1.y、及びz軸方向の移動量Trans1.zと
回転量Rot1.zの各値によって保持しておく。これらの初
期値は全て0である。
【0116】操作者がポイティングデバイスを操作した
とき、データ処理部46は、入力装置5からポインティン
グデータの変化量を受取り、保持しているx軸方向の移
動量Trans1.xと回転量Rot1.x、y軸方向の移動量Trans
1.yと回転量Rot1.y、及びz軸方向の移動量Trans1.zと
回転量Rot1.zに加算して、表示物体1の新しい座標上の
位置を求める。これらの値を基に表示物体1の頂点デー
タについて座標変換を行ない表示物体1を移動させる。
【0117】ステップ3:次に、セルテーブル26の先頭
のセルデータ(C1.no1)と、 ステップ4:セルテーブル29の先頭のセルデータ(C2.n
o1)とを抽出し、 ステップ5:セル間干渉判定部54が、それらのセル間の
干渉を判定する。
【0118】ステップ6:セル間で干渉しているとき
は、ポリゴン間干渉判定部55が、それらのセルに含まれ
るポリゴンデータ間の干渉を判定する。
【0119】こうした判定を、セルテーブル26の先頭の
セルデータ(C1.no1)と、セルテーブル29から順次抽出
した各セルデータ(C2.no1〜C2MAX)との間で順番に行
ない、それが済むと、セルテーブル26の次のセルデータ
(C1.no2)とセルテーブル29の各セルデータ(C2.no1〜
C2MAX)との間で順番に行ない、こうした手順を繰り返
して、セルテーブル26の全てのセルデータ(C1.no1〜C1
MAX)とセルテーブル29の全てのセルデータ(C2.no1〜C
2MAX)との間における干渉を判定する。
【0120】ステップ5のセル間の干渉判定は、具体的
に以下のように行なう。
【0121】まず、セルテーブル26のセルデータC1にお
ける重心座標(C1.x,C1.y,C1.z)と、セルテーブル29の
セルデータC2における重心座標(C2.x,C2.y,C2.z)との
間の距離Rcellを計算する。Rcellは式19で計算でき
る。 Rcell= √((C1.x - C2.x)2+(C1.y - C2.y)2+(C1.z - C2.z)2)) (式19) 次に、各セルの外接球半径C1.r及びC2.rを加えたCdist
を式20によって計算する。 Cdist = C1.r + C2.r (式20) 次に、式21によりRcellとCdistとを比較する。 Rcell > Cdist (式21) 式21が成立する場合、つまりRcellがCdistより大きい
場合は、セルC1とセルC2とが干渉している。
【0122】また、ステップ6のポリゴンの間の干渉判
定は、図25の手順で行なう。
【0123】ステップ60:セルテーブル26の干渉してい
るセルデータC1に属するポリゴンを順次抽出してポリゴ
ン間干渉判定部55へ送り、 ステップ61:セルテーブル29の、前記セルデータC1と干
渉しているセルデータC2に属するポリゴンを順次抽出し
てポリゴン間干渉判定部55へ送り、 ステップ62:ポリゴン間干渉判定部55は、送られてきた
ポリゴン間の干渉を判定する。
【0124】ステップ60でのポリゴンの抽出は、具体的
にはセルデータC1のC1.adrが指し示すポリゴンテーブル
27のポリゴン番号P1.noを起点とし、(C1.adr+C1.num)
のポリゴン番号に達するまで順次行なわれ、また、ステ
ップ61でのポリゴンの抽出は、セルデータC2のC2.adrが
指し示すポリゴンテーブル30のポリゴン番号P2.noを起
点とし、(C2.adr+C2.num)のポリゴン番号に達するま
で順次行なわれる。
【0125】また、ステップ62において、ポリゴンデー
タP1とポリゴンデータP2とが干渉していた場合には、干
渉していることを操作者に知らせるために、表示装置3
に「干渉」などの文字が表示される。
【0126】干渉していると判定されたセルC1、C2に含
まれるポリゴンデータP1、P2の全ての組み合わせについ
てポリゴンデータ間の干渉判定が終了すると、ステップ
4に戻って、次のセル間の干渉判定が行なわれ、また、
全てのセル間の干渉判定が完了すると、 ステップ7:表示物体1と表示物体2との描画が行なわ
れる。具体的には、ポリゴンテーブル1、およびポリゴ
ンテーブル2に記録されたポリゴンが順に描画される。
【0127】図26(1)は、干渉判定を行なおうとす
る表示物体1と表示物体2とを示している。図26
(2)は、表示物体1と表示物体2の各セル間での干渉
判定の状況を示している。表示物体1は3つのセルから
成り、表示物体2は1つのセルから成る。この場合、表
示物体1の第1のセルと表示物体2の第1のセルとが干
渉している。また、表示物体1の第2、第3のセルと表
示物体2の第1のセルとは干渉していないため、これら
のセルに含まれるポリゴン間干渉判定は省略することが
できる。
【0128】また、図24のステップ2において、表示
物体1または表示物体2の変形操作を行なうことも可能
である。変形操作は第1実施例の方法を用いる。図26
(3)に示すように、表示物体1または表示物体2の移
動操作の変わりに、変形操作を行なう場合には、その変
形操作による物体間の干渉判定を行なうことで、変形操
作の評価を行なうことができる。
【0129】このように、この3次元形状データ加工装
置では、表示物体1と表示物体2との各セル間での干渉
判定を行なうことで、ポリゴン間の干渉判定回数を削減
することができ、処理時間の大幅な短縮を実現できる。
そのため、3次元形状データに対して行なった変形など
の加工操作の評価を、操作直後に確認することが可能に
なる。
【0130】なお、この3次元形状データ加工装置で
は、2以上の表示物体の干渉判定を行なうこともでき
る。
【0131】また、各実施例では、三角形ポリゴンを例
に説明しているが、記憶装置の頂点記憶部分の拡張によ
り一般的な多角形ポリゴンに対応することができる。
【0132】
【発明の効果】以上の実施例の説明から明らかなよう
に、本発明の3次元形状データ加工装置では、加工領域
の特定等のために実施する干渉判定を、3次元空間の小
領域を対象とする干渉判定と、小領域内の3次元形状デ
ータを対象とする干渉判定との二段階に分けて行なって
いるため、干渉判定の回数が削減され、動作速度を速め
ることができる。その結果、操作者が行なった変形操作
を画面上でリアルタイムで確認することが可能になる。
【0133】また、種々の加工操作を同一の操作インタ
フェースで実施できるため、操作がし易い。
【0134】また、3次元形状の表面または裏面の一方
のみに加工を施すことができる。
【0135】また、加工領域だけを取り出して、見易い
状態に画面に表示させることができるため、加工操作が
容易になる。
【0136】また、複数の3次元形状の間の干渉判定を
短時間で行なうことができるため、3次元形状に対して
行なった変形操作の評価を、操作直後に画面上で確認す
ることができる
【図面の簡単な説明】
【図1】第1実施例の3次元形状データ加工装置の構成
を示すブロック図、
【図2】第1実施例の装置におけるセルとポインティン
グカーソルと3次元形状データとの関係を示す図、
【図3】第1実施例の装置の記憶装置に格納されるテー
ブルの構成、
【図4】第1実施例の装置の動作手順を示すフローチャ
ート、
【図5】第1実施例の装置において加工領域の指定方法
を示す図、
【図6】第1実施例の装置のセルと加工領域との干渉判
定手順を示すフローチャート、
【図7】第1実施例の装置のポリゴンと加工領域との干
渉判定手順を示すフローチャート、
【図8】第1実施例の装置による干渉判定の各段階を示
す図、
【図9】第1実施例の装置を操作して得られる変形状態
を示す図、
【図10】第2実施例の3次元形状データ加工装置の構
成を示すブロック図、
【図11】第2実施例の装置のポリゴンと加工領域との
干渉判定手順を示すフローチャート、
【図12】第2実施例の装置を操作して得られる変形状
態を説明する図、
【図13】第3実施例の3次元形状データ加工装置の構
成を示すブロック図、
【図14】第3実施例の装置の記憶装置に格納されるテ
ーブルの構成、
【図15】第3実施例の装置の動作手順を示すフローチ
ャート、
【図16】第3実施例の装置を操作して行なわれる変形
を説明する図、
【図17】第4実施例の3次元形状データ加工装置の構
成を示すブロック図、
【図18】第4実施例の装置の記憶装置に格納されるテ
ーブルの構成、
【図19】第4実施例の装置の動作手順を示すフローチ
ャート、
【図20】第4実施例の装置のセル選択の動作手順を示
すフローチャート、
【図21】第4実施例の装置を操作して行なわれる変形
を説明する図、
【図22】第5実施例の3次元形状データ加工装置の構
成を示すブロック図、
【図23】第5実施例の装置の記憶装置に格納されるテ
ーブルの構成、
【図24】第5実施例の装置の動作手順を示すフローチ
ャート、
【図25】第5実施例の装置のポリゴン間の干渉判定手
順を示すフローチャート、
【図26】第5実施例の装置を操作して行なわれる物体
間の干渉判定を説明する図、
【符号の説明】
1 データ読取装置 2 記憶装置 3 表示装置 4 データ処理装置 5 入力装置 21、25、26、29 セルテーブル 22、24、27、30 ポリゴンテーブル 23、28、31 頂点テーブル 41 領域決定部 42 領域−セル干渉判定部 43 領域−ポリゴン干渉判定部 44 変形処理部 45 記憶部 46 データ処理部 47 表示処理部 49 関数選択部 50 内積計算部 51 裏面判定部 52 システムモード選択部 53 セル領域選択部 54 セル間干渉判定部 55 ポリゴン間干渉判定部
フロントページの続き (72)発明者 川口 透 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 小笠原 倫利 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 平6−20011(JP,A) 特開 平6−60151(JP,A) 特開 平1−26981(JP,A) 特開 平5−298416(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/00

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 3次元形状データを表示し、操作者の入
    力操作に応じて、この3次元形状データを変形し、変形
    状態を逐次表示する3次元形状データ加工装置におい
    て、 3次元空間内の位置情報を入力する入力手段と、 前記位置情報より3次元形状データの加工を行なう加工
    領域を求める領域決定手段と、 3次元空間内の小領域毎に3次元形状データの構成要素
    を分割して記憶する記憶手段と、 前記領域決定手段によって決定された加工領域と前記小
    領域との干渉を判定する第一の干渉判定手段と、 前記第一の干渉判定手段によって判定された小領域内に
    存在する前記3次元形状データの構成要素と前記領域決
    定手段によって決定された加工領域との干渉を判定する
    第二の干渉判定手段と、 前記第二の判定手段によって判定された3次元形状デー
    タの構成要素を変形する変形手段とを設けたことを特徴
    とする3次元形状データ加工装置。
  2. 【請求項2】 前記第一の判定手段が、前記領域決定手
    段により決定された加工領域と前記小領域内に存在する
    3次元形状データの構成要素を全て含む外接球との干渉
    判定を各小領域について行なうことを特徴とする請求項
    1に記載の3次元形状データ加工装置。
  3. 【請求項3】 前記領域決定手段によって決定された加
    工領域の形状を、前記3次元形状データと併せて表示す
    ることを特徴とする請求項1に記載の3次元形状データ
    加工装置。
  4. 【請求項4】 前記変形手段によって変形される量を設
    定するための関数を選択する関数選択手段を設けたこと
    を特徴とする請求項1に記載の3次元形状データ加工装
    置。
  5. 【請求項5】 前記位置情報の法線ベクトルと3次元形
    状データの法線ベクトルとの内積演算を行なう内積計算
    手段と、前記内積計算手段の演算結果より3次元形状デ
    ータの表面裏面の判断を行なう裏面判定手段とを設けた
    ことを特徴とする請求項1に記載の3次元形状データ加
    工装置。
  6. 【請求項6】 前記記憶手段に、前記3次元形状データ
    の構成要素が前記加工領域と干渉することを表す構成要
    素干渉フラグの記憶領域を設け、この記憶領域に、前記
    第二の干渉判定手段の判定結果に基づいて、該当する構
    成要素に対応させて前記構成要素干渉フラグを記録し、
    前記変形手段が、前記構成要素干渉フラグの付された構
    成要素を変形することを特徴とする請求項1に記載の3
    次元形状データ加工装置。
  7. 【請求項7】 前記3次元空間内の小領域を選択する小
    領域選択手段を設けるとともに、前記記憶手段に、前記
    小領域選択手段によって選択された小領域を表す小領域
    選択フラグの記憶領域を設け、前記第一の干渉判定手段
    が、前記領域決定手段によって決定された加工領域と前
    記小領域選択フラグの付された小領域との干渉を判定す
    ることを特徴とする請求項1に記載の3次元形状データ
    加工装置。
  8. 【請求項8】 3次元形状データを表示し、操作者の入
    力操作に応じて、この3次元形状データを変形し、変形
    状態を逐次表示する3次元形状データ加工装置におい
    て、 複数の3次元形状データの構成要素を3次元空間内の小
    領域毎に分割して記憶する記憶手段と、 3次元空間内の位置情報を入力する入力手段と、 前記位置情報に応じて3次元空間における前記3次元形
    状データの位置を変更するデータ処理手段と、 複数の3次元形状データに関する各々の小領域間の干渉
    判定を行なう第三の干渉判定手段と、 前記第三の干渉判定手段により判定された小領域に含ま
    れる各3次元形状データの構成要素間の干渉判定を行な
    う第四の干渉判定手段とを設けたことを特徴とする3次
    元形状データ加工装置。
JP6256036A 1994-09-27 1994-09-27 3次元形状データ加工装置 Expired - Fee Related JP3015262B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6256036A JP3015262B2 (ja) 1994-09-27 1994-09-27 3次元形状データ加工装置
US08/492,348 US5801709A (en) 1994-09-27 1995-06-19 3-dimensional data shaping apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6256036A JP3015262B2 (ja) 1994-09-27 1994-09-27 3次元形状データ加工装置

Publications (2)

Publication Number Publication Date
JPH0896023A JPH0896023A (ja) 1996-04-12
JP3015262B2 true JP3015262B2 (ja) 2000-03-06

Family

ID=17287029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6256036A Expired - Fee Related JP3015262B2 (ja) 1994-09-27 1994-09-27 3次元形状データ加工装置

Country Status (2)

Country Link
US (1) US5801709A (ja)
JP (1) JP3015262B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144385A (en) * 1994-08-25 2000-11-07 Michael J. Girard Step-driven character animation derived from animation data without footstep information
US5742750A (en) * 1996-02-13 1998-04-21 Micrografx, Inc. System and method for automatically inserting and deleting an object in a graphics chart
US6144384A (en) * 1996-02-20 2000-11-07 Yugen Kashia Aloalo International Voxel data processing using attributes thereof
US6061067A (en) * 1996-08-02 2000-05-09 Autodesk, Inc. Applying modifiers to objects based on the types of the objects
JPH10143222A (ja) * 1996-11-08 1998-05-29 Mitsubishi Electric Corp 数値制御装置
JP3927677B2 (ja) * 1997-02-21 2007-06-13 キヤノン株式会社 画像処理装置及び画像処理方法
US6496190B1 (en) * 1997-07-02 2002-12-17 Mental Images Gmbh & Co Kg. System and method for generating and using systems of cooperating and encapsulated shaders and shader DAGs for use in a computer graphics system
US9007393B2 (en) * 1997-07-02 2015-04-14 Mental Images Gmbh Accurate transparency and local volume rendering
JP3415447B2 (ja) * 1998-07-14 2003-06-09 富士通株式会社 装置における部品間の干渉を検証する干渉検証装置および方法
US6121973A (en) * 1998-08-12 2000-09-19 International Business Machines Corporation Quadrilateral mesh generation method and apparatus
US7233326B1 (en) 1999-04-29 2007-06-19 Autodesk, Inc. Three dimensional modeling and animation system using master objects and modifiers
IL136373A0 (en) * 2000-05-25 2001-06-14 Itpen Ltd Partnership Israel Representation of three-dimensional bodies on computer screens and games involving such representations
JP4672127B2 (ja) * 2000-10-11 2011-04-20 株式会社図研 フレキシブル基板の実装シミュレーション方法およびその装置
AU2003303111A1 (en) * 2002-11-29 2004-07-29 Bracco Imaging, S.P.A. Method and system for scaling control in 3d displays
US7422529B2 (en) * 2004-03-10 2008-09-09 Acushnet Company Mold for a golf ball
US8414428B2 (en) * 2004-03-10 2013-04-09 Acushnet Company Mold for a golf ball
US7571018B2 (en) * 2006-06-14 2009-08-04 Phonak Ag Preserving localization information from modeling to assembling
JP6418763B2 (ja) * 2014-03-19 2018-11-07 Dmg森精機株式会社 工作機械の手動操作用シミュレーション装置
US10602258B2 (en) * 2018-05-30 2020-03-24 Facebook Technologies, Llc Manufacturing a cartilage conduction audio device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0797413B2 (ja) * 1991-05-16 1995-10-18 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックス・システムにおけるピック方法および装置
JPH0554087A (ja) * 1991-08-23 1993-03-05 Fujitsu Ltd 図形処理方式
JPH0594500A (ja) * 1991-10-02 1993-04-16 Fujitsu Ltd Cadシステムにおける3次元形状検索方式
US5497453A (en) * 1993-01-05 1996-03-05 International Business Machines Corporation Method and apparatus for detecting and visualizing interferences between solids

Also Published As

Publication number Publication date
JPH0896023A (ja) 1996-04-12
US5801709A (en) 1998-09-01

Similar Documents

Publication Publication Date Title
JP3015262B2 (ja) 3次元形状データ加工装置
US5850206A (en) System for retrieving and displaying attribute information of an object based on importance degree of the object
JPH10283158A (ja) ウィンドウの立体表示装置及びその方法
US5734383A (en) Apparatus and method for generating a three-dimensional model on a graphic display from a two-dimensional image
JP3276068B2 (ja) オブジェクトの選択方法およびそのシステム
US5815150A (en) Display apparatus
JPH0696174A (ja) 束縛点式図形編集装置および処理方法
JPH05346957A (ja) 形状特徴量提示装置および方法
JP3357760B2 (ja) 文字図形入力編集装置
JPH0916315A (ja) 情報検索システム
CN114797109A (zh) 对象编辑方法、装置、电子设备和存储介质
JP3361652B2 (ja) 立体図形配置入力方法及びグラフィックシステム
JP2007213437A (ja) 情報処理方法、情報処理装置
JPS63118820A (ja) メニユ−表示装置
JP4389350B2 (ja) オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法、並びにプログラム提供媒体
JPH1097646A (ja) 三次元空間表示システムにおける三次元空間座標値の取得方法および装置
JP2924750B2 (ja) 3次元形状モデリング方法およびその装置
JPH07114655A (ja) 図形処理装置
JPH02250178A (ja) 図形作成装置
JP2571178B2 (ja) 3次元図形処理装置
JP2616132B2 (ja) 画像表示装置
JP3142191B2 (ja) 図形処理装置
JP2003178330A (ja) 3次元立体配置編集方法及び3次元立体配置編集装置
JP2719247B2 (ja) 三次元グラフィックスを利用した作業機械の重量解析システム
JPH0214373A (ja) 三次元点指定方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees