首页 / 专利库 / 资料储存系统 / 信息时代 / Interference detection device between three-dimensional polyhedrons

Interference detection device between three-dimensional polyhedrons

阅读:834发布:2021-02-18

专利汇可以提供Interference detection device between three-dimensional polyhedrons专利检索,专利查询,专利分析的服务。并且PURPOSE: To epochally attain the high speed of the interference checks between three-dimensional polyhedrons.
CONSTITUTION: A polygon data column generation part 13 divides the surface of a three-dimensional polyhedron into plural divided surfaces so that the points on the surface of the three-dimensional polyhedron may correspond to the points on a projection surface one to one by a projection and generates the polygon data column of each divided surface. A polygon data column distribution part 2 distributes the polygon data column of each divided surface to plural z-buffers 3-1 to 3-N as for one three-dimensional polyhedron and distributes the polygon data column of each divided surface to plural z-buffers 3-1 to 3-N as for the other three-dimensional polyhedron, respectively. The z-buffers 3-1 to 3-N performs the interference checks between the polygon data column for the one three-dimensional polyhedron and the polygon data column for the other three-dimensional polyhedron. An interference comprehensive decision part 4 decides the presence or absence of the interference between three-dimensional polyhedrons based on the interference information from each z-buffer 3-1 to 3-N.
COPYRIGHT: (C)1993,JPO&Japio,下面是Interference detection device between three-dimensional polyhedrons专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】 3次元物体を3次元多面体で近似してコンピュータ内部で扱うコンピュータシステムにおいて、 3次元多面体の表面の点と投影面上の点とが投影によって1対1に対応するように3次元多面体の表面を複数の分割面に分割し各分割面のポリゴンデータ列を生成するポリゴンデータ列生成部と、 このポリゴンデータ列生成部により生成されたポリゴンデータ列を一方の3次元多面体については各分割面のポリゴンデータ列を複数のz−バッファに振り分け、他方の3次元多面体については各分割面のポリゴンデータ列を複数のz−バッファのそれぞれに配布するポリゴンデータ列振分け部と、 このポリゴンデータ列振分け部から送られてきた一方の3次元多面体についてのポリゴンデータ列と他方の3次元多面体についてのポリゴンデータ列との間の干渉チェックを行う複数のz−バッファと、 各z−バッファからの干渉情報に基づいて3次元多面体間の干渉の有無を判定する干渉総合判定部とを有することを特徴とする3次元多面体間の干渉検出装置。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】本発明は3次元物体を3次元多面体で近似してコンピュータ内部で扱うコンピュータシステムに関し、特に3次元CG(コンピュータグラフィクス),CA(コンピュータアニメーション),ソリッドモデリング(3次元多面体モデリング),ロボット工学における経路計画(パスプラニング)等の分野に用いられる3次元多面体間の干渉検出装置に関する。

    【0002】

    【従来の技術】コンピュータハードウェア,ディスプレイ装置等の進歩によって、次第に高度なCG,CA等が可能となってきている。 それに伴って、3次元のモデリング、さらに時間も含めて4次元のモデリングが行われるようになってきた。 例えば、3次元多面体のモデルをコンピュータ内部に持たせ、専用のハードウェアで隠面を消去しながら3次元多面体(立体多面体)を高速に表示することが可能となり、機械系CADやCGに広く用いられている。 また、時間的に変化する画像を順次生成して動画を生成することも行われるようになってきている。

    【0003】このような状況において、より実世界に近いモデリングを行うためにはモデル化された3次元多面体間の干渉チェックを行う必要があり、今後その要求が増大するものと予測されている。 従来の3次元多面体間の干渉チェックを行う方法としては、ソフトウェアで実現するもののみがあった。 この方法は、2つの3次元多面体の表面をそれを構成する複数のポリゴン(多形)
    に分割し、分割されたポリゴンのすべての組合せについてポリゴン同士の干渉を調べるものであった。

    【0004】

    【発明が解決しようとする課題】上述した従来の3次元多面体間の干渉チェックを行う方法では、2つの3次元多面体の表面を複数のポリゴンに分割してポリゴンのすべての組合せについてポリゴン同士の干渉を調べるものであったので、3次元多面体の表面の数をnとするとき、タイムコストはO(n 2 )で増えるという決定的な問題点があった。

    【0005】また、空間インデックスというものを用いる方法もあり、この方法によればタイムコストはO
    (n)になるものの、オーバーヘッドが非常に大きく、
    簡単な直方体などではかえって効率が大きく下がってしまい、3次元多面体の表面の数が2つの3次元多面体ともに数100を越えないと効率が上がらないという問題点があった。

    【0006】このため、例えば、CGおよびCAの分野では、3次元多面体間の干渉により現実にはあり得ないシーンが発生してもこれを高速に検出することができず、また対話的にCG/CAのデータ(画像および動画の元となるデータ)を作成することができなかった。

    【0007】また、例えば、ソリッドモデリングによる3次元多面体CADの分野では、union,inte
    rsectionなどの集合演算でどこが干渉しているかを見つけるのに時間がかかり、それがしばしば全体のネックになっていた。

    【0008】さらに、例えば、ロボット工学における経路計画の分野では、衝突を起こさないロボットの動作経路をリアルタイムに計画するためには、コンピュータ内部にモデル化された3次元多面体の干渉を高速にチェックする必要があるが、従来の3次元多面体間の干渉チェックを行う方法では、大変なコストがかかり実用性はほとんどなかった。

    【0009】本発明の目的は、上述の点に鑑み、従来の方法に比べて3次元多面体間の干渉チェックを3次元多面体の複雑さに関係なく画期的に高速化できるようにした3次元多面体間の干渉検出装置を提供することにある。

    【0010】

    【課題を解決するための手段】本発明の3次元多面体間の干渉検出装置は、3次元物体を3次元多面体で近似してコンピュータ内部で扱うコンピュータシステムにおいて、3次元多面体の表面の点と投影面上の点とが投影によって1対1に対応するように3次元多面体の表面を複数の分割面に分割し各分割面のポリゴンデータ列を生成するポリゴンデータ列生成部と、このポリゴンデータ列生成部により生成されたポリゴンデータ列を一方の3次元多面体については各分割面のポリゴンデータ列を複数のz−バッファに振り分け、他方の3次元多面体については各分割面のポリゴンデータ列を複数のz−バッファのそれぞれに配布するポリゴンデータ列振分け部と、このポリゴンデータ列振分け部から送られてきた一方の3
    次元多面体についてのポリゴンデータ列と他方の3次元多面体についてのポリゴンデータ列との間の干渉チェックを行う複数のz−バッファと、各z−バッファからの干渉情報に基づいて3次元多面体間の干渉の有無を判定する干渉総合判定部とを有する。

    【0011】

    【作用】本発明の3次元多面体間の干渉検出装置では、
    ポリゴンデータ列生成部が3次元多面体の表面の点と投影面上の点とが投影によって1対1に対応するように3
    次元多面体の表面を複数の分割面に分割し各分割面のポリゴンデータ列を生成し、ポリゴンデータ列振分け部がポリゴンデータ列生成部により生成されたポリゴンデータ列を一方の3次元多面体については各分割面のポリゴンデータ列を複数のz−バッファに振り分け、他方の3
    次元多面体については各分割面のポリゴンデータ列を複数のz−バッファのそれぞれに配布し、複数のz−バッファがポリゴンデータ列振分け部から送られてきた一方の3次元多面体についてのポリゴンデータ列と他方の3
    次元多面体についてのポリゴンデータ列との間の干渉チェックを行い、干渉総合判定部が各z−バッファからの干渉情報に基づいて3次元多面体間の干渉の有無を判定する。

    【0012】

    【実施例】次に、本発明について図面を参照しながら説明する。

    【0013】図1は、本発明の一実施例に係る3次元多面体間の干渉検出装置の構成を示すブロック図である。
    本実施例の3次元多面体間の干渉検出装置は、ポリゴンデータ列生成部1と、ポリゴンデータ列振分け部2と、
    複数のz−バッファ3−1,3−2,…,3−N(Nは正整数)と、干渉総合判定部4とから構成されている。

    【0014】ポリゴンデータ列生成部1は、ポリゴンデータ列をz−バッファ3−1〜3−Nに流す前に、3次元多面体の表面の点と投影面上の点とが投影によって1
    対1に対応するように3次元多面体の表面を複数の分割面に分割し、分割された各分割面を構成するポリゴンデータ列を生成する前処理を行う部分である。

    【0015】ポリゴンデータ列振分け部2は、ポリゴンデータ列生成部1により生成されたポリゴンデータ列を複数のz−バッファ3−1〜3−Nのうちのどのz−バッファに流すかを決めるルータである。 また、ポリゴンデータ列振分け部2は、制御信号によりz−バッファ3
    −1〜3−Nをどういう状態にしておくか(例えば、1
    つ目の3次元多面体のポリゴンデータ列を受け取る状態にするか2つ目の3次元多面体のポリゴンデータ列を受け取る状態にするか)ということをコントロールするコントローラの役目も果たす。

    【0016】z−バッファ3−1〜3−Nは、専用のグラフィクスマシンで専用ハードウェアとしても実現されているものであり、フレームバッファ(画像のピクセルアレイ)と同じ大きさの配列で、各ピクセルについて複数のポリゴンを投影したときの最も手前のポリゴンの対応する点のz座標を入れておくのに使われる。

    【0017】また、z−バッファ法とは、隠面消去した画像を高速に生成および表示するための一方法である。
    z−バッファ法では、次々に送られてくるポリゴンについて、DDA(Digital Differenti
    al Analizer)で生成された各ピクセル位置について、z−バッファ3−1〜3−N中のz座標をみてそのポリゴンの対応する点がその後ろにあれば何もせず、その手前にあればz−バッファ3−1〜3−Nを更新しフレームバッファ(画像)に上塗りすることを繰り返す。 DDAは、ポリゴンをピクセルアレイ上に投影したときのピクセルアレイ上の対応するすべての位置を生成する装置である。

    【0018】z−バッファ3−1〜3−Nを使う本来の目的は隠面消去した画像を生成することだけであったが、本実施例の3次元多面体間の干渉検出装置では、画像生成が目的ではなく干渉チェックが目的なので、フレームバッファは必要ない。 また、本実施例の3次元多面体間の干渉検出装置で使用するz−バッファ3−1〜3
    −Nは、ポリゴンデータ列が2つの3次元多面体のどちらのものかを区別できること、および複数のポリゴンデータ列の干渉情報を出する部分が付加されていることが通常のz−バッファと相違している。

    【0019】干渉総合判定部4は、複数のz−バッファ3−1〜3−Nからの干渉チェックの結果を総合して干渉が起こっているかどうかを判定する部分である。

    【0020】次に、このように構成された本実施例の3
    次元多面体間の干渉検出装置の動作について説明する。

    【0021】まず、ポリゴンデータ列生成部1は、複数の3次元多面体の形状データをz方向に投影したときに、3次元多面体の表面の点と投影面上の点とが投影によって1対1に対応するように3次元多面体の表面を複数の分割面に分割する。 例えば、完全に凸の3次元多面体ならば分割された分割面の数は必ず2個であり、トーラスのような3次元多面体ならば分割された分割面の数は投影方向によって4個になったり2個になったりするが、必ず有限個である。

    【0022】次に、ポリゴンデータ列生成部1は、分割された分割面が含むポリゴンのデータの並び(ポリゴンデータ列)を生成する。 このとき、ポリゴンが凹ならば三角形化を同時に行う。 このポリゴンデータ列の生成にかかるタイムコストは小さいので、無視して差し支えない。

    【0023】図2(a)は、2つのリング状の3次元多面体AおよびBの干渉を調べる一例を示す図である。 2
    つの3次元多面体AおよびBの表面をある方向(z方向)から見たときに1対1になるように分割した例を、
    図2(b)および図2(c)にそれぞれ示す。 3次元多面体Aの表面は分割面A−1,A−2,A−3およびA
    −4の4つに分割され、3次元多面体Bの表面は分割面B−1,B−2,B−3およびB−4の4つに分割されている。

    【0024】ポリゴンデータ列振分け部2は、干渉を調べる2つの3次元多面体のうちの1つ目の3次元多面体の分割された分割面のポリゴンデータ列をそれぞれ異なるz−バッファ3−1〜3−Nに振り分けて送る(ほとんどの3次元多面体について分割された分割面の数はそれほど多くないので、平均すれば分割面の数はz−バッファ3−1〜3−Nの数N以下とすることができる。z
    −バッファ3−1〜3−Nの数N以上になっても効率は少し落ちるが繰り返し処理をすればよい)。

    【0025】図2に示した3次元多面体AおよびBの例では、3次元多面体Aの分割された4つの分割面A−
    1,A−2,A−3およびA−4を構成するポリゴンデータ列が4つのz−バッファ3−1〜3−4に分けて送られる(このとき、4つのストリームは並列に流すことができる)。

    【0026】z−バッファ3−1,3−2,…,3−N
    は、1つ目の3次元多面体の各分割された分割面の投影が1対1なので、z−バッファ3−1,3−2,…,3
    −N中に含まれるDDAで生成されるピクセルの位置のすべてについてポリゴンデータ列の対応する点のz座標を記憶する。

    【0027】次に、ポリゴンデータ列振分け部2は、2
    つ目の3次元多面体の分割された分割面のポリゴンデータ列を、1つ目の3次元多面体の分割された分割面のポリゴンデータ列が送られたz−バッファ3−1〜3−N
    のすべてに配布する(コピーした同一のポリゴンデータ列を同時に送る)。

    【0028】図2に示した3次元多面体AおよびBの例では、3次元多面体Bの分割された4つの分割面B−
    1,B−2,B−3およびB−4を構成する4つのポリゴンデータ列が4つのz−バッファ3−1〜3−4のすべてに順々に送られる(このとき、各z−バッファ3−
    1〜3−4は並列に動作させることができる)。

    【0029】各z−バッファ3−1〜3−Nは、2つ目の3次元多面体の各分割面のポリゴンデータ列を、すでに記憶している1つ目の3次元多面体の1つの分割面のポリゴンデータ列と比較し、干渉を起こしているかどうかを判定する。 具体的には、1つ目の3次元多面体の1
    つの分割面のポリゴンデータ列に対して、2つ目の3次元多面体の各分割面のポリゴンデータ列がすべて前にあるか後にあるかどうかを調べ、すべて前にあるか後にあれば干渉を起こしていないと判定し、それ以外の場合には干渉を起こしていると判定する。

    【0030】複数のz−バッファ3−1〜3−Nのうちのどれか1つでも干渉を起こしていると判定してその旨の干渉情報を出力したならば、干渉総合判定部4は、干渉有りという結果を出し、すべてのz−バッファ3−1
    〜3−Nが干渉を検出しなかったならば、干渉無しという結果を出す。

    【0031】なお、上記実施例では、複数のz−バッファ3−1〜3−Nは完全に独立して動かせるので、専用ハードウェアで実現したz−バッファ3−1〜3−Nを物理的に複数個作って並列処理を行うことが可能であり、その場合には画期的な効率の向上が期待できる。 例えば、3次元多面体の表面の数が数100個の場合、従来の3次元多面体の干渉チェックを行う方法では数十分かかっていたところ、ハードウェア化されたz−バッファ3−1〜3−Nを用いれば瞬時にチェックすることが可能となる。 さらに、z−バッファ法そのものが非常に高い並列性を持っており、並列処理技術の進歩によって超高速の干渉検出装置になる可能性が大きい。 また、コンピュータシステムのメモリに余裕があればソフトウェアで実現したものでも、かなりの効率が期待できる。

    【0032】ところで、本発明は、少し拡張するだけで2つの3次元多面体間の干渉している部分を特定することができるようになるので、このようにすれば、ロボット工学における経路計画の分野では、衝突を起こさない経路計画をより現実的なものにすることができる。

    【0033】

    【発明の効果】以上説明したように本発明は、ポリゴンデータ列生成部,ポリゴンデータ列振分け部,複数のz
    −バッファおよび干渉総合判定部を設け、3次元多面体間の干渉を高速に検出できるようにしたことにより、C
    GおよびCAにおいて3次元多面体間の干渉により現実にはあり得ないシーンを高速に検出することができ、間違いを含むCG/CAデータができる可能性を大きく減少させるという効果がある。

    【0034】また、従来、バッチ的であったCG/CA
    データの作成作業を対話的に行うことが可能になるという効果がある。

    【0035】さらに、高速な干渉検出機能により、ソリッドモデリングにおける3次元多面体の生成にかかるタイムコストを大幅に短縮でき、また衝突を起こさない経路計画をリアルタイムで行うことができるという効果がある。

    【図面の簡単な説明】

    【図1】本発明の一実施例に係る3次元多面体間の干渉検出装置の構成を示すブロック図である。

    【図2】本実施例の3次元多面体間の干渉検出装置による2つのリング状の3次元多面体間の干渉を調べる一例を示す図である。

    【符号の説明】

    1 ポリゴンデータ列生成部 2 ポリゴンデータ列振分け部 3−1,3−2,…,3−N z−バッファ 4 干渉総合判定部

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈