JP3971085B2 - スウェプト容積モデル - Google Patents
スウェプト容積モデル Download PDFInfo
- Publication number
- JP3971085B2 JP3971085B2 JP2000173497A JP2000173497A JP3971085B2 JP 3971085 B2 JP3971085 B2 JP 3971085B2 JP 2000173497 A JP2000173497 A JP 2000173497A JP 2000173497 A JP2000173497 A JP 2000173497A JP 3971085 B2 JP3971085 B2 JP 3971085B2
- Authority
- JP
- Japan
- Prior art keywords
- subset
- edge
- triangles
- modeled object
- zone
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータのソフトウェアユーティリティプログラムに関するものであり、さらに詳細には、コンピュータ援用設計およびコンピュータ援用製造(CAD/CAM)ソフトウェアシステムにおいてスウェプト容積モデルを作成するための機械と方法に関するものである。
【0002】
【従来の技術】
CAD/CAMアプリケーションを使用しているときに、可動パーツ(moving part)が移動している間に占有する空間的包含領域または全領域をモデル化するとがしばしば望ましい。可動パーツの空間的包含のことを、スウェプト容積(swept volume)と呼ぶことがある。パーツに適切な間隔を持たせて設計するためには、スウェプト容積のエンベロープまたは境界を決定するようにするとよい。間隔は、例えば、動いているパーツが思いがけず周囲のオブジェクトに接触するのを避けるために必要である。さらに、スウェプト容積を正確にモデル化することで、空間コストの点で効率化することもできる。機能をできるだけコンパクトに設計すると有効な場合も多い。
【0003】
現在市販されているシステムのいくつかは、動いているパーツを可動オブジェクトのマルチインスタンス化(multi-instantiation)を使用してモデル化することができる。この手法では、パーツが動いている間の瞬間瞬間のパーツのモデルを作成する。作成される瞬間モデルが増えるほど、あるモデルから次のモデルへの遷移が滑らかになる。この手法を使って品質を許容できるものにする場合、プロセッサ集約的になる傾向があり、パーツについての複数のイメージを作成する必要がある。
【0004】
他の手法では、可動オブジェクトのマルチインスタンス化をブール演算と組み合わせて使用している。この手法を用いると、一方の瞬間モデルから他方の瞬間モデルへ外挿することで、ストレートのマルチインスタンス化モデルを改良することができる。外挿法により、得られるモデルの面表現(surface representation)を滑らかにできる。しかし、このモデル化手法でも、まだ複数の瞬間モデルを作成しなければならず、また大きな処理能力を必要とする。
【0005】
他のアプローチとして、スウェプト容積のボクセル表現を使用したり、マーチングキューブアルゴリズム(marching cubes algorithm)を使用するものがある。
【0006】
【発明が解決しようとする課題】
そこで、本発明では、コンピュータでシミュレートしたオブジェクトに対するスウェプト容積をモデル化する方法と装置を実現する。
【0007】
一般に、一態様において、本発明は、コンピュータでモデル化したオブジェクトの多面体表現を生成し、オブジェクトの動きを位置行列の集合を用いて表現するステップを含む。本発明では、行列毎に自由近傍エンティティ(free neighborhood entities)の部分集合を決定し、自由近傍エンティティの動きのトレースを生成できる。トレースからのスウェプト容積の表現も構築できる。例えば、自由近傍エンティティはエッジや三角形を含むことができる。
【0008】
一実施形態では、自由近傍は、多角形の境界を構成する様々な種類のエンティティの角部分によって表現することができる。他の態様としては、オブジェクトのマテリアル(material)を含んだ半球により表現され、かつ三角形の面により境界が定まるマテリアルゾーン(material zone)、すなわち、球体の2つの部分で表現されるタンジェントゾーン(tangent zone)を含んでおり、球体のその2つの部分が隣接三角形の面によって境界が定まる自由近傍を含んでいる。
【0009】
一般に、他の態様として、エッジの平行移動を表す2つの三角形による多面体表現がある。多面体表現は、さらに、エッジの平行移動と回転運動を表す4つの三角形を含む場合がある。
【0010】
他の態様では、オブジェクトを含み、オブジェクトのマテリアルパス(material path)内部で動くエンティティをフィルタに通して、処理が効率化される。
【0011】
【課題を解決するための手段】
本発明は、さらに、コンピュータシステム、プログラムされたコンピュータ、コンピュータ読み取り可能な媒体に格納されたコンピュータプログラム、またはコンピュータと相互作用し、上記概念を具現化する方法も実現することができる。
【0012】
本発明の1つまたは複数の実施形態を添付図面に示し、以下の段で詳述する。実装により、移動している可動パーツが占有する空間的包含領域または全領域のコンピュータモデルを効率よく作成する機能などの利点を実現できる。本発明の他の特長、目的、および利点は、説明、図面、および特許請求の範囲から明白である。
【0013】
【発明の実施の形態】
図1を参照すると、コンピュータシステム100の物理リソースを図示している。コンピュータ100は、データ、アドレス、およびコントロール信号を提供するプロセッサホストバス102と接続されたセントラルプロセッサ101を有している。プロセッサ101は、Pentium(登録商標)シリーズプロセッサ、K6プロセッサ、MIPS(登録商標)プロセッサ、PowerPC(登録商標)プロセッサ、またはALPHA(登録商標)プロセッサなどの、従来の通常の目的のシングルチップまたはマルチチップマイクロプロセッサのいずれかとすることができる。さらに、プロセッサ101は、ディジタルシグナルプロセッサまたはグラフィックプロセッサなどの、従来の特別な目的のマイクロプロセッサのいずれかとすることもできる。マイクロプロセッサ101は、プロセッサホストバス102と結合した従来のアドレス、データ、およびコントロールラインを有することができる。
【0014】
コンピュータ100は、統合型RAMメモリコントローラ104を有するシステムコントローラ103を含むことができる。システムコントローラ103は、ホストバス102と接続し、ランダムアクセスメモリ105へのインターフェイスを提供することができる。システムコントローラ103は、周辺バスのブリッジ機能に対するホストバスも提供することができる。したがって、コントローラ103は、プロセッサホストバス102上の信号を主周辺バス110上の信号と互換に交換することを可能にする。例えば、周辺バス110は、Peripheral Component Interconnect(PCI)バス、Industry Standard Architecture(ISA)バス、またはMicro−Channelバスとすることができる。さらに、コントローラ103は、ホストバス102と周辺バス110間のデータバッファリングおよびデータ転送レートマッチングを提供することができる。したがって、コントローラ103は、例えば64ビット66MHzインターフェースと533Mbyte/secondデータ転送レートを持ったプロセッサ101がデータパスビット幅、クロック速度、またはデータ転送レートが異なるデータパスを有するPCIバス110にインターフェイスすることを可能にする。
【0015】
例えば、ハードディスクドライブ114と結合したハードディスクコントロールインターフェイス111、ビデオディスプレイ115と結合したビデオディスプレイコントローラ112、キーボード、およびマウスコントローラ113などの付属デバイスは周辺バス110と結合され、プロセッサ101によって制御されることができる。コンピュータシステムは、インターネットおよびイントラネットなどのコンピュータシステムネットワークへの接続も含むことができる。データおよび情報はそのような接続を通して送受信することができる。
【0016】
コンピュータ100は、基本的なコンピュータソフトウェアルーチンを格納する不揮発性ROMメモリ107も含むことができる。ROM107は、コンフィグレーションデータを格納するEEPROM(Electronically Erasable Programmable Read Only Memory)などの可変メモリを含むことができる。BIOSルーチン123はROM107に含められ、コンピュータの基本的な初期設定、システムの検査、入出力(I/O)サービスを提供することができる。BIOS123は、オペレーティングシステムをディスク113から「ブート」することができるルーチンも含むことができる。高水準オペレーティングシステムの例として、Microsoft Windows98(商標)、WindowsNT(商標)、UNIX、LINUX、Apple MacOS(商標)オペレーティングシステム、または他のオペレーティングシステムがある。
【0017】
オペレーティングシステムは、完全にRAMメモリ105にロードされるか、あるいは、RAMメモリ105、ディスクドライブ記憶装置114、またはネットワークに配置した記憶装置内に一部が含まれるようにすることもできる。オペレーティングシステムは、ソフトウェアアプリケーション、ソフトウェアシステム、およびソフトウェアシステムのツールを実行するための機能性を提供することができる。ソフトウェアの機能性によってビデオディスプレイコントローラ112およびコンピュータシステム100の他のリソースにアクセスし、ビデオコンピュータディスプレイ115上に2次元(2−D)および3次元(3−D)モデルを提供することができる。
【0018】
そこで図2を参照すると、例えば、CAD/CAMシステム上で表示されるコンピュータ生成モデルは多面体表現を持つオブジェクトを含むことができ、その際にこのオブジェクトは三角形の集合によって表される。オブジェクトの動きは、順序付けられた位置行列の集合で表すことができる。それぞれの行列は、前の位置および/または次の位置で類似の三角形と相関のある三角形の集合を含むことができる。オブジェクトの動きの一モデルでは、動きは2つの連続する行列位置間で直線的であると仮定することができる。動いてるエッジの多面体表現は、2つまたは4つの三角形で表すことができる。平行移動のみを受けるエッジ1 201〜202は2つの三角形で表すことができる。平行移動と回転運動を受けるエッジ2 203〜204は4つの三角形で表すことができる。例えば、エッジ1 201は時刻tにおいて平行移動のみが行え、時刻t+Δt202におけるエッジとなる。エッジ1のこの平行移動は、2つの三角形211と212で表すことができる。移動方向は、1つの矢印214で表すことができる。
【0019】
さらに動きは、平行移動と回転の組み合わせを含むこともできる。時刻tにおけるエッジ2 203は、時刻t+Δt204におけるエッジ2となるまで平行移動と回転運動を受けることができる。平行移動および回転運動によるエッジ2の多面体表現は、4つの三角形221〜224を含むことができる。動きの方向は、2つの矢印230と231で表すことができる。
【0020】
動きは、ユーザメニュー、すなわちアイコンなどのその他対話的デバイスやコマンドライン入力から選択することによって、モデル上でシミュレートすることができる。ユーザは、回転、直線移動、または円弧移動などの動きの種類を指定し、そして動きを与えるモデルオブジェクトを選択することができる。他のオプションは、オブジェクトを選択して、そのオブジェクトに与える動きを選択することを含む。選択は、ポインティングデバイス、キーボード、スタイラスペン、タッチスクリーン、またはその他のユーザ入力デバイスを用いて行うことができる。
【0021】
他の実施形態では、動きデータをデータベースに格納し、後で、データに関係する動きをシミュレートするために参照することができる。データベースに収められたデータは、実験または他の現実世界の収集方法からコンパイルすることができる。例えば、自動車のホイールに取り付けられているセンサによって、自動車が運転中の回転速度と垂直移動をモニタすることができる。センサから収集されたデータはデータベースに格納できる。コンピュータで定義されたモデルを使ってデータベースを参照し、ホイールの動きをエミュレートすることかできる。このようにして、自然界のモニタできるほとんどの動きはコンピュータモデルによってエミュレートできる。さらに、キーボードなどの入力デバイスにより手動でデータを入力したり、あるいは別の方法でコンパイルすることができる。コンピュータ定義モデルを使用することで、データによって表現される動きをエミュレートすることができる。
【0022】
スウェプト容積を表現するために本発明は、容積の境界、つまり容積を閉じている面(2Dエンティティ)の集合を定めることができる。この境界またはエンベロープはコンピュータ定義モデルで計算することができる。時刻tにおいて、動いているオブジェクトの境界に属する点は、スウェプト容積に関する近傍が充満してない場合は、つまりその点がオブジェクトのマテリアルの内側にない場合はスウェプト容積の境界に属する。スウェプト容積に関する点の近傍は、動いているオブジェクトに関する点の近傍の動きによって発生されるスウェプト容積と等しくなるようにできる。点pについて、自由近傍は、点pの動きから発生される近傍が充満していないように、pの近傍に属する点の集合とすることができる。点pの近傍は、pが動いている間にスウェプト容積の境界上にとどまり、マテリアルの内側境界に入り込まないのであれば、充満していない。自由近傍内で動いている点は、モデル化されたオブジェクトのマテリアルの面に沿って滑っている点と等価である。
【0023】
スウェプト容積の境界は、一般に、動いているオブジェクトの境界に属し、スウェプト容積の境界に沿って滑る点の部分集合をそれぞれの時刻tについて決定することによりモデル化することができる。この決定は、点の自由近傍の研究に基づく。点の動きによりトレースを計算し、生成することができる。スウェプト容積は、複数のトレースの表現から構築することができる。
【0024】
ここで図3を参照すると、オブジェクトの多面体表現においてエッジを表す三角形310は、動いている「肘(elbow)」によってトレースできる。トレース300は、三角形320〜325の複数の例示を含むことができる。移動方向は、方向矢印311と312で示すことができる。点は、2D表現におけるエッジに属するか、または3D表現における三角形に属する。点は、類似の近傍とさらに類似の自由近傍を持つことができる。したがって、動いているオブジェクトの境界のエッジまたは三角形エンティティに含まれる1つの点がその自由近傍内で動いているならば、エンティティ全体がその自由近傍内で動いている。
【0025】
2種類の自由近傍を、スウェプト容積の計算に利用することができる。三角形の自由近傍は、マテリアルを含んでおり、三角形の面によって境界が定まる半球を用いて表現することができる。この種の自由近傍のことを、マテリアルゾーンと呼ぶことができる。
【0026】
エッジの自由近傍は、隣接する三角形の面により境界が定まる、球体の2つの部分によって表現することができる。この種の近傍のことを、タンジェントゾーンと呼ぶことができる。
【0027】
ここで図4を参照すると、多角形410は平行移動することができる。例えば、平行移動の軌道420は、多角形の例示410〜413内の中心点などの点から追跡することができる。
【0028】
ここで図5を参照すると、自由近傍は、多角形の境界に属する様々な種類のエンティティの角部分で表現することができる。例えば、自由近傍は、隣接するエッジに関して点520のタンジェントベクトル531および532に基づくことができる。エッジ511の場合、自由近傍またはマテリアルゾーンは、法線ベクトル512に基づく。
【0029】
2Dエッジの自由近傍に含まれる三角形は、オブジェクトのマテリアルを含んでおり、三角形の面によって制限される半球510で表現することができる。半球510をマテリアルゾーンと呼ぶことができる。エッジの場合、点520により2D内で表現されるが、自由近傍は、球体521および522の2つの部分で表現できる。これら球体は、隣接する三角形531および532の面によって境界が定まる。エッジ521および522の自由近傍をタンジェントゾーンと呼ぶことができる。
【0030】
ここで図6を参照すると、動きベクトル611〜613は、多角形オブジェクトに含まれる異なるエンティティの平行移動を示すことができる。動きベクトル611〜613は、多角形オブジェクト405の軌道420に関連付けることができる。エンティティは例えば、エッジ630または三角形620を含むことができる。
【0031】
ここで図7を参照すると、スウェプト容積の境界にとどまっているエンティティは、追跡でき、スウェプト容積を形成する多面体の計算に含めることができる。多角形オブジェクトのマテリアルの経路内に入るエンティティが取り除かれることで、プロセッサの能力を節約することができる。例えば、動きベクトル721に従うエッジ720は、タンジェントゾーン521内を移動することができる。したがって、エッジ720を追跡でき、スウェプト容積モデル内で使用することができる。同様に、ベクトル731に沿って平行移動する三角形730はマテリアルゾーン510内を移動することができる。したがって、エッジ730を追跡してスウェプト容積モデルを決定することができる。
【0032】
多角形のマテリアルパス内を移動する部分にフィルタを適用できる。フィルタリングによって、コンピュータのプロセッサ101によって実行する計算量を減らすことができる。例えば、ベクトル711に沿って平行移動するエッジ710は多角形405のマテリアルパス内を移動できる。したがって、エッジ710をスウェプト容積の計算から除去することができる。
【0033】
ここで図8を参照すると、多角形オブジェクト405の平行移動を追跡するトレース810〜816の集合は、図9に表示されているスウェプト容積境界910を形成することができる。
【0034】
ここで図10を参照すると、一実施形態において、ステップ1010〜1027を含む論理の流れは、多面体オブジェクトの動きによって生じるスウェプト容積を決定するために使用されるプロセスを表すことができる。スウェプト容積プログラム実行を開始する「スウェプト容積開始」コマンド(1010)は、ユーザによって発行でき、またコンピュータ100で実行される他のプログラムから呼び出すことができる。移動体は、コンピュータで生成されたモデル表示から選択することができる(1011)。選択を行うには、マウスまたは他のポインティングデバイスを使用するか、またはキーボードなどの入力デバイスを使用する。プログラムによって、三角形とエッジからなる配列を抽出することができる(1012)。抽出では、記憶されている三角形情報を参照し、その情報を変更することなく図内に挿入することができる。
【0035】
動きは、位置行列の選択によって選択することができる(1013)。その後、ループをそれぞれの位置行列について設定することができる(1014)。このループによってプログラムを呼び出し、三角形とエッジの配列を変換することができる(1015)。それぞれのエッジについてサブループを設定することができる(1016)。エッジのサブループ内で、テストによって、タンジェントゾーン内で現在のエッジが動いているかどうかを判別することができる(1017)。タンジェントゾーン内で現在のエッジが動いているならば、プログラムはエッジによって生成されるトレースを計算することができる(1018)。エッジによって生成されたトレースを計算する(1018)際に、プログラムは2つの三角形を利用し、多角形の平行移動および回転を含む動きについて多角形と4つの三角形の平行移動を表現することができる。
【0036】
三角形の変換には、コネクティングロッドなどのパーツを構成する三角形の位置を修正を含むことができる。位置の設定順序は、種々の例示においてパーツを表現する選択動き位置行列から定義することができる。コネクティングロッドの例では、配列のエッジ上の三角形の位置は、コネクティングロッドがt0における元の位置にある間はX0、Y0、およびZ0とすることができる。垂直の平行移動のみであれば、コネクティングロッドの一番上の位置は、X0、Y0、およびZ1であり、ここでZは垂直軸である。平行移動により、各エッジにおける各三角形の各点の位置を修正することができる。
【0037】
エッジによって生じるトレースの計算(1018)に続いて、プログラムによって三角形をテーブルに追加することができる(1019)。テーブルに格納された三角形を後で参照し、スウェプト容積の多面体表現をモデル化することができる。最後のエッジを計算するまで、各エッジについてループが続行される(1020)。
【0038】
各三角形に対するループ(1021)も処理できる。ループの論理的順序は重要でない。三角形のループがエッジのループの前に来るか、またはエッジのループが三角形のループの前に来る。各三角形のループにより、マテリアルゾーン内の三角形の動きをテストすることができる(1022)。マテリアルゾーンを移動する三角形を、多面体を計算するために用いられるテーブルに追加することができる(1023)。最後の三角形を計算するまで、各三角形についてループが続行される(1024)。
【0039】
行列ループは三角形とエッジの配列の変形を続け、最後の行列に達するまで各行列についてエッジと三角形のサブループが実行される(1025)。すべての行列が処理されたら、三角形が格納されているテーブルに記述されている情報からプログラムによって多面体を計算することができる(1026)。最後に、スウェプト容積コマンドプログラムは終わりに達する(1027)。
【0040】
図11を参照すると、円柱の平行移動によって生成されるスウェプト容積モデル1110が表されている。円柱の平行移動および回転運動によって生成されるスウェプト容積モデルは、図12中の1210に示されている。図11と図12は、他のものが絡んでいない平行移動と回転の動きパターンが生じる単純な円柱状のオブジェクトを表している。
【0041】
図13を参照すると、少し複雑なモデルの図が示されている。ピストン1310はコネクティングロッド1320に接続され、クランクシャフト1330がモデル化されている。クランクシャフト1330の回転により、コネクティングロッド1320に平行移動および回転運動を発生させ、ピストン1310に平行移動を発生させることができる。図14は、平行移動を受けるピストン1310のスウェプト容積モデル1410を表す。スウェプト容積モデル1410は、コネクティングロッド1320の平行移動および回転運動についても示されている。クランクシャフト1330の動きはモデル化されていない。ユーザは、モデルに含まれている特定のオブジェクトを選択し、選択されたオブジェクトのみについてスウェプト容積モデルを構築することができる。この選択プロセスによって、図に表されているオブジェクトのコンテキストにおいてスウェプト容積モデルを明確にすることができる。
【0042】
本発明は、デジタル電子回路、またはコンピュータのハードウェア、ファームウェア、ソフトウェアで、またはそれらを組み合わせて実装することができる。本発明の装置は、プログラム可能なプロセッサによって実行される機械読み取り可能な記憶装置で明確に具現化されたコンピュータプログラム製品で実装することができ、また本発明の方法ステップは、入力データの演算および出力の生成によって本発明の機能を実行するための命令からなるプログラムを実行するプログラム可能なプロセッサによって実行することができる。
【0043】
本発明は、データおよび命令の送受信を行うために結合された少なくとも1つのプログラム可能なプロセッサと、データストレージシステムと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含んだ、プログラム可能なシステム上で実行できる1つ以上のコンピュータプログラムで都合よく実装することができる。それぞれのコンピュータプログラムは、高レベルの手続型またはオブジェクト指向プログラミング言語、あるいは、必要ならばアセンブリ言語または機械語で実装することができ、如何なる場合も、言語をコンパイル型またはインタプリタ型の言語とすることができる。
【0044】
一般に、プロセッサは読み取り専用メモリおよび/またはランダムアクセスメモリから命令およびデータを受け取る。コンピュータプログラムの命令およびデータを明確に具現化するのに適したストレージ装置はあらゆる形態の不揮発性メモリを含み、例えば、EPROMやEEPROMやフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクや着脱式ディスクなどの磁気ディスク、光磁気ディスク、およびCD−ROMディスクを含む。前記の事項は、専用設計ASIC(特定用途向け集積回路)によって補うか、あるいは組み込むことができる。
【0045】
本発明の多数の実施形態について説明してきた。本発明の精神と範囲を逸脱することなく様々な修正を加えられることは理解されるであろう。したがって、他の実装も首記の特許請求の範囲内にある。
【図面の簡単な説明】
【図1】本発明に従ったコンピュータを表す図である。
【図2】オブジェクトの単純多面体表現を表す図である。
【図3】曲げを通じてトレースされた多面体表現におけるエッジを表す図である。
【図4】平行移動を受ける多角形を表す図である。
【図5】自由近傍タンジェント(Free Neighborhood Tangent)およびマテリアルゾーンを表す図である。
【図6】多角形の平行移動を示す動きベクトルを表す図である。
【図7】自由近傍エンティティの追跡を表す図である。
【図8】多角形の平行移動の追跡を表す図である。
【図9】図8の平行移動からのスウェプト容積境界形成を表す図である。
【図10】スウェプト容積生成のプロセスの一実施形態のフローチャートである。
【図11】平行移動を受ける円柱のスウェプト容積モデルを表す図である。
【図12】平行移動および回転運動を受ける円柱のスウェプト容積モデルを表す図である。
【図13】静止状態にあるピストン、コネクティングロッド、およびクランクシャフトを表す図である。
【図14】ピストンとコネクティングロッドが移動を示している状態のピストン、コネクティングロッド、およびクランクシャフトのスウェプト容積モデルを表す図である。
【符号の説明】
100 コンピュータ
101 プロセッサ
201〜202 エッジ1
203〜204 エッジ2
211,212,221〜224,310,320〜325,531,532,620 三角形
214,230,231 矢印
300 トレース
311,312 方向矢印
401〜413 多角形
420 軌道
510 マテリアルゾーン
511,630,710,720,730 エッジ
512 法線ベクトル
520 点
521,522 タンジェントゾーン
521,522 球体
531,532 タンジェントベクトル
611〜613,721 動きベクトル
711,731 ベクトル
810〜816 トレースの集合
910 スウェプト容積境界
1310 ピストン
1320 コネクティングロッド
1330 クランクシャフト
1410 スウェプト容積モデル
p 点
t 時刻
Claims (6)
- CAD/CAMシステムにおいてコンピュータが生成した、実在のオブジェクトのスイープした容積モデルの計算に使用するための方法において、該システムが備えるプロセッサが、
エッジで結合した複数の三角形を含んでなる、前記オブジェクトのモデルの三次元多面体表現を生成するステップであって、前記三角形が、モデル化された前記オブジェクトの三角形分割表現を生成するもの、
モデル化された前記オブジェクトの三次元の動きを、モデル化された前記オブジェクトの三次元空間における一連の連続した位置によって表現するステップ、
モデル化された前記オブジェクトの前記一連の連続した位置の一つ一つについて、
(i)前記エッジの部分集合について該部分集合中の一つ一つのエッジが対応する第1のゾーンを通る軌跡を持つことを判定するステップであって、前記軌跡において、モデル化された前記オブジェクトが現在位置から次の位置へ動く間、対応するエッジがスイープした容積モデルの境界上を動き、ここで、そのような各エッジの前記対応する第1のゾーンは、モデル化された前記オブジェクトのマテリアルの外部の領域であり、前記エッジで結合する前記三角形の面方向の拡張によって境界が定まるもの、
(ii)前記三角形の部分集合について、モデル化された前記オブジェクトが前の位置から現在位置へ、そして該現在位置から次の位置へ動く間、該部分集合中の一つ一つの三角形が対応する第2のゾーンを通る軌跡を持つことを判定し該部分集合をテーブルに追加するステップであって、ここで、一つ一つのそのような三角形の第2のゾーンは半球によって表現されるゾーンを持ち、該半球は平面で境界が定まり、該平面は前記三角形の平面であり、かつ、該半球はモデル化された前記オブジェクトの内側に広がっており、および、前記第2のゾーンは、モデル化された前記オブジェクトが前記前の位置にあったときに、モデル化された前記オブジェクトの少なくとも一部が占有していた空間を表すもの、および、
(iii)前記前の位置と前記次の位置の間の前記エッジの部分集合の動きのトレースを生成するステップであって、該生成したトレースが、前記テーブルに追加した前記三角形の部分集合を利用するもの、
並びに、
前記テーブルに追加した三角形から、前記スイープした容積モデルの表現を構築するステップであって、該構築するステップがさらに、前記一連の連続した位置の前記現在位置のそれぞれにおいて、前記スイープした容積モデルの境界を、一つ一つのそのような現在位置と関連する前記三角形の部分集合によって定めることを含むもの
を実行することを特徴とする方法。 - 請求項1に記載の方法において、
モデル化された前記オブジェクトの2つの連続した位置の間の動きが、直線的な動きとしてモデル化されることを特徴とする方法。 - 請求項1に記載の方法において、
前記連続した位置による動きの表現が、回転の表現と平行移動の表現を含むことを特徴とする方法。 - 実在のオブジェクトのスイープした容積モデルの計算に使用するためのCAD/CAMシステムにおいて、
動作可能にメモリに結合されたプロセッサと、
ユーザ入力デバイスと、
ディスプレイと、
前記ユーザ入力デバイスを用いた、前記メモリに記憶されたプログラムを前記プロセッサにより実行させることによる起動に応答するグラフィックユーザインタフェースとを備え、
前記プログラムにより前記プロセッサを設定して、前記プロセッサを、
(a)前記オブジェクトのコンピュータモデルの三次元多面体表現を生成する計算であって、前記三次元多面体表現がエッジで結合した複数の三角形を含み、前記三角形が、モデル化された前記オブジェクトの三角形分割表現を生成するものを実行する手段、
(b)モデル化された前記オブジェクトの三次元の動きを位置行列の集合で表現する計算を実行する手段、
(c)該位置行列で代表される、モデル化された前記オブジェクトの一連の連続した位置の一つ一つについて、
(i)前記エッジの部分集合について該部分集合中の一つ一つのエッジが対応する第1のゾーンを通る軌跡を持つことを判定する計算であって、前記軌跡において、モデル化された前記オブジェクトが現在位置から次の位置へ動く間、対応するエッジがスイープした容積モデルの境界上を動き、ここで、そのような各エッジの前記対応する第1のゾーンは、モデル化された前記オブジェクトのマテリアルの外部の領域であり、前記エッジで結合する前記三角形の面方向の拡張によって境界が定まるものを実行する手段、
(ii)前記三角形の部分集合について、モデル化された前記オブジェクトが前の位置から現在位置へ、そして該現在位置から次の位置へ動く間、該部分集合中の一つ一つの三角形が対応する第2のゾーンを通る軌跡を持つことを判定し該部分集合をテーブルに追加する計算であって、ここで、一つ一つのそのような三角形の第2のゾーンは半球によって表現されるゾーンを持ち、該半球は、モデル化された前記オブジェクトが前記前の位置にあったときに、モデル化された前記オブジェクトの少なくとも一部が占有していた空間の内側に広がっているものを実行する手段、および、
(iii)前記現在の位置と前記次の位置の間の前記エッジの部分集合の動きによってトレースを生成する計算を実行する手段であって、該生成したトレースが、前記テーブルに追加した前記三角形の部分集合を利用するもの、
並びに、
(d)前記スイープした容積モデルの表現を前記テーブルに追加した三角形から構築し、および、前記一連の連続した位置の前記現在位置のそれぞれにおいて、一つ一つのそのような現在位置と関連する前記三角形の部分集合によって境界を定める計算を実行する手段
として機能させることを特徴とするCAD/CAMシステム。 - 請求項4に記載のCAD/CAMシステムにおいて、
動きを表現する前記位置行列は、物理的実験時に収集される実在のオブジェクトに関連する動きデータを含むことを特徴とするCAD/CAMシステム。 - CAD/CAMシステムのためのコンピュータプログラムを記憶したコンピュータ可読媒体において、
該コンピュータプログラムにより、該システムが備えるプロセッサに、
(a)実在のオブジェクトのコンピュータモデルの三次元多面体表現を生成する機能であって、前記三次元多面体表現がエッジで結合した複数の三角形を含み、前記三角形が、モデル化された前記オブジェクトの三角形分割表現を生成するもの、
(b)モデル化された前記オブジェクトの三次元の動きを位置行列の集合で表現する機能、
(c)該位置行列で代表される、モデル化された前記オブジェクトの一連の連続した位置の一つ一つについて、
(i)前記エッジの部分集合について該部分集合中の一つ一つのエッジが対応する第1のゾーンを通る軌跡を持つことを判定する機能であって、前記軌跡において、モデル化された前記オブジェクトが現在位置から次の位置へ動く間、対応するエッジがスイープした容積モデルの境界上を動き、ここで、そのような各エッジの前記対応する第1のゾーンは、モデル化された前記オブジェクトのマテリアルの外部の領域であり、前記エッジで結合する前記三角形の面方向の拡張によって境界が定まるもの、
(ii)前記三角形の部分集合について、モデル化された前記オブジェクトが前の位置から現在位置へ、そして該現在位置から次の位置へ動く間、該部分集合中の一つ一つの三角形が対応する第2のゾーンを通る軌跡を持つことを判定し該部分集合をテーブルに追 加する機能であって、ここで、一つ一つのそのような三角形の第2のゾーンは半球によって表現されるゾーンを持ち、該半球は、モデル化された前記オブジェクトが前記前の位置にあったときに、モデル化された前記オブジェクトの少なくとも一部が占有していた空間の内側に広がっているもの、および、
(iii)前記現在の位置と前記次の位置の間の前記エッジの部分集合の動きのトレースを生成する機能であって、該生成したトレースが、前記テーブルに追加した前記三角形の部分集合を利用するもの、
並びに、
(d)前記スイープした容積モデルの表現を前記テーブルに追加した三角形から構築し、および、前記一連の連続した位置の前記現在位置のそれぞれにおいて、一つ一つのそのような現在位置と関連する前記三角形の部分集合によって境界を定める機能
を実行させることを特徴とするコンピュータ可読媒体。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/329,889 US6993461B1 (en) | 1999-06-10 | 1999-06-10 | Swept volume model |
| US09/329889 | 1999-06-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001034654A JP2001034654A (ja) | 2001-02-09 |
| JP3971085B2 true JP3971085B2 (ja) | 2007-09-05 |
Family
ID=23287458
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000173497A Expired - Lifetime JP3971085B2 (ja) | 1999-06-10 | 2000-06-09 | スウェプト容積モデル |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6993461B1 (ja) |
| EP (1) | EP1059617B1 (ja) |
| JP (1) | JP3971085B2 (ja) |
| CA (1) | CA2305095C (ja) |
| DE (1) | DE1059617T1 (ja) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002097735A1 (en) * | 2001-05-31 | 2002-12-05 | Kent Ridge Digital Labs | System and method of anatomical modeling |
| US20040009249A1 (en) | 2002-07-09 | 2004-01-15 | Hiroshige Hibasami | Apoptosis inductor extracted from potato, potato foodstuff containing the inductor, and processed product thereof |
| CN101594863B (zh) * | 2006-12-07 | 2011-12-07 | 第一三共株式会社 | 具有改进稳定性的涂膜制剂 |
| EP2189918A1 (en) | 2008-11-07 | 2010-05-26 | Dassault Systèmes | Computer-implemented method of computing, in a computer aided design system, of a boundary of a modeled object. |
| US8010328B2 (en) * | 2009-05-19 | 2011-08-30 | Mitsubishi Electric Research Laboratories, Inc. | Method for simulating numerically controlled milling using adaptively sampled distance fields |
| US8265909B2 (en) | 2009-05-19 | 2012-09-11 | Mitsubishi Electric Research Laboratories, Inc. | Method for reconstructing a distance field of a swept volume at a sample point |
| WO2012030899A1 (en) * | 2010-08-31 | 2012-03-08 | University Of Massachusetts | Methods and systems for determining fish catches |
| US9122270B2 (en) | 2012-01-13 | 2015-09-01 | Mitsubishi Electric Research Laboratories, Inc. | Hybrid adaptively sampled distance fields |
| US8935138B2 (en) | 2012-03-28 | 2015-01-13 | Mitsubishi Electric Research Laboratories, Inc. | Analyzing volume removed during machining simulation |
| CN103425838A (zh) * | 2013-08-12 | 2013-12-04 | 浪潮电子信息产业股份有限公司 | 一种基于linux的路径跟踪方法 |
| US9892215B2 (en) | 2013-09-23 | 2018-02-13 | Mitsubishi Electric Research Laboratories, Inc. | System and method for determining feedrates of machining tools |
| EP3018630A3 (en) | 2014-09-15 | 2018-05-16 | Samsung Electronics Co., Ltd. | Display method and apparatus for rendering repeated geometric shapes |
| WO2019010337A1 (en) * | 2017-07-06 | 2019-01-10 | Google Llc | VOLUMETRIC MULTI-SELECTION INTERFACE FOR SELECTING MULTIPLE ENTITIES IN A 3D SPACE |
| US11810255B2 (en) * | 2021-05-28 | 2023-11-07 | Adobe Inc. | Swept volume determination techniques |
| CN114882170B (zh) * | 2022-04-14 | 2025-09-05 | 杭州群核信息技术有限公司 | 一种沿放样路径构建三维模型的方法、电子设备和存储介质 |
| CN118838248B (zh) * | 2024-06-26 | 2025-11-28 | 上海大学 | 一种用于复合磨削中心加工碰撞检测的磨削砂轮扫掠体生成方法、电子设备及存储介质 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4785399A (en) | 1987-03-03 | 1988-11-15 | International Business Machines Corporation | Shaping geometric objects by cumulative translational sweeps |
| US4833617A (en) * | 1987-08-14 | 1989-05-23 | General Electric Company | Solid modeling based adaptive feedrate control for NC machining |
| JPH07107648B2 (ja) | 1987-09-09 | 1995-11-15 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 物体間衝突検出装置 |
| EP0405106A3 (en) | 1989-06-16 | 1992-04-08 | International Business Machines Corporation | Construction of minkowski sums and derivative morphological combinations of arbitrary polyhedra in cad/cam systems |
| US5122966A (en) | 1989-09-18 | 1992-06-16 | Northern Research & Engineering | Computer generated tool path interference check method |
| US5044127A (en) | 1990-01-16 | 1991-09-03 | The Gleason Works | Gear-shaped tool and method of generating gears |
| US5116173A (en) | 1991-02-26 | 1992-05-26 | The Gleason Works | Method of generating bevel and hypoid gears |
| EP0503642B1 (en) | 1991-03-15 | 1997-06-11 | Spatial Technology, Inc. | Method and apparatus for solids-based machining |
| US5343385A (en) | 1993-08-17 | 1994-08-30 | International Business Machines Corporation | Interference-free insertion of a solid body into a cavity |
| US5710709A (en) * | 1993-08-19 | 1998-01-20 | Iowa State University Research Foundation, Inc. | NC milling simulation and dimensional verification via dexel representation |
| US5542036A (en) | 1994-07-05 | 1996-07-30 | General Electric Company | Implicit modeling of swept volumes and swept surfaces |
| US6044306A (en) | 1997-10-14 | 2000-03-28 | Vadim Shapiro | Methods and apparatus for shaping moving geometric shapes |
| US6099573A (en) * | 1998-04-17 | 2000-08-08 | Sandia Corporation | Method and apparatus for modeling interactions |
-
1999
- 1999-06-10 US US09/329,889 patent/US6993461B1/en not_active Expired - Lifetime
-
2000
- 2000-04-13 CA CA002305095A patent/CA2305095C/en not_active Expired - Lifetime
- 2000-05-19 EP EP00401393A patent/EP1059617B1/en not_active Expired - Lifetime
- 2000-05-19 DE DE1059617T patent/DE1059617T1/de active Pending
- 2000-06-09 JP JP2000173497A patent/JP3971085B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE1059617T1 (de) | 2002-01-17 |
| JP2001034654A (ja) | 2001-02-09 |
| EP1059617A3 (en) | 2004-09-15 |
| CA2305095C (en) | 2008-08-26 |
| EP1059617B1 (en) | 2012-10-10 |
| CA2305095A1 (en) | 2000-12-10 |
| EP1059617A2 (en) | 2000-12-13 |
| US6993461B1 (en) | 2006-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3971085B2 (ja) | スウェプト容積モデル | |
| JP6356378B2 (ja) | 幾何学的三次元モデルオブジェクトを設計する方法 | |
| JP6282798B2 (ja) | 工作物の機械加工のシミュレーション | |
| CN106875462B (zh) | 一种基于元球模型和混合驱动方法的实时数字器官切割方法 | |
| JP3739999B2 (ja) | 3次元グラフィカル・マニピュレータ | |
| JP6787661B2 (ja) | 工作物の機械加工のシミュレート | |
| JP3713055B2 (ja) | 3次元lsi形状シミュレーションシステム | |
| CN111292402B (zh) | 数据处理的方法、装置、设备及计算机可读存储介质 | |
| CA2794151C (en) | Designing a modeled volume represented by dexels | |
| JP6560227B2 (ja) | コンピュータ支援設計モデルの自動動作 | |
| JP3851848B2 (ja) | 流体と剛体の連携シミュレーション装置、流体と剛体の連携シミュレーションプログラム | |
| Biancolini et al. | Industrial application of the meshless morpher RBF morph to a motorbike windshield optimisation | |
| JP3786410B2 (ja) | フィレット作成方法、及び3次元cadプログラム | |
| Wong et al. | Virtual 3D sculpturing with a parametric hand surface | |
| Ströter et al. | TEdit: A Distributed Tetrahedral Mesh Editor with Immediate Simulation Feedback. | |
| Peng et al. | Freeform modelling using sweep differential equation with haptic interface | |
| Bendels et al. | Image and 3D-Object Editing with Precisely Specified Editing Regions. | |
| Zeng et al. | Three-dimensional deformation in curl vector field | |
| Nylén et al. | Interactive Assembly and Animation of 3D Digital Garments. | |
| EP1861827A2 (en) | System and method for generating matched contour profiles | |
| Lin et al. | Sketch based mesh fusion | |
| AU2023204309A1 (en) | Improving 3d modeling user interfaces by introducing improved coordinates for triquad cages | |
| CN120179143A (zh) | 一种基于3d图形学的3d空间轴的可视化方法 | |
| Ceylan et al. | A Multi-Touch Interface for 3D Mesh Animation | |
| HK40024190A (en) | Data processing method and apparatus, device, and computer readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041126 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050328 |
|
| RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20050328 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050329 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050510 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050701 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070423 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070607 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3971085 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130615 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |