(57)【要約】【課題】３次元モデルを平面上に容易に配置することが可能な技術を提供する。【解決手段】情報処理装置１は、３次元モデル１００の情報を取得し、３次元モデル１００に含まれる第１の点１１１において３次元モデル１００と接する第１の平面１０１を特定する。情報処理装置１は、第１の点１１１に基づいて第１の平面１０１を回転させた場合に、３次元モデル１００に含まれる第２の点１１２において３次元モデル１００と接する第２の平面１０２を特定する。情報処理装置１は、第１の点１１１と第２の点１１２とに基づいて第２の平面１０２を回転させた場合に、３次元モデル１００に含まれる第３の点１１３において３次元モデル１００と接する第３の平面１０３を特定する。情報処理装置１は、第３の平面１０３と３次元モデル１００との接点１１１〜１１３を出力する。【選択図】図１
2018152002.tif 000002
【特許請求の範囲】
【請求項１】
３次元モデルの情報を取得し、
前記３次元モデルに含まれる第１の点において前記３次元モデルと接する第１の平面を特定し、
前記第１の点に基づいて前記第１の平面を回転させた場合に、前記３次元モデルに含まれる第２の点において前記３次元モデルと接する第２の平面を特定し、
前記第１の点と前記第２の点とに基づいて前記第２の平面を回転させた場合に、前記３次元モデルに含まれる第３の点において前記３次元モデルと接する第３の平面を特定し、
前記第３の平面と前記３次元モデルとの接点を出力する、
処理をコンピュータに実行させることを特徴とする接点特定プログラム。
【請求項２】
前記第１の点に基づく前記第１の平面の回転は、前記第１の平面を前記第１の点を含む直線を軸として回転させる、
ことを特徴とする請求項１に記載の接点特定プログラム。
【請求項３】
前記第１の平面を前記第１の点を含む直線を軸として回転させる処理は、回転後の平面が前記３次元モデルと接する平面となるように前記軸を調整する処理を含む、
ことを特徴とする請求項２に記載の接点特定プログラム。
【請求項４】
前記第１の点と前記第２の点とに基づく前記第２の平面の回転は、前記第２の平面を前記第１の点と前記第２の点とを含む直線を軸として回転させる、
ことを特徴とする請求項１に記載の接点特定プログラム。
【請求項５】
前記第２の平面を前記第１の点と前記第２の点とを含む直線を軸として回転させる処理は、回転後の平面が前記３次元モデルと接する平面となるように前記軸を調整する処理を含む、
ことを特徴とする請求項４に記載の接点特定プログラム。
【請求項６】
３次元モデルの情報を取得する３次元モデル情報取得部と、
前記３次元モデルに含まれる第１の点において前記３次元モデルと接する第１の平面を特定する第１平面特定部と、
前記第１の点に基づいて前記第１の平面を回転させた場合に、前記３次元モデルに含まれる第２の点において前記３次元モデルと接する第２の平面を特定する第２平面特定部と、
前記第１の点と前記第２の点とに基づいて前記第２の平面を回転させた場合に、前記３次元モデルに含まれる第３の点において前記３次元モデルと接する第３の平面を特定する第３平面特定部と、
前記第３の平面と前記３次元モデルとの接点を出力する接点出力部と、
を有することを特徴とする情報処理装置。
【請求項７】
３次元モデルの情報を取得し、
前記３次元モデルに含まれる第１の点において前記３次元モデルと接する第１の平面を特定し、
前記第１の点に基づいて前記第１の平面を回転させた場合に、前記３次元モデルに含まれる第２の点において前記３次元モデルと接する第２の平面を特定し、
前記第１の点と前記第２の点とに基づいて前記第２の平面を回転させた場合に、前記３次元モデルに含まれる第３の点において前記３次元モデルと接する第３の平面を特定し、
前記第３の平面と前記３次元モデルとの接点を出力する、
処理を含むことを特徴とする接点特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接点特定プログラム、接点特定方法及び接点を特定する情報処理装置に関する。
【背景技術】
【０００２】
ＣＡＤ（computer-aided design）システムを含むモデリング・システム及びグラフィック・コンピュータ・システム等において、任意のポイントの間の最小距離を決定する等の種々の処理を実行することが知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−６８２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
また、頭部手術で切除された頭蓋骨の切除部をカバーするためのインプラント製品等の種々のインプラント製品をＣＡＤシステムを使用して作製することが知られている。作製されたインプラント製品は、平面に配置された状態での測定結果と、対応する３次元モデルを平面上に配置したときの位置情報との比較に基づいてインプラント製品の形状と３次元モデルの形状と一致するかが判定される。
【０００５】
しかしながら、インプラント製品は、自由曲面を含むことがあり、自由曲面を含むインプラント製品等の３次元モデルを平面上に配置することは容易ではない。
【０００６】
一実施形態では、３次元モデルを平面上に容易に配置することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様では、情報処理装置は、３次元モデルの情報を取得し、３次元モデルに含まれる第１の点において３次元モデルと接する第１の平面を特定する。情報処理装置は、第１の点に基づいて第１の平面を回転させた場合に、３次元モデルに含まれる第２の点において３次元モデルと接する第２の平面を特定する。情報処理装置は、第１の点と第２の点とに基づいて第２の平面を回転させた場合に、３次元モデルに含まれる第３の点において３次元モデルと接する第３の平面を特定する。情報処理装置は、第３の平面と３次元モデルとの接点を出力する。
【発明の効果】
【０００８】
一実施形態では、３次元モデルを平面上に容易に配置することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報処理装置による接点特定処理を説明するための図であり、（ａ）は第１の状態を示し、（ｂ）は第１の状態に続く第２の状態を示し、（ｃ）は第２の状態に続く第３の状態を示し、（ｄ）は第３の状態に続く第４の状態を示す。
【図２】（ａ）は実施形態に係る情報処理装置の回路ブロック図であり、（ｂ）は（ａ）に示す処理部の機能ブロック図である。
【図３】図２に示す情報処理装置による接点特定処理のフローチャートである。
【図４】図３に示すＳ１０６のより詳細な処理を示すフローチャートである。
【図５】図４に示す処理を説明するための図であり、（ａ）はＳ１０５の処理によって第１の点が特定された状態を示す図であり、（ｂ）はＳ２０１の処理を説明する図であり、（ｃ）はＳ２０２の処理を説明する図である。（ｄ）はＳ２０３の処理を説明する図であり、（ｅ）はＳ２０４の処理を説明する図であり、（ｆ）はＳ２０５の処理を説明する図であり、（ｇ）はＳ２０７の処理を説明する図である。
【図６】図３に示すＳ１０８のより詳細な処理を示すフローチャートである。
【図７】図３に示すＳ１１０のより詳細な処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下図面を参照して、接点特定プログラム、接点特定方法及び接点を接点する情報処理装置について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されない。
【００１１】
図１は、実施形態に係る情報処理装置による接点特定処理を説明するための図である。図１（ａ）は第１の状態を示し、図１（ｂ）は第１の状態に続く第２の状態を示し、図１（ｃ）は第２の状態に続く第３の状態を示し、図１（ｄ）は第３の状態に続く第４の状態を示す。
【００１２】
まず、情報処理装置は、図１（ａ）に示すように、３次元モデル１００の情報を取得すると共に、不図示の操作者によって指定された指定方向を取得する。３次元モデル１００は、例えば、頭部手術で切除された頭蓋骨の切除部をカバーするもの等の種々のインプラント製品のＣＡＤデータに対応するモデルであり、単数又は複数の自由曲線を表面に含むソリッドモデルで形成された３次元モデルである。指定方向は、３次元モデル１００が配置される平面の法線の延伸する法線方向に近い方向であることが好ましい。図１（ａ）に示す例では、不図示の操作者によって指定された指定方向はＺ方向である。
【００１３】
次いで、情報処理装置は、図１（ｂ）に示すように、取得された指定方向と直交する平面を３次元モデル１００に含まれる第１の点１１１において３次元モデル１００と接する第１の平面１０１として特定する。図１（ｂ）に示す例では、第１の平面１０１はＸ方向及びＹ方向の双方に平行なＸＹ平面に平行であり且つである。
【００１４】
次いで、情報処理装置は、図１（ｃ）に示すように、第１の点１１１に基づいて第１の平面１０１を回転させた場合に、３次元モデル１００に含まれる第２の点１１２において３次元モデル１００と接する第２の平面１０２を特定する。図１（ｃ）に示す例では、実施形態に係る情報処理装置は、第１の点１１１を含み且つＸ軸に平行な直線を軸としてＸＹ平面である第１の平面１０１を回転させる。
【００１５】
そして、情報処理装置は、図１（ｄ）に示すように、第１の点１１１と第２の点１１２とに基づいて第２の平面１０２を回転させた場合に、３次元モデル１００に含まれる第３の点１１３において３次元モデル１００と接する第３の平面１０３を特定する。実施形態に係る情報処理装置は、３次元モデルに接する面を回転することで、３次元モデルが平面と接するときの接点を特定するので、３次元モデルが平面と接するときの接点を簡便且つ高精度に特定できる。
【００１６】
（実施形態に係る情報処理装置の構成及び機能）
図２（ａ）は実施形態に係る情報処理装置の回路ブロック図であり、図２（ｂ）は図２（ａ）に示す処理部の機能ブロック図である。
【００１７】
情報処理装置１は、通信部１０と、記憶部１１と、入力部１２と、出力部１３と、処理部２０とを有する。
【００１８】
通信部１０は、ＨＴＴＰ（Hypertext Transfer Protocol）のプロトコルに従ってインタネットを介して不図示のサーバ等と通信を行う。そして、通信部１０は、サーバ等から受信したデータを処理部２０に供給する。また、通信部１０は、処理部２０から供給されたデータをサーバ等に送信する。
【００１９】
記憶部１１は、例えば、半導体装置、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。記憶部１１は、処理部２０での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。また、記憶部１１は、アプリケーションプログラムとして、３次元モデルが平面と接するときの接点を特定する接点特定処理を、処理部２０に実行させるための接点特定プログラムを記憶する。接点特定プログラムは、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部１１にインストールされてもよい。
【００２０】
また、記憶部１１は、データとして、入力処理で使用するデータ等を記憶する。さらに、記憶部１１は、入力処理等の処理で一時的に使用されるデータを一時的に記憶してもよい。
【００２１】
入力部１２は、データの入力が可能であればどのようなデバイスでもよく、例えば、タッチパネル、キーボタン等である。操作者は、入力部１２を用いて、文字、数字、記号等を入力することができる。入力部１２は、操作者により操作されると、その操作に対応する信号を生成する。そして、生成された信号は、操作者の指定として、処理部２０に供給される。
【００２２】
出力部１３は、映像やフレーム等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ又は有機ＥＬ（Electro−Luminescence）ディスプレイ等である。出力部１３は、処理部２０から供給された映像データに応じた映像や、動画データに応じたフレーム等を表示する。また、出力部１３は、紙などの表示媒体に、映像、フレーム又は文字等を印刷する出力装置であってもよい。
【００２３】
処理部２０は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部２０は、情報処理装置１の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵである。処理部２０は、記憶部１１に記憶されているプログラム（ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等）に基づいて処理を実行する。また、処理部２０は、複数のプログラム（アプリケーションプログラム等）を並列に実行できる。
【００２４】
処理部２０は、３次元モデル取得部２１と、指定方向取得部２２と、第１平面特定部２３と、対向面サンプル部２４と、第１接点特定部２５と、第２平面特定部２６と、第２接点特定部２７とを有する。処理部２０は、第３平面特定部２８と、第３接点特定部２９と、妥当性検証部３０と、接点出力部３１とを更に有する有する。第２平面特定部２６は、第１平面回転部４１と、第１平面移動部４２と、第１離隔距離決定部４３と、第１点変更部４４と、第１接点数判定部４５と、第１平面決定部４６とを有する。第３平面特定部２８は、第２平面回転部５１と、第２平面移動部５２と、第２離隔距離決定部５３と、第２点変更部５４と、第２接点数判定部５５と、第２平面決定部５６とを有する。これらの各部は、処理部２０が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして情報処理装置１に実装されてもよい。
【００２５】
（実施形態に係る情報処理装置による接点特定処理）
図３は情報処理装置１による接点特定処理のフローチャートである。図３に示す接点特定処理は、予め記憶部１１に記憶されているプログラムに基づいて、主に処理部２０により、情報処理装置１の各要素と協働して実行される。
【００２６】
まず、３次元モデル取得部２１は、接点特定処理の対象である３次元モデル１００の情報を記憶部１１から取得する（Ｓ１０１）。３次元モデル１００は、例えば、頭部手術で切除された頭蓋骨の切除部をカバーするもの等の種々のインプラント製品のＣＡＤデータに対応するモデルであり、単数又は複数の自由曲線を表面に含むソリッドモデルで形成された３次元モデルである。
【００２７】
次いで、指定方向取得部２２は、不図示の操作者によって指定された指定方向を取得する（Ｓ１０２）。指定方向は、３次元モデル１００が平面に配置される平面に平行な方向よりも水平面の法線が延伸する方向に近い方向が好ましい。図１（ａ）に示す例では、不図示の操作者によって指定された指定方向はＺ方向である。
【００２８】
次いで、第１平面特定部２３は、指定方向取得部２２によって取得された指定方向と直交する平面を３次元モデル１００に含まれる第１の点１１１において３次元モデル１００と接する第１の平面１０１として特定する（Ｓ１０３）。図１（ａ）に示す例では、第１の平面１０１は、Ｘ方向及びＹ方向の双方に平行なＸＹ平面である。
【００２９】
対向面サンプル部２４は、ソリッドモデルである３次元モデル１００の第１の平面１０１に対向する面をサンプリングした点群データに変換する（Ｓ１０４）。対向面サンプル部２４は、ソリッドモデルをサーフェスモデルに変換した後に、サーフェスモデルを点群データに変換する。一例では、対向面サンプル部２４は、０．１ｍｍ間隔で点群データを生成する。
【００３０】
次いで、第１接点特定部２５は、Ｓ１０３の処理で特定された第１の平面１０１を、Ｓ１０２の処理で取得された指定方向に移動させたときに、３次元モデル１００が第１の平面１０１に最初に接する第１の点１１１を特定する（Ｓ１０５）。具体的には、第１接点特定部２５は、Ｓ１０４の処理で変換された点群データに含まれる複数の点のそれぞれと第１の平面１０１との間の最小距離を演算する。第１の平面１０１がＸＹ平面であるであるとき、複数の点のそれぞれと第１の平面１０１との間の最小距離は、複数の点のそれぞれのＺ座標である。そして、図１（ｂ）に示すように、第１接点特定部２５は、第１の平面１０１との間の最小距離が最も小さく、第１の平面１０１を指定方向に移動したときに、第１の平面１０１が３次元モデル１００に最初に接する第１の点１１１に特定する。
【００３１】
次いで、第２平面特定部２６は、第１の点１１１に基づいて第１の平面１０１を回転させた場合に、３次元モデル１００に含まれる第２の点１１２において３次元モデル１００と接する第２の平面１０２を特定する（Ｓ１０６）。第２平面特定部２６は、第１の平面１０１を第１の点１１１を含む直線を軸として回転させることで、第２の平面１０２を特定する。図１（ｃ）に示す例では、第２平面特定部２６は、第１の点１１１を含み且つＸ軸に平行な直線を軸としてＸＹ平面である第１の平面１０１を回転させる。
【００３２】
次いで、第２接点特定部２７は、Ｓ１０５の処理で第１の点１１１に基づいて第１の平面１０１を回転させたときに、３次元モデル１００が第１の平面１０１に最初に接する第２の点１１２を特定する（Ｓ１０７）。第２の点１１２は、第１の平面１０１を第１の点１１１を含む直線を軸として回転させたときに、第１の平面１０１に接する３次元モデルの一点である。
【００３３】
次いで、第３平面特定部２８は、第１の点１１１と第２の点１１２とに基づいて第２の平面１０２を回転させた場合に、３次元モデル１００に含まれる第３の点１１３において３次元モデル１００と接する第３の平面１０３を特定する（Ｓ１０８）。第３平面特定部２８は、第２の平面１０２が３次元モデル１００に第１の点１１１及び第２の点１１２において接した状態で、第１の点１１１及び第２の点１１２を含む直線を軸として第２の平面１０２を回転させることで、第３の平面１０３を特定する。
【００３４】
次いで、第３接点特定部２９は、Ｓ１０８の処理で第１の点１１１と第２の点１１２とに基づいて第２の平面１０２を回転させたときに、３次元モデル１００が第２の平面１０２に最初に接する第３の点１１３を特定する（Ｓ１０９）。第３の点１１３は、第２の平面１０２を第１の点１１１及び第２の点１１２を含む直線を軸として回転させたときに、第２の平面１０２に接する３次元モデルの一点である。
【００３５】
次いで、妥当性検証部３０は、第１の点１１１、第２の点１１２及び第３の点１１３のそれぞれが、３次元モデル１００が平面に接する接点として妥当か否かを検証し（Ｓ１１０）、検証結果を記憶部１１に記憶する。Ｓ１０２の処理で取得した指定方向が妥当ではない場合等において、第１の点１１１、第２の点１１２及び第３の点１１３が３次元モデル１００が平面に接する接点として妥当ではない場合がある。例えば、第１の点１１１、第２の点１１２及び第３の点１１３が非常に狭い領域に集まって配置される場合、第１の点１１１、第２の点１１２及び第３の点１１３は、３次元モデルを平面に配置するときの接点として妥当ではない。
【００３６】
接点出力部３１は、記憶部１１に記憶される検証結果を参照して、妥当性検証部３０による検証結果が妥当であることを示すか又は妥当ではないことを示すかを判定する（Ｓ１１１）。接点出力部３１によって検証結果が妥当ではないことを示すと判定される（Ｓ１１１−ＮＯ）と、処理はＳ１０１に戻り、Ｓ１０１〜Ｓ１１１の処理が繰り返される。
【００３７】
接点出力部３１は、検証結果が妥当であることを示すと判定する（Ｓ１１１−ＹＥＳ）と、第１の点１１１、第２の点１１２及び第３の点１１３を示す情報を、第３の平面１０３と３次元モデル１００との接点を示す情報として出力する（Ｓ１１１）。一例では、第１の点１１１、第２の点１１２及び第３の点１１３を示す情報は、第１の点１１１第２の点１１２及び第３の点１１３の座標である。
【００３８】
図４は、Ｓ１０６のより詳細な処理を示すフローチャートである。図５は図４に示す処理を説明するための図であり、図５（ａ）はＳ１０５の処理によって第１の点が特定された状態を示す図であり、図５（ｂ）はＳ２０１の処理を説明する図であり、図５（ｃ）はＳ２０２の処理を説明する図である。図５（ｄ）はＳ２０３の処理を説明する図であり、図５（ｅ）はＳ２０４の処理を説明する図であり、図５（ｆ）はＳ２０５の処理を説明する図であり、図５（ｇ）はＳ２０７の処理を説明する図である。図４及び５を参照して説明するように、Ｓ１０６の処理は、回転後の平面が３次元モデルと接する平面となるように前記軸を調整する処理を含む。
【００３９】
まず、第１平面回転部４１は、３次元モデル１００と第１の点１１１で接する第１の平面１０１を第１の点１１１を含み且つＸ軸に平行な直線を軸として所定の回転角度Δθだけ回転させる（Ｓ２０１）。一例では、回転角度Δθは０．１度である。
【００４０】
次いで、第１平面移動部４２は、Ｓ１０２の処理で取得された指定方向と反対の方向に、第１の平面１０１を所定の距離移動させる（Ｓ２０２）。一例では、第１平面移動部４２が第１の平面１０１を移動させる距離は、３次元モデル１００の厚さに相当する距離である。
【００４１】
次いで、第１離隔距離決定部４３は、Ｓ２０２の処理で移動された第１の平面１０１と、Ｓ１０４の処理で点群データに変換された３次元モデル１００の第１の平面１０１の第１の平面１０１に対向する面との間の距離を決定する（Ｓ２０３）。第１離隔距離決定部４３は、点群データのそれぞれを含む第１の平面１０１の法線の第１の平面１０１と点群データとの間の長さを、第１の平面１０１と３次元モデル１００の第１の平面１０１に対向する面との間の距離に決定する。
【００４２】
次いで、第１点変更部４４は、Ｓ２０３の処理で決定された第１の平面１０１との間の距離が最も短い点群データの位置を第１の点１１１に変更する（Ｓ２０４）。第１点変更部４４は、３次元モデル１００の第１の平面１０１に対向する面を形成する点群データをスキャンして、点群データのそれぞれと第１の平面１０１との間の距離の最小値となる点に、第１の点１１１を変更する。
【００４３】
次いで、第１平面移動部４２は、Ｓ１０２の処理で取得された指定方向に、第１の平面１０１を移動させて、第１の平面１０１と３次元モデル１００とを接触させる（Ｓ２０５）。
【００４４】
次いで、第１接点数判定部４５は、Ｓ２０５の処理で移動された第１の平面１０１と３次元モデル１００との接点の数が１又は２の何れかであるかを判定する（Ｓ２０６）。第１接点数判定部４５によって第１の平面１０１と３次元モデル１００との接点の数が１であると判定される（Ｓ２０６−ＹＥＳ）と、処理はＳ２０１に戻る。第１平面回転部４１は、Ｓ２０４の処理で変更された第１の点１１１を含み且つＸ軸に平行な直線を軸として第１の平面１０１を所定の回転角度Δθだけ回転させる（Ｓ２０１）。以降、第１接点数判定部４５によって第１の平面１０１と３次元モデル１００との接点の数が２であると判定される（Ｓ２０６−ＮＯ）まで、Ｓ２０１〜Ｓ２０６の処理が繰り返される。
【００４５】
第１接点数判定部４５によって第１の平面１０１と３次元モデル１００との接点の数が２であると判定される（Ｓ２０６−ＮＯ）と、第１平面決定部４６は、Ｓ２０５の処理で移動された第１の平面１０１を第２の平面１０２に決定する（Ｓ２０７）。
【００４６】
図６は、Ｓ１０８のより詳細な処理を示すフローチャートである。図６を参照して説明するように、Ｓ１０８の処理は、回転後の平面が３次元モデルと接する平面となるように前記軸を調整する処理を含む。
【００４７】
まず、第２平面回転部５１は、３次元モデル１００と第１の点１１１及び第２の点１１２で接する第２の平面１０２を第１の点１１１及び第２の点を含む直線を軸として所定の回転角度Δθだけ回転させる（Ｓ３０１）。一例では、回転角度Δθは０．１度である。
【００４８】
次いで、第２平面移動部５２は、Ｓ１０２の処理で取得された指定方向と反対の方向に、第２の平面１０２を所定の距離移動させる（Ｓ３０２）。一例では、第２平面移動部５２は、３次元モデル１００の厚さに相当する距離、第２の平面１０２を移動させる。
【００４９】
次いで、第２離隔距離決定部５３は、Ｓ３０２の処理で移動された第２の平面１０２と、Ｓ１０４の処理で点群データに変換された３次元モデル１００の第２の平面１０２に対向する面との間の距離を決定する（Ｓ３０３）。第２離隔距離決定部５３は、点群データのそれぞれを含む第２の平面１０２の法線の第２の平面１０２と点群データとの間の長さを、第２の平面１０２と３次元モデル１００の第２の平面１０２に対向する面との間の距離に決定する。
【００５０】
次いで、第２点変更部５４は、第１の点１１１から所定の範囲に位置する点群データの中で、Ｓ３０３の処理で決定された第２の平面１０２との間の距離が最も短い点群データの位置を第１の点１１１に変更する（Ｓ３０４）。次いで、第２点変更部５４は、第２の点１１２から所定の範囲に位置する点群データの中で、Ｓ３０３の処理で決定された第２の平面１０２との間の距離が最も短い点群データの位置を第２の点１１２に変更する（Ｓ３０５）。第２点変更部５４は、３次元モデル１００の第１の平面１０１に対向する面を形成する点群データの中で第１の点１１１及び第２の点１１２から所定の範囲に位置する点群データをスキャンする。第２点変更部５４は、スキャンした点群データのそれぞれと第１の平面１０１との間の距離の最小値となる点に、第１の点１１１及び第２の点１１２を変更する。一例では、第２点変更部５４は、第１の点１１１及び第２の点１１２から０．１ｍｍ以内に位置する点群データをスキャンする。
【００５１】
次いで、第２平面移動部５２は、Ｓ１０２の処理で取得された指定方向に、第２の平面１０２を移動させて、第２の平面１０２と３次元モデル１００とを接触させる（Ｓ３０６）。
【００５２】
次いで、第２接点数判定部５５は、Ｓ３０６の処理で移動された第２の平面１０２と３次元モデル１００との接点の数が２又は３の何れかであるかを判定する（Ｓ３０７）。第２接点数判定部５５によって第２の平面１０２と３次元モデル１００との接点の数が２であると判定される（Ｓ３０７−ＹＥＳ）と、処理はＳ３０１に戻る。第２平面回転部５１は、Ｓ３０４及びＳ３０５の処理で変更された第１の点１１１及び第２の点１１２で接する第２の平面１０２を含む直線を軸として第２の平面１０２を所定の回転角度Δθだけ回転させる（Ｓ３０１）。以降、第２接点数判定部５５によって第２の平面１０２と３次元モデル１００との接点の数が３であると判定される（Ｓ３０７−ＮＯ）まで、Ｓ３０１〜Ｓ３０７の処理が繰り返される。
【００５３】
第２接点数判定部５５によって第２の平面１０２と３次元モデル１００との接点の数が３であると判定される（Ｓ３０７−ＮＯ）と、第２平面決定部５６は、Ｓ３０５の処理で移動された第２の平面１０２を第３の平面１０３に決定する（Ｓ３０８）。
【００５４】
図７は、Ｓ１１０のより詳細な処理を示すフローチャートである。
【００５５】
まず、重心座標取得部６１は、３次元モデル１００の重心の座標を取得する（Ｓ４０１）。次いで、投影点演算部６２は、Ｓ４０１の処理で取得された３次元モデル１００の重心を第１の点１１１〜第３の点１１３で形成される３角形を含む平面に投影したときの投影点を演算する（Ｓ４０２）。投影点演算部６２は、３角形を含む平面の法線に平行であり且つ重心の座標を含む直線と３角形を含む平面との交点を投射点として演算する。
【００５６】
次いで、妥当性判定部６３は、Ｓ４０２の処理で演算された投射点が第１の点１１１〜第３の点１１３で形成される３角形の内部に含まれるか否かを判定する（Ｓ４０３）。妥当性判定部６３は、投射点が第１の点１１１〜第３の点１１３で形成される３角形の内部に含まれると判定する（Ｓ４０３−ＹＥＳ）と、妥当であることを示す検証結果を記憶部１１に記憶する（Ｓ４０４）。妥当性判定部６３は、投射点が第１の点１１１〜第３の点１１３で形成される３角形の内部に含まれないと判定する（Ｓ４０３−ＮＯ）と、妥当でないことを示す検証結果を記憶部１１に記憶する（Ｓ４０５）。
【００５７】
（実施形態に係る接点特定方法を実行する情報処理装置の作用効果）
実施形態に係る情報処理装置は、３次元モデルに接する面を回転することで、３次元モデルが平面と接するときの接点を特定するので、３次元モデルが平面と接するときの接点を簡便且つ高精度に特定できる。
【００５８】
また、実施形態に係る情報処理装置は、第１の平面を第１の点を含む直線を軸として回転させて第２の平面を特定することで、第２の平面が第１の点を含むように第２の平面を特定することできる。
【００５９】
また、実施形態に係る情報処理装置は、回転後の平面が３次元モデルと接する平面となるように第１の平面を回転させる軸を調整して第２の面を特定することで、特定される第２の平面が３次元モデルの内部を通過することを防止することできる。
【００６０】
また、実施形態に係る情報処理装置は、第２の平面を前記第１の点と前記第２の点とを含む直線を軸として回転させて第３の平面を特定することで、第３の平面が第１の点及び第２の点を含むように第３の平面を特定することできる。
【００６１】
また、実施形態に係る情報処理装置は、回転後の平面が３次元モデルと接する平面となるように第２の平面を回転させる軸を調整して第３の面を特定することで、特定される第３の平面が３次元モデルの内部を通過することを防止することできる。
【００６２】
（実施形態に係る接点特定方法の変形例）
説明された接点特定方法では、３次元モデルはインプラント製品のＣＡＤデータに対応するモデルであるが、実施形態に係る接点特定方法では、３次元モデルは単数又は複数の自由曲線を表面に含む製品のもであるであってもよい。また、実施形態に係る接点特定方法では、３次元モデルは、サーフェスもであるであってもよく、点群データであってもよい。
【００６３】
また、説明された接点特定方法では、ソリッドモデルで形成された３次元モデルを点群データに変換して接点を特定するが、実施形態に係る接点特定方法では、３次元モデルをサーフェスモデルに変換して接点を特定してもよい。
【符号の説明】
【００６４】
１    情報処理装置
２１    ３次元モデル取得部
２２    指定方向取得部
２３    第１平面特定部
２４    対向面サンプル部
２５    第１接点特定部
２６    第２平面特定部
２７    第２接点特定部
２８    第３平面特定部
２９    第３接点特定部
３０    妥当性検証部
３１    接点出力部
【図１】
2018152002.tif 000003
【図２】
2018152002.tif 000004
【図３】
2018152002.tif 000005
【図４】
2018152002.tif 000006
【図５】
2018152002.tif 000007
【図６】
2018152002.tif 000008
【図７】
2018152002.tif 000009