(57)【要約】【課題】  配置モデルが指定した基準平面と接触するような配置を配置モデルと基準平面を指定することにより、事前計算なしにモデル配置を可能とした三次元形状モデルの配置装置を提供する。【解決手段】  この三次元形状モデルの配置装置１００は、配置モデルとこの配置モデルの配置要素（平面、円柱面、球面、頂点の何れか）を指定するモデル指定部１と、配置要素と平行な基準平面を入力として受け付ける平面指定部２と、操作者１２が入力した配置要素の移動方向を入力として受け付ける方向指定部３と、配置要素と基準平面との間のオフセット値を入力として受け付けるオフセット値指定部４と、配置モデルの移動ベクトルを基準平面と配置要素が接触するように、若しくは配置要素と基準平面がオフセット値だけ離れた距離になるように予め決められた方法により計算して配置モデルを移動するモデル移動部５と、三次元形状データ１０を読み込み、三次元形状データを保持する三次元形状データ処理部６と、三次元形状データをディスプレイ１１に表示する表示処理部７とを備えて構成される。【選択図】  図１
2006048147.tif 000002
【特許請求の範囲】
【請求項１】
三次元形状モデルを配置する三次元形状モデルの配置装置であって、
配置モデルと該配置モデルの配置要素を指定するモデル指定部と、前記配置要素と平行な基準平面を入力として受け付ける平面指定部と、前記配置要素の移動方向を入力として受け付ける方向指定部と、前記配置要素と基準平面との間のオフセット値を入力として受け付けるオフセット値指定部と、前記配置モデルの移動ベクトルを前記基準平面と配置要素が接触するように、若しくは前記配置要素と基準平面がオフセット値だけ離れた距離になるように予め決められた方法により計算して前記配置モデルを移動するモデル移動部と、を備えたことを特徴とする三次元形状モデルの配置装置。
【請求項２】
前記配置要素は、平面、円柱面、球面、及び頂点の何れかであることを特徴とする請求項１に記載の三次元形状モデルの配置装置。
【請求項３】
三次元形状モデルを配置する三次元形状モデルの配置装置であって、
配置モデルと該配置モデルの円柱面を入力として受け付ける円柱面指定部と、第１の基準平面を入力として受け付ける第１基準平面指定部と、第２の基準平面を入力として受け付ける第２基準平面指定部と、前記第１の基準平面と第２の基準平面に前記円柱面が接触するように前記配置モデルの移動ベクトルを予め決められた方法により計算して前記配置モデルを移動するモデル移動部と、を備えたことを特徴とする三次元形状モデルの配置装置。
【請求項４】
三次元形状モデルを配置する三次元形状モデルの配置方法であって、
配置モデルと該配置モデルの配置要素を指定するモデル指定部と、前記配置要素と平行な基準平面を入力として受け付ける平面指定部と、前記配置要素の移動方向を入力として受け付ける方向指定部と、前記配置要素と基準平面との間のオフセット値を入力として受け付けるオフセット値指定部と、前記配置モデルの移動ベクトルを前記基準平面と配置要素が接触するように、若しくは前記配置要素と基準平面がオフセット値だけ離れた距離になるように予め決められた方法により計算して前記配置モデルを移動するモデル移動部と、を備えたことを特徴とする三次元形状モデルの配置方法。
【請求項５】
前記配置要素は、平面、円柱面、球面、及び頂点の何れかであることを特徴とする請求項３に記載の三次元形状モデルの配置方法。
【請求項６】
三次元形状モデルを配置する三次元形状モデルの配置方法であって、
配置モデルと該配置モデルの円柱面を入力として受け付ける円柱面指定部と、第１の基準平面を入力として受け付ける第１基準平面指定部と、第２の基準平面を入力として受け付ける第２基準平面指定部と、前記第１の基準平面と第２の基準平面に前記円柱面が接触するように前記配置モデルの移動ベクトルを予め決められた方法により計算して前記配置モデルを移動するモデル移動部と、を備えたことを特徴とする三次元形状モデルの配置方法。
【請求項７】
請求項４乃至６の何れか一項に記載の三次元形状モデルの配置方法をコンピュータが制御可能にプログラミングしたことを特徴とする三次元形状モデルの配置プログラム。
【請求項８】
請求項７に記載の三次元形状モデルの配置プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元形状モデルの配置装置、配置方法に関し、さらに詳しくは、三次元形状モデルを指定した１つの平面に接触するように配置するための事前計算を不要にする三次元形状モデルの配置装置に関するものである。
【背景技術】
【０００２】
三次元形状モデルを配置する方法としては、ユーザーが三次元ＣＡＤを操作して、座標値をキーボード入力やマウス操作により、三次元形状モデルを任意の位置や向きに指定する方法が一般的である。一方、実際の運用においては、配置するモデル（配置モデル、元モデル）と基準となるモデル（基準モデル、先モデル）の位置関係を、ユーザーの望むような位置関係になるように、配置モデルの位置や向きを予めユーザーが計算しておいて配置する方法が一般的であった。例えば、球状のモデル（元モデル）を別の平面を持つモデル（先モデル）に球の部分が接するように配置する場合、球の中心座標を平面から球の半径の距離の位置を計算した上で、三次元ＣＡＤを操作し配置することで、望む配置を行っていた。
また従来技術として特開２０００−０２０７５６公報には、三次元形状モデル内の要素の三次元空間上の位置や方向を、指定した配置が可能な技術について開示されている。また、特開平０８−０１６８２６号公報においては、画面上のカーソル位置を指定して、基準平面上に対応する三次元空間上の位置に三次元形状モデルを配置できる技術について開示されている。
【特許文献１】特開２０００−０２０７５６公報
【特許文献２】特開平０８−０１６８２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このように従来の三次元形状モデルを配置する方法は、事前計算が必要なため作業効率の点で問題があった。
また、特許文献１、２に開示されている従来技術は、いずれの方法も三次元形状モデル内の要素が平面に接するような位置への配置は事前計算なしには不可能である。
本発明は、かかる課題に鑑み、配置モデルが指定した基準平面と接触するような配置を配置モデルと基準平面を指定することにより、事前計算なしにモデル配置を可能とした三次元形状モデルの配置装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明はかかる課題を解決するために、請求項１は、三次元形状モデルを配置する三次元形状モデルの配置装置であって、配置モデルと該配置モデルの配置要素を指定するモデル指定部と、前記配置要素と平行な基準平面を入力として受け付ける平面指定部と、前記配置要素の移動方向を入力として受け付ける方向指定部と、前記配置要素と基準平面との間のオフセット値を入力として受け付けるオフセット値指定部と、前記配置モデルの移動ベクトルを前記基準平面と配置要素が接触するように、若しくは前記配置要素と基準平面がオフセット値だけ離れた距離になるように予め決められた方法により計算して前記配置モデルを移動するモデル移動部と、を備えたことを特徴とする。
本発明の三次元形状モデルの配置装置は、モデル指定部、平面指定部、方向指定部、オフセット値指定部、及びモデル移動部を備えている。これにより、配置すべきモデルとその要素、例えば平面、円柱面、球面といった配置要素を入力する。また配置モデルに対して基準となる基準面を入力し、その基準面に対して配置モデルをどの方向に移動するかを指定する。また配置モデルと基準面との間にはオフセット値があるのでその値を指定しておき、配置モデルの移動ベクトルを配置モデルと基準面が接触するように計算したり、オフセット値だけ離れるように計算して配置モデルを移動して配置する。
請求項２は、前記配置要素は、平面、円柱面、球面、及び頂点の何れかであることを特徴とする。
本発明の配置要素として平面、円柱面、球面、及び頂点の何れかを配置モデルの要素とする。これによりほとんどの形状モデルが配置可能となる。
請求項３は、三次元形状モデルを配置する三次元形状モデルの配置装置であって、配置モデルと該配置モデルの円柱面を入力として受け付ける円柱面指定部と、第１の基準平面を入力として受け付ける第１基準平面指定部と、第２の基準平面を入力として受け付ける第２基準平面指定部と、前記第１の基準平面と第２の基準平面に前記円柱面が接触するように前記配置モデルの移動ベクトルを予め決められた方法により計算して前記配置モデルを移動するモデル移動部と、を備えたことを特徴とする。
本発明の他の特徴は、円柱面を２つの基準面に対して同時に接触して配置できる点である。そのために円柱面を入力し、第１の基準面と第２の基準面を指定し、これらの面に円柱面が接触するように移動ベクトルを計算して配置モデルを移動する。
【０００５】
請求項４は、三次元形状モデルを配置する三次元形状モデルの配置方法であって、配置モデルと該配置モデルの配置要素を指定するモデル指定部と、前記配置要素と平行な基準平面を入力として受け付ける平面指定部と、前記配置要素の移動方向を入力として受け付ける方向指定部と、前記配置要素と基準平面との間のオフセット値を入力として受け付けるオフセット値指定部と、前記配置モデルの移動ベクトルを前記基準平面と配置要素が接触するように、若しくは前記配置要素と基準平面がオフセット値だけ離れた距離になるように予め決められた方法により計算して前記配置モデルを移動するモデル移動部と、を備えたことを特徴とする。
本発明は請求項１と同様の作用効果を奏する。
請求項５は、前記配置要素は、平面、円柱面、球面、及び頂点の何れかであることを特徴とする。
本発明は請求項２と同様の作用効果を奏する。
請求項６は、三次元形状モデルを配置する三次元形状モデルの配置方法であって、配置モデルと該配置モデルの円柱面を入力として受け付ける円柱面指定部と、第１の基準平面を入力として受け付ける第１基準平面指定部と、第２の基準平面を入力として受け付ける第２基準平面指定部と、前記第１の基準平面と第２の基準平面に前記円柱面が接触するように前記配置モデルの移動ベクトルを予め決められた方法により計算して前記配置モデルを移動するモデル移動部と、を備えたことを特徴とする。
本発明は請求項３と同様の作用効果を奏する。
請求項７は、請求項４乃至６の何れか一項に記載の三次元形状モデルの配置方法をコンピュータが制御可能にプログラミングしたことを特徴とする。
請求項８は、請求項７に記載の三次元形状モデルの配置プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする。
【発明の効果】
【０００６】
請求項１、４の発明によれば、三次元形状モデルの配置装置は、モデル指定部、平面指定部、方向指定部、オフセット値指定部、及びモデル移動部を備えているので、三次元形状モデルを指定した１つの平面に接触するように配置することができる。
また請求項２、５では、配置要素として平面、円柱面、球面、及び頂点の何れかを配置モデルの要素とするので、ほとんどの形状モデルが配置可能となる。
また請求項３、６では、円柱面を入力し、第１の基準面と第２の基準面を指定し、これらの面に円柱面が接触するように移動ベクトルを計算して配置モデルを移動するので、三次元形状モデルを指定した２つの平面に接触するように配置することができる。
また請求項７では、本発明の三次元形状モデルの配置方法をコンピュータが制御可能なＯＳに従ってプログラミングすることにより、そのＯＳを備えたコンピュータであれば同じ処理方法により制御することができる。
また請求項８では、三次元形状モデルの配置プログラムをコンピュータが読み取り可能な形式で記録媒体に記録することにより、この記録媒体を持ち運ぶことにより何処でもプログラムを稼動することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
図１は本発明の三次元形状モデルの配置装置の構成を示す図である。この三次元形状モデルの配置装置１００は、配置モデルとこの配置モデルの配置要素（平面、円柱面、球面、頂点の何れか）を指定するモデル指定部１と、配置要素と平行な基準平面を入力として受け付ける平面指定部２と、操作者１２が入力した配置要素の移動方向を入力として受け付ける方向指定部３と、配置要素と基準平面との間のオフセット値を入力として受け付けるオフセット値指定部４と、配置モデルの移動ベクトルを基準平面と配置要素が接触するように、若しくは配置要素と基準平面がオフセット値だけ離れた距離になるように予め決められた方法により計算して配置モデルを移動するモデル移動部５と、三次元形状データ１０を読み込み、三次元形状データを保持する三次元形状データ処理部６と、三次元形状データをディスプレイ１１に表示する表示処理部７とを備えて構成される。
本実施形態の三次元形状モデルの配置装置１００は、モデル指定部１、平面指定部２、方向指定部３、オフセット値指定部４、及びモデル移動部５を備えている。これにより、配置すべきモデルとその要素、例えば平面、円柱面、球面といった配置要素を入力する。また配置モデルに対して基準となる基準面を入力し、その基準面に対して配置モデルをどの方向に移動するかを指定する。また配置モデルと基準面との間にはオフセット値があるのでその値を指定しておき、配置モデルの移動ベクトルを配置モデルと基準面が接触するように計算したり、オフセット値だけ離れるように計算して配置モデルを移動して配置する。これにより、三次元形状モデルを指定した１つの平面に接触するように配置することができる。
【０００８】
図２は本発明の三次元形状モデルの配置装置１００の動作フローチャートである。本フローチャートで対象とする配置モデルは平面を持つ形状モデルとする。
まずモデル指定部１が配置モデルとその平面（配置平面）を入力として受け付ける（Ｓ１）。次に平面指定部２が配置平面と平行な基準平面を入力として受け付ける（Ｓ２）。次に方向指定部３が移動方向を入力として受け付ける（Ｓ３）。次にオフセット値指定部４がオフセット値を入力として受け付ける（Ｓ４）。次にモデル移動部５が配置モデルの移動ベクトルＴをＴ＝（ｉｐ（Ｃ−Ｈ、Ｎ）−ｆ）／ｉｐ（Ｍ、−Ｎ）＊Ｍ（但し、基準平面の原点座標：Ｈ、基準平面の法線ベクトル：Ｎ、移動方向ベクトル：Ｍ、オフセット値：ｆ、配置平面の原点座標：Ｃ、配置平面の法線ベクトル：Ｌ、スカラａとベクトルＸの積：ａ＊Ｘ、ベクトルＸとベクトルＹのベクトル内積：ｉｐ（Ｘ、Ｙ））により計算し配置モデルを移動する（Ｓ５）。
図３は本発明の三次元形状モデルの配置装置１００の動作フローチャートである。本フローチャートで対象とする配置モデルは円柱面を持つ形状モデルとする。
まずモデル指定部１が配置モデルとその円柱面を入力として受け付ける（Ｓ１１）。次に平面指定部２が円柱面の中心軸に平行な基準平面を入力として受け付ける（Ｓ１２）。次に方向指定部３が移動方向を入力として受け付ける（Ｓ１３）。次にオフセット値指定部４がオフセット値を入力として受け付ける（Ｓ１４）。次にモデル移動部５が配置モデルの移動ベクトルＴをＴ＝（ｉｐ（Ｃ−Ｈ、Ｎ）−ｒ−ｆ）／ｉｐ（Ｍ、−Ｎ）＊Ｍ（但し、基準平面の原点座標：Ｈ、基準平面の法線ベクトル：Ｎ、移動方向ベクトル：Ｍ、オフセット値：ｆ、配置平面の原点座標：Ｃ、配置平面の法線ベクトル：Ｌ、スカラａとベクトルＸの積：ａ＊Ｘ、ベクトルＸとベクトルＹのベクトル内積：ｉｐ（Ｘ、Ｙ））により計算し配置モデルを移動する（Ｓ１５）。
【０００９】
図４は本発明の三次元形状モデルの配置装置１００の動作フローチャートである。本フローチャートで対象とする配置モデルは球面を持つ形状モデルとする。
まずモデル指定部１が配置モデルとその球面を入力として受け付ける（Ｓ２１）。次に平面指定部２が球面の中心軸に平行な基準平面を入力として受け付ける（Ｓ２２）。次に方向指定部３が移動方向を入力として受け付ける（Ｓ２３）。次にオフセット値指定部４がオフセット値を入力として受け付ける（Ｓ２４）。次にモデル移動部５が配置モデルの移動ベクトルＴをＴ＝（ｉｐ（Ｃ−Ｈ、Ｎ）−ｒ−ｆ）／ｉｐ（Ｍ、−Ｎ）＊Ｍ（但し、基準平面の原点座標：Ｈ、基準平面の法線ベクトル：Ｎ、移動方向ベクトル：Ｍ、オフセット値：ｆ、配置平面の原点座標：Ｃ、配置平面の法線ベクトル：Ｌ、スカラａとベクトルＸの積：ａ＊Ｘ、ベクトルＸとベクトルＹのベクトル内積：ｉｐ（Ｘ、Ｙ））により計算し配置モデルを移動する（Ｓ２５）。
図５は本発明の三次元形状モデルの配置装置１００の動作フローチャートである。本フローチャートで対象とする配置モデルは頂点を持つ形状モデルとする。
まずモデル指定部１が配置モデルとその頂点を入力として受け付ける（Ｓ３１）。次に平面指定部２が頂点の中心軸に平行な基準平面を入力として受け付ける（Ｓ３２）。次に方向指定部３が移動方向を入力として受け付ける（Ｓ３３）。次にオフセット値指定部４がオフセット値を入力として受け付ける（Ｓ３４）。次にモデル移動部５が配置モデルの移動ベクトルＴをＴ＝（ｉｐ（Ｃ−Ｈ、Ｎ）−ｆ）／ｉｐ（Ｍ、−Ｎ）＊Ｍ（但し、基準平面の原点座標：Ｈ、基準平面の法線ベクトル：Ｎ、移動方向ベクトル：Ｍ、オフセット値：ｆ、配置平面の原点座標：Ｃ、配置平面の法線ベクトル：Ｌ、スカラａとベクトルＸの積：ａ＊Ｘ、ベクトルＸとベクトルＹのベクトル内積：ｉｐ（Ｘ、Ｙ））により計算し配置モデルを移動する（Ｓ３５）。
【００１０】
図６は本発明の三次元形状モデルの配置装置１００の動作フローチャートである。本フローチャートで対象とする配置モデルは円柱面を持つ形状モデルとする。
まずモデル指定部１が配置モデルとその頂点を入力として受け付ける（Ｓ４１）。次に平面指定部２が円柱面の中心軸に平行な基準平面１を入力として受け付ける（Ｓ４２）。次に平面指定部２が円柱面の中心軸に平行な基準平面２を入力として受け付ける（Ｓ４３）。基準平面１と基準平面２の交線に平行な方向ベクトルＤを、Ｄ＝ｏｐ（Ｎ１、Ｎ２）（但し、ベクトルＸとベクトルＹのベクトル外積をｏｐ（Ｘ、Ｙ））により計算する（Ｓ４４）。次に配置モデルをその境界箱の中心点Ｂを中心に、円柱面の中心軸ベクトルＬと交線ベクトルＤの外積を軸としてＬとＤが同じ方向になるように配置モデルをＬとＤが成す角度だけ回転する（Ｓ４５）。配置モデルを構成する各点Ｐは、以下の式に基づき回転する。Ｐｒ＝Ｒ（Ｂ、ｏｐ（Ｌ、Ｄ）、ａｒｃｃｏｓ（ｉｐ（Ｌ、Ｄ）））＊（Ｐ−Ｂ）＋Ｂ（但し、配置モデルの境界箱の中心点：Ｂ、円柱面の中心点：Ｃ、円柱面の中心軸ベクトル：Ｌ、円柱面の半径：ｒ、基準平面１の原点座標Ｈ１、法線ベクトルＮ１、基準平面２の原点座標Ｈ２、法線ベクトルＮ２、中心点がｏ、回転軸ベクトルｖ、ａ度回転する行列をＲ（ｏ、ｖ、ａ）、ベクトルＸとベクトルＹのベクトル外積をｏｐ（Ｘ、Ｙ）、逆余弦関数をａｒｃｃｏｓ（）、行列ＲとベクトルＸの積をＲ＊Ｘ）とする。次に配置モデルの移動ベクトルＴを、Ｔ＝（ｒ−ｉｐ（Ｈ１−Ｃ’、Ｎ１））＊Ｎ１＋（ｒ−ｉｐ（Ｈ２−Ｃ’、Ｎ２））＊Ｎ２（但し、基準平面１の原点座標Ｈ１、法線ベクトルＮ１、基準平面２の原点座標Ｈ２、法線ベクトルＮ２、スカラａとベクトルＸの積：ａ＊Ｘ、ベクトルＸとベクトルＹのベクトル内積：ｉｐ（Ｘ、Ｙ）、回転後の円柱面の中心点をＣ’、円柱面の半径をｒ）により計算し配置モデルを移動する（Ｓ４６）。
このように本発明の他の特徴は、円柱面を２つの基準面に対して同時に接触して配置できる点である。そのために円柱面を入力し、第１の基準面と第２の基準面を指定し、これらの面に円柱面が接触するように移動ベクトルを計算して配置モデルを移動する。
【００１１】
図７は円柱面を持つ配置モデルを１平面に接触するように配置する画面例を示す図である。図７（ａ）は配置前の画面例を示す図であり、図７（ｂ）は配置後の画面例を示す図である。符号２０は配置する円柱面を含むパーツを表し、符号２１は基準面を含むパーツを表し、矢印２２は移動方向を表す。
図８は球面を持つ配置モデルを１平面に接触するように配置する画面例を示す図である。図８（ａ）は配置前の画面例を示す図であり、図８（ｂ）は配置後の画面例を示す図である。符号２５は配置モデルと球面を表し、符号２６はその移動方向を表し、符号２７は基準平面を表す。
図９は円柱面を持つ配置モデルを２平面に接触するように配置する画面例を示す図である。図９（ａ）は配置前の画面例を示す上面図であり、図９（ｂ）は配置前の画面例を示す斜視図であり、図９（ｃ）は配置後の画面例を示す上面図であり、図９（ｄ）は配置後の画面例を示す斜視図である。符号３０は基準平面１を表し、符号３１は基準平面２を表し、符号３２は配置モデルと円柱面を表す。
図１０は円柱面を持つ配置モデルを２平面に接触するように配置する画面例を示す図である。図１０（ａ）は配置前の画面例を示す図であり、図１０（ｂ）は配置後の画面例を示す図である。符号３５は配置する円柱面を含むパーツを表し、符号３６は基準面１を含むパーツを表し、符号３７は基準面２を含むパーツを表す。
【図面の簡単な説明】
【００１２】
【図１】本発明の三次元形状モデルの配置装置の構成を示す図である。
【図２】本発明の三次元形状モデルの配置装置１００の動作フローチャートである（平面を持つ形状モデルの場合）。
【図３】本発明の三次元形状モデルの配置装置１００の動作フローチャートである（円柱面を持つ形状モデルの場合）。
【図４】本発明の三次元形状モデルの配置装置１００の動作フローチャートである（球面を持つ形状モデルの場合）。
【図５】本発明の三次元形状モデルの配置装置１００の動作フローチャートである（頂点を持つ形状モデルの場合）。
【図６】本発明の三次元形状モデルの配置装置１００の動作フローチャートである（円柱面を持つ形状モデルの場合）。
【図７】円柱面を持つ配置モデルを１平面に接触するように配置する画面例を示す図である。
【図８】球面を持つ配置モデルを１平面に接触するように配置する画面例を示す図である。
【図９】円柱面を持つ配置モデルを２平面に接触するように配置する画面例を示す図である。
【図１０】円柱面を持つ配置モデルを２平面に接触するように配置する他の画面例を示す図である。
【符号の説明】
【００１３】
１  モデル指定部、２  平面指定部、３  方向指定部、４  オフセット値指定部、５  モデル移動部、６  三次元形状データ処理部、７  表示処理部、１０  三次元形状データ、１０  三次元形状データ、１１  ディスプレイ、１００  三次元形状モデルの配置装置
【図１】
2006048147.tif 000003
【図２】
2006048147.tif 000004
【図３】
2006048147.tif 000005
【図４】
2006048147.tif 000006
【図５】
2006048147.tif 000007
【図６】
2006048147.tif 000008
【図７】
2006048147.tif 000009
【図８】
2006048147.tif 000010
【図９】
2006048147.tif 000011
【図１０】
2006048147.tif 000012