(57)【要約】【課題】穴や隙間がある３次元形状の内部空間を抽出する。【解決手段】空間抽出装置１００は、３次元形状１０１の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成する。空間抽出装置１００は、シミュレーション空間から、生成した各部品の膨張形状を除く第１の空間集合を抽出する。空間抽出装置１００は、抽出した第１の空間集合のうち３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させた膨張空間を生成することにより、３次元形状の内部空間を抽出する。【選択図】図１
2015095193.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーション空間上に配置された複数の部品から形成される３次元形状の内部空間を抽出する空間抽出プログラムであって、
前記３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成し、
前記シミュレーション空間から、生成した前記各部品の膨張形状を除く第１の空間集合を抽出し、
抽出した前記第１の空間集合のうち前記３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させた膨張空間を生成することにより、前記３次元形状の内部空間を抽出する、
処理をコンピュータに実行させることを特徴とする空間抽出プログラム。
【請求項２】
前記膨張形状を生成する処理は、前記３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させて、膨張前後の面間の距離が等距離になるように前記膨張形状を生成し、
前記内部空間を抽出する処理は、抽出した前記第１の空間集合のうち前記３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させて、膨張前後の面間の距離が等距離になるように前記膨張形状を生成することを特徴とする請求項１に記載の空間抽出プログラム。
【請求項３】
前記コンピュータに、
前記シミュレーション空間から、生成した前記膨張空間および前記３次元形状を除く第２の空間集合を抽出し、
抽出した前記第２の空間集合のうち前記第１の空間集合のいずれの空間とも重複しない空間と、前記膨張空間とを連結することにより、前記３次元形状の内部空間を抽出する、
処理を実行させることを特徴とする請求項１または２に記載の空間抽出プログラム。
【請求項４】
前記所定サイズは、前記穴の最大の直径または前記隙間の最大の幅の中で、大きい方の半分の大きさ以上であることを特徴とする請求項１〜３のいずれか一つに記載の空間抽出プログラム。
【請求項５】
シミュレーション空間上に配置された複数の部品から形成される３次元形状の内部空間を抽出する空間抽出方法であって、
前記３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成し、
前記シミュレーション空間から、生成した前記各部品の膨張形状を除く第１の空間集合を抽出し、
抽出した前記第１の空間集合のうち前記３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させた膨張空間を生成することにより、前記３次元形状の内部空間を抽出する、
処理をコンピュータが実行することを特徴とする空間抽出方法。
【請求項６】
シミュレーション空間上に配置された複数の部品から形成される３次元形状の内部空間を抽出する空間抽出装置であって、
前記３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成し、
前記シミュレーション空間から、生成した前記各部品の膨張形状を除く第１の空間集合を抽出し、
抽出した前記第１の空間集合のうち前記３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させた膨張空間を生成することにより、前記３次元形状の内部空間を抽出する制御部、
を有することを特徴とする空間抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間抽出プログラム、空間抽出方法および空間抽出装置に関する。
【背景技術】
【０００２】
従来、スマートフォン、携帯電話等の内部に音源を有する装置の音響品質を確保するために、装置の音響品質を検証することが行われる。装置の音響品質の検証は、装置の音響特性から装置の音響品質を予測することにより行われる。装置の音響特性は、音源に接する空間の形状や体積等によって決定される。音源に接する空間は、装置の設計に用いる３次元形状から求めることができる。
【０００３】
関連する先行技術としては、例えば、空間を有限個の壁面でモデル化し、周波数帯域を有限個の狭帯域に分割し、狭帯域での壁面の音響特性を代表特性とみなして伝達関数を求め、連結処理を行うことにより、全周波数帯域での伝達関数を求める技術がある。また、装置内部で発生する音の伝播を、第１の解析手法を用いて解析し、解析した結果を示す放射音であって外部に放射された放射音を音エネルギに変換し、音エネルギに基づいて、第２の解析手法の入力となる複数の仮想音源を設定する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６０−４６４３０号公報
【特許文献２】特開２０１２−９３９０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、音源周囲の部品に穴や部品間に隙間があると、３次元形状から、装置内部の音源に接する内部空間を求めることが困難であるという問題がある。例えば、３次元形状全体を包含する空間全体から、３次元形状の差集合演算を行い、空間を算出すると、穴や隙間があるために装置外部の空間まで算出されてしまう。
【０００６】
一つの側面では、本発明は、穴や隙間がある３次元形状の内部空間を抽出する空間抽出プログラム、空間抽出方法および空間抽出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、シミュレーション空間上に配置された複数の部品から形成される３次元形状の内部空間を抽出する空間抽出プログラム、空間抽出方法および空間抽出装置であって、３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成し、シミュレーション空間から、生成した各部品の膨張形状を除く第１の空間集合を抽出し、抽出した第１の空間集合のうち３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に所定サイズ分膨張させた膨張空間を生成することにより、３次元形状の内部空間を抽出する空間抽出プログラム、空間抽出方法および空間抽出装置が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、穴や隙間がある３次元形状の内部空間を抽出することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、空間抽出方法の一実施例を示す説明図である。
【図２】図２は、空間抽出装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、３次元形状のデータ３００の記憶内容の一例を示す説明図である。
【図４】図４は、縮小空間配列４００の記憶内容の一例を示す説明図である。
【図５】図５は、空間抽出装置１００の機能的構成例を示すブロック図である。
【図６Ａ】図６Ａは、３次元形状６００の一例を示す説明図である。
【図６Ｂ】図６Ｂは、図６Ａの３次元形状６００の一例の断面を示す説明図である。
【図７Ａ】図７Ａは、部品７０１のすべての面を等距離に膨張させた膨張形状７０２の一例を示す説明図である。
【図７Ｂ】図７Ｂは、部品７０１の面を拡大して膨張させた膨張形状７０３の一例を示す説明図である。
【図８Ａ】図８Ａは、膨張形状８０１、８０２の一例を示す説明図である。
【図８Ｂ】図８Ｂは、縮小空間８１１、８１２の一例を示す説明図である。
【図８Ｃ】図８Ｃは、音源縮小空間８２１の一例を示す説明図である。
【図８Ｄ】図８Ｄは、音源膨張空間８３１の一例を示す説明図である。
【図８Ｅ】図８Ｅは、余空間８４１〜８４７の一例を示す説明図である。
【図８Ｆ】図８Ｆは、音源余空間８５２〜８５７の一例を示す説明図である。
【図９】図９は、音源空間９０１の一例を示す説明図である。
【図１０Ａ】図１０Ａは、他の３次元形状１０００の一例を示す説明図である。
【図１０Ｂ】図１０Ｂは、図１０Ａの３次元形状１０００の一例の断面を示す説明図である。
【図１１Ａ】図１１Ａは、３次元形状１０００の各部品を膨張した膨張形状１１０１の一例を示す説明図である。
【図１１Ｂ】図１１Ｂは、図１１Ａの膨張形状１１０１から抽出された音源空間１１０３の一例を示す説明図である。
【図１２Ａ】図１２Ａは、３次元形状１０００の各部品のすべての面を等距離に膨張させた膨張形状１２０１の一例を示す説明図である。
【図１２Ｂ】図１２Ｂは、図１２Ａの膨張形状１２０１から抽出された音源空間１２０３の一例を示す説明図である。
【図１３】図１３は、空間抽出装置１００の空間抽出処理手順の一例を示すフローチャート（その１）である。
【図１４】図１４は、空間抽出装置１００の空間抽出処理手順の一例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる空間抽出プログラム、空間抽出方法および空間抽出装置の実施の形態を詳細に説明する。
【００１１】
（空間抽出方法の一実施例）
図１は、空間抽出方法の一実施例を示す説明図である。空間抽出装置１００は、シミュレーション空間上に配置された複数の部品から形成される３次元形状の内部空間を抽出するコンピュータである。
【００１２】
ここで、シミュレーション空間とは、コンピュータ上でシミュレーションされる仮想的な３次元空間である。具体的には、例えば、シミュレーション空間は、３次元形状の設計を行うためのＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）ソフトウェアによって空間抽出装置１００内に仮想的に設定された空間である。シミュレーション空間には、例えば、Ｘ軸とＹ軸とＺ軸とからなる３次元の直交座標系が定義される。
【００１３】
３次元形状とは、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレットＰＣ、サーバ、携帯情報端末、スマートフォン、自動車、家電製品などの機械製品やビルなどの建物などをコンピュータ上に仮想化したモデルである。３次元形状は、例えば、３次元のＣＡＤソフトウェアにおける３次元のＣＡＤのデータで表現される。また、３次元形状は、複数の部品から形成される。各部品は、例えば、位置データ、材料データ、色データなどを含む３次元のＣＡＤデータで表現される。３次元形状のデータおよび部品のデータは、空間抽出装置１００がアクセス可能な記憶装置に記憶される。３次元形状のデータは、図３で詳細に説明される。
【００１４】
３次元形状には、穴や隙間が存在してもよい。ここで、穴とは、３次元形状の内部と外部をつなぐ空間のことである。また、隙間とは、３次元形状を構成する部品と部品との間の内部と外部をつなぐ空間のことである。また、内部空間とは、３次元形状の内側に存在する空間のことである。
【００１５】
図１の例で、左上図は３次元形状１０１の一例を示す。図１の例で、３次元形状１０１は、部品１０２、１０３、１０４から形成され、部品１０２には、複数の穴が存在し、部品１０２と１０３の間には隙間が存在する。右上図は、切断面１１０における３次元形状１０１の断面図である。以下の例では、３次元形状１０１の断面図を使用して説明する。
【００１６】
空間抽出装置１００は、３次元形状１０１の部品を膨張させ、膨張させた部品を取り除いた空間の中で、内部に配置された部品に接する第１の空間を再度膨張させることにより、３次元形状の内部空間を抽出する。また、空間抽出装置１００は、第１の空間を膨張させた空間と３次元形状を取り除いた第２の空間中で、第１の空間と重複しない空間を、第１の空間を膨張させた空間に連結することにより、３次元形状の内部空間を抽出することもできる。
【００１７】
（１）空間抽出装置１００は、３次元形状１０１の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成する。所定サイズは、穴または隙間を塞ぐために選ばれた値であり、例えば、入力装置を用いたユーザの操作入力により空間抽出装置１００が取得することができる。所定サイズは、例えば、部品の穴の直径または隙間の幅の中で最大のものの半分とすることができる。
【００１８】
膨張とは、部品の各面を外側に膨らませることである。このため、穴または隙間を形成する面が外側に膨らむことにより、穴または隙間が塞がれるようになる。また、膨張形状とは、部品を膨張させたものであり、１つの部品から１つの膨張形状が生成される。
【００１９】
図１の例では、空間抽出装置１００は、部品１０２、１０３、１０４の各面を外側に膨張させ、膨張形状１１１、１１２、１１３を生成する。部品１０２、１０３、１０４の膨張により、部品１０２の穴、および部品１０２と１０３の間の隙間は塞がれる。
【００２０】
（２）空間抽出装置１００は、シミュレーション空間から、生成した各部品の膨張形状を除く第１の空間集合を抽出する。シミュレーション空間から、生成した各部品の膨張形状を除くとは、シミュレーション空間の中で、生成した各部品の膨張形状が存在しない空間を求めることである。生成した各部品の膨張形状が存在しない空間は、シミュレーション空間から、生成した各部品の膨張形状の差集合演算を行うことで求めることができる。
【００２１】
図１の例では、空間抽出装置１００は、シミュレーション空間から膨張形状１１１、１１２、１１３を除く第１の空間集合１２１、１２２を抽出する。
【００２２】
（３）空間抽出装置１００は、抽出した第１の空間集合のうち３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に所定サイズ分膨張させた膨張空間を生成することにより、３次元形状の内部空間を抽出する。ここで、接するとは、膨張形状と空間が面で交わることを意味する。３次元形状の内部に配置された部品とは、当該部品を構成するすべての面が外部に面していない部品である。３次元形状が、スマートフォン、携帯情報端末である場合、内部に配置された部品は、例えば、スピーカー等の音源である。この場合、空間抽出装置１００が抽出した３次元形状の内部空間は、音源空間となる。音源空間とは、３次元形状の内部空間の中で音源に接する内部空間である。
【００２３】
また、空間抽出装置１００は、３次元形状の部品を膨張させる際、３次元形状の各部品のすべての面を等距離に膨張させることが好ましい。３次元形状の各部品のすべての面を等距離に膨張させることは、３次元形状の各部品の面を拡大して、膨張させる場合よりも、塞いではいけない箇所が塞がれることを防止して、音源空間の抽出精度を向上する効果を有する。この効果は以下の図１０Ａ〜図１２Ｂにて詳細に説明される。
【００２４】
図１の例では、３次元形状の内部に配置された部品は、部品１０４であり、部品１０４の膨張形状１１２に接する空間は、第１の空間集合１２１である。空間抽出装置１００は、第１の空間集合１２１の面を外側に所定サイズ分膨張させた膨張空間１３１を生成し、３次元形状の内部空間を抽出する。
【００２５】
空間抽出装置１００は、膨張空間１３１を３次元形状の内部空間とすることにより処理を終えてもよい。しかしながら、膨張空間１３１だけでは、３次元形状の内部空間をすべて含んでいないため、空間抽出装置１００は、さらに以下（４）、（５）の処理を続けることにより、３次元形状の内部空間の抽出精度を向上することができる。
【００２６】
（４）空間抽出装置１００は、シミュレーション空間から、生成した膨張空間および３次元形状を除く第２の空間集合を抽出する。シミュレーション空間から、生成した膨張空間および３次元形状を除くとは、シミュレーション空間の中で生成した膨張空間および３次元形状が存在しない空間を求めることである。生成した膨張空間および３次元形状が存在しない空間は、シミュレーション空間から、生成した膨張空間および３次元形状の差集合演算を行うことで求めることができる。
【００２７】
図１の例では、空間抽出装置１００は、シミュレーション空間から膨張空間１３１と３次元形状１０１の差集合演算を行うことにより、第２の空間集合１４１、１４２、１４３を抽出する。
【００２８】
（５）空間抽出装置１００は、抽出した第２の空間集合のうち第１の空間集合のいずれの空間とも重複しない空間と、膨張空間とを連結することにより、３次元形状の内部空間を抽出する。第１の空間集合のいずれの空間とも重複しない空間とは、すべての第１の空間集合と共通の空間が存在しない集合のことである。第１の空間集合と面、線または点のみを共通にする空間は、面、線または点は空間でないため、重複しない空間である。また、第１の空間集合のいずれの空間とも重複しない空間と、膨張空間とを連結することとは、２つの空間を合わせて１つの空間にすることである。２つの空間は、例えば、和集合演算を行うことにより、１つの空間にすることができる。
【００２９】
図１の例では、第２の空間集合１４３は第１の空間集合１２２と重複し、第２の空間集合１４１、１４２は第１の空間集合１２１、１２２のいずれとも重複しない。このため、空間抽出装置１００は、第２の空間集合１４１、１４２と膨張空間１３１とを連結することにより、３次元形状の内部空間１５１を抽出する。
【００３０】
（１）〜（５）の処理により抽出された３次元形状の内部空間１５１は、第２の空間集合１４１、１４２を含んでいる。一方、（１）〜（３）の処理により抽出された膨張空間１３１は、第２の空間集合１４１、１４２を含んでいない。第２の空間集合１４１、１４２は、３次元形状の内部空間に含まれる空間であるため、（４）、（５）の処理を行うことにより、３次元形状の内部空間の抽出精度を向上させることができる。
【００３１】
上述したように、従来技術では、例えば、３次元形状全体を包含する空間全体から、３次元形状の差集合演算行い、空間を算出すると、穴や隙間があるために装置外部の空間まで算出されてしまう。このため、装置の内部空間を算出するために、相応の技術と工数を要する。また、例えば、空間を算出する前に３次元形状から穴や隙間を検索して、穴や隙間を埋めた３次元形状から、装置内部の音源に接する内部空間を算出する方法がある。しかし、インナーループになっていない穴や隙間を検索することができないため、内部空間を算出できない場合がある。なお、インナーループとは、ループとなり閉じている複数の曲線から定義される曲面において、内側で穴を表す輪郭のことである。
【００３２】
そこで、空間抽出装置１００は、３次元形状を形成する各部品の面を所定サイズ分膨張させて穴や隙間を塞ぎ、膨張させた部品を除く空間の中で内部の音源に接する空間を所定サイズ分膨張させる。
【００３３】
これにより、空間抽出装置１００は、穴や隙間がある３次元形状から、相応の技術と工数を要することなく、３次元形状の内部空間を抽出することができる。
【００３４】
また、携帯電話、スマートフォン等の製品は、小型化、薄型化、軽量化により十分な音源空間を確保しづらくなっている。このため、製品の音響品質が確保しづらくなっている。さらに、開発期間の短期化も進んでおり、音響品質の検証に十分な期間を取ることができない。従って、設計の早い段階から、音源周囲の部品に穴や部品間の隙間がある３次元形状から、音源空間を予測し、音源空間を十分に確保しておくことで音響品質を高めることが求められている。
【００３５】
例えば、空間抽出装置１００は、音源周囲の部品に穴や部品間に隙間がある３次元形状から、音源空間を抽出することができる。このため、設計の早い段階から音源空間を予測し、音源空間を十分に確保しておくことで音響品質を高めることが可能になる。
【００３６】
また、空間抽出装置１００は、膨張空間および３次元形状を除く第２の空間集合を抽出し、第２の空間集合のうち第１の空間集合のいずれの空間とも重複しない空間を膨張空間と連結することにより、３次元形状の内部空間を抽出することもできる。これにより、第２の空間集合を膨張空間に連結することができるため、空間抽出装置１００は、３次元形状の内部空間の抽出精度を向上することができる。
【００３７】
（空間抽出装置１００のハードウェア構成例）
図２は、空間抽出装置１００のハードウェア構成例を示すブロック図である。図２において、空間抽出装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０６と、入力装置２０７と、出力装置２０８と、を有する。また、各部はバス２００によってそれぞれ接続される。
【００３８】
ここで、ＣＰＵ２０１は、空間抽出装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００３９】
Ｉ／Ｆ２０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２２０に接続され、このネットワーク２２０を介して他の装置に接続される。そして、Ｉ／Ｆ２０６は、ネットワーク２２０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００４０】
入力装置２０７は、キーボード、マウス、タッチパネルなどユーザの操作により、各種データの入力を行うインターフェースである。また、入力装置２０７は、カメラから画像や動画を取り込むこともできる。また、入力装置２０７は、マイクから音声を取り込むこともできる。出力装置２０８は、ＣＰＵ２０１の指示により、データを出力するインターフェースである。出力装置２０８には、ディスプレイやプリンタが挙げられる。なお、空間抽出装置１００は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスクなどを有することにしてもよい。
【００４１】
（３次元形状のデータ３００の記憶内容）
図３は、３次元形状のデータ３００の記憶内容の一例を示す説明図である。３次元形状のデータ３００は、３次元形状を形成する部品群を階層構造化して示す情報である。部品群の下層には、部品の設計情報３０１が含まれている。部品の設計情報３０１は、例えば、３次元形状を形成する部品の形状データ、属性データなどを含む３次元ＣＡＤのデータである。形状データには、例えば、部品の形状を特定する情報が含まれている。属性データには、例えば、音源などの部品の属性を特定する情報が含まれている。
【００４２】
形状データは、例えば、頂点データ３０１−１と、面データ３０１−２と、稜線データ３０１−３とを含む。頂点データ３０１−１は、Ｘ軸とＹ軸とＺ軸とからなる直交座標系において、部品の頂点の座標位置を示す情報である。例を挙げると、頂点は座標位置（Ｘ，Ｙ，Ｚ）で示される。面データ３０１−２は、部品の面を構成する頂点を示す情報である。例を挙げると、面は構成する４つの頂点で示される。稜線データ３０１−３は、部品の線を構成する頂点を示す情報である。例を挙げると、稜線は構成する２つの頂点で示される。３次元形状のデータ３００は、例えば、３次元ＣＡＤソフトウェアにより生成され、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶される。
【００４３】
（縮小空間配列４００の記憶内容）
図４は、縮小空間配列４００の記憶内容の一例を示す説明図である。縮小空間配列４００は、縮小空間を形成する縮小空間群を階層構造化して示す情報である。縮小空間群の下層には、縮小空間の設計情報４０１が含まれている。縮小空間の設計情報４０１は、例えば、縮小空間の形状データなどを含む３次元ＣＡＤデータである。形状データには、例えば、縮小空間の形状を特定する情報が含まれている。縮小空間配列４００は、例えば、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶される。
【００４４】
形状データは、例えば、頂点データ４０１−１と、面データ４０１−２と、稜線データ４０１−３とを含む。頂点データ４０１−１は、Ｘ軸とＹ軸とＺ軸とからなる直交座標系において、縮小空間内の頂点の座標位置を示す情報である。例を挙げると、頂点は座標位置（Ｘ，Ｙ，Ｚ）で示される。面データ４０１−２は、縮小空間内の面を構成する頂点を示す情報である。例を挙げると、面は構成する４つの頂点で示される。稜線データ４０１−３は、縮小空間内の線を構成する頂点を示す情報である。例を挙げると、稜線は構成する２つの頂点で示される。
【００４５】
（空間抽出装置１００の機能的構成例）
図５は、空間抽出装置１００の機能的構成例を示すブロック図である。図５において、空間抽出装置１００は、取得部５０１と、膨張形状生成部５０２と、縮小空間抽出部５０３と、検索部５０４と、膨張空間生成部５０５と、余空間抽出部５０６と、選択部５０７と、音源空間抽出部５０８と、を含む構成である。この制御部となる機能（取得部５０１〜音源空間抽出部５０８）は、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０６により、その機能を実現する。各機能部の処理結果は、例えば、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶される。
【００４６】
なお、図１の第１の空間は、図５の縮小空間に対応し、図１の第２の空間は、図５の膨張空間に対応する。
【００４７】
取得部５０１は、所定のサイズを取得する機能を有する。取得部５０１は、例えば、３次元形状において、塞ぎたい穴の直径または隙間の幅を、所定サイズとして取得する。取得部５０１は、複数の穴または複数の隙間が存在するとき、穴の直径または隙間の幅の中で最大のものを取得する。
【００４８】
具体的には、例えば、取得部５０１が、図２に示した入力装置２０７を用いたユーザの操作入力により、または、ネットワーク２２０を介した外部のコンピュータから塞ぎたい穴や隙間の大きさを取得する。
【００４９】
図６Ａは、３次元形状６００の一例を示す説明図である。本例では、３次元形状６００は、部品６０１、部品６０２、音源６０３を含む。部品６０１は９つの穴を有し、部品６０１と部品６０２の間には隙間が存在する。また、音源６０３は、部品６０２に埋め込まれている。
【００５０】
図６Ｂは、図６Ａの３次元形状６００の一例の断面を示す説明図である。本例は、切断面６１０における図６Ａの３次元形状の断面図である。以下の例では、３次元形状６００の断面図を使用して説明する。
【００５１】
図６Ａ、図６Ｂの例では、取得部５０１は、部品６０１の穴の直径、および部品６０１と部品６０２の間の隙間の幅の中で最大のものを取得する。
【００５２】
膨張形状生成部５０２は、取得部５０１が取得した大きさの半分だけ３次元形状の各部品を膨張させ、膨張形状を生成する機能を有する。膨張形状生成部５０２は、３次元形状のデータ３００から部品を取り出して、各部品の面を外側に取得した大きさの半分だけ膨張させ、膨張形状を生成し、生成した膨張形状を膨張形状配列に記憶する。
【００５３】
膨張形状配列は３次元形状のデータ３００と同じデータ構造を有し、膨張形状群を階層構造化して示す情報である。膨張形状群の下層には、膨張形状の設計情報が含まれている。膨張形状の設計情報は、例えば、３次元形状を構成する部品の形状データ、属性データなどを含む３次元ＣＡＤのデータである。形状データには、例えば、部品の形状を特定する情報が含まれている。属性データには、例えば、音源などの部品の属性を特定する情報が含まれている。また、膨張形状配列は、例えば、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶される。
【００５４】
また、膨張形状生成部５０２は、３次元形状の部品を膨張させる際、３次元形状の各部品のすべての面を等距離に膨張させることが好ましい。３次元形状の各部品のすべての面を等距離に膨張させることは、３次元形状の各部品の面を拡大して、膨張させる場合よりも、塞いではいけない箇所が塞がれることを防止して、音源空間の抽出精度を向上する効果を有する。この効果は以下の図１０Ａ〜図１２Ｂにて詳細に説明される。
【００５５】
図７Ａは、部品７０１のすべての面を等距離に膨張させた膨張形状７０２の一例を示す説明図である。すべての面を等距離に膨張させているため、部品７０１のすべての点において、部品７０１と膨張形状７０２との間の距離は同一である。例えば、Ａ点での部品７０１と膨張形状７０２との間の距離は、Ｂ点での部品７０１と膨張形状７０２との間の距離と同一である。
【００５６】
図７Ｂは、部品７０１の面を拡大して膨張させた膨張形状７０３の一例を示す説明図である。各部品の面を拡大して、膨らませているため、部品７０１の点において、部品７０１と膨張形状７０３との間の距離が異なる場合が存在する。例えば、Ａ点での部品７０１と膨張形状７０３との間の距離αは、Ｂ点での部品７０１と膨張形状７０３との間の距離√（２α2）より短くなっている。
【００５７】
図８Ａは、膨張形状８０１、８０２の一例を示す説明図である。図８Ａの例では、図６Ｂの３次元形状の部品６０１、部品６０２、音源６０３は、取得部５０１が取得した大きさの半分だけ、部品６０１、部品６０２、音源６０３のすべての面を等距離に膨張させた膨張形状である。膨張形状８０１は部品６０１を膨張させたものであり、膨張形状８０２は部品６０２および音源６０３を膨張させたものである。
【００５８】
縮小空間抽出部５０３は、膨張形状生成部５０２が生成した膨張形状から、縮小空間を抽出する機能を有する。縮小空間抽出部５０３は、膨張形状配列から膨張形状を取り出して、３次元形状を包含する空間全体から膨張形状の差集合演算を行うことにより、縮小空間を抽出し、抽出した縮小空間を縮小空間配列４００に記憶する。
【００５９】
図８Ｂは、縮小空間８１１、８１２の一例を示す説明図である。図８Ｂの例では、縮小空間抽出部５０３が、３次元形状を包含する空間全体から膨張形状８０１、８０２の差集合演算を行うことにより、縮小空間８１１と縮小空間８１２を抽出する。
【００６０】
検索部５０４は、縮小空間抽出部５０３が抽出した縮小空間の中から音源縮小空間を検索する機能を有する。検索部５０４は、縮小空間配列４００から縮小空間を取り出して、取り出した縮小空間のうち、音源６０３の膨張形状に接するものを検索し、検索した縮小空間を音源縮小空間として、音源縮小空間配列に記憶する。
【００６１】
音源縮小空間配列は、縮小空間配列４００と同じデータ構造を有し、音源縮小空間群を階層構造化して示す情報である。音源縮小空間群の下層には、音源縮小空間の設計情報が含まれている。音源縮小空間の設計情報は、例えば、音源縮小空間の形状データなどを含む３次元ＣＡＤデータである。形状データには、例えば、音源縮小空間の形状を特定する情報が含まれている。音源縮小空間配列は、例えば、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶される。
【００６２】
図８Ｃは、音源縮小空間８２１の一例を示す説明図である。図８Ｃの例では、検索部５０４は、縮小空間８１１を、音源６０３の膨張形状に接するため、音源縮小空間８２１として検索する。
【００６３】
膨張空間生成部５０５は、検索部５０４が検索した音源縮小空間を、取得部５０１が取得した大きさの半分だけ膨張させ、音源膨張空間を生成する機能を有する。膨張空間生成部５０５は、音源縮小空間配列から音源縮小空間を取り出して、膨張させ、生成した音源膨張形状を音源膨張空間配列に記憶する。
【００６４】
音源膨張空間配列は、縮小空間配列４００と同じデータ構造を有し、音源膨張空間群を階層構造化して示す情報である。音源膨張空間群の下層には、音源膨張空間の設計情報が含まれている。音源膨張空間の設計情報は、例えば、音源膨張空間の形状データなどを含む３次元ＣＡＤデータである。形状データには、例えば、音源膨張空間の形状を特定する情報が含まれている。音源膨張空間配列は、例えば、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶される。
【００６５】
また、膨張空間生成部５０５は、音源縮小空間を膨張させる際、音源縮小空間のすべての面を等距離に膨張させることが好ましい。
【００６６】
図８Ｄは、音源膨張空間８３１の一例を示す説明図である。図８Ｄの例では、膨張空間生成部５０５が、図８Ｃの音源縮小空間８２１を、取得部５０１が取得した大きさの半分だけ音源縮小空間のすべての面を等距離に膨張させた音源膨張空間８３１である。
【００６７】
余空間抽出部５０６は、膨張空間生成部５０５が生成した音源膨張空間から、余空間を抽出する機能を有する。余空間抽出部５０６は、音源膨張空間配列から音源膨張空間を取り出して、３次元形状を包含する空間全体から、３次元形状と音源膨張空間との差集合演算を行うことにより、余空間を抽出し、抽出した余空間を余空間配列に記憶する。
【００６８】
余空間配列は、縮小空間配列４００と同じデータ構造を有し、余空間配列は、余空間群を階層構造化して示す情報である。余空間群の下層には、余空間の設計情報が含まれている。余空間の設計情報は、例えば、余空間の形状データなどを含む３次元ＣＡＤデータである。形状データには、例えば、余空間の形状を特定する情報が含まれている。余空間配列は、例えば、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶される。
【００６９】
図８Ｅは、余空間８４１〜８４７の一例を示す説明図である。図８Ｅの例では、余空間抽出部５０６が、３次元形状を包含する空間全体から、３次元形状６００と音源膨張空間８３１との差集合演算を行い、余空間８４１〜余空間８４７を抽出する。
【００７０】
選択部５０７は、余空間抽出部５０６が抽出した余空間の中から音源余空間を選択する機能を有する。選択部５０７は、余空間配列から余空間を取り出して、取り出した余空間のうち、縮小空間と重複する空間を有しないものを選択し、選択した余空間を音源余空間として、音源余空間配列に記憶する。
【００７１】
音源余空間配列は、縮小空間配列４００と同じデータ構造を有し、音源余空間配列は、音源余空間群を階層構造化して示す情報である。音源余空間群の下層には、音源余空間の設計情報が含まれている。音源余空間の設計情報は、例えば、音源余空間の形状データなどを含む３次元ＣＡＤデータである。形状データには、例えば、音源余空間の形状を特定する情報が含まれている。音源余空間配列は、例えば、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶される。
【００７２】
図８Ｆは、音源余空間８５２〜８５７の一例を示す説明図である。図８Ｆの例では、選択部５０７が、余空間８４１〜余空間８４７から、縮小空間８１１、８１２と重複する空間を有しない、音源余空間８５２〜音源余空間８５７を抽出する。
【００７３】
音源空間抽出部５０８は、選択部５０７が選択した音源余空間から、音源空間を抽出する機能を有する。音源空間抽出部５０８は、音源余空間配列から音源余空間を取り出して、音源膨張空間配列から音源膨張空間を取り出して、取り出した音源余空間と取り出した音源膨張空間との和集合演算を行うことにより、音源空間を抽出する。音源空間抽出部５０８は、抽出した音源空間を音源空間配列に記憶する。
【００７４】
音源空間配列は、縮小空間配列４００と同じデータ構造を有し、音源空間配列は、音源空間群を階層構造化して示す情報である。音源空間群の下層には、音源空間の設計情報が含まれている。音源空間の設計情報は、例えば、音源空間の形状データなどを含む３次元ＣＡＤデータである。形状データには、例えば、音源空間の形状を特定する情報が含まれている。音源空間配列は、例えば、ＲＡＭ２０３、磁気ディスク２０５などの記憶装置に記憶される。
【００７５】
図９は、音源空間９０１の一例を示す説明図である。図９の例では、音源空間抽出部５０８が、音源膨張空間８３１と音源余空間８５２〜音源余空間８５７との和集合演算を行うことにより、音源空間９０１を抽出する。
【００７６】
（３次元形状の各部品のすべての面を等距離に膨張させることによる効果）
以下に図１０Ａ〜図１２Ｂを参照して、３次元形状の各部品のすべての面を等距離に膨張させることによる効果を詳細に説明する。
【００７７】
図１０Ａは、他の３次元形状１０００の一例を示す説明図である。図１０Ａに示す３次元形状１０００は、９つの穴と１つの隙間を有し、図６Ａに示す３次元形状６００と比べて、凹部１００１を有している。図１０Ｂは、図１０Ａの３次元形状１０００の一例の断面を示す説明図である。本例は、切断面１０１０における図１０Ａの３次元形状の断面図である。以下の例では、３次元形状の断面図を使用して説明する。
【００７８】
図１０Ｂに示す３次元形状１０００は、穴の直径が３ｃｍであり、隙間の幅が１．５ｃｍである。また、凹部１００１の入り口の大きさは、図１０Ｂの黒い円の中で示されるように３．５ｃｍである。穴の直径と隙間の直径の最大値は３ｃｍであるため、取得部５０１は、３ｃｍを取得する。膨張形状生成部５０２は、取得部５０１が取得した３ｃｍの半分、つまり１．５ｃｍだけ３次元形状１０００の各部品を膨張させる。
【００７９】
図１１Ａは、３次元形状１０００の各部品を膨張した膨張形状１１０１の一例を示す説明図である。膨張形状１１０１は、３次元形状１０００の各部品の面を拡大して膨張されたものである。膨張形状１１０１は、各部品の面が１．５ｃｍ拡大されるため、３次元形状１０００の直径３ｃｍの穴および幅１．５ｃｍの隙間は塞がれている。しかしながら、各部品の面が１．５ｃｍ拡大されるため、凹部１００１の入り口の部分は、それぞれ約２．１２ｃｍ拡大され、和は３．５ｃｍの入り口の大きさより大きくなる。このため、図１１Ａの黒い円の中で示されるように拡大された凹部１１０２の入り口は塞がれる。
【００８０】
図１１Ｂは、図１１Ａの膨張形状１１０１から抽出された音源空間１１０３の一例を示す説明図である。拡大された凹部１１０２の入り口は塞がれているため、縮小空間抽出部５０３は、図１１Ａの膨張形状１１０１から、拡大された凹部１１０２が含まれていない縮小空間を生成する。このため、膨張空間生成部５０５が生成する膨張空間にも、拡大された凹部１１０２は含まれず、音源空間抽出部５０８が最終的に抽出する音源空間１１０３にも凹部１００１は含まれない。
【００８１】
図１２Ａは、３次元形状１０００の各部品のすべての面を等距離に膨張させた膨張形状１２０１の一例を示す説明図である。膨張形状１２０１は、各部品のすべての面が等距離に１．５ｃｍ膨張されるため、３次元形状１０００の直径３ｃｍの穴および幅１．５ｃｍの隙間は塞がれている。また、各部品のすべての面が等距離に１．５ｃｍ膨張されるため、凹部１００１の入り口の部分も、それぞれ１．５ｃｍ膨張され、和は３．５ｃｍの入り口の大きさより小さい。このため、図１２Ａの黒い円の中で示されるように拡大された凹部１２０２の入り口は塞がれない。
【００８２】
図１２Ｂは、図１２Ａの膨張形状１２０１から抽出された音源空間１２０３の一例を示す説明図である。拡大された凹部１２０２の入り口は塞がれないため、縮小空間抽出部５０３は、図１２Ａの膨張形状１２０１から、拡大された凹部１２０２が含まれる縮小空間を生成する。このため、膨張空間生成部５０５が生成する膨張空間にも、拡大された凹部１２０２は含まれ、音源空間抽出部５０８が最終的に抽出する音源空間１２０３に凹部１００１は含まれる。
【００８３】
このように、凹部１００１の入り口の大きさが、穴の直径や隙間の幅の最大値と同じような大きさであっても、空間抽出装置１００は、凹部１００１を含んだ音源空間１２０３を抽出することができる。凹部１００１は、音源空間に含まれる空間である。このため、凹部１００１を含む音源空間を抽出する、部品のすべての面を等距離に膨張させる方法は、凹部１００１を含まない音源空間を抽出する、部品の面を拡大して膨張させる方法により、精度を向上させて音源空間を抽出することができる。
【００８４】
（空間抽出装置１００の空間抽出処理手順の一例）
図１３、図１４は、空間抽出装置１００の空間抽出処理手順の一例を示すフローチャートである。図１３、図１４のフローチャートにおいて、まず、取得部５０１は、所定サイズを取得する（ステップＳ１３０１）。
【００８５】
膨張形状生成部５０２は、３次元形状のデータ３００から部品データを１つ取得する（ステップＳ１３０２）。膨張形状生成部５０２は、取得部５０１が取得した所定サイズの半分だけ取得した部品データを膨張させ、膨張形状を生成する（ステップＳ１３０３）。膨張形状生成部５０２は、生成した膨張形状を膨張形状配列に記憶する（ステップＳ１３０４）。膨張形状生成部５０２は、３次元形状のデータ３００のすべての部品データの膨張が終了したか否かを確認する（ステップＳ１３０５）。すべての部品データの膨張が終了しない場合（ステップＳ１３０５：Ｎｏ）、膨張形状生成部５０２は、ステップＳ１３０２に戻り、次の部品の膨張を行う。すべての部品データの膨張が終了した場合（ステップＳ１３０５：Ｙｅｓ）、膨張形状生成部５０２は、ステップＳ１３０６に進む。
【００８６】
縮小空間抽出部５０３は、膨張形状から、縮小空間を抽出する（ステップＳ１３０６）。縮小空間抽出部５０３は、膨張形状配列から膨張形状を取り出して、３次元形状を包含する空間全体から膨張形状の差集合演算を行うことにより、縮小空間を抽出する。縮小空間抽出部５０３は、抽出した縮小空間を縮小空間配列４００に記憶する（ステップＳ１３０７）。
【００８７】
検索部５０４は、縮小空間配列４００から縮小空間を１つ取得する（ステップＳ１３０８）。検索部５０４は、取得した縮小空間が、膨張形状生成部５０２が膨張させた音源に接するか否かを確認する（ステップＳ１３０９）。縮小空間が、膨張させた音源に接しない場合（ステップＳ１３０９：Ｎｏ）、ステップＳ１３１１に進む。縮小空間が、膨張させた音源に接する場合（ステップＳ１３０９：Ｙｅｓ）、検索部５０４は、当該縮小空間を音源縮小空間配列に記憶する（ステップＳ１３１０）。検索部５０４は、すべての縮小空間に対して、膨張させた音源に接するか否かの確認が終了したか否かを確認する（ステップＳ１３１１）。すべての縮小空間の確認が終了しない場合（ステップＳ１３１１：Ｎｏ）、検索部５０４は、ステップＳ１３０８に戻り、次の縮小空間の確認を行う。すべての縮小空間の確認が終了した場合（ステップＳ１３１１：Ｙｅｓ）、検索部５０４は、ステップＳ１３１２に進む。
【００８８】
膨張空間生成部５０５は、音源縮小空間配列から音源縮小空間を１つ取得する（ステップＳ１３１２）。膨張空間生成部５０５は、取得部５０１が取得した所定サイズの半分だけ取得した音源縮小空間を膨張させ、音源膨張空間を生成する（ステップＳ１３１３）。膨張空間生成部５０５は、生成した音源膨張空間を音源膨張空間配列に記憶する（ステップＳ１３１４）。膨張空間生成部５０５は、音源縮小空間配列のすべての音源縮小空間の膨張が終了したか否かを確認する（ステップＳ１３１５）。すべての音源縮小空間の膨張が終了しない場合（ステップＳ１３１５：Ｎｏ）、膨張空間生成部５０５は、ステップＳ１３１２に戻り、次の音源縮小空間の膨張を行う。すべての音源縮小空間の膨張が終了した場合（ステップＳ１３１５：Ｙｅｓ）、膨張空間生成部５０５は、ステップＳ１３１６に進む。
【００８９】
余空間抽出部５０６は、音源膨張空間から、余空間を抽出する（ステップＳ１３１６）。余空間抽出部５０６は、音源膨張空間配列から音源膨張空間を取り出して、３次元形状を包含する空間全体から、３次元形状と音源膨張空間との差集合演算を行うことにより、余空間を抽出する。余空間抽出部５０６は、抽出した余空間を余空間配列に記憶する（ステップＳ１３１７）。
【００９０】
選択部５０７は、余空間配列から余空間を１つ取得する（ステップＳ１３１８）。選択部５０７は、取得した余空間が縮小空間のいずれかと重複する空間を有するか否かを確認する（ステップＳ１３１９）。余空間が縮小空間のいずれかと重複する空間を有する場合（ステップＳ１３１９：Ｙｅｓ）、選択部５０７は、ステップＳ１３２１に進む。余空間が縮小空間のいずれかと重複する空間を有しない場合（ステップＳ１３１９：Ｎｏ）、選択部５０７は、当該余空間を音源余空間配列に記憶する（ステップＳ１３２０）。選択部５０７は、すべての余空間に対して、縮小空間のいずれかと重複する空間を有するか否かの確認が終了したか否かを確認する（ステップＳ１３２１）。すべての余空間の確認が終了しない場合（ステップＳ１３２１：Ｎｏ）、選択部５０７は、ステップＳ１３１８に戻り、次の余空間の確認を行う。すべての余空間の確認が終了した場合（ステップＳ１３２１：Ｙｅｓ）、選択部５０７は、ステップＳ１３２２に進む。
【００９１】
音源空間抽出部５０８は、選択部５０７が選択した音源余空間から、音源空間を抽出する（ステップＳ１３２２）。音源空間抽出部５０８は、音源余空間配列から音源余空間を取り出して、音源膨張空間配列から音源膨張空間を取り出して、取り出した音源余空間と取り出した音源膨張空間との和集合演算を行うことにより、音源空間を抽出する。これにより、本フローチャートによる一連の処理は終了する。本フローチャートを実行することにより、空間抽出装置１００は、穴や隙間のある３次元形状から、音源空間を抽出する。
【００９２】
以上説明したように、空間抽出装置１００によれば、３次元形状の各面を所定サイズ分膨張させて穴や隙間を塞ぎ、膨張させた３次元形状内の音源のある空間を所定サイズ分膨張させることにより、３次元形状内の音源空間を抽出する。これにより、音源周囲の部品に穴や部品間に隙間がある３次元形状から、音源空間を抽出することができる。そして、設計の早い段階から、音源空間を予測し、音源空間を十分に確保しておくことで音響品質を高めることが可能になる。
【００９３】
また、空間抽出装置１００は、膨張前後の面間の距離が等距離になるように膨張形状を生成することもできる。これにより、凹部の入り口の大きさが、穴の直径や隙間の幅の最大値と同じような大きさであっても、空間抽出装置１００は、凹部を含んだ音源空間を抽出することができ、精度を向上させて音源空間を抽出することができる。
【００９４】
また、空間抽出装置１００は、穴の最大の直径または隙間の最大の幅の中で、大きい方の半分の大きさ以上の所定サイズで、３次元形状の各部品の面を外側に膨張させる。これにより、空間抽出装置１００は、３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、３次元形状の各部品を膨張させることができる。
【００９５】
また、空間抽出装置１００は、所定サイズを１回取得して３次元形状の各部品の面を外側に膨張させるが、所定サイズを複数回取得してもよい。この場合、最初の所定サイズで３次元形状の各部品の面を外側に膨張させ、３次元形状の内部と外部とをつなぐ穴または隙間が塞がっていない場合、所定サイズを大きくして、再度膨張させ、穴または隙間が塞がれるまで繰り返す。これにより、所定サイズの値をユーザが選ばなくてもよくなる。また、穴または隙間が塞がっているか否かは、例えば、空間抽出装置１００が膨張形状を出力装置２０８に作画して、ユーザが確認することにより行うことができる。
【００９６】
また、所定サイズが大きすぎることにより、抽出された空間が外部の空間を含む場合、、例えば、ユーザが所定サイズを小さく設定し直して、抽出される空間が外部の空間を含まなくなるまで空間抽出処理を繰り返し実行させることにしてもよい。このように、抽出された空間が外部の空間を含む場合に、ユーザが、抽出された空間から外部の空間を除くなどの面倒な作業を行うことなく、所定サイズを変更するだけで効率良く内部空間を抽出することができる。
【００９７】
なお、本実施の形態で説明した空間抽出プログラムは、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本空間抽出プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本空間抽出プログラムは、インターネット等のネットワークを介して配布してもよい。
【００９８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００９９】
（付記１）シミュレーション空間上に配置された複数の部品から形成される３次元形状の内部空間を抽出する空間抽出プログラムであって、
前記３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成し、
前記シミュレーション空間から、生成した前記各部品の膨張形状を除く第１の空間集合を抽出し、
抽出した前記第１の空間集合のうち前記３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させた膨張空間を生成することにより、前記３次元形状の内部空間を抽出する、
処理をコンピュータに実行させることを特徴とする空間抽出プログラム。
【０１００】
（付記２）前記膨張形状を生成する処理は、前記３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させて、膨張前後の面間の距離が等距離になるように前記膨張形状を生成し、
前記内部空間を抽出する処理は、抽出した前記第１の空間集合のうち前記３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させて、膨張前後の面間の距離が等距離になるように前記膨張形状を生成することを特徴とする付記１に記載の空間抽出プログラム。
【０１０１】
（付記３）前記コンピュータに、
前記シミュレーション空間から、生成した前記膨張空間および前記３次元形状を除く第２の空間集合を抽出し、
抽出した前記第２の空間集合のうち前記第１の空間集合のいずれの空間とも重複しない空間と、前記膨張空間とを連結することにより、前記３次元形状の内部空間を抽出する、
処理を実行させることを特徴とする付記１または２に記載の空間抽出プログラム。
【０１０２】
（付記４）前記所定サイズは、前記穴の最大の直径または前記隙間の最大の幅の中で、大きい方の半分の大きさ以上であることを特徴とする付記１〜３のいずれか一つに記載の空間抽出プログラム。
【０１０３】
（付記５）シミュレーション空間上に配置された複数の部品から形成される３次元形状の内部空間を抽出する空間抽出方法であって、
前記３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成し、
前記シミュレーション空間から、生成した前記各部品の膨張形状を除く第１の空間集合を抽出し、
抽出した前記第１の空間集合のうち前記３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させた膨張空間を生成することにより、前記３次元形状の内部空間を抽出する、
処理をコンピュータが実行することを特徴とする空間抽出方法。
【０１０４】
（付記６）シミュレーション空間上に配置された複数の部品から形成される３次元形状の内部空間を抽出する空間抽出装置であって、
前記３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成し、
前記シミュレーション空間から、生成した前記各部品の膨張形状を除く第１の空間集合を抽出し、
抽出した前記第１の空間集合のうち前記３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させた膨張空間を生成することにより、前記３次元形状の内部空間を抽出する制御部、
を有することを特徴とする空間抽出装置。
【０１０５】
（付記７）シミュレーション空間上に配置された複数の部品から形成される３次元形状の内部空間を抽出する空間抽出プログラムを記録したコンピュータに読み取り可能な記録媒体であって、
前記３次元形状の内部と外部とをつなぐ穴または隙間が塞がるように、各部品の面を外側に所定サイズ分膨張させた膨張形状を生成し、
前記シミュレーション空間から、生成した前記各部品の膨張形状を除く第１の空間集合を抽出し、
抽出した前記第１の空間集合のうち前記３次元形状の内部に配置された部品の膨張形状に接する空間を、当該空間の面を外側に前記所定サイズ分膨張させた膨張空間を生成することにより、前記３次元形状の内部空間を抽出する、
処理を前記コンピュータに実行させる空間抽出プログラムを記録したことを特徴とする前記コンピュータに読み取り可能な記録媒体。
【符号の説明】
【０１０６】
１００  空間抽出装置
１０１、６００、１０００  ３次元形状
５０１  取得部
５０２  膨張形状生成部
５０３  縮小空間抽出部
５０４  検索部
５０５  膨張空間生成部
５０６  余空間抽出部
５０７  選択部
５０８  音源空間抽出部
【図１】
2015095193.tif 000003
【図２】
2015095193.tif 000004
【図３】
2015095193.tif 000005
【図４】
2015095193.tif 000006
【図５】
2015095193.tif 000007
【図６Ａ】
2015095193.tif 000008
【図６Ｂ】
2015095193.tif 000009
【図７Ａ】
2015095193.tif 000010
【図７Ｂ】
2015095193.tif 000011
【図８Ａ】
2015095193.tif 000012
【図８Ｂ】
2015095193.tif 000013
【図８Ｃ】
2015095193.tif 000014
【図８Ｄ】
2015095193.tif 000015
【図８Ｅ】
2015095193.tif 000016
【図８Ｆ】
2015095193.tif 000017
【図９】
2015095193.tif 000018
【図１０Ａ】
2015095193.tif 000019
【図１０Ｂ】
2015095193.tif 000020
【図１１Ａ】
2015095193.tif 000021
【図１１Ｂ】
2015095193.tif 000022
【図１２Ａ】
2015095193.tif 000023
【図１２Ｂ】
2015095193.tif 000024
【図１３】
2015095193.tif 000025
【図１４】
2015095193.tif 000026