JP4031942B2 - オブジェクト間の最短距離取得方法 - Google Patents
オブジェクト間の最短距離取得方法 Download PDFInfo
- Publication number
- JP4031942B2 JP4031942B2 JP2002091511A JP2002091511A JP4031942B2 JP 4031942 B2 JP4031942 B2 JP 4031942B2 JP 2002091511 A JP2002091511 A JP 2002091511A JP 2002091511 A JP2002091511 A JP 2002091511A JP 4031942 B2 JP4031942 B2 JP 4031942B2
- Authority
- JP
- Japan
- Prior art keywords
- distance
- shortest distance
- elements
- dmin
- target element
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
Description
【発明の属する技術分野】
本発明は、CAD/CAMやCGなどのコンピュータ技術計算に関するものであり、特に、複数の要素で構成されるオブジェクトと所定点との最短距離を取得するためのオブジェクト間の最短距離取得方法に関する。
【0002】
【従来の技術】
CAD/CAMやコンピュータグラフィックスでは、独立した複数のオブジェクトより構成されており、各オブジェクトの衝突や接触などの相互作用を決定して表現する必要がある。特に、CAD/CAMにより製品のデザインを設計する場合、各部品同士または製造工具との干渉状態を認識するために、オブジェクト間の最短距離を算出する必要がある。
【0003】
各オブジェクトのフェースが所定の数式で表現されているような場合には、この数式を解析してオブジェクト間の最短距離を算出するように構成することができる。
また、各オブジェクトを多面体(polyhedron)と想定し、この多面体を構成する簡易形状要素に分解し、各要素の位置情報に基づいて最短距離を求めるように構成することができる。
【0004】
【発明が解決しようとする課題】
各オブジェクトのフェースを表現している数式を解析して最短距離を求める場合には、収束演算などを用いる必要があるために、演算に多大な時間を要するという問題を内包している。
各オブジェクトを簡易形状要素に分解する場合には、多面体を構成する三角形ポリゴンの位置情報に基づいて、各オブジェクトを構成するポリゴンの最短距離を逐次的に求めることが行われる。
【0005】
三角形ポリゴンは、要素の境界を示すエッジ(edge)、エッジの端部対を構成する頂点(vertex)、要素の面を表すフェース(face)で構成されている。この三角形ポリゴンは、幾何学的に連続性がある状態で分割され、その要素データはその連続性に基づく順で整列されていることが一般的である。
通常、このようなポリゴンデータをその整列順で読み出して最短距離の算出を行っているため、その処理に多大な時間を要する。
【0006】
本発明では、複数の要素で構成されるオブジェクト間の最短距離を取得するための処理時間を短縮することを目的とする。
【0007】
【課題を解決するための手段】
本発明に係るオブジェクト間の最短距離取得方法は、コンピュータのグラフィックス処理において、複数の要素で構成されるオブジェクトと所定点との最短距離を取得するためのオブジェクト間の最短距離取得方法であって、A)最短距離Dminを初期値に設定する段階と、B)オブジェクトを構成する要素数Nの要素の幾何学的な連続性を考慮した所定配列順(1〜N)に対して、1,N,(1+N)/2,(1+N)/4,3(1+N)/4・・・の順で対象要素となるような読出順を処理順テーブルとして記憶し、処理順テーブルを参照することにより対象要素を決定して対象要素の位置情報を読み出す段階と、C)対象要素の位置情報に基づいて、対象要素と所定点との距離を簡易判定して、簡易判定距離Drghに設定する段階と、D)簡易判定距離Drghと最短距離Dminとを比較し、簡易判定距離Drghが最短距離Dminを超えている場合にはB段階に移行し、簡易判定距離Drghが最短距離Dmin以下である場合には、対象要素の位置情報に基づいて対象要素と所定点との距離を詳細判定し要素距離Dobjに設定する段階と、E)要素距離Dobjと最短距離Dminとを比較し、要素距離Dobjが最短距離Dminを超えている場合にはB段階に移行し、要素距離Dobjが最短距離Dmin以下である場合には、要素距離Dobjを最短距離Dminに代入する段階と、F)オブジェクトを構成する複数の要素のうち対象要素になっていないものがある場合にはB段階に移行し、全ての要素が対象要素になったと判断される場合には処理を終了する段階とを含む。
【0008】
また、本発明に係るオブジェクト間の最短距離取得方法は、コンピュータのグラフィックス処理において、複数の要素で構成される第1オブジェクトおよび第2オブジェクトの最短距離を取得するためのオブジェクト間の最短距離取得方法であって、A)最短距離Dminを初期値に設定する段階と、B)第1オブジェクトを構成する所定要素数の要素の幾何学的な連続性を考慮した所定配列順(1〜N)に対して、1,N,(1+N)/2,(1+N)/4,3(1+N)/4・・・の順で対象要素となるような読出順を第1処理順テーブルとして記憶し、第1処理順テーブルを参照することにより第1対象要素を決定して第1対象要素の位置情報を読み出す段階と、C)第2オブジェクトを構成する所定要素数の要素の幾何学的な連続性を考慮した所定配列順(1〜N’)に対して、1,N’,(1+N’)/2,(1+N’)/4,3(1+N’)/4・・・の順で対象要素となるような読出順を第2処理順テーブルとして記憶し、第2処理順テーブルを参照することにより第2対象要素を決定して第2対象要素の位置情報を読み出す段階と、D)第1対象要素および第2対象要素の位置情報に基づいて、第1対象要素と第2対象要素の距離を簡易判定して、簡易判定距離Drghに設定する段階と、E)簡易判定距離Drghと最短距離Dminとを比較し、簡易判定距離Drghが最短距離Dminを超えている場合にはC段階に移行し、簡易判定距離Drghが最短距離Dmin以下である場合には、第1対象要素と第2対象要素の位置情報に基づいて第1対象要素と第2対象要素の距離を詳細判定し要素距離Dobjに設定する段階と、F)要素距離Dobjと最短距離Dminとを比較し、要素距離Dobjが最短距離Dminを超えている場合にはC段階に移行し、要素距離Dobjが最短距離Dmin以下である場合には、要素距離Dobjを最短距離Dminに代入する段階と、G)第2オブジェクトを構成する複数の要素のうち第2対象要素になっていないものがある場合にはC段階に移行し、全ての要素が第2対象要素になったと判断される場合にはH段階に移行する段階と、H)第1オブジェクトを構成する複数の要素のうち第1対象要素になっていないものがある場合にはB段階に移行し、全ての要素が第1対象要素になったと判断される場合には処理を終了する段階とを含む。
【0010】
【発明の実施の形態】
本発明に係るオブジェクト間の最短距離取得方法は、CAD/CAMやCGなどのグラフィックス処理を行うコンピュータのアプリケーションの一部として搭載されるものであり、その1実施形態を以下に説明する。
図1に示すように、第1オブジェクト10と第2オブジェクト20の最短距離を取得する場合について考える。
【0011】
図示した第1オブジェクト10および第2オブジェクト20は、それぞれポリゴン平面が連続した多面体で構成されている。第1オブジェクト10は、三角形ポリゴンでなる第1要素101、第2要素102、第3要素103・・・を備えており、同様にして、第2オブジェクト20も三角形ポリゴンである第1要素201、第2要素202、第3要素203・・・で構成されているものとする。
【0012】
第1オブジェクト10の第1要素101、第2要素102、第3要素103・・・の位置情報は、幾何学的な連続性を考慮して所定の配列順で整列されており、たとえば、図1の最も左下に位置する第1要素101から隣接する要素が順次整列するようにデータ配列が構成される。また、同様に第2オブジェクト20の第1要素201、第2要素202、第3要素203・・・の位置情報も幾何学的な連続性を考慮して所定の配列順で整列されており、たとえば、図1の最も右上に位置する第1要素201から隣接する要素が順次整列するようにデータ配列が構成される。
【0013】
このような第1オブジェクト10と第2オブジェクト20の最短距離を取得するためには、たとえば、第2オブジェクト20の第1要素201から第1オブジェクト10までの距離を第1オブジェクト10の各要素の配列順に算出していき、最短となるものをオブジェクト間の暫定的な最短距離とする。さらに、第2オブジェクト20の次の要素である第2要素202から第2オブジェクト10までの距離を第1オブジェクト10の各要素の配列順に算出していき、暫定的な最短距離よりも小さい値のものがあれば逐次データの更新を行う。
【0014】
このようにして第2オブジェクト20の最終要素まで処理を実行し、得られた最短距離を第1オブジェクト10と第2オブジェクト20との最短距離とする。
ここで、説明を簡略化するために、所定点とオブジェクトとの最短距離を求める場合について考察する。
図2に示すように、第1オブジェクト10は、図1と同様に、第1要素101、第2要素102、第3要素103・・・で構成されており、第2オブジェクト上の所定点21から第1オブジェクト10までの最短距離を取得する場合を考える。
【0015】
このような所定点21から第1オブジェクト10までの最短距離取得方法の従来例を図3のフローチャートに示す。
ステップS11では、最短距離Dminを所定の最大値に設定する。ここでは、計算に用いる変数の桁数に対応した最大値を既定値として設定することができ、たとえば、1.0E+38とすることができる。
【0016】
ステップS12では、所定点21から現在対象となっている第i番目の要素100(i)までの簡易判定距離Drghを取得する。
第1オブジェクト10の第i要素100(i)が、図4に示すように、3つの頂点V1(x1,y2,z3),V2(x2,y2,z2),V3(x3,y3,z3)を備える場合、最大領域座標Vmax(xmax,ymax,zmax)および最小領域座標Vmin(xmin,ymin,zmin)と所定点21との距離を算出し、いずれか小さいものを簡易判定距離Drghとする。
【0017】
ステップS13では、簡易判定距離Drghが最短距離Dminを超えているか否かを判別する。簡易判定距離Drghが最短距離Dminを超えていると判断した場合にはステップS12に移行し、簡易判定距離Drghが最短距離Dmin以下であると判断した場合にはステップS14に移行する。
ステップS14では、所定点21と第i要素100(i)との詳細な距離を算出して、所定点21と第i要素100(i)との要素距離Dobjを取得する。ここで、所定点21と第i要素100(i)との距離を取得する方法は、種々提案されている方法を用いて処理するものであり、ここではその詳細については言及しない。
【0018】
ステップS15では、要素距離Dobjが最短距離Dminより小さいか否かを判別する。要素距離Dobjが最短距離Dminより小さいと判断した場合にはステップS16に移行し、要素距離Dobjが最短距離Dobj以上であると判断した場合にはステップS12に移行する。
ステップS16では、要素距離Dobjの値を最短距離Dminに代入して、最短距離Dminのデータを更新する。
【0019】
ステップS17では、第1オブジェクト10の全ての要素について処理を実行したか否かを判断する。第1オブジェクト10の要素のうち処理が実行されていない要素があると判断した場合には、変数iをインクリメントして次の要素について同様の処理を実行する。
このように、第1オブジェクト10の各要素の配列順に処理を実行した場合には、全ての要素について詳細な距離算出の処理を実行しなければならない場合が生じる。
【0020】
たとえば、図5に示すように、第1オブジェクト10の各要素のうち筆頭に配列されている第1要素101までの距離が最短であるような場合には、詳細な距離測定は、最初の第1要素101についてのみ処理することだけでよい。
しかしながら、図6に示すように、第1オブジェクト10の各要素のうち筆頭に配列されている第1要素101までの距離が最大であり、各要素の距離が配列順に順次短くなるような場合には、全ての要素について詳細な距離測定を行う必要がある。
【0021】
また、図7に示すように、第5要素105までの距離が最短となる場合と、図8に示すように、第10要素110までの距離が最短となる場合とでは、詳細な距離測定の処理回数が異なってくる。
このような従来の逐次距離取得により図5〜図8の各モデルについて最短距離の取得を行った場合の処理回数を表1に示す。
【0022】
【表1】
このような逐次距離取得の方法における詳細な距離測定の処理回数の平均値は、第1オブジェクト10の要素数をNとした場合、(N/2)*K1で表すことができる。ここで、K1は、第1オブジェクト10の形状のタイプや形状の複雑さに応じて決定される係数である。
【0023】
本発明に係るオブジェクト間の最短距離取得方法のフローチャートを図9に示す。
ステップS21では、最短距離Dminを既定の最大値に設定する。前述と同様にして、計算に用いる変数の桁数に対応した最大値を既定値として設定することができ、たとえば、1.0E+38とすることができる。
【0024】
ステップS22では、第1オブジェクト10のうちの各要素について、処理順を決定するための処理順テーブルNoTblを作成する。処理順テーブルNoTblの作成は、たとえば、第1オブジェクト10の各要素の配列順に対して2以上の所定数おきに処理を行うように処理順テーブルNoTblを設定することが可能であり、また、第1オブジェクト10の各要素(1〜N)の配列順に対して第1要素、第N要素、第N/2要素、第N/4要素、第3N/4要素・・・のように2分割位置を順次処理するように処理順テーブルNoTblを設定することができる。
【0025】
ステップS23では、処理順テーブルNoTblを参照して処理を実行する要素番号no=NoTbl(i)を取得する。
ステップS24では、所定点21と現在対象となっている第no要素の簡易判定距離Drghを取得する。前述と同様にして、図4の最大領域座標Vmax(xmax,ymax,zmax)および最小領域座標Vmin(xmin,ymin,zmin)と所定点21との距離を算出し、いずれか小さいものを簡易判定距離Drghとすることができる。
【0026】
ステップS25では、簡易判定距離Drghが最短距離Dminを超えているか否かを判別する。簡易判定距離Drghが最短距離Dminを超えていると判断した場合にはステップS23に移行し、簡易判定距離Drghが最短距離Dmin以下であると判断した場合にはステップS26に移行する。
ステップS26では、所定点21と第no要素100(no)との詳細な距離を算出して、所定点21と第no要素100(no)との要素距離Dobjを取得する。
【0027】
ステップS27では、要素距離Dobjが最短距離Dminより小さいか否かを判別する。要素距離Dobjが最短距離Dminより小さいと判断した場合にはステップS28に移行し、要素距離Dobjが最短距離Dobj以上であると判断した場合にはステップS23に移行する。
ステップS28では、要素距離Dobjの値を最短距離Dminに代入して、最短距離Dminのデータを更新する。
【0028】
ステップS29では、第1オブジェクト10の全ての要素について処理を実行したか否かを判断する。第1オブジェクト10の要素のうち処理が実行されていない要素があると判断した場合には、変数iをインクリメントして次の要素について同様の処理を実行する。
処理順テーブルNoTblは、第1オブジェクト10の各要素の配列順に対して所定数おきに処理を実行するように設定することができる。たとえば、図5〜図8に示すような第1要素101〜第15要素115が配列される第1オブジェクト10に対して5つおきに処理を実行する場合、図10に示すような処理順テーブルNoTblを設定することができる。この場合、第1要素101から初めて5つおきに要素を並べていき、次に5つ先の要素が最終要素を超えるような場合には第2要素102に戻ってそこから5つおきに要素を配列している。
【0029】
5つおきに処理順テーブルNoTblを設定した場合に、図5〜図8のモデルを実行した場合のそれぞれの処理回数を表2に示す。
【0030】
【表2】
このような所定数おきに処理順テーブルNoTblを設定した場合における詳細な距離測定の処理回数は、第1オブジェクト10の要素数をNとし所定数をMとした場合、その最大値が(N/M+M)*K2で表すことができる。ここで、K2は、第1オブジェクト10の形状のタイプや形状の複雑さに応じて決定される係数である。
【0031】
このように、所定数おきに処理順テーブルNoTblを設定し、この処理順テーブルNoTblに沿って処理を実行することにより、詳細な距離測定の処理回数を減らすことが可能となり、処理の高速化を図ることができる。
処理順テーブルNoTblは、第1オブジェクト10の各要素の配列順に対して、第1要素、第N要素、第(1+N)/2要素・・・の順で、2分割毎に設定することが可能である。
【0032】
たとえば、図5〜図8に示すような第1要素101〜第15要素115が配列される第1オブジェクト10に対して、第1要素101、第15要素115(N)を処理した後、第8要素108((1+N)/2)の処理を実行し、さらに、第4要素104((1+N)/4)、第12要素(3(1+N)/4)の処理を実行し、その後の処理は元々の配列順に処理を行うように設定することができる。
【0033】
このような2分割順と逐次処理を組み合わせた処理順テーブルNoTblを設定した場合に、図5〜図8のモデルを実行した場合のそれぞれの処理回数を表3に示す。
【0034】
【表3】
2分割順を含む処理順テーブルNoTblの作成方法について、図12〜図15に基づいて説明する。
処理順テーブルNoTblに含まれる各要素のデータは、リンクリスト構造を使用して記述される。処理順テーブルNoTblを構成する各データ格納部300(1)〜300(N)は、それぞれID格納部301とNEXTポインタ302とを備えている。ID格納部301には、第1オブジェクト10の要素番号が格納され、NEXTポインタ302には次に処理を実行する要素のデータアドレスが格納される。最終のデータ格納部300(N)のNEXTポインタ302(N)には"END"が格納される。
【0035】
第1オブジェクト10の要素数Nが17の場合について考察する。まず、図13に示すように、第1オブジェクト10の第1要素(最初)と第17要素(最終)のデータを設定し、第1要素のNEXTポインタ302に第17要素のデータアドレスを格納し、第17要素のNEXTポインタに"END"を格納する。このことにより、処理順テーブルNoTblに、第1要素、第17要素の処理順がセットされる。
【0036】
次に、第1要素および第17要素の中間に位置する第9要素のデータを挿入する。ここでは、第1要素のNEXTポインタ302を第9要素のデータアドレスに更新し、第9要素のNEXTポインタ302には第17要素のデータアドレスを格納する。このことにより、図14に示すように、処理順テーブルNoTblに、第1要素、第9要素、第17要素の処理順がセットされる。
【0037】
さらに、各要素間の中間に位置する要素のデータを挿入する。ここでは、第1要素と第9要素の間に第5要素を挿入し、第9要素と第17要素との間に第13要素を挿入する。各要素のNEXTポインタ302を更新することにより、図15に示すような各要素の処理順が処理順テーブルNoTblにセットされる。
このようにして、隣り合う要素の要素番号の差が1になるまで、データの挿入を繰り返すことで、処理順テーブルNoTblを設定することができる。このときの各要素の決定順を表4に示す。
【0038】
【表4】
このようにして決定された処理順テーブルNoTblを用いて最短距離の取得処理を実行した場合の詳細な距離測定の処理回数を表5に示す。
【0039】
【表5】
ここでは、処理順テーブルNoTblの処理順を横軸に示し、所定点21(検査点)から最も近い要素が第2要素、第4要素、第6要素、第8要素、第10要素、第12要素、第14要素、第16要素のそれぞれについて詳細な距離測定の回数を算出している。ただし、所定点21に最も近い要素が第2要素、第4要素であるものについて次に近い要素が第3要素である場合、所定点21に最も近い要素が第6要素、第8要素であるものについて次に近い要素が第7要素である場合、所定点21に最も近い要素が第10要素、第12要素であるものについて次に近い要素が第11要素である場合、所定点21に最も近い要素が第14要素、第16要素であるものについて次に近い要素が第15要素である場合について考察している。
【0040】
このように、処理順テーブルNoTblが2分割順のみで構成され逐次順を含まない場合の距離計算回数の最大値は、(log2N+2〜3)*K3で表すことができる。ここで、K3は、第1オブジェクト10の形状のタイプや形状の複雑さに応じて決定される係数である
以上のようにして、所定点21と第1オブジェクト10との最短距離を算出することにより、従来の逐次詳細な距離測定の処理を実行する場合に比して、処理時間を大幅に短縮することが可能となる。
【0041】
第2オブジェクト20を構成する複数の要素201,202,203・・・のそれぞれについて、同様の方法を用いて第1オブジェクト10までの最短距離を求めることにより、第1オブジェクト10と第2オブジェクト20との間の最短距離を取得することが可能であり、この場合にも処理時間を大幅に短縮することが可能となる。
【0042】
このような第1オブジェクト10と第2オブジェクト20との最短距離を取得する方法について、図16のフローチャートに基づいて説明する。
ステップS31では、最短距離Dminを既定の最大値に設定する。前述と同様にして、計算に用いる変数の桁数に対応した最大値を既定値として設定することができ、たとえば、1.0E+38とすることができる。
【0043】
ステップS32では、第1オブジェクト10のうちの各要素について処理順を決定するための処理順テーブルNoTbl1および第2オブジェクトのうちの各要素について処理順を決定するための処理順テーブルNoTbl2を作成する。処理順テーブルNoTbl1,NoTbl2の作成は、前述の処理順テーブルNoTblと同様に設定することができる。
【0044】
ステップS33では、処理順テーブルNoTbl1,NoTbl2を参照して処理を実行する要素番号no1=NoTbl1(i1),no2=NoTbl2(i2)を取得する。
ステップS34では、第1オブジェクト10および第2オブジェクト20のそれぞれ現在対象となっている要素番号no1および要素番号no2の簡易判定距離Drghを取得する。前述と同様にして、各要素の最大領域座標Vmax(xmax,ymax,zmax)および最小領域座標Vmin(xmin,ymin,zmin)に基づいて簡易判定距離Drghを算出する。
【0045】
ステップS35では、簡易判定距離Drghが最短距離Dminを超えているか否かを判別する。簡易判定距離Drghが最短距離Dminを超えていると判断した場合にはステップS33に移行し、簡易判定距離Drghが最短距離Dmin以下であると判断した場合にはステップS36に移行する。
ステップS36では、第1オブジェクト10の第no1要素100(no1)と第2オブジェクト20の第no2要素200(no2)の詳細な距離を算出して、第no1要素100(no1)と第no2要素200(no2)との要素距離Dobjを取得する。
【0046】
ステップS37では、要素距離Dobjが最短距離Dminより小さいか否かを判別する。要素距離Dobjが最短距離Dminより小さいと判断した場合にはステップS38に移行し、要素距離Dobjが最短距離Dobj以上であると判断した場合にはステップS33に移行する。
ステップS38では、要素距離Dobjの値を最短距離Dminに代入して、最短距離Dminのデータを更新する。
【0047】
ステップS39では、第2オブジェクト20の全ての要素について処理を実行したか否かを判断する。第2オブジェクト20の要素のうち処理が実行されていない要素があると判断した場合には、変数i2をインクリメントして次の要素について同様の処理を実行する。また、第2オブジェクト20の要素の全てのついて処理を実行したと判断した場合にはステップS40に移行する。
【0048】
ステップS40では、第1オブジェクト10の全ての要素について処理を実行した否かを判断する。第1オブジェクト10の要素のうち処理が実行されていない要素があると判断した場合には、変数i1をインクリメントするとともに変数i2を初期値に設定し、次の要素について同様の処理を実行する。第1オブジェクト10の全ての要素について処理が完了したと判断した場合には、この処理ルーチンを終了し、現在の最短距離Dminの値を第1オブジェクト10と第2オブジェクト20の最短距離として出力する。
【0049】
【発明の効果】
本発明によれば、オブジェクト間の最短距離を取得する際に、詳細な距離測定の処理回数を減少することができ、最短距離の取得処理を高速に行うことを可能とする。
【図面の簡単な説明】
【図1】本発明に係るオブジェクト間の最短距離取得方法が採用されるモデルの例を示す説明図。
【図2】本発明に係るオブジェクト間の最短距離取得方法が採用されるモデルの例を示す説明図。
【図3】従来手法のフローチャート。
【図4】簡易判定処理の説明図。
【図5】本発明に係るオブジェクト間の最短距離取得方法が採用されるモデルの例を示す説明図。
【図6】本発明に係るオブジェクト間の最短距離取得方法が採用されるモデルの例を示す説明図。
【図7】本発明に係るオブジェクト間の最短距離取得方法が採用されるモデルの例を示す説明図。
【図8】本発明に係るオブジェクト間の最短距離取得方法が採用されるモデルの例を示す説明図。
【図9】本発明の1実施形態によるフローチャート。
【図10】処理順テーブルの一例を示す説明図。
【図11】処理順テーブルの一例を示す説明図。
【図12】リンクリスト構造の説明図。
【図13】2分割順による処理順テーブルの作成過程を示す説明図。
【図14】2分割順による処理順テーブルの作成過程を示す説明図。
【図15】2分割順による処理順テーブルの作成過程を示す説明図。
【図16】ポリゴン間の最短距離を取得する方法のフローチャート。
Claims (2)
- コンピュータのグラフィックス処理において、複数の要素で構成されるオブジェクトと所定点との最短距離を取得するためのオブジェクト間の最短距離取得方法であって、
A)最短距離Dminを初期値に設定する段階と、
B)前記オブジェクトを構成する要素数Nの要素の幾何学的な連続性を考慮した所定配列順(1〜N)に対して、1,N,(1+N)/2,(1+N)/4,3(1+N)/4・・・の順で対象要素となるような読出順を処理順テーブルとして記憶し、前記処理順テーブルを参照することにより対象要素を決定して前記対象要素の位置情報を読み出す段階と、
C)前記対象要素の位置情報に基づいて、対象要素と所定点との距離を簡易判定して、簡易判定距離Drghに設定する段階と、
D)前記簡易判定距離Drghと最短距離Dminとを比較し、簡易判定距離Drghが最短距離Dminを超えている場合にはB段階に移行し、簡易判定距離Drghが最短距離Dmin以下である場合には、対象要素の位置情報に基づいて対象要素と所定点との距離を詳細判定し要素距離Dobjに設定する段階と、
E)前記要素距離Dobjと最短距離Dminとを比較し、要素距離Dobjが最短距離Dminを超えている場合にはB段階に移行し、要素距離Dobjが最短距離Dmin以下である場合には、要素距離Dobjを最短距離Dminに代入する段階と、
F)前記オブジェクトを構成する複数の要素のうち対象要素になっていないものがある場合にはB段階に移行し、全ての要素が対象要素になったと判断される場合には処理を終了する段階と、
を含むオブジェクト間の最短距離取得方法。 - コンピュータのグラフィックス処理において、複数の要素で構成される第1オブジェクトおよび第2オブジェクトの最短距離を取得するためのオブジェクト間の最短距離取得方法であって、
A)最短距離Dminを初期値に設定する段階と、
B)前記第1オブジェクトを構成する所定要素数の要素の幾何学的な連続性を考慮した所定配列順(1〜N)に対して、1,N,(1+N)/2,(1+N)/4,3(1+N)/4・・・の順で対象要素となるような読出順を第1処理順テーブルとして記憶し、前記第1処理順テーブルを参照することにより第1対象要素を決定して前記第1対象要素の位置情報を読み出す段階と、
C)前記第2オブジェクトを構成する所定要素数の要素の幾何学的な連続性を考慮した所定配列順(1〜N’)に対して、1,N’,(1+N’)/2,(1+N’)/4,3(1+N’)/4・・・の順で対象要素となるような読出順を第2処理順テーブルとして記憶し、前記第2処理順テーブルを参照することにより第2対象要素を決定して前記第2対象要素の位置情報を読み出す段階と、
D)前記第1対象要素および第2対象要素の位置情報に基づいて、第1対象要素と第2対象要素の距離を簡易判定して、簡易判定距離Drghに設定する段階と、
E)前記簡易判定距離Drghと最短距離Dminとを比較し、簡易判定距離Drghが最短距離Dminを超えている場合にはC段階に移行し、簡易判定距離Drghが最短距離Dmin以下である場合には、前記第1対象要素と第2対象要素の位置情報に基づいて第1対象要素と第2対象要素の距離を詳細判定し要素距離Dobjに設定する段階と、
F)前記要素距離Dobjと最短距離Dminとを比較し、要素距離Dobjが最短距離Dminを超えている場合にはC段階に移行し、要素距離Dobjが最短距離Dmin以下である場合には、要素距離Dobjを最短距離Dminに代入する段階と、
G)前記第2オブジェクトを構成する複数の要素のうち第2対象要素になっていないものがある場合にはC段階に移行し、全ての要素が第2対象要素になったと判断される場合にはH段階に移行する段階と、
H)前記第1オブジェクトを構成する複数の要素のうち第1対象要素になっていないものがある場合にはB段階に移行し、全ての要素が第1対象要素になったと判断される場合には処理を終了する段階と、
を含むオブジェクト間の最短距離取得方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002091511A JP4031942B2 (ja) | 2002-03-28 | 2002-03-28 | オブジェクト間の最短距離取得方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002091511A JP4031942B2 (ja) | 2002-03-28 | 2002-03-28 | オブジェクト間の最短距離取得方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007240899A Division JP4589369B2 (ja) | 2007-09-18 | 2007-09-18 | オブジェクト間の最短距離取得方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003288377A JP2003288377A (ja) | 2003-10-10 |
JP4031942B2 true JP4031942B2 (ja) | 2008-01-09 |
Family
ID=29236577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002091511A Expired - Fee Related JP4031942B2 (ja) | 2002-03-28 | 2002-03-28 | オブジェクト間の最短距離取得方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4031942B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020217440A1 (ja) * | 2019-04-26 | 2020-10-29 | 三菱電機エンジニアリング株式会社 | 衝突検知装置 |
-
2002
- 2002-03-28 JP JP2002091511A patent/JP4031942B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003288377A (ja) | 2003-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4934789B2 (ja) | 補間処理方法および補間処理装置 | |
KR101741402B1 (ko) | 평행 지오데식 곡선들에 의해 모델링되는 부품의 설계 | |
US20080246766A1 (en) | Numerical analysis mesh generating method and apparatus | |
US7643026B2 (en) | NURBS surface deformation apparatus and the method using 3D target curve | |
US20100277476A1 (en) | Bounded simplification of geometrical computer data | |
CN112233249A (zh) | 基于密集点云的b样条曲面拟合方法及装置 | |
KR100717676B1 (ko) | Cad 시스템 및 cad 프로그램을 기록한 기록 매체 | |
US7348976B2 (en) | Three-dimensional shape display program, three-dimensional shape display method, and three-dimensional shape display apparatus | |
CN105760570A (zh) | 选择对象集的视点 | |
Ruprecht et al. | Deformed cross‐dissolves for image interpolation in scientific visualization | |
Krishnamurthy et al. | Accurate GPU-accelerated surface integrals for moment computation | |
JP4031942B2 (ja) | オブジェクト間の最短距離取得方法 | |
JP3786410B2 (ja) | フィレット作成方法、及び3次元cadプログラム | |
US7379599B1 (en) | Model based object recognition method using a texture engine | |
JP4589369B2 (ja) | オブジェクト間の最短距離取得方法 | |
JP4628160B2 (ja) | 三次元モデル処理方法 | |
EP1585039A2 (en) | Analysis model producing/assisting apparatus | |
JP4703907B2 (ja) | 物体の表面格子生成方法 | |
JP4175470B2 (ja) | Cadシステム、曲面解析装置、曲面再生装置、その方法及びそのプログラム | |
JP2000331193A (ja) | 有限要素メッシュモデルの形状変更方法 | |
US10529444B1 (en) | System that rapidly generates a solvent-excluded surface | |
Kansal et al. | A systematic approach for cad model generation of hole features from point cloud data | |
US11615590B2 (en) | Methods and systems for generating surfaces from polygonal data | |
JP2002108955A (ja) | 自由曲面を表す曲面式を求める方法 | |
JP2002236940A (ja) | テンプレートを用いた自由曲面の創成方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070424 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070724 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070918 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071022 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101026 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101026 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131026 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |