(57)【特許請求の範囲】
【請求項１】
複数の物体が配置された三次元空間のシミュレーション方法であって、
有限の体積を有する充填領域内に配置された前記複数の物体の配置状態を示す空間状態データのうち、前記充填領域を示す情報を取得し、前記充填領域を縮小させた仮充填領域を示す情報を生成する仮充填領域定義工程と、
前記複数の物体の配置状態を示す情報および前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行う縮小干渉判定工程と、
前記縮小干渉判定工程において、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定された場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定された場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記複数の物体の配置状態を示す情報を新たな前記空間状態データとする、縮小次状態決定工程とを含む、
シミュレーション方法。
【請求項２】
請求項１に記載のシミュレーション方法において、
前記空間状態データを取得し、前記複数の物体の内、少なくとも一つを移動させ、移動させた前記物体の配置情報を含む移動後状態データを生成する物体移動工程をさらに含み、
前記縮小干渉判定工程では、前記移動後状態データおよび前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行い、
前記縮小次状態決定工程では、前記縮小干渉判定工程において、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定された場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定された場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記移動後状態データに基づく前記複数の物体の配置状態を示す情報を新たな前記空間状態データとし、
前記物体移動工程、前記仮充填領域定義工程、前記縮小干渉判定工程、および前記縮小次状態決定工程を行う状態変更処理を繰り返し行う、
シミュレーション方法。
【請求項３】
請求項２に記載のシミュレーション方法において、
前記物体移動工程は、
前記複数の物体の内、移動させようとする少なくとも１つの移動対象物を選択する移動対象物選択工程と、
前記移動対象物をどのように移動させるかを示す移動情報を生成する移動情報生成工程と、
前記移動情報に基づき前記移動対象物を移動させた後の、前記三次元空間における少なくとも前記移動対象物の配置状態に関する情報を含む、仮移動後状態データを生成する対象物移動工程と、
前記仮移動後状態データに基づき、前記三次元空間において前記複数の物体が互いに干渉しているか否か、および、前記充填領域の外の領域、又は前記充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かを判定する移動干渉判定工程と、
前記移動干渉判定工程において、前記複数の物体が互いに干渉していないと判定され、かつ、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定された場合に、前記仮移動後状態データを前記移動後状態データとして生成する、移動次状態決定工程とを含み、
前記複数の物体の少なくとも１つは板状の物体であり、
前記対象物移動工程では、前記移動対象物の平行移動および回転移動のうち少なくとも一方を行う、
シミュレーション方法。
【請求項４】
請求項３に記載のシミュレーション方法において、
前記複数の物体は、第１の前記板状の物体および第２の前記板状の物体を少なくとも含み、
前記移動干渉判定工程は、
前記複数の物体から、前記第１の板状の物体である第１対象物と、前記第２の板状の物体である第２対象物とを選択する判定対象物選択工程と、
前記第１対象物および前記第２対象物に対し、１つの直交座標系を定義する座標定義工程と、
前記直交座標系の基準面に投影した、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する投影像判定工程と、
前記三次元空間において前記第１対象物と前記第２対象物とが干渉するか否かを判定する立体判定工程とを含み、
前記直交座標系は、互いに直交するｅ１軸、ｅ２軸、およびｅ３軸からなり、
前記投影像判定工程は、
ｅ１軸とｅ２軸とからなる第１基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する第１基準面判定工程、
ｅ２軸とｅ３軸とからなる第２基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する第２基準面判定工程、および
ｅ３軸とｅ１軸とからなる第３基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する第３基準面判定工程のうち少なくとも一つを含み、
前記立体判定工程では、前記投影像判定工程で前記第１基準面、前記第２基準面、および前記第３基準面のうち少なくとも一つにおいて前記第１対象物および前記第２対象物の投影像が互いに重ならないと判定された場合に、前記第１対象物と前記第２対象物とが干渉していない状態であると判定する、
シミュレーション方法。
【請求項５】
請求項２から４のいずれか一項に記載のシミュレーション方法において、
前記充填領域に対する前記複数の物体の体積占有率があらかじめ定めた基準を満たすか否かを判定する体積判定工程をさらに含み、
前記体積判定工程において前記体積占有率が基準を満たさないと判定された場合、少なくとも前記仮充填領域定義工程、前記縮小干渉判定工程、および前記縮小次状態決定工程を再度行い、前記体積占有率が基準を満たすと判定された場合、その時点で、または、前記物体移動工程と、前記仮充填領域定義工程、前記縮小干渉判定工程、および前記縮小次状態決定工程とのうち少なくともいずれか一方をさらに特定の回数行った後、前記状態変更処理の繰り返しを終了する、
シミュレーション方法。
【請求項６】
請求項２から５のいずれか一項に記載のシミュレーション方法において、
前記移動後状態データに基づき、前記三次元空間における前記複数の物体の乱雑度を示す乱雑度データを生成し、前記乱雑度があらかじめ定めた基準を満たすか否かを判定する乱雑度判定工程をさらに含み、
一度の前記状態変更処理において前記物体移動工程を繰り返し行い、
前記乱雑度判定工程において前記乱雑度が基準を満たさないと判定された場合、前記物体移動工程の繰り返しを続け、前記乱雑度が基準を満たすと判定された場合、その時点で、または、さらに特定の回数の前記物体移動工程を行った後、前記物体移動工程の繰り返しを終了する、
シミュレーション方法。
【請求項７】
複数の物体が配置された三次元空間のシミュレーション装置であって、
有限の体積を有する充填領域内に配置された前記複数の物体の配置状態を示す空間状態データのうち、前記充填領域を示す情報を取得し、前記充填領域を縮小させた仮充填領域を示す情報を生成する仮充填領域定義部と、
前記複数の物体の配置状態を示す情報および前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行う縮小干渉判定部と、
前記縮小干渉判定部が、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定した場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定した場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記複数の物体の配置状態を示す情報を新たな前記空間状態データとする、縮小次状態決定部とを備える、
シミュレーション装置。
【請求項８】
請求項７に記載のシミュレーション装置において、
前記空間状態データを取得し、前記複数の物体の内、少なくとも一つを移動させ、移動させた前記物体の配置情報を含む移動後状態データを生成する物体移動部をさらに備え、
前記縮小干渉判定部は、前記移動後状態データおよび前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行い、
前記縮小次状態決定部は、前記縮小干渉判定部が、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定した場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定した場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記移動後状態データに基づく前記複数の物体の配置状態を示す情報を新たな前記空間状態データとし、
前記物体移動部、前記仮充填領域定義部、前記縮小干渉判定部、および前記縮小次状態決定部を動作させる状態変更処理が繰り返し行われる、
シミュレーション装置。
【請求項９】
複数の物体が配置された三次元空間のシミュレーション装置を実現するためのコンピュータプログラムであって、
コンピュータを、
有限の体積を有する充填領域内に配置された前記複数の物体の配置状態を示す空間状態データのうち、前記充填領域を示す情報を取得し、前記充填領域を縮小させた仮充填領域を示す情報を生成する仮充填領域定義手段、
前記複数の物体の配置状態を示す情報および前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行う縮小干渉判定手段、および
前記縮小干渉判定手段が、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定した場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定した場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記複数の物体の配置状態を示す情報を新たな前記空間状態データとする、縮小次状態決定手段として機能させる、
コンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムにおいて、
前記コンピュータを、さらに、
前記空間状態データを取得し、前記複数の物体の内、少なくとも一つを移動させ、移動させた前記物体の配置情報を含む移動後状態データを生成する物体移動手段として機能させ、
前記縮小干渉判定手段は、前記移動後状態データおよび前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行い、
前記縮小次状態決定手段は、前記縮小干渉判定手段が、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定した場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定した場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記移動後状態データに基づく前記複数の物体の配置状態を示す情報を新たな前記空間状態データとし、
前記コンピュータに、前記物体移動手段、前記仮充填領域定義手段、前記縮小干渉判定手段、および前記縮小次状態決定手段を動作させる状態変更処理を繰り返し行わせる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシミュレーション方法、シミュレーション装置、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
粉体や粒子等を使用する各種製品の製造プロセスの研究開発のため、三次元空間における複数物体の混合、充填等に関するシミュレーション技術が必要とされている。特許文献１には、離散要素法に基づいて粒子の攪拌状態をシミュレーションすることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２１４１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
工業的に用いられる粉体や粒子等の形状は球状に限らず多様化しており、そのような場合にも利用可能なシミュレーション方法が求められている。
【０００５】
しかし、特許文献１の方法では、各粒子を球としてモデル化しており、形状に異方性がある粒子等を正確に扱うことができなかった。
【０００６】
特に、異方性がある物体が配置された三次元空間において、物体の位置と向きの要素を含んだ配置状態をシミュレーションする方法が、必要とされていた。
【０００７】
また、特定の体積の空間に高い密度で粒子が充填された状態を再現するモデルが必要とされていた。
【０００８】
本発明は、複数の物体が高い密度で配置された三次元空間のシミュレーション方法を提供する。
【課題を解決するための手段】
【０００９】
本発明によれば、
複数の物体が配置された三次元空間のシミュレーション方法であって、
有限の体積を有する充填領域内に配置された前記複数の物体の配置状態を示す空間状態データのうち、前記充填領域を示す情報を取得し、前記充填領域を縮小させた仮充填領域を示す情報を生成する仮充填領域定義工程と、
前記複数の物体の配置状態を示す情報および前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行う縮小干渉判定工程と、
前記縮小干渉判定工程において、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定された場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定された場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記複数の物体の配置状態を示す情報を新たな前記空間状態データとする、縮小次状態決定工程とを含む、
シミュレーション方法
が提供される。
【００１０】
本発明によれば、
複数の物体が配置された三次元空間のシミュレーション装置であって、
有限の体積を有する充填領域内に配置された前記複数の物体の配置状態を示す空間状態データのうち、前記充填領域を示す情報を取得し、前記充填領域を縮小させた仮充填領域を示す情報を生成する仮充填領域定義部と、
前記複数の物体の配置状態を示す情報および前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行う縮小干渉判定部と、
前記縮小干渉判定部が、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定した場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定した場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記複数の物体の配置状態を示す情報を新たな前記空間状態データとする、縮小次状態決定部とを備える、
シミュレーション装置
が提供される。
【００１１】
本発明によれば、
複数の物体が配置された三次元空間のシミュレーション装置を実現するためのコンピュータプログラムであって、
コンピュータを、
有限の体積を有する充填領域内に配置された前記複数の物体の配置状態を示す空間状態データのうち、前記充填領域を示す情報を取得し、前記充填領域を縮小させた仮充填領域を示す情報を生成する仮充填領域定義手段、
前記複数の物体の配置状態を示す情報および前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行う縮小干渉判定手段、および
前記縮小干渉判定手段が、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定した場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定した場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記複数の物体の配置状態を示す情報を新たな前記空間状態データとする、縮小次状態決定手段として機能させる、
コンピュータプログラム
が提供される。
【発明の効果】
【００１２】
本発明によれば、複数の物体が高い密度で配置された三次元空間のシミュレーション方法が提供される。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係るシミュレーション方法のフローである。
【図２】三次元空間中の複数の物体の例を示す模式図である。
【図３】円板状の物体の形状を示す斜視図である。
【図４】第１の実施形態に係るシミュレーション装置の構成を示すブロック図である。
【図５】板状の物体と仮外部領域または仮境界とが干渉するか否かの判定方法について説明するための図である。
【図６】物体移動工程のフローである。
【図７】物体移動部の構成を示すブロック図である。
【図８】移動干渉判定工程のフローである。
【図９】移動干渉判定部のブロック図である。
【図１０】座標定義工程で定義する直交座標系を示す図である。
【図１１】投影像判定工程および立体判定工程の内容を示すフローである。
【図１２】第１基準面判定工程の内容を示すフローである。
【図１３】（ａ）は、第１基準面における第１対象物の投影像と、第２対象物の投影像の例を示す模式図であり、（ｂ）は、第１部分判定工程について説明するための模式図である。
【図１４】（ａ）は、第１基準面における第１対象物の投影像と、第２対象物の投影像とを示す模式図であり、（ｂ）は、実施形態に係る第３領域を示す図である。
【図１５】（ａ）は、第２基準面における第１対象物の投影像と、第２対象物の投影像の例を示す模式図であり、（ｂ）は、第１判定領域を示す図である。
【図１６】（ａ）および（ｂ）は、判定対象線および判定対象点を示す図である。
【図１７】（ａ）は、判定領域Ａを示す図、（ｂ）は、判定領域Ｂを示す図、（ｃ）は、判定領域Ｃを示す図である。
【図１８】一つの判定対象点が第１判定領域内にあるか否かを判定する工程のフローである。
【図１９】（ａ）は、第３基準面における第１対象物の投影像と、第２対象物の投影像の例を示す模式図であり、（ｂ）は、第２判定領域を示す図であり、（ｃ）は、第２判定領域と分割領域の関係を示す図である。
【図２０】三角形ＯＡｉＡｊと、第２対象物の投影像の中心点Ｐの位置関係の例を示す図である。
【図２１】（ａ）は板状の物体と球状の物体との配置関係の例を示す斜視図である。（ｂ）は、板状の物体の上面の中心、板状の物体の下面の中心、および球状の物体の中心を含む平面における、板状の物体と球状の物体の断面図である。
【図２２】板状の物体の断面と球状の物体の断面とが重なるか否かの判定方法について説明するための図である。
【図２３】第２の実施形態に係るシミュレーション方法のフローである。
【図２４】第２の実施形態に係るシミュレーション装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１５】
なお、以下に示す説明において、シミュレーション装置１００の物体移動部２４、仮充填領域定義部９２、縮小干渉判定部９４、縮小次状態決定部９６、体積判定部９８、移動対象物選択部１２、移動情報生成部１４、対象物移動部１６、移動干渉判定部７０、移動次状態決定部１８、乱雑度判定部２２、記憶部２６、判定対象物選択部１０、座標定義部２０、投影像判定部３０、第１基準面判定部３２、第２基準面判定部３４、第３基準面判定部３６、および立体判定部４０は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。シミュレーション装置１００の物体移動部２４、仮充填領域定義部９２、縮小干渉判定部９４、縮小次状態決定部９６、体積判定部９８、移動対象物選択部１２、移動情報生成部１４、対象物移動部１６、移動干渉判定部７０、移動次状態決定部１８、乱雑度判定部２２、記憶部２６、判定対象物選択部１０、座標定義部２０、投影像判定部３０、第１基準面判定部３２、第２基準面判定部３４、第３基準面判定部３６、および立体判定部４０は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶メディア、ネットワーク接続用インタフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置には様々な変形例がある。
【００１６】
（第１の実施形態）
図１は、本実施形態に係るシミュレーション方法のフローである。図２は、三次元空間中の複数の物体５０の例を示す模式図である。本実施形態に係るシミュレーション方法は、複数の物体５０が配置された三次元空間のシミュレーション方法である。当該シミュレーション方法は、仮充填領域定義工程Ｓ９２、縮小干渉判定工程Ｓ９４および縮小次状態決定工程Ｓ９６を含む。仮充填領域定義工程Ｓ９２では、有限の体積を有する充填領域６０内に配置された複数の物体５０の配置状態を示す空間状態データのうち、充填領域６０を示す情報が取得され、充填領域６０を縮小させた仮充填領域を示す情報が生成される。縮小干渉判定工程Ｓ９４では、複数の物体５０の配置状態を示す情報および仮充填領域を示す情報に基づき、仮充填領域の外の領域（以下、「仮外部領域」と呼ぶ。）、又は仮充填領域と仮外部領域との境界（以下、「仮境界」と呼ぶ。）と、少なくとも１つの物体５０とが干渉しているか否かの判定が行われる。縮小次状態決定工程Ｓ９６では、縮小干渉判定工程Ｓ９４において、仮外部領域又は仮境界と、少なくとも１つの物体５０とが干渉していると判定された場合に、空間状態データが変更されず、いずれの物体５０も仮外部領域とも仮境界とも干渉していないと判定された場合に、仮充填領域が新たな充填領域６０とされ、新たな充填領域６０内に配置された複数の物体５０の配置状態を示す情報が新たな空間状態データとされる。以下に詳しく説明する。
【００１７】
以下において、仮充填領域定義工程Ｓ９２、縮小干渉判定工程Ｓ９４、および縮小次状態決定工程Ｓ９６を一度ずつ行う工程を、「縮小工程」と呼ぶ。図１中、縮小工程に含まれる工程を破線で囲って示している。
【００１８】
本実施形態に係るシミュレーション方法は、物体移動工程Ｓ２４をさらに含む。そして、物体移動工程Ｓ２４および縮小工程を行う状態変更処理が繰り返し行われる。物体移動工程Ｓ２４では、空間状態データが取得され、複数の物体５０の内、少なくとも一つを移動させ、移動させた物体５０の配置情報を含む移動後状態データが生成される。縮小干渉判定工程Ｓ９４では、移動後状態データおよび仮充填領域を示す情報に基づき、仮外部領域、又は仮境界と、少なくとも１つの物体５０とが干渉しているか否かの判定が行われる。縮小次状態決定工程Ｓ９６では、縮小干渉判定工程Ｓ９４において、仮外部領域又は仮境界と、少なくとも１つの物体５０とが干渉していると判定された場合に、空間状態データが変更されない。一方、いずれの物体５０も仮外部領域とも仮境界とも干渉していないと判定された場合に、仮充填領域を新たな充填領域６０とし、新たな充填領域６０内に配置された移動後状態データに基づく複数の物体５０の配置状態を示す情報が新たな空間状態データとされる。
【００１９】
シミュレーションモデルとして三次元空間に複数の粒子がランダムに配向したモデルを得たい場合には、特定領域内に任意に配置した粒子の配置状態を所望の乱雑度になるまで変化（シャッフル）させていく方法が考えられる。しかしこの様な方法では、粒子の体積充填率が高い状態をモデル化することが難しかった。充填率が高い場合、初期状態から変化させようとしても粒子同士が干渉するため移動させる余地が殆ど無く、シャッフルを進めることが困難だからである。
【００２０】
それに対し、本実施形態に係るシミュレーション方法によれば、ある程度広い領域においてシャッフルを進め、充填領域を縮小させていくことで、充填領域内に複数の粒子がある程度ランダムに配向し、粒子の体積充填率が高いモデルを作成することができる。このようなモデルは、異方性がある形状の粒子を含む場合について、特に必要性が高い。各粒子の向きが、粒子群全体としての特性に強く影響を及ぼすからである。当該シミュレーション方法によれば、たとえば充填領域に対する複数の物体５０の体積充填率が３０％以上のシミュレーションモデルを作成することができる。
【００２１】
本実施形態に係るシミュレーション方法は、三次元空間における複数の物体５０の配置状態をシミュレーションする方法である。本実施形態において複数の物体５０の少なくとも１つは板状の物体であり、板状の物体は、円板状の物体である例について説明する。ただし、板状の物体を必ずしも含む必要は無い。
【００２２】
図３は、本実施形態に係る円板状の物体５０の形状を示す斜視図である。ただし、物体５０の形状は特に限定されない。ここで、板状とは平面図形と厚みｌで決まる形状であり、円板状の場合、平面図形は半径ｒで決まる円である。なお、厚みは平面図形の幅より小さくても良いし、平面図形の幅以上であっても良い。複数の物体５０は、同一の形状であっても良いし、それぞれ異なる形状であっても良い。または、複数の物体５０には複数種類の形状の物体が含まれてもよい。本実施形態において、以下では、板状の物体５０の表面のうち、平らな二つの面５００をそれぞれ「主面」と呼ぶ。
【００２３】
各物体５０の「配置状態」は、三次元空間における物体５０の位置または板状の物体５０の方向の少なくとも一方を含む情報で定義される。たとえば三次元空間において、各物体５０の位置は、直交座標系における物体５０の中心点の座標（ｘｉ，ｙｉ，ｚｉ）で表される。そして、板状の物体５０は位置と方向でその配置が定義される。ここで、物体５０の中心点とは、物体５０の重心であり、板状の物体５０においては、厚み方向の中心、かつ主面に平行な断面における中心である。本実施形態において、三次元空間における板状の物体５０の方向は、主面の法線ベクトルＮｉ（ｎｘｉ，ｎｙｉ，ｎｚｉ）で表される。なお、法線ベクトルＮｉは単位ベクトルであり、長さは１とする。ただし、三次元空間における物体５０の位置及び向きは別の座標系等で表されても良い。
【００２４】
空間状態データは、三次元空間における全ての複数の物体５０の配置状態を示すデータである。ここで、空間状態データにおける三次元空間は、たとえば互いに直交するｘ軸、ｙ軸およびｚ軸からなる直交座標系（「ｘｙｚ座標系」）を用いて定義される。空間状態データには三次元空間に含まれる各物体５０の状態データが含まれる。状態データは、物体５０の形状、位置、向きを示すデータであり、たとえば半径ｒ、厚みｌ、中心点の座標（ｘｉ，ｙｉ，ｚｉ）、主面の法線ベクトルＮｉ（ｎｘｉ，ｎｙｉ，ｎｚｉ）を示すデータである。なお、球状の物体である物体５０については、厚みｌおよび主面の法線ベクトルＮｉ（ｎｘｉ，ｎｙｉ，ｎｚｉ）を示すデータは省略されても良い。たとえば空間状態データは、各物体５０の状態データを示すテーブルであり得る。なお、空間状態データは上記に限定されず、他の座標系やパラメータを用いて表された情報であり得る。
【００２５】
また、本実施形態において、空間状態データは充填領域６０の内外の境界を示す境界データをさらに含む。複数の物体５０の全ては、有限の体積を有する充填領域６０内に配置されている。
【００２６】
なお、初期状態の空間状態データにおいて、配置状態は特に限定されず、たとえば、複数の物体５０が充填領域６０内に規則正しく並んだ状態であって良い。
【００２７】
図２に戻り、本実施形態に係る複数の物体５０は、球状の物体をさらに含む。本実施形態では、複数の物体５０が、円板状の物体と、球状の物体とからなる例について説明する。ただし、これに限定されず、複数の物体５０は任意の形状のものから構成されて良い。
【００２８】
本実施形態において、複数の物体５０の全ては、有限の体積を有する充填領域６０内に配置される。充填領域６０内で物体５０を互いに干渉させないよう移動させていくことで、様々な配置状態を再現することができる。なお、充填領域６０の形状は特に限定されない。たとえば充填領域６０の形状は立方体や直方体等の多面体、球体、楕円回転体、柱状体、錐体等であり得る。
【００２９】
たとえば、本実施形態に係るシミュレーション方法を用いて、空間、固体、または液体内に特定の体積充填率で充填される粒子等の様々な配置状態をモデル化することができる。また、その変化の過程を再現することができる。特に、位置および方向がある程度ランダム化された当該粒子等を再現することで、実態に近いモデルを得ることができる。具体的には、特定の充填領域内に整列させた物体を徐々にランダム化することで、所望の乱雑度を有するモデルを得ることができる。そしてそのようなモデルを用いて、研究開発において熱伝導率、電気抵抗率等の計算を行うことができる。
【００３０】
図４は、本実施形態に係るシミュレーション方法を実行するためのシミュレーション装置１００の構成例を示す図である。シミュレーション装置１００は、複数の物体５０が配置された三次元空間のシミュレーション装置である。シミュレーション装置１００は、仮充填領域定義部９２、縮小干渉判定部９４、および縮小次状態決定部９６を備える。仮充填領域定義部９２には、有限の体積を有する充填領域６０内に配置された複数の物体５０の配置状態を示す空間状態データのうち、充填領域６０を示す情報を取得し、充填領域６０を縮小させた仮充填領域を示す情報を生成する。縮小干渉判定部９４は、複数の物体５０の配置状態を示す情報および仮充填領域を示す情報に基づき、仮外部領域、又は仮境界と、少なくとも１つの物体５０とが干渉しているか否かの判定を行う。縮小次状態決定部９６は、縮小干渉判定部９４が、仮外部領域又は仮境界と、少なくとも１つの物体５０とが干渉していると判定した場合に、空間状態データを変更せず、いずれの物体５０も仮外部領域とも仮境界とも干渉していないと判定した場合に、仮充填領域を新たな充填領域６０とし、新たな充填領域６０内に配置された複数の物体５０の配置状態を示す情報を新たな空間状態データとする。
【００３１】
本実施形態に係るシミュレーション装置１００は、物体移動部２４をさらに備え、物体移動部２４、仮充填領域定義部９２、縮小干渉判定部９４、および縮小次状態決定部９６を動作させる状態変更処理が繰り返し行われる。物体移動部２４は、空間状態データを取得し、複数の物体５０の内、少なくとも一つを移動させ、移動後状態データを生成する。縮小干渉判定部９４は、移動後状態データおよび仮充填領域を示す情報に基づき、仮外部領域、又は仮境界と、少なくとも１つの物体５０とが干渉しているか否かの判定を行う。縮小次状態決定部９６は、縮小干渉判定部９４が、仮外部領域又は仮境界と、少なくとも１つの物体５０とが干渉していると判定した場合に、空間状態データを変更せず、いずれの物体５０も仮外部領域とも仮境界とも干渉していないと判定した場合に、仮充填領域を新たな充填領域６０とし、新たな充填領域６０内に配置された移動後状態データに基づく複数の物体５０の配置状態を示す情報を、新たな空間状態データとする。
【００３２】
本実施形態に係るシミュレーション装置１００は、記憶部２６をさらに備える。なお、１度の状態変更処理とは、１度以上の物体移動工程Ｓ２４と１度の縮小工程を含むものとする。シミュレーション装置１００は、物体移動工程Ｓ２４と縮小工程を組み合わせた状態変更処理と、単独の縮小工程とを後述する様に適宜組み合わせて実行する。ここで、全体における物体移動工程Ｓ２４の頻度と縮小工程の頻度との割合に特に制限はない。
【００３３】
物体移動部２４は、物体移動工程Ｓ２４を行う。物体移動部２４は記憶部２６にあらかじめ保存された空間状態データを読み出して取得することができる。物体移動部２４は、たとえば空間状態データに示された複数の物体５０のうち少なくとも一つを移動させた後の複数の物体５０の配置状態を示す移動後状態データを生成する。
【００３４】
なお、一度の物体移動工程Ｓ２４では移動後状態データが一度生成されるものとする。物体移動部２４は、一度の物体移動工程Ｓ２４で一つの物体５０のみを移動させても良いし、複数の物体５０を移動させても良い。複数の物体５０を一度に移動させる場合には、後述する移動対象物選択工程Ｓ１２において、複数の移動対象物を一度に選択すれば良い。
【００３５】
一度の状態変更処理において、物体移動工程Ｓ２４は１回のみ行われても良いし、複数回行われてもよい。たとえば、物体移動工程Ｓ２４は、一度の状態変更処理において、特定回数繰り返し行われる。物体移動工程Ｓ２４の繰り返しの回数は、あらかじめ定められ記憶部２６に保持された回数を物体移動部２４が読み出して取得しても良いし、ユーザーが、図示しない入力部に任意に入力した値を取得するようにしても良い。一度の状態変更処理における物体移動工程Ｓ２４と縮小工程の頻度は、任意の割合とすることができる。
【００３６】
複数回の物体移動工程Ｓ２４によって複数個の物体５０が移動された場合、たとえば移動された各物体５０の配置状態を示すデータが少なくとも含まれる、複数の移動後状態データが生成される。もしくは、物体移動工程Ｓ２４の度に移動後状態データが更新され、複数の移動された物体５０の配置状態を示すデータが含まれる一つの移動後状態データが生成される。
【００３７】
本実施形態において、移動後状態データが移動後の全ての物体５０の配置状態を示すデータである例について説明する。ただし、これに限定されない。移動後状態データは少なくとも移動された物体５０の配置状態を含めばよく、移動された物体５０のみの配置状態を示す情報であっても良いし、移動された物体５０とその周辺のいくつかの物体５０の配置状態を示す情報であっても良い。また、移動後状態データは、空間状態データを構成する形状、位置、向き等の要素のうち、全ての要素を含んでもよいし、移動に関連した一部の要素のみから構成されていても良い。これらの例の場合、後に説明する縮小干渉判定部９４は、たとえば移動後状態データと、記憶部２６から別途取得した空間状態データとに基づいて、移動後の全ての物体５０の配置状態を示す情報を生成し、判定を行うことができる。もしくは、縮小干渉判定部９４はたとえば、移動後状態データに基づいて、移動した物体５０についてのみ判定を行うように構成しても良い。
【００３８】
物体移動工程Ｓ２４については詳しく後述する。
【００３９】
仮充填領域定義部９２は、仮充填領域定義工程Ｓ９２を行う。仮充填領域定義部９２は、記憶部２６から空間状態データのうち少なくとも充填領域６０の内外の境界を示す境界データを取得する。そして、境界データに基づき、仮充填領域を示す情報を生成する。仮充填領域を示す情報は、たとえば、充填領域６０と充填領域６０の外の領域（以下、「外部領域」と呼ぶ。）との境界を、充填領域６０の中心に向けて特定幅分移動させた後の仮境界の位置を示す情報であり得る。なお、境界を特定幅分移動させる代わりに、中心から境界までの距離が特定割合分減少するように移動させても良い。
【００４０】
なお、仮充填領域定義工程Ｓ９２は、縮小干渉判定工程Ｓ９４の前に行われれば良く、物体移動工程Ｓ２４との前後関係は特に制限されない。また、仮充填領域定義工程Ｓ９２は物体移動工程Ｓ２４と並行して行われても良い。
【００４１】
縮小干渉判定部９４は、仮外部領域または仮境界と、少なくとも１つの物体５０とが干渉しているか否かを判定する。物体５０の全てが有限の体積を有する充填領域６０内に配置された状態を維持するためである。縮小干渉判定部９４は物体移動部２４から移動後状態データを取得する。なお、一度の状態変更処理において複数回の物体移動工程Ｓ２４が行われる場合には、物体移動工程Ｓ２４の繰り返しが終了した時点で移動後状態データを取得する。
【００４２】
また、縮小干渉判定部９４は仮充填領域定義部９２から仮充填領域を示す情報を取得する。そして、縮小干渉判定部９４は移動後状態データおよび仮充填領域を示す情報に基づいて、仮外部領域または仮境界と、少なくとも１つの物体５０とが干渉しているか否かの判定を行う。
【００４３】
本実施形態において、複数の物体５０は板状の物体および球状の物体を含むため、物体５０と仮外部領域または仮境界とが干渉するか否かの判定の種類として、板状の物体と仮外部領域および仮境界との判定、および球状の物体と仮外部領域および仮境界との判定がある。このうち、球状の物体と仮外部領域および仮境界との判定は、球状の物体の中心点と仮境界との最小距離が、球状の物体の半径以下である場合、干渉していると判定され、球状の物体の中心点と仮境界との最小距離が、球状の物体の半径より大きい場合に干渉していないと判定される。
【００４４】
図５は、板状の物体と、仮外部領域または仮境界とが干渉するか否かの判定方法について説明するための図である。以下では、仮充填領域がｘｙｚの各軸と直交する面を有する直方体であり、板状の物体５０の全体がｚ軸に垂直な互いに対向する２面の内側にあるか否かを判定する例を説明する。板状の物体５０の全体が、ｘ軸に垂直な互いに対向する２面の内側にあるか否か、およびｙ軸に垂直な互いに対向する２面の内側にあるか否かは、同様にして判定することができる。これらの３方向の判定の全てにおいて、内側にあると判定された場合、板状の物体５０と仮外部領域または仮境界とは干渉しないと判定される。一方、３方向の判定のうち少なくとも一つについて内側に無いと判定された場合、板状の物体５０と仮外部領域または仮境界とは干渉すると判定される。３方向の判定は全てされても良いし、いずれか一つについて内側に無いと判定された時点で、板状の物体と仮外部領域または仮境界とが干渉すると判定され、まだ行われていない判定が中止されてもよい。ここで、判定の順序は特に限定されない。なお、板状の物体と仮外部領域または仮境界とが干渉するか否かの判定方法は本例に限定されない。
【００４５】
本図はｚ軸に垂直な２面に直交し、板状の物体５０の中心軸（物体５０の中心点を通り、法線ベクトルに平行な軸）を含む平面による、物体５０の断面図である。本図中、ＺｍａｘおよびＺｍｉｎは、仮境界を示す閾値である。四角形５０２は物体５０の輪郭であり、点線５０４は物体５０の厚さ方向の中心線である。そして、点Ｐｍａｘは物体５０のうちｚ座標が最大となる点であり、点Ｐｍｉｎは物体５０のうちｚ座標が最小となる点である。
【００４６】
板状の物体５０の中心点Ｏｄと点Ｐｍａｘとのｚ座標の差は、本図中ｄ１で示す長さとｄ２で示す長さに分けられる。ｄ１の長さは、点線５０４と物体５０の側面との交点のｚ座標と、点Ｐｍａｘのｚ座標との差の絶対値で表される。ｄ２の長さは、点線５０４と物体５０の側面との交点のｚ座標と、中心点Ｏｄのｚ座標との差の絶対値で表される。具体的にはｄ１およびｄ２の長さはそれぞれ以下の式（１）および式（２）で表され、法線ベクトルＮｉ（ｎｘｉ，ｎｙｉ，ｎｚｉ）を用いれば式（３）および式（４）で表される。なお、上述の様にＮｉは単位法線ベクトルである。ここで、角度θｚは、法線ベクトルＮｉとｚ軸とのなす角である。
【００４７】
【数１】
0006520447.tif 000002
【数２】
0006520447.tif 000003
【数３】
0006520447.tif 000004
【数４】
0006520447.tif 000005
【００４８】
ここで、物体５０の中心点Ｏｄのｚ座標ｚｉを用いて、Ｐｍａｘのｚ座標はｚｉ＋ｄ１＋ｄ２で表され、Ｐｍｉｎのｚ座標はｚｉ−ｄ１−ｄ２で表されるため、以下の式（５）および式（６）が共に成り立つ場合、物体５０の全体がｚ軸に垂直な互いに対向する２面の内側にあると判定できる。一方、式（５）および式（６）の少なくとも一方が成り立たない場合、物体５０の少なくとも一部がｚ軸に垂直な対向する２面の内側にないと判定できる。式（５）および式（６）が成り立つか否かの判定は順に行い、一方が成り立たないと判定された場合、物体５０の少なくとも一部がｚ軸に垂直な対向する２面の内側にないと判定され、まだ行われていない他方の判定が中止されても良い。なお、判定の順序は特に限定されない。
【００４９】
【数５】
0006520447.tif 000006
【数６】
0006520447.tif 000007
【００５０】
なお、仮充填領域が球状である場合、板状の物体５０の２つの主面５００の各中心点と、仮充填領域の球の中心とが含まれる平面における断面での状態に基づき、板状の物体と仮外部領域または仮境界とが干渉するか否かの判定ができる。当該断面において、物体５０の輪郭である四角形の４つの頂点が、全て当該球の輪郭である円の内側にある場合、板状の物体は仮外部領域とも仮境界とも干渉していないと判定される。一方、少なくとも一つの頂点が当該円の内側にない場合、板状の物体と仮外部領域または仮境界とは干渉していると判定される。４つの頂点の判定は全てされても良いし、いずれか一つについて円の内側に無いと判定された時点で、板状の物体と仮外部領域または仮境界とが干渉すると判定されて、まだ行われていない判定が中止されてもよい。ここで、判定の順序は特に限定されない。なお、板状の物体と球状の仮外部領域または仮境界とが干渉するか否かの判定方法は本例に限定されない。
【００５１】
なお、縮小干渉判定部９４は、全ての物体５０について、判定しても良いし、物体移動部２４で移動させた物体５０のみについて判定を行っても良い。そうすることで、計算量を低減できる。
【００５２】
なお、縮小干渉判定工程Ｓ９４において、仮外部領域又は仮境界と物体５０とが干渉しているか否かの判定を行う代わりに、仮外部領域と物体５０とが干渉しているか否かの判定のみを行い、仮外部領域と物体５０とが干渉していないと判定された場合に、物体５０は境界とも干渉していないとみなしてもよい。たとえば、式（５）または式（６）において左辺と右辺とが等しくなる場合、物体５０と境界のみとが重なると言えるが、浮動小数点数を用いた演算を行った場合、演算誤差が生じる。そのため、コンピュータを用いた判定において、等号が成り立つことは殆ど無いといってよく、等号の有り無しで判定結果が同様となる。
【００５３】
なお、充填領域６０内における物体５０の占有体積を厳密に制限する必要が無い場合等には、縮小干渉判定部９４が物体５０と仮外部領域または仮境界とが干渉しているか否かを判定する代わりに、物体５０の中心点が仮充填領域の内側にあるかどうかを判定するようにしても良い。そうすれば、計算量を低減することができる。その場合、物体５０の中心点が仮充填領域の内側にある場合に、物体５０が仮外部領域とも仮境界とも干渉していないとみなし、それ以外の場合に物体５０と仮外部領域または仮境界とが干渉しているとみなして以後の工程を行えばよい。
【００５４】
図４に戻り、縮小次状態決定部９６は、縮小干渉判定部９４から縮小干渉判定工程Ｓ９４の判定結果を取得する。また、縮小次状態決定部９６はたとえば縮小干渉判定部９４から移動後状態データを取得する。縮小次状態決定部９６は、縮小干渉判定部９４が、仮外部領域または仮境界と、少なくとも１つの物体５０とが干渉していると判定した場合には、空間状態データを変更しない。一方、いずれの物体５０も仮外部領域とも仮境界とも干渉していないと判定された場合に、仮充填領域を新たな充填領域６０とし、新たな充填領域６０内に配置された複数の物体５０の配置状態を示す情報を新たな空間状態データとする。ここで、当該配置状態は、移動後状態データに基づく移動後の配置状態である。たとえば縮小次状態決定部９６は新たな空間状態データを記憶部２６に記憶させてもよい。その際、変更前の空間状態データは記憶部２６から削除されても良いし、前時点の空間状態データとして引き続き記憶部２６に保持されても良い。各時点の空間状態データを順に並べることで、充填領域６０の段階的な縮小の過程をシミュレーションすることもできる。
【００５５】
縮小次状態決定部９６が空間状態データを変更しなかった場合、再度、状態変更処理を行う。すなわち、物体移動工程Ｓ２４および縮小工程を行う。物体移動工程Ｓ２４を行うことで、物体５０の配置が変化し、さらに縮小できる可能性があるからである。一方、縮小次状態決定部９６が空間状態データを変更した場合、再度状態変更処理、すなわち物体移動工程Ｓ２４および縮小工程の両方を行っても良いし、再度縮小工程のみを行ってもよい。繰り返し縮小工程を行うことで、より高密度で充填されたモデルを作成することが出来る。
【００５６】
状態変更処理の繰り返しは、特定回数、状態変更処理が行われた時点で終了することができる。もしくは、縮小次状態決定部９６によって空間状態データが特定回数変更された時点で終了することができる。これらの回数は、あらかじめ定められ記憶部２６に保持された回数を物体移動部２４が読み出して取得しても良いし、ユーザーが、図示しない入力部に任意に入力した値を取得するようにしても良い。
【００５７】
物体移動部２４および物体移動工程Ｓ２４について以下に詳しく説明する。
【００５８】
図６は、本実施形態に係る物体移動工程Ｓ２４のフローである。本実施形態に係る物体移動工程Ｓ２４は、移動対象物選択工程Ｓ１２、移動情報生成工程Ｓ１４、対象物移動工程Ｓ１６、移動干渉判定工程Ｓ７０、および移動次状態決定工程Ｓ１８が含まれる。移動対象物選択工程Ｓ１２では、複数の物体５０の内、移動させようとする少なくとも１つの移動対象物５６が選択される。移動情報生成工程Ｓ１４では、移動対象物５６をどのように移動させるかを示す移動情報が生成される。対象物移動工程Ｓ１６では、移動情報に基づき移動対象物５６を移動させた後の、三次元空間における少なくとも移動対象物５６の配置状態に関する情報を含む、仮移動後状態データが生成される。
【００５９】
移動干渉判定工程Ｓ７０では、仮移動後状態データに基づき、三次元空間において複数の物体５０が互いに干渉しているか否かが判定される。また、移動干渉判定工程Ｓ７０では、外部領域、又は充填領域６０と外部領域との境界と、少なくとも１つの物体５０とが干渉しているか否かが判定される。移動次状態決定工程Ｓ１８では、移動干渉判定工程Ｓ７０において複数の物体５０が互いに干渉していないと判定され、かつ、いずれの物体５０も外部領域とも当該境界とも干渉していないと判定された場合に、仮移動後状態データが移動後状態データとして生成される。対象物移動工程Ｓ１６では、移動対象物５６の平行移動および回転移動のうち少なくとも一方が行われる。以下に詳細に説明する。
【００６０】
図７は、本実施形態に係る物体移動部２４の構成を示すブロック図である。本実施形態に係る物体移動部２４は、移動対象物選択部１２、移動情報生成部１４、対象物移動部１６、移動干渉判定部７０、および移動次状態決定部１８を含む。移動対象物選択部１２は、三次元空間における複数の物体５０の配置状態を示す空間状態データを取得する。そして、移動対象物選択部１２は、複数の物体５０の内、移動させようとする少なくとも１つの移動対象物５６を選択する（移動対象物選択工程Ｓ１２）。移動情報生成部１４は、移動対象物５６をどのように移動させるかを示す移動情報を生成する（移動情報生成工程Ｓ１４）。対象物移動部１６は、移動情報に基づき移動対象物５６を移動させた後の、三次元空間における少なくとも移動対象物５６の配置状態に関する情報を含む、仮移動後状態データを生成する（対象物移動工程Ｓ１６）。移動干渉判定部７０は、仮移動後状態データに基づき、三次元空間において複数の物体５０が互いに干渉しているか否かを判定する（移動干渉判定工程Ｓ７０）。移動次状態決定部１８は、移動干渉判定部７０において、複数の物体５０が互いに干渉していないと判定された場合に、移動情報に基づき移動対象物５６を移動させた後の、三次元空間における複数の物体５０の配置状態を示す情報を移動後状態データとして生成する（移動次状態決定工程Ｓ１８）。以下に詳しく説明する。
【００６１】
移動対象物選択部１２は、移動対象物選択工程Ｓ１２を行う。すなわち、移動対象物選択部１２は、三次元空間における複数の物体５０全ての配置状態を示す空間状態データを取得する。
【００６２】
そして、移動対象物選択部１２は、複数の物体５０の内、移動させようとする少なくとも１つの移動対象物５６を選択する。移動対象物５６は、複数の物体５０の全ての中から、任意に選択することができる。配置状態をランダム化する観点から、ナンバリングされた複数の物体５０から、一様乱数等を用いてランダムに選択することが好ましい。
【００６３】
移動情報生成部１４は、移動情報生成工程Ｓ１４を行う。すなわち移動情報生成部１４は、移動対象物５６をどのように移動させるかを示す移動情報を生成する。本実施形態に係る移動情報生成部１４では、ランダム化のため一様乱数を用いて移動情報を生成する。移動対象物５６の移動には、平行移動と、回転移動とがある。
【００６４】
平行移動に関する情報は、たとえば移動前後の各座標の差Δｘｐ、ΔｙｐおよびΔｚｐで表される。ここで、Δｘｐ、ΔｙｐおよびΔｚｐは、一様乱数ａｐ、θｐ、およびφｐ（０≦ａｐ＜ａｐｍａｘ、０≦θｐ＜２π、−π／２≦φｐ＜＋π／２）を用いてそれぞれΔｘｐ＝ａｐ・ｃｏｓφｐ・ｃｏｓθｐ、Δｙｐ＝ａｐ・ｃｏｓφｐ・ｓｉｎθｐ、Δｚｐ＝ａｐ・ｓｉｎφｐで表される。ただし、これに限定されない。平行移動に関する情報は、たとえば移動後の座標を表す情報であっても良い。
【００６５】
回転移動に関する情報は、たとえば移動後の法線ベクトル（ｎｘｒ，ｎｙｒ，ｎｚｒ）で表される。ここで、ｎｘｒ，ｎｙｒ、およびｎｚｒは、一様乱数θｒおよびφｒ（０≦θｒ＜２π、−π／２≦φｒ＜＋π／２）を用いてそれぞれｎｘｒ＝ｃｏｓφｒ・ｃｏｓθｒ、ｎｙｒ＝ｃｏｓφｒ・ｓｉｎθｒ、およびｎｚｒ＝ｓｉｎφｒで表される。ただし、これに限定されない。回転移動に関する情報は、たとえば移動前後の法線ベクトルの向きの差を示す情報であっても良い。
【００６６】
移動情報は、平行移動に関する情報、および回転移動に関する情報の少なくとも一方であっても良いし、平行移動に関する情報、および回転移動に関する情報の両方を含んでも良い。ただし、物体移動工程Ｓ２４が繰り返される中で平行移動および回転移動がランダムに行われるように、移動情報が生成されるようにすれば、配置状態をランダム化することができる。
【００６７】
なお、移動対象物選択工程Ｓ１２と移動情報生成工程Ｓ１４の順序は問わず、移動対象物選択工程Ｓ１２の後に移動情報生成工程Ｓ１４が行われても良いし、移動情報生成工程Ｓ１４の後に移動対象物選択工程Ｓ１２が行われても良い。あるいは、移動対象物選択工程Ｓ１２と移動情報生成工程Ｓ１４とが同時に行われても良い。
【００６８】
対象物移動部１６は、対象物移動工程Ｓ１６を行う。すなわち、対象物移動部１６は、移動情報に基づき移動対象物５６を移動させた後の、三次元空間における少なくとも前記移動対象物の配置状態に関する情報を含む、仮移動後状態データを生成する。本実施形態では、仮移動後状態データは、全ての物体５０の配置状態を示す情報である場合について説明する。
【００６９】
対象物移動部１６は、仮移動後状態データを生成するために、移動対象物選択部１２から、移動対象物５６を示すデータを取得し、移動情報生成部１４から移動情報を取得し、記憶部２６から空間状態データを取得する。そして、空間状態データが示す配置状態に対し、移動対象物５６を移動情報が示す様に移動させ、その後の三次元空間における複数の物体５０の配置状態を示すデータを仮移動後状態データとして生成する。たとえば、上記の移動情報の例では、移動前の移動対象物５６の中心座標を（ｘ０，ｙ０，ｚ０）とした場合、平行移動後の中心座標は（ｘ０＋Δｘｐ，ｙ０＋Δｙｐ，ｚ０＋Δｚｐ）とされる。また、たとえば移動前の移動対象物５６の法線ベクトルに関わらず、回転移動後の法線ベクトルは（ｎｘｒ，ｎｙｒ，ｎｚｒ）とされる。
【００７０】
なお、移動に制限を設けることで、物体５０の向きを制御しつつランダム化することができ、物体５０の向きが所望の異方性を有するモデルを作成できる。移動に制限を設ける方法としては、たとえば移動情報の生成に用いる乱数の範囲を制限する方法が挙げられる。
【００７１】
移動干渉判定部７０は、移動干渉判定工程Ｓ７０を行う。移動干渉判定部７０は、対象物移動部１６から仮移動後状態データを取得する。そして、仮移動後状態データが示す配置状態において、複数の物体５０が互いに干渉していないかどうかを判定する。移動干渉判定部７０は、たとえば、複数の物体５０のうち任意の２つの物体５０を選択し、当該２つの物体５０が互いに干渉しているか否かを判定する。そして、全ての物体５０が他の物体５０と干渉していない場合、複数の物体５０が互いに干渉していないと判定する。一方、少なくとも一つの物体５０が他の物体５０と干渉している場合、物体５０同士の干渉が生じていると判定する。ここで、物体５０同士が干渉している状態とは、三次元空間中の１点に２つ以上の物体５０の一部が存在する状態をいう。現実にはこのような状態は生じ得ないが、計算上、この様な状態が仮定され得る。現実に則したシミュレーションを行いたい場合には、干渉状態は許されない状態として禁止される必要があり、干渉状態を生じていないか否かを判定することが重要である。
【００７２】
なお、物体５０同士が互いに干渉しているか否かの判定は全ての物体５０に対して行われる必要は無く、いずれか一つの物体５０が他の物体５０と干渉していると判定された時点で、物体５０同士の干渉が生じていると判定され、まだ行われていない物体５０に関する判定が中止されても良い。ここで、複数の物体５０の判定を行う順序は特に限定されない。
【００７３】
本実施形態において、複数の物体５０は板状の物体および球状の物体を含むため、２つの物体５０同士が干渉するか否かの判定の種類として、板状の物体同士の判定、板状の物体と球状の物体との判定、球状の物体同士の判定がある。このうち、球状の物体同士の判定は、二つの球状の物体の中心間距離が両球状の物体の半径の和以下である場合、干渉していると判定され、それ以外の場合に干渉していないと判定される。板状の物体同士の判定、および板状の物体と球状の物体との判定については後に詳しく説明する。
【００７４】
また、複数の物体５０の全ては、有限の体積を有する充填領域６０内に配置されている。この状態を維持するため、移動干渉判定工程Ｓ７０では、外部領域、または充填領域６０と外部領域との境界と、少なくとも１つの物体５０とが干渉しているか否かがさらに判定される。
【００７５】
移動干渉判定部７０は、たとえば、複数の物体５０のうち任意の１つの物体５０を選択し、当該物体５０が外部領域または当該境界と干渉しているか否かを判定する。そして、複数の物体５０のうち、少なくとも１つの物体５０と外部領域または当該境界とが干渉している場合、物体５０と外部領域または当該境界との干渉が生じていると判定する。一方、複数の物体５０の全てが外部領域とも当該境界とも干渉していない場合、物体５０と外部領域または当該境界との干渉が生じていないと判定する。ここで、物体５０と外部領域または当該境界とが干渉している状態とは、物体５０の少なくとも一部分が充填領域６０の外または境界上にある状態をいう。
【００７６】
なお、物体５０と外部領域または当該境界との干渉が生じているか否かの判定は全ての物体５０に対して行われる必要は無く、いずれか一つの物体５０が外部領域または当該境界と干渉していると判定された時点で、物体５０と外部領域または当該境界との干渉が生じていると判定され、まだ行われていない物体５０に関する判定が中止されても良い。ここで、複数の物体５０の判定を行う順序は特に限定されない。
【００７７】
物体５０と外部領域または当該境界との干渉が生じているか否かの判定は、上述した縮小干渉判定部９４における、物体５０と仮外部領域または仮境界との干渉が生じているか否かの判定と同様に行うことができる。
【００７８】
なお、移動干渉判定部７０は、全ての物体５０について、判定しても良いし、移動対象物５６のみについて判定を行っても良い。そうすることで、計算量を低減できる。
【００７９】
なお、充填領域６０内における物体５０の占有体積を厳密に制限する必要が無い場合等には、移動干渉判定部７０が物体５０と外部領域または当該境界とが干渉しているか否かを判定する代わりに、物体５０の中心点が充填領域６０の内側にあるかどうかを判定するようにしても良い。そうすれば、計算量を低減することができる。その場合、物体５０の中心点が充填領域６０の内側にある場合に、物体５０が外部領域とも当該境界とも干渉していないとみなし、それ以外の場合に物体５０と外部領域または当該境界とが干渉しているとみなして以後の工程を行えばよい。
【００８０】
なお、移動干渉判定工程Ｓ７０において、充填領域６０、又は充填領域６０と外部領域との物体５０とが干渉しているか否かの判定を行う代わりに、外部領域と物体５０とが干渉しているか否かの判定のみを行い、外部領域と物体５０とが干渉していないと判定された場合に、物体５０が当該境界とも干渉していないとみなしてもよい。
【００８１】
移動次状態決定部１８は、移動次状態決定工程Ｓ１８を行う。移動次状態決定部１８は移動干渉判定部７０から仮移動後状態データおよび、移動干渉判定部７０による判定結果を示すデータを取得する。そして、移動次状態決定部１８は、移動干渉判定工程Ｓ７０において、複数の物体５０が互いに干渉していないと判定され、かつ、いずれの物体５０も、外部領域とも充填領域６０と外部領域との境界とも干渉していないと判定された場合に、対象物移動部１６により生成された仮移動後状態データを移動後状態データとして生成する。一方、その他の場合、すなわちいずれかの物体５０同士で干渉を生じている場合、またはいずれかの物体５０と外部領域または当該境界とが干渉している場合には、移動後状態データを生成しない。移動後状態データが生成されなかった場合、再度、移動対象物選択工程Ｓ１２、移動情報生成工程Ｓ１４、対象物移動工程Ｓ１６、移動干渉判定工程Ｓ７０、および移動次状態決定工程Ｓ１８が行われ、少なくとも１度、移動後状態データが生成されるまで繰り返される。生成された移動後状態データは、順に記憶部２６に記憶される様にしても良い。移動後状態データを順に並べることで、ランダム化の過程をシミュレーションすることもできる。
【００８２】
なお、本実施形態では、仮移動後状態データは、全ての物体５０の配置状態を示す情報である場合について説明しているが、これに限定されない。たとえば、仮移動後状態データは、移動対象物５６の配置状態を示す情報を少なくとも含めば良く、移動対象物５６のみの配置状態を示す情報であっても良いし、移動対象物５６とその周辺のいくつかの物体５０の配置状態を示す情報であっても良い。また、仮移動後状態データは、空間状態データを構成する形状、位置、向き等の要素のうち、全ての要素を含んでもよいし、移動に関連した一部の要素のみから構成されていても良い。これらの例の場合、移動干渉判定部７０はたとえば対象物移動部１６から取得した仮移動後状態データと、記憶部２６から取得した空間状態データとに基づいて、移動対象物５６が移動した後の全ての物体５０の配置状態を示す情報を生成し、判定を行うことができる。もしくは、移動干渉判定部７０はたとえば、対象物移動部１６から取得した仮移動後状態データに基づいて、移動対象物５６とその周辺のいくつかの物体５０の配置状態のみについて干渉判定を行ってもよい。
【００８３】
なお、本実施形態では、物体移動工程Ｓ２４中に移動干渉判定工程Ｓ７０を含む例について説明したが、物体移動工程Ｓ２４において移動干渉判定工程Ｓ７０を行わず、対象物移動工程Ｓ１６で生成された仮移動後状態データを移動後状態データとして生成しても良い。その場合、縮小干渉判定工程Ｓ９４において、仮外部領域または仮境界と、少なくとも１つの物体５０とが干渉しているか否かの判定に加え、複数の物体５０が互いに干渉していないかどうかの判定をさらに行い、いずれの干渉も生じていない場合に、空間状態データを変更すればよい。また、移動干渉判定部７０は、物体５０同士の干渉の有無のみを判定し、物体５０と外部領域または境界との判定を省略しても良い。
【００８４】
［板状の物体同士の干渉判定］
次に、複数の物体５０が第１の板状の物体および第２の板状の物体を少なくとも含み、移動干渉判定部７０が第１の板状の物体と第２の板状の物体とが干渉するか否かを判定する方法について詳細を述べる。
【００８５】
図８は、本実施形態に係る移動干渉判定工程Ｓ７０のフローである。
本実施形態に係る移動干渉判定工程Ｓ７０は、判定対象物選択工程Ｓ１０、座標定義工程Ｓ２０、投影像判定工程Ｓ３０、および、立体判定工程Ｓ４０を含む。判定対象物選択工程Ｓ１０では、複数の物体５０から、第１の板状の物体が第１対象物５２として選択され、第２の板状の物体が第２対象物５４として選択される。座標定義工程Ｓ２０では、第１対象物５２および第２対象物５４に対し、１つの直交座標系が定義される。投影像判定工程Ｓ３０では、直交座標系の基準面に投影した、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かが判定される。立体判定工程Ｓ４０では、三次元空間において第１対象物５２と第２対象物５４とが干渉するか否かが判定される。ここで、第１対象物５２および第２対象物５４は板状であり、当該直交座標系は、互いに直交するｅ１軸、ｅ２軸、およびｅ３軸からなる。
【００８６】
そして、投影像判定工程Ｓ３０は、第１基準面判定工程、第２基準面判定工程、および第３基準面判定工程のうち少なくとも一つを含む。第１基準面判定工程では、ｅ１軸とｅ２軸とからなる第１基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かが判定される。第２基準面判定工程では、ｅ２軸とｅ３軸とからなる第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かが判定される。第３基準面判定工程では、ｅ３軸とｅ１軸とからなる第３基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かが判定される。投影像判定工程Ｓ３０で第１基準面、第２基準面、および第３基準面のうち少なくとも一つにおいて第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定された場合に、立体判定工程Ｓ４０では、第１対象物５２と第２対象物５４とが干渉していない状態であると判定される。以下に詳細に説明する。
【００８７】
本実施形態に係る移動干渉判定工程Ｓ７０は、少なくとも１つの基準平面に投影した、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かを判定し、それらの投影像が互いに重なるか否かの判定結果に基づいて、第１対象物５２と第２対象物５４とが互いに干渉するか否かを判定する。
【００８８】
本実施形態に係る移動干渉判定工程Ｓ７０では、三次元空間において任意の位置及び角度を有する複数の板状の物体５０が、互いに干渉しているかどうかが判定される。
【００８９】
複数の球形の物体同士が干渉するか否かは、その中心間距離と半径のみにより容易に判定が可能である。具体的には、二つの球の中心間距離がそれら二つの球の半径の和よりも小さい場合、干渉していると判定できる。それに対し、本実施形態に係る板状の物体５０は、この様に三次元に異方的な形状を有し、さらにそれぞれが方向を有するため、球状の物体の場合と同じ方法では正確な干渉判定ができない。たとえば、主面同士が平行である場合等、二つの物体５０の中心間距離がそれらの外接球の半径の和よりも小さい場合でも、干渉していないという状態があり得る。本実施形態に係る移動干渉判定工程Ｓ７０では、物体５０の形状および向きを加味して判定されるため、より正確な干渉判定が可能である。
【００９０】
図９は、本実施形態に係る移動干渉判定工程Ｓ７０を用いて干渉判定を行う移動干渉判定部７０のブロック図である。本図では、板状の物体５０同士の干渉を判定する部分についてのみを示している。移動干渉判定部７０は、判定対象物選択部１０、座標定義部２０、投影像判定部３０、および立体判定部４０を備える。判定対象物選択部１０は、複数の物体５０から、第１対象物５２および第２対象物５４を選択する（判定対象物選択工程Ｓ１０）。座標定義部２０は、第１対象物５２および第２対象物５４に対し、１つの直交座標系を定義する（座標定義工程Ｓ２０）。投影像判定部３０は、当該直交座標系の基準面に投影した、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かを判定する（投影像判定工程Ｓ３０）。立体判定部４０は、三次元空間において、第１対象物５２と第２対象物５４とが干渉するか否かを判定する（立体判定工程Ｓ４０）。具体的には、立体判定部４０は、投影像判定部３０で第１基準面、第２基準面、および第３基準面のうち少なくとも一つにおいて第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定された場合に、第１対象物５２と第２対象物５４とが干渉していない状態であると判定する。以下に、各工程の内容と共に詳細を説明する。
【００９１】
判定対象物選択部１０は、三次元空間における全ての複数の物体５０の状態を示す仮移動後状態データを対象物移動部１６から取得する。なお、判定対象物選択部１０は、記憶部２６に一度保存された仮移動後状態データを読み出して取得するようにしてもよい。
【００９２】
判定対象物選択部１０は、取得した仮移動後状態データに基づき判定対象物選択工程Ｓ１０を行う。判定対象物選択工程Ｓ１０では、複数の物体５０から、第１対象物５２および第２対象物５４が選択される。第１対象物５２および第２対象物５４としては、複数の物体５０のうち異なる２つの板状の物体５０が任意に選択されうる。なお、二つの物体５０の中心間距離が各物体５０の外接球の半径ｒｃｓの和よりも大きい場合には、当該二つの物体５０は干渉しないとして、選択する組み合わせから排除されてもよい。たとえば、円板状の物体５０について、外接球の半径ｒｃｓは、円板の中心軸を通る断面での対角線の半分の長さ、すなわち（（ｌ２／４）＋ｒ２）１／２である。
【００９３】
判定対象物選択部１０は、選択した第１対象物５２および第２対象物５４それぞれの状態データを、仮移動後状態データから抽出する。以下では、選択した第１対象物５２の半径をｒｐ、厚みをｌｐ、中心点の座標を（ｘｐ，ｙｐ，ｚｐ）、法線ベクトルをＮｐ（ｎｘｐ，ｎｙｐ，ｎｚｐ）と表し、第２対象物５４の半径をｒｃ、厚みをｌｃ、中心点の座標を（ｘｃ，ｙｃ，ｚｃ）、法線ベクトルをＮｃ（ｎｘｃ，ｎｙｃ，ｎｚｃ）と表す。なお、上述の様に法線ベクトルは単位ベクトルであり、長さは１とする。
【００９４】
座標定義部２０は、座標定義工程Ｓ２０を行う。座標定義部２０は、判定対象物選択部１０が抽出した第１対象物５２および第２対象物５４の状態データを取得する。そして座標定義部２０は、第１対象物５２および第２対象物５４の状態データに基づき、直交座標系を定義する。
【００９５】
図１０は、座標定義工程Ｓ２０で定義する直交座標系を示す図である。
本実施形態に係る座標定義工程Ｓ２０で定義する直交座標系は、互いに直交するｅ１軸、ｅ２軸、およびｅ３軸からなる。座標定義工程Ｓ２０では、第１対象物５２の中心が原点と一致し、第１対象物５２の主面とｅ３軸とが直交し、第２対象物５４の主面の法線ベクトルのｅ２成分が０となるよう直交座標系が定義される。直交座標系をこのように定義することにより、判定に用いる条件を簡単な数式で表すことができ、計算量を低減することができる。
【００９６】
上述したとおり、第１対象物５２の半径はｒｐ、厚みはｌｐであり、第２対象物５４の半径はｒｃ、厚みはｌｃであり、直交座標系における第２対象物５４の中心座標は（ａ，ｂ，ｃ）であり、第１対象物５２の主面の法線ベクトルと第２対象物５４の主面の法線ベクトルとのなす角は、０ｒａｄ以上π／２ｒａｄ以下の角度θで表すことができる。ここで、物体５０は反転しても状態が変わらないため、法線ベクトルは反転されても良い。本図中、Ｎｐ'は第１対象物５２の主面の法線ベクトルを示し、Ｎｃ'は第２対象物５４の主面の法線ベクトルを示している。
【００９７】
なお、座標定義工程Ｓ２０において定義する座標系は、特に限定されない。上記とは異なるような軸を定義した場合には、それに応じて以下の判定に用いる数式等は適宜変形されればよい。
【００９８】
座標定義工程Ｓ２０で定義される直交座標系は、三次元空間の仮移動後状態データにおける直交座標と同じであっても良いし異なっていても良い。以下では、三次元空間の仮移動後状態データにおける直交座標を「ｘｙｚ座標系」座標定義工程Ｓ２０で定義される座標系を「ｅ１ｅ２ｅ３座標系」と呼ぶ。
【００９９】
ｅ１ｅ２ｅ３座標系は、三次元空間における任意の二つの板状の物体５０に対して定義されうる。ここで、ｘｙｚ座標系と、ｅ１ｅ２ｅ３座標系とは、以下の式（７）の関係で変換可能である。ただし、式（７）中のＡは以下の式（８）で表される。
【０１００】
【数７】
0006520447.tif 000008
【数８】
0006520447.tif 000009
【０１０１】
ｅ１ｅ２ｅ３座標系において、第１対象物５２の中心点の座標は（０，０，０）、法線ベクトルは（０，０，１）で表される。また、第２対象物５４の中心点の座標（ａ，ｂ，ｃ）および法線ベクトルＮｃ'（ｎｘｃ'，ｎｙｃ'，ｎｚｃ'）は、それぞれ以下の式（９）および式（１０）で表される。なお、式（９）中、Δｘ、Δｙ、Δｚはそれぞれ、ｘｙｚ座標系における第１対象物５２の中心点の座標（ｘｐ，ｙｐ，ｚｐ）、第２対象物５３の中心点の座標（ｘｃ，ｙｃ，ｚｃ）を用いて、Δｘ＝ｘｃ−ｘｐ、Δｙ＝ｙｃ−ｙｐ、Δｚ＝ｚｃ−ｚｐで表される。
【０１０２】
【数９】
0006520447.tif 000010
【数１０】
0006520447.tif 000011
【０１０３】
この様に、座標定義部２０は、第２対象物５４の中心点の座標（ａ，ｂ，ｃ）および法線ベクトルＮｃ'（ｎｘｃ'，ｎｙｃ'，ｎｚｃ'）を示すデータを生成する。
【０１０４】
図９に戻り、投影像判定部３０は、座標定義部２０から、第１対象物５２の半径ｒｐおよび厚みｌｐと、第２対象物５４の半径ｒｃ、厚みｌｃ、中心点の座標（ａ，ｂ，ｃ）、および法線ベクトルＮｃ'（ｎｘｃ'，ｎｙｃ'，ｎｚｃ'）とを示すデータを取得し、当該データに基づいて投影像判定工程Ｓ３０を行う。投影像判定工程Ｓ３０では、ｅ１ｅ２ｅ３座標系の３つの基準面に投影した、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かが判定される。
【０１０５】
図１１は、投影像判定工程Ｓ３０および立体判定工程Ｓ４０の内容示すフローである。投影像判定工程Ｓ３０は、第１基準面判定工程Ｓ３２、第２基準面判定工程Ｓ３４、および第３基準面判定工程Ｓ３６を含む。第１基準面判定工程Ｓ３２では、ｅ１軸とｅ２軸とからなる第１基準面において、第１対象物５２の投影像および第２対象物５４の投影像が互いに重なるか否かが判定される。第２基準面判定工程Ｓ３４では、ｅ２軸とｅ３軸とからなる第２基準面において、第１対象物５２の投影像および第２対象物５４の投影像が互いに重なるか否かが判定される。第３基準面判定工程Ｓ３６では、ｅ３軸とｅ１軸とからなる第３基準面において、第１対象物５２の投影像および第２対象物５４の投影像が互いに重なるか否かが判定される。
【０１０６】
立体判定工程Ｓ４０では、三次元空間において第１対象物５２と第２対象物５４とが干渉するか否かが判定される。具体的には、投影像判定工程Ｓ３０の判定結果に基づき、第１基準面判定工程Ｓ３２、第２基準面判定工程Ｓ３４、および第３基準面判定工程Ｓ３６の少なくともいずれか一つにおいて第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定された場合に、第１対象物５２と第２対象物５４とが干渉していない状態であると判定される。一方、第１基準面判定工程Ｓ３２、第２基準面判定工程Ｓ３４、および第３基準面判定工程Ｓ３６の全てにおいて、第１対象物５２および第２対象物５４の投影像が互いに重なると判定された場合に、第１対象物５２と第２対象物５４とが干渉している状態であると判定される。
【０１０７】
なお、第１基準面判定工程Ｓ３２、第２基準面判定工程Ｓ３４、および第３基準面判定工程Ｓ３６は、全て行われても良いし、いずれか一つの工程で、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定された時点で、まだ行われていない他の工程が中止され、第１対象物５２と第２対象物５４とが干渉していない状態であると判定されてもよい。なお、第１基準面判定工程Ｓ３２、第２基準面判定工程Ｓ３４、および第３基準面判定工程Ｓ３６の実施順は特に限定されない。
【０１０８】
図９に戻り、本実施形態に係る投影像判定部３０は、第１基準面判定部３２、第２基準面判定部３４、および第３基準面判定部３６を備える。第１基準面判定部３２は第１基準面判定工程Ｓ３２を行い、第２基準面判定部３４は第２基準面判定工程Ｓ３４を行い、第３基準面判定部３６は第３基準面判定工程Ｓ３６を行う。第１基準面判定工程Ｓ３２、第２基準面判定工程Ｓ３４、および第３基準面判定工程Ｓ３６については、後に詳しく説明する。
【０１０９】
第１基準面判定部３２、第２基準面判定部３４、および第３基準面判定部３６はそれぞれ、第１基準面、第２基準面、および第３基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かの判定結果を示す判定データを生成する。
【０１１０】
立体判定部４０は、立体判定工程Ｓ４０を行う。立体判定部４０は、投影像判定部３０から、第１基準面、第２基準面、および第３基準面それぞれに関する当該判定データを取得する。そして、立体判定部４０は立体判定工程Ｓ４０を行い、三次元空間において第１対象物５２と第２対象物５４とが干渉しているか否かを示す判定結果を示すデータを出力する。
【０１１１】
さらに、判定対象物選択部１０が複数の物体５０から別の２つの板状の物体５０を第１対象物５２および第２対象物５４として選択し、同様に干渉するか否かの判定が行われてもよい。三次元空間中の全ての板状の物体５０について、他の板状の物体５０との干渉判定が行われることで、三次元空間内で板状の物体５０同士の干渉状態が生じていないかどうかの判定が可能である。なお、二つの物体５０の中心間距離が各物体５０の外接球の半径ｒｃｓの和よりも大きい場合には、当該二つの物体５０は干渉しないとして、当該二つの物体５０は干渉しないと判定され、その他の組み合わせについて、上記の干渉判定が行われるようにしても良い。
【０１１２】
＜第１基準面判定工程＞
第１基準面判定工程Ｓ３２について以下に説明する。本実施形態に係る第１基準面判定工程Ｓ３２では、それぞれ第２対象物５４の第１基準面における投影像に含まれる、第１投影領域、第２投影領域、および第３投影領域が定義され、各領域と第１対象物５２の投影像とが重なるか否かが判定される。以下に詳細を説明する。
【０１１３】
図１２は、第１基準面判定工程Ｓ３２の内容を示すフローである。
第１基準面判定工程Ｓ３２は、第１部分判定工程Ｓ３２０、第２部分判定工程Ｓ３２２、および第３部分判定工程Ｓ３２４のうち少なくとも一つを含む。第１部分判定工程Ｓ３２０では、第１基準面において、第１対象物５２の投影像と、第２対象物５４の投影像のうち第２対象物５４の上面の投影部分である第１投影領域とが、重なるか否かが判定される。第２部分判定工程Ｓ３２２では、第１基準面において、第１対象物５２の投影像と、第２対象物５４の投影像のうち第２対象物５４の下面の投影部分である第２投影領域とが、重なるか否かが判定される。第３部分判定工程Ｓ３２４では、第１基準面において、第１対象物５２の投影像と、第２対象物５４の投影像のうち第１投影領域にも第２投影領域にも含まれない領域の全てを含む第３投影領域とが、重なるか否かが判定される。第１部分判定工程Ｓ３２０、第２部分判定工程Ｓ３２２、および第３部分判定工程Ｓ３２４のうち少なくとも一つにおいて、重なると判定された場合に、第１基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なると判定される。一方、第１部分判定工程Ｓ３２０、第２部分判定工程Ｓ３２２、および第３部分判定工程Ｓ３２４の全てにおいて、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定された場合に、第１基準面において、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定される。なお、ｅ１ｅ２ｅ３座標系におけるｅ３軸正方向を上として、主面のうち、「上面」と「下面」とを区別する。
【０１１４】
なお、第１部分判定工程Ｓ３２０、第２部分判定工程Ｓ３２２、および第３部分判定工程Ｓ３２４は、全て行われても良いし、いずれか一つの工程で各領域と第１対象物５２の投影像とが重なると判定された時点で、まだ行われていない他の工程が中止され、第１基準面において第１対象物５２および第２対象物５４の投影像が互いに重なると判定されてもよい。なお、第１部分判定工程Ｓ３２０、第２部分判定工程Ｓ３２２、および第３部分判定工程Ｓ３２４の実施順は特に限定されない。
【０１１５】
第１部分判定工程Ｓ３２０について、以下に説明する。
図１３（ａ）は、第１基準面における第１対象物５２の投影像と、第２対象物５４の投影像の例を示す模式図である。本図中、円５２０は、第１基準面における第１対象物５２の投影像の輪郭を示す円である。楕円５４０は、第２対象物５４の上面部分が投影された領域の輪郭を示す楕円である。第１部分判定工程Ｓ３２０では、第１基準面において、第１対象物５２の投影像と、第２対象物５４の投影像のうち第２対象物５４の上面の投影部分である第１投影領域とが、重なるか否かが判定される。第１投影領域は、本図中、楕円５４０を輪郭とする領域である。
【０１１６】
図１３（ｂ）は、第１部分判定工程Ｓ３２０について説明するための模式図である。第１対象物５２の投影像と、第１投影領域とが重なるか否かを判定するために、円５２０と同一形状の円５２１を、楕円５４０に外接させて転がさずに動かしたとき、円５２１の中心が描く楕円５４２を輪郭とする領域が定義される。その上で、第１対象物５２の投影像である円５２０の中心が、楕円５４２を輪郭とする領域内にあるか否かに基づいて、第１対象物５２の投影像と、第１投影領域とが重なるか否かが判定される。具体的には、第１対象物５２の投影像の中心が、楕円５４２を輪郭とする領域内にある場合、第１対象物５２の投影像と第１投影領域とが重なると判定され、第１対象物５２の投影像の中心が、楕円５４２を輪郭とする領域内にない場合、第１対象物５２の投影像と第１投影領域とが重ならないと判定される。
【０１１７】
上記に説明した検討は、判定の度に行う必要は無く、本実施形態において第１部分判定工程Ｓ３２０は、以下の式（１１）を用いて行うことができる。すなわち、式（１１）が成り立たない場合に、第１対象物５２の投影像と、第１投影領域とが、重ならないと判定される。
【０１１８】
【数１１】
0006520447.tif 000012
【０１１９】
次に、第２部分判定工程Ｓ３２２について、以下に説明する。
図１３（ａ）中、楕円５４１は、第２対象物５４の下面部分が投影された領域の輪郭を示す楕円である。第２部分判定工程Ｓ３２２では、第１基準面において、第１対象物５２の投影像と、第２対象物５４の投影像のうち第２対象物５４の下面の投影部分である第２投影領域とが、重なるか否かが判定される。第２投影領域は、本図中、楕円５４１を輪郭とする領域である。
【０１２０】
第２部分判定工程Ｓ３２２でも、第１部分判定工程Ｓ３２０と同様に、円５２０と同一形状の円５２１を、楕円５４１に外接させて転がさずに動かしたとき、円５２１の中心が描く楕円を輪郭とする領域が定義される。その上で、第１対象物５２の投影像である円５２０の中心が、当該楕円を輪郭とする領域内にあるか否かに基づいて、第１対象物５２の投影像と、第２投影領域とが重なるか否かが判定される。具体的には、第１対象物５２の投影像の中心が、当該楕円を輪郭とする領域内にある場合、第１対象物５２の投影像と第２投影領域とが重なると判定され、第１対象物５２の投影像の中心が、当該楕円を輪郭とする領域内にない場合、第１対象物５２の投影像と第２投影領域とが重ならないと判定される。
【０１２１】
上記に説明した検討は、判定の度に行う必要は無く、本実施形態に係る第２部分判定工程Ｓ３２２は、以下の式（１２）を用いて行うことができる。すなわち、式（１２）が成り立たない場合に、第１対象物５２の投影像と、第２投影領域とが、重ならないと判定される。
【０１２２】
【数１２】
0006520447.tif 000013
【０１２３】
次に、第３部分判定工程Ｓ３２４について、以下に説明する。
図１４（ａ）は、第１基準面における第１対象物５２の投影像と、第２対象物５４の投影像とを示す模式図であり、図１３（ａ）に相当する。図１４（ａ）中、破線で囲んだ領域５４３中には、第２対象物５４の投影像の一部の領域であって、第１投影領域にも第２の投影領域にも含まれない領域が存在する。そのため、当該領域と、第１対象物５２の投影像とが重ならないか否かを判定する必要がある。ここで、第１基準面において、第１対象物５２の投影像と、第２対象物５４の投影像のうち第１投影領域にも第２投影領域にも含まれない領域の全てを含む第３投影領域を定義し、第１対象物５２の投影像と、第３投影領域とが重ならない場合に、第１対象物５２の投影像と、第２対象物５４の投影像のうち第１投影領域にも第２投影領域にも含まれない領域とが重ならないと確かめることができる。
【０１２４】
図１４（ｂ）は、本実施形態に係る第３領域を示す図である。本図中、楕円５４４は、第２部分判定工程Ｓ３２２で説明した、円５２０と同一形状の円５２１を楕円５４１に外接させて転がさずに動かしたとき、円５２１の中心が描く楕円である。また、本図中、領域５４５が第３領域に相当する。領域５４５は、楕円５４２の長軸および楕円５４４の長軸を対向２辺とする長方形を輪郭とする領域である。このように、単純な形状の第３領域を定義することにより、第１投影領域にも第２投影領域にも含まれない領域と、第１対象物５２の投影像とが重ならないことを少ない計算量で確認することができる。
【０１２５】
第３部分判定工程Ｓ３２４では、第１対象物５２の投影像が第３領域である領域５４５と重なるか否かが判定される。判定は、領域５４５の４つの頂点座標と、第１対象物５２の投影像の中心との関係に基づいて行われる。
【０１２６】
上記に説明した検討は、判定の度に行う必要は無く、本実施形態に係る第３部分判定工程Ｓ３２４は、以下の式（１３）および式（１４）を用いて行うことができる。すなわち、式（１３）および式（１４）の少なくとも一方が成り立たない場合に、第１対象物５２の投影像と、第３投影領域とが、重ならないと判定される。なお、式（１３）および（１４）が成り立つか否かについて順に判定が行われ、一方が成り立たないと判定された時点で、第１対象物５２の投影像と第３投影領域とが重ならないと判定され、まだ行われていない他方の判定が中止されてもよい。なお、両数式について、判定を行う順序は特に限定されない。
【０１２７】
【数１３】
0006520447.tif 000014
【数１４】
0006520447.tif 000015
【０１２８】
なお、第１基準面判定工程Ｓ３２での判定方法は上記の方法に限定されない。第１対象物５２および第２対象物５４の投影像の少なくとも一部分同士が重なっているか否かを判定できればよい。また、本実施形態では、第１基準面判定工程Ｓ３２において、第１投影領域、第２投影領域、および第３投影領域について判定を行う例を説明したが、この様な方法に限定されない。第１対象物５２の投影像および第２対象物５４の投影像をそれぞれ任意に分割等して定義した領域に基づき、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かを判定しても良い。または、各投影像に基づいて定義した判定領域や、判定点等の互いの関係に基づき、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かを判定しても良い。
【０１２９】
＜第２基準面判定工程＞
第２基準面判定工程Ｓ３４について以下に説明する。
図１５（ａ）は、第２基準面における第１対象物５２の投影像と、第２対象物５４の投影像の例を示す模式図であり、図１５（ｂ）は、第１判定領域を示す図である。
本実施形態に係る第２基準面判定工程Ｓ３４では、第２基準面において、第１対象物５２の投影像および第２対象物５４の投影像を用いて定められる第１判定領域と、第２対象物５４の投影像を用いて定められる判定対象線とが重なるか否かが判定されることにより、ｅ２軸とｅ３軸とからなる第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かが判定される。以下に詳細を説明する。
【０１３０】
図１５（ａ）中、四角形５２２は、第２基準面における第１対象物５２の投影像の輪郭を示す四角形である。楕円５４６は、第２対象物５４の上面部分が投影された領域の輪郭を示す楕円である。楕円５４７は、第２対象物５４の下面部分が投影された領域の輪郭を示す楕円である。第２基準面判定工程Ｓ３４では、第２基準面において、第１対象物５２の投影像および第２対象物５４の投影像を用いて定められる第１判定領域内と、第２対象物５４の判定対象線が重なるか否かが判定される。
【０１３１】
第１判定領域とは、第２対象物５４の投影像のうち第２対象物５４の上面の投影部分と同一形状の楕円を、第１対象物５２の投影像に外接させて転がさずに動かしたとき、当該楕円の中心が描く線を輪郭とする領域である。図１５（ｂ）中、図形５２３が、当該輪郭に相当する。なお、第２対象物５４の上面の投影部分の形状と、下面の投影部分の形状とは同一である。
【０１３２】
図１６（ａ）および（ｂ）は、判定対象線８２および判定対象点８０を示す図である。判定対象線８２は図１６（ａ）および（ｂ）において点線で示されている。第２対象物５４の投影像は、上面の投影部分（楕円５４６）と下面の投影部分（楕円５４７）の間を、上下面と同一形状の楕円５４８を平行移動させてなる領域ととらえることができる。平行移動中の全ての位置で、楕円５４８が第１対象物５２の投影像と重ならない場合、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定できる。ここで、平行移動中の各位置における楕円５４８の中心点が、上述した第１判定領域内に無い場合、楕円５４８は第１対象物５２の投影像と重ならないと判定される。判定対象線８２は、平行移動中の全ての楕円５４８の中心点からなる線分である。すなわち、判定対象線８２は、第２基準面における第２対象物５４の投影像のうち、第２対象物５４の下面の中心の投影点に相当する下面中心投影点８４０と、第２対象物５４の上面の中心の投影点に相当する上面中心投影点８２０とを結ぶ線分である。
【０１３３】
第２基準面判定工程Ｓ３４では、判定対象線８２上の少なくとも一点が第１判定領域内に含まれる場合に、第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なると判定される。一方、判定対象線８２上のいずれの点も第１判定領域内に含まれない場合に、第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定される。
【０１３４】
ここで、必ずしも判定対象線８２上の全ての点について、第１判定領域内にあるか否かを判定する必要は無い。たとえば、図１６（ａ）のように、判定対象線８２の長さＬが、第１対象物５２の厚みｌｐより小さい場合、上面中心投影点８２０と下面中心投影点８４０の２点のみを判定対象点８０として第１判定領域内にあるか否かを判定すれば、判定対象線８２と第１判定領域とが重なるか否かを判定できる。上面中心投影点８２０と下面中心投影点８４０のいずれもが第１判定領域内に無い場合、その間の線分が第１判定領域と重なることはない。よって、第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定できる。
【０１３５】
一方、図１６（ｂ）のように、長さＬが、第１対象物５２の厚みｌｐ以上である場合、上面中心投影点８２０と下面中心投影点８４０のいずれもが第１判定領域内に無い場合でも、判定対象線８２上の他の点が第１判定領域に重なる場合が生じ得る。そのため、上面中心投影点８２０と下面中心投影点８４０の間にさらに判定対象点８０を設ける。ここで、全ての隣接する２つの判定対象点８０間において、間隔Ｌｓが厚みｌｐより小さくなるようにする。ただし、計算量を低減するため、判定対象点８０の数は間隔Ｌｓが厚みｌｐより小さくなる条件の下で最も少ないことが好ましい。この様に選択した全ての判定対象点８０が第１判定領域内に無い場合、第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定できる。
【０１３６】
纏めると、第２基準面における第２対象物５４の投影像のうち、下面中心投影点８４０と、上面中心投影点８２０とを結ぶ線分上にある複数の点が、複数の判定対象点８０として選択される。そして、複数の判定対象点８０は、少なくとも上面中心投影点８２０および下面中心投影点８４０を含み、互いに隣接する判定対象点８０間の距離Ｌｓは第１対象物５２の厚みｌｐよりも小さい。そして、いずれの判定対象点８０も第１判定領域内に無い場合、第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定できる。一方、複数の判定対象点８０の少なくとも一つが第１判定領域内にある場合、第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なると判定できる。
【０１３７】
なお、複数の判定対象点８０について順に判定を行い、いずれか一つの判定対象点８０が第１判定領域内にあると判定された時点で、第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なると判定され、まだ行われていない判定対象点８０の判定が中止されてもよい。なお、複数の判定対象点８０について、判定を行う順序は特に限定されない。
【０１３８】
各判定対象点８０が、第１判定領域内にあるか否かを判定する方法について、以下に説明する。
【０１３９】
図１７は、第１判定領域内に含まれる３つの領域を示す模式図である。図１７（ａ）から（ｃ）は、それぞれ図１５（ｂ）に対応する図である。本実施形態に係る第２基準面判定工程Ｓ３４では、それぞれ第１判定領域に含まれる判定領域Ａ、判定領域Ｂ、判定領域Ｃが定義され、判定対象点８０が第１判定領域内にあるか否かが判定される。図１７（ａ）は、判定領域Ａを示す図、図１７（ｂ）は、判定領域Ｂを示す図、図１７（ｃ）は、判定領域Ｃを示す図である。
【０１４０】
判定領域Ａは、図１７（ａ）のように、第２対象物５４の投影像のうち第２対象物５４の上面の投影部分と同一形状の４つの楕円５４９からなる領域である。ここで、４つの楕円５４９は、四角形５２２の４つの頂点をそれぞれ中心とする。判定対象点８０がいずれかの楕円５４９の内部にある場合、判定対象点８０が判定領域Ａ内にあると判定される。
【０１４１】
判定領域Ｂは、図１７（ｂ）のように、第１判定領域内に含まれる領域であって、楕円５４９の長軸を含みｅ２軸方向に伸びる２つの直線で第１判定領域を区切ってなる領域のうち、原点を含む領域５２６である。
【０１４２】
判定領域Ｃは、図１７（ｃ）のように、第１判定領域内に含まれる領域であって、楕円５４９の短軸を含みｅ３軸方向に伸びる２つの直線で第１判定領域を区切ってなる領域のうち、原点を含む領域５２７である。
【０１４３】
第２基準面判定工程Ｓ３４では、判定対象点８０が判定領域Ａ、判定領域Ｂ、および判定領域Ｃのいずれの領域内にも含まれない場合、当該判定対象点８０が第１判定領域内にないと判定される。
【０１４４】
なお、判定領域Ａ、判定領域Ｂ、および判定領域Ｃに判定対象点８０が含まれるか否かの判定は、全て行われても良いし、いずれか一つの領域に判定対象点８０が含まれると判定された時点で、まだ行われていない他の領域に関する判定が中止され、判定対象点８０が第１判定領域内にあると判定されてもよい。なお、定領域Ａ、判定領域Ｂ、および判定領域Ｃについての判定の順は特に限定されない。
【０１４５】
図１８は、一つの判定対象点８０が第１判定領域内にあるか否かを判定する工程のフローである。上記に説明した検討は、判定の度に行う必要は無く、本実施形態に係る第２基準面判定工程Ｓ３４は、以下の式（１５）から式（２２）を用いて行うことができる。ここで、複数の判定対象点８０の第２基準面における座標をそれぞれ（ｅ２ｎ，ｅ３ｎ）（ｎ＝１，２，・・・）とする。
【０１４６】
まず、１つの判定対象点８０について、下記の式（１５）、式（１６）、式（１７）、および式（１８）のいずれも成立しない場合、当該判定対象点８０は、判定領域Ａ内にないと判定される。
【０１４７】
【数１５】
0006520447.tif 000016
【数１６】
0006520447.tif 000017
【数１７】
0006520447.tif 000018
【数１８】
0006520447.tif 000019
【０１４８】
また、下記の式（１９）および式（２０）の少なくとも一方が成立しない場合、当該判定対象点８０は、判定領域Ｂ内にないと判定される。
【０１４９】
【数１９】
0006520447.tif 000020
【数２０】
0006520447.tif 000021
【０１５０】
また、下記の式（２１）および式（２２）の少なくとも一方が成立しない場合、当該判定対象点８０は、判定領域Ｃ内にないと判定される。
【０１５１】
【数２１】
0006520447.tif 000022
【数２２】
0006520447.tif 000023
【０１５２】
なお、Ｎ個の判定対象点８０の座標（ｅ２ｎ，ｅ３ｎ）（ｎ＝１，２，・・，Ｎ）は例えばｎ＝１・・・Ｎ−１のとき以下の式（２３）で表すことができ、ｎ＝Ｎのとき以下の式（２４）で表すことができる。ここで、Ｎは２以上の整数である。
【０１５３】
【数２３】
0006520447.tif 000024
【数２４】
0006520447.tif 000025
【０１５４】
ここで、（ｅ２１，ｅ３１）は下面中心投影点８４０の座標であり、（ｅ２Ｎ，ｅ３Ｎ）は上面中心投影点８２０の座標であり、以下の式（２５）が成り立つ。
【０１５５】
【数２５】
0006520447.tif 000026
【０１５６】
１つの判定対象点８０が、判定領域Ａ、判定領域Ｂ、判定領域Ｃのいずれの領域内にも含まれないと判定された場合、当該判定対象点８０は第１判定領域内にないと判定され、全ての判定対象点８０が第１判定領域内にないと判定された場合に、第２基準面において、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定される。
【０１５７】
具体的には、式（１５）が成立するか否かを判定する工程、式（１６）が成立するか否かを判定する工程、式（１７）が成立するか否かを判定する工程、式（１８）が成立するか否かを判定する工程、式（１９）および式（２０）のいずれもが成立するか否かを判定する工程、および式（２１）および式（２２）のいずれもが成立するか否かを判定する工程のうち少なくとも一つが行われる。そして、式（１５）が成立するか否かを判定する工程において成立すると判定された場合、式（１６）が成立するか否かを判定する工程において成立すると判定された場合、式（１７）が成立するか否かを判定する工程において成立すると判定された場合、式（１８）が成立するか否かを判定する工程において成立すると判定された場合、式（１９）および式（２０）のいずれもが成立するか否かを判定する工程でいずれもが成立すると判定された場合、または式（２１）および式（２２）のいずれもが成立するか否かを判定する工程でいずれもが成立すると判定された場合に、判定対象点８０が第１判定領域内にあると判定できる。
【０１５８】
もしくは、式（１５）が成立するか否かを判定する工程、式（１６）が成立するか否かを判定する工程、式（１７）が成立するか否かを判定する工程、式（１８）が成立するか否かを判定する工程、式（１９）および式（２０）のいずれもが成立するか否かを判定する工程、および式（２１）および式（２２）のいずれもが成立するか否かを判定する工程の全てが行われる。そして、式（１５）が成立するか否かを判定する工程において成立しないと判定され、かつ、式（１６）が成立するか否かを判定する工程において成立しないと判定され、かつ、式（１７）が成立するか否かを判定する工程において成立しないと判定され、かつ、式（１８）が成立するか否かを判定する工程において成立しないと判定され、かつ、式（１９）および式（２０）のいずれもが成立するか否かを判定する工程で少なくとも一方が成立しないと判定され、かつ、式（２１）および式（２２）のいずれもが成立するか否かを判定する工程で少なくとも一方が成立しないと判定された場合に、判定対象点８０が第１判定領域内にないと判定できる。
【０１５９】
式（１５）が成立するか否かを判定する工程、式（１６）が成立するか否かを判定する工程、式（１７）が成立するか否かを判定する工程、式（１８）が成立するか否かを判定する工程、式（１９）および式（２０）のいずれもが成立するか否かを判定する工程、および式（２１）および式（２２）のいずれもが成立するか否かを判定する工程を順に行い、式（１５）が成立すると判定された場合、式（１６）が成立すると判定された場合、式（１７）が成立すると判定された場合、式（１８）が成立すると判定された場合、式（１９）および式（２０）のいずれもが成立すると判定された場合、または式（２１）および式（２２）のいずれもが成立すると判定された場合に、判定対象点８０が第１判定領域内にあると判定されて、まだ行われていない残りの工程が中止されても良い。なお、判定の実施順は特に限定されない。
【０１６０】
なお、第２基準面判定工程Ｓ３４での判定方法は上記の方法に限定されない。第１対象物５２および第２対象物５４の投影像の少なくとも一部分同士が重なっているか否かを判定できればよい。また、本実施形態では、第２基準面判定工程Ｓ３４において、第１判定領域から定義した判定領域Ａ、判定領域Ｂ、および判定領域Ｃについて判定を行う例を説明したが、この様な方法に限定されない。たとえば、第１判定領域をそれぞれ他の方式で分割等して定義した領域に基づき、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かを判定してもよい。または、第１判定領域とは異なる判定領域と、判定点等との関係に基づき、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かを判定しても良い。
【０１６１】
＜第３基準面判定工程＞
第３基準面判定工程Ｓ３６について以下に説明する。本実施形態に係る第１基準面判定工程Ｓ３２では、ｅ３軸とｅ１軸とからなる第３基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かが判定される。
【０１６２】
本実施形態に係る第３基準面判定工程Ｓ３６では、第３基準面において、第１対象物５２の投影像および第２対象物５４の投影像を用いて定められる第２判定領域内に、第２対象物５４の投影像の中心点が含まれるか否かが判定される。そして、当該中心点が第２判定領域内に含まれない場合に、第３基準面において、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定される。一方、当該中心点が第２判定領域内に含まれる場合に、第３基準面において、第１対象物５２および第２対象物５４の投影像が互いに重なると判定される。
【０１６３】
図１９（ａ）は、第３基準面における第１対象物５２の投影像と、第２対象物５４の投影像の例を示す模式図であり、図１９（ｂ）は、第２判定領域を示す図であり、図１９（ｃ）は、第２判定領域と分割領域の関係を示す図である。
【０１６４】
図１９（ａ）中、四角形５２４は、第３基準面における第１対象物５２の投影像の輪郭を示す四角形である。四角形５５０は、第３基準面における第２対象物５４の投影像の輪郭を示す四角形である。
【０１６５】
第２判定領域とは、第２対象物５４の投影像と同一形状の四角形５５１を、第１対象物５２の投影像に外接させて転がさずに動かしたとき、四角形５５１の中心が描く線を輪郭とする領域である。図１９（ｂ）中、八角形５２５が、当該輪郭に相当する。なお、四角形の中心とは、四角形の対角線の交点である。第２判定領域内に、第２対象物５４の投影像の中心点が含まれない場合に、第３基準面において、第１対象物５２および第２対象物５４の投影像が互いに重ならないと判定される。
【０１６６】
第２対象物５４の中心点が、第２判定領域内にあるか否かを判定する方法について、以下に説明する。
【０１６７】
第３基準面判定工程Ｓ３６では、第２判定領域が、当該領域の輪郭の隣接する２つの頂点と、第３基準面の原点とを結ぶ三角形からなる複数の分割領域に分割される。そして、複数の分割領域のそれぞれに、第２対象物５４の投影像の中心点が含まれるか否かが判定され、いずれの分割領域にも当該中心点が含まれない場合に、当該中心点が第２判定領域内にないと判定される。
【０１６８】
または、複数の分割領域のうち少なくとも一つについて、第２対象物５４の投影像の中心点が含まれるか否かが判定され、複数の分割領域の少なくとも一つに当該中心点が含まれる場合に、当該中心点が第２判定領域内にあると判定される。
【０１６９】
複数の分割領域のそれぞれについて、順に第２対象物５４の投影像の中心点が含まれるか否かが判定され、いずれか一つにおいて、含まれるとの判定がされた時点でまだ行われていない残りの分割領域についての判定が中止されても良い。なお、判定の順序は特に限定されない。
【０１７０】
図１９（ｃ）は、第２判定領域と分割領域の関係を示す図である。八角形５２５の各頂点を、順にＡ１〜Ａ８とし、隣り合う２頂点と原点とを結ぶ三角形ＯＡｉＡｊ（（ｉ，ｊ）＝（１，２），（２，３），（３，４），（４，５），（５，６），（６，７），（７，８），（８，１））を分割領域とする。第２判定領域を分割してなる複数の分割領域は、具体的には三角形ＯＡ１Ａ２、三角形ＯＡ２Ａ３、三角形ＯＡ３Ａ４、三角形ＯＡ４Ａ５、三角形ＯＡ５Ａ６、三角形ＯＡ６Ａ７、三角形ＯＡ７Ａ８、および三角形ＯＡ８Ａ１である。
【０１７１】
図２０は、三角形ＯＡｉＡｊと、第２対象物５４の投影像の中心点Ｐの位置関係の例を示す図である。点Ｐが三角形ＯＡｉＡｊ内にある場合、以下の式（２６）〜式（２９）が成り立つ。
【０１７２】
【数２６】
0006520447.tif 000027
【数２７】
0006520447.tif 000028
【数２８】
0006520447.tif 000029
【数２９】
0006520447.tif 000030
【０１７３】
またここで、第２対象物５４の投影像の中心点Ｐは（ｅ１，ｅ３）＝（ａ，ｃ）で表され、Ａｉ＝（ｅ１ｉ，ｅ３ｉ）およびＡｊ＝（ｅ１ｊ，ｅ３ｊ）としたとき、式（２６）に基づいて、αおよびβはそれぞれ以下の式（３０）および式（３１）で表される。
【０１７４】
【数３０】
0006520447.tif 000031
【数３１】
0006520447.tif 000032
【０１７５】
上記に説明した検討は、判定の度に行う必要は無く、本実施形態に係る第３基準面判定工程Ｓ３６では、それぞれ式（３０）および式（３１）で表されるαおよびβについて、式（２７）、式（２８）、および式（２９）の少なくともひとつが成り立たない場合に、各分割領域である三角形ＯＡｉＡｊ内に第２対象物５４の投影像の中心点が含まれないと判定される。一方、式（２７）、式（２８）、および式（２９）の全てが成り立つ場合に、各分割領域である三角形ＯＡｉＡｊ内に第２対象物５４の投影像の中心点が含まれると判定される。
【０１７６】
なお、式（２７）、式（２８）、および式（２９）が成り立つか否かの判定を順に行い、いずれか一つが成り立たないと判定された時点で、その分割領域内に第２対象物５４の投影像の中心が含まれないと判定され、まだ行っていない判定が中止されてもよい。なお、式（２７）、式（２８）、および式（２９）が成り立つか否かの判定を行う順は特に限定されない。
【０１７７】
ここで、Ａｉ＝（ｅ１ｉ，ｅ３ｉ）およびＡｊ＝（ｅ１ｊ，ｅ３ｊ）とし、第２判定領域の頂点Ａｍ＝（ｅ１ｍ，ｅ３ｍ）（ｍ＝１〜８）はそれぞれ下記の式（３２）から式（３９）で表される。
【０１７８】
【数３２】
0006520447.tif 000033
【数３３】
0006520447.tif 000034
【数３４】
0006520447.tif 000035
【数３５】
0006520447.tif 000036
【数３６】
0006520447.tif 000037
【数３７】
0006520447.tif 000038
【数３８】
0006520447.tif 000039
【数３９】
0006520447.tif 000040
【０１７９】
なお、第３基準面判定工程Ｓ３６での判定方法は上記の方法に限定されない。第１対象物５２および第２対象物５４の投影像の少なくとも一部分同士が重なっているか否かを判定できればよい。本実施形態では、第３基準面判定工程Ｓ３６において、第２判定領域を複数の三角形の分割領域に分割し、判定を行う例を説明したが、この様な方法に限定されない。たとえば、第２判定領域を他の方式で分割等して定義した領域に基づき、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かを判定してもよい。または、第２判定領域とは異なる判定領域と判定点等との関係に基づき、第１対象物５２および第２対象物５４の投影像が互いに重なるか否かを判定しても良い。
【０１８０】
なお、本実施形態において、第１対象物５２と第２対象物５４とが「干渉していない」と判定されなかった場合、たとえば、第１対象物５２と第２対象物５４とが「干渉している」と判定されてもよい。本実施形態に係る移動干渉判定工程Ｓ７０において、「干渉していない」と判定された場合には、三次元空間において第１対象物５２と第２対象物５４とは干渉していないといえる。一方、上記の様に「干渉している」と判定された場合であっても、実際には干渉している場合と、干渉していない場合とが含まれる。しかしながら、シミュレーションにおいては、「干渉している」と判定された状態を禁止すれば、第１対象物５２と第２対象物５４とが干渉している状態を避けられるため、有益である。また、「干渉している」と判定されたにもかかわらず、実際には干渉していないという場合が生じる頻度は十分に稀であり、実用上の問題は無い。また、上述した様な外接球の半径と距離のみに基づく判定方法に比べて、「干渉している」と判定されたにもかかわらず、実際には干渉していないという場合の割合は、格段に小さく、より正確な判定方法であると言える。
【０１８１】
また、座標定義工程Ｓ２０で定義される座標が直交座標であることにより、「干渉している」と判定されたにもかかわらず実際には干渉していないという場合が生じる頻度をより低減させることができる。よって、より正確な判定が可能である。
【０１８２】
本実施形態に係る移動干渉判定工程Ｓ７０によれば、三次元空間における複数の板状の対象物が、干渉するか否かを判定することができる。
【０１８３】
また、各判定工程が、簡単な数式の関係を満たすか否かによって行われるため、少ない計算量で、判定可能である。
【０１８４】
また、物体の形状および向きを加味して判定されるため、より正確な干渉判定が可能である。
【０１８５】
［板状の物体と球状の物体との干渉判定］
図２１は、本実施形態に係る板状の物体５７と球状の物体５８との配置の一例を示す図である。複数の物体５０が板状の物体５７と球状の物体５８とを少なくとも１つずつ含み、移動干渉判定部７０が板状の物体５０と球状の物体５０とが干渉するか否かを判定する方法について以下に詳細を述べる。
【０１８６】
図２１（ａ）は、板状の物体５７と球状の物体５８との配置関係の例を示す斜視図である。図２１（ｂ）は、板状の物体５７の上面の中心、板状の物体５７の下面の中心、および球状の物体５８の中心を含む平面における断面図である。本図中、点Ｏｄは板状の物体５７の中心を示し、点Ｏｓは、球状の物体５８の中心を示し、Ｎｄは板状の物体５７の法線ベクトルを示している。また、点Ｏｄと点Ｏｓとの距離をｄｄｓとし、点Ｏｄと点Ｏｓとを結ぶ直線と法線ベクトルＮｄとのなす角をφｄｓとし、球状の物体５８の半径をｒｓとし、板状の物体５７の主面の半径をｒｄとし、板状の物体５７の厚みをｌｄとする。
【０１８７】
板状の物体５７と球状の物体５８とが、図２１（ｂ）で示す平面において重なる場合、三次元空間において板状の物体５７と球状の物体５８とが干渉していると言え、当該平面において重ならない場合、三次元空間において干渉しないと言える。したがって、当該平面において板状の物体５７の断面である四角形５７１と球状の物体５８の断面である円５８１とが重なるか否かの判定方法について以下に説明する。
【０１８８】
図２２は、板状の物体の断面と球状の物体の断面とが重なるか否かの判定方法について説明するための図である。当該平面において、四角形５７１と円５８１とが重なる場合には、図２２（ａ）で示すような場合と、図２２（ｂ）で示すような場合と、図２２（ｃ）で示すような場合とがあり、これらの図２２（ａ）〜（ｃ）で示す場合のうち少なくとも一つに当てはまれば、円５８１と四角形５７１とが重なっており、すなわち板状の物体５７と球状の物体５８とが干渉していると言える。図２２（ａ）で示す場合、四角形５７２の内側に円５８１の中心が入る場合である。図２２（ｂ）で示す場合は、四角形５７３の内側に円５８１の中心が入る場合である。図２２（ｃ）で示す場合は、四角形５７１の頂点が円５８１の内側に入る場合である。
【０１８９】
図２２（ａ）で示すように、四角形５７２の内側に円５８１の中心が入る場合について説明する。四角形５７２は、板状の物体５７の厚み方向の辺の長さをｌｄ＋２×ｒｓとし、それに直交する方向の辺の長さを２×ｒｄとする四角形である。四角形５７２の中心と、四角形５７１の中心とは一致している。以下の式（４０）および式（４１）をいずれも満たすとき円５８１の中心が、四角形５７２の内側に入る。
【０１９０】
【数４０】
0006520447.tif 000041
【数４１】
0006520447.tif 000042
【０１９１】
図２２（ｂ）で示すように、四角形５７３の内側に円５８１の中心が入る場合について説明する。四角形５７３は、板状の物体５７の厚み方向の辺の長さをｌｄとし、それに直交する方向の辺の長さを２×（ｒｄ＋ｒｓ）とする四角形である。四角形５７３の中心と、四角形５７１の中心とは一致している。以下の式（４２）および式（４３）をいずれも満たすとき円５８１の中心が、四角形５７３の内側に入る。
【０１９２】
【数４２】
0006520447.tif 000043
【数４３】
0006520447.tif 000044
【０１９３】
図２２（ｃ）で示すように、四角形５７１の頂点が円５８１の内側に入る場合について説明する。この場合、円５８１の中心と四角形５７１の頂点との距離がｒｓ以下になる。以下の式（４４）を満たすとき四角形５７１の頂点が円５８１の内側に入る。
【０１９４】
【数４４】
0006520447.tif 000045
【０１９５】
移動干渉判定部７０は、仮移動後状態データにおける複数の物体５０から、板状の物体５７および球状の物体５８を任意に選択し、上記の様に板状の物体５７と球状の物体５８とが干渉しているか否かを判定する。
【０１９６】
なお、上記の各数式において用いられている「≦」は「＜」に置き換えてもよい。浮動小数点数を用いた演算を行った場合、演算誤差が生じる。そのため、コンピュータを用いた判定において、等号が成り立つことは殆ど無いといってよく、等号の有り無しで判定結果が同様となる。
【０１９７】
なお、上記の各数式は、本実施形態で示した形に限定されず、それぞれ変形して用いることができる。
【０１９８】
次に、本実施形態の作用および効果について説明する。本実施形態に係るシミュレーション方法によれば、複数の物体が高い密度で配置された三次元空間のシミュレーションが可能である。
【０１９９】
また、本実施形態に係るシミュレーション方法によれば、ある程度広い領域においてシャッフルを進め、充填領域を縮小させていくことで、充填領域内に複数の物体がある程度ランダムに配向し、物体の体積充填率が高いモデルを作成することができる。当該シミュレーション方法は、複数の物体が異方的な形状の物体を含む場合に、特に有用である。
【０２００】
（第２の実施形態）
図２３は、本実施形態に係るシミュレーション方法のフローである。当該シミュレーション方法は、乱雑度判定工程Ｓ２２および体積判定工程Ｓ９８を含む点を除き、第１の実施形態に係るシミュレーション方法と同じである。本図において、縮小工程に相当する部分を破線で囲って示している。
【０２０１】
図２４は、本実施形態に係るシミュレーション装置１００の構成を示す図である。本実施形態に係るシミュレーション装置１００は、乱雑度判定工程Ｓ２２を行う乱雑度判定部２２、および体積判定工程Ｓ９８を行う体積判定部９８をさらに備える。以下に詳しく説明する。
【０２０２】
乱雑度判定工程Ｓ２２では、移動後状態データに基づき、三次元空間における、複数の物体５０の乱雑度を示す乱雑度データが生成され、乱雑度があらかじめ定めた基準を満たすか否かが判定される。当該シミュレーション方法では、一度の状態変更処理において、物体移動工程Ｓ２４が繰り返し行われる。乱雑度判定工程Ｓ２２において、乱雑度が基準を満たさないと判定された場合、物体移動工程Ｓ２４の繰り返しが続けられ、乱雑度が基準を満たすと判定された場合、その時点で、または、さらに特定の回数の物体移動工程Ｓ２４が行われた後、物体移動工程Ｓ２４の繰り返しが終了される。乱雑度判定工程Ｓ２２が行われることで、任意の乱雑度のシミュレーションモデルを作成することができる。
【０２０３】
乱雑度判定部２２は、乱雑度判定工程Ｓ２２を行う。乱雑度判定工程Ｓ２２は物体移動工程Ｓ２４に次いで行われる。乱雑度判定部２２は物体移動部２４で生成された移動後状態データを取得する。そして、取得した最新の移動後状態データに基づき、三次元空間において、全ての物体５０の配置状態に基づく乱雑度を示す乱雑度データを生成する。そして、上述の通り、乱雑度があらかじめ定めた基準を満たすか否かを判定する。
【０２０４】
乱雑度が基準を満たさない場合、物体移動工程Ｓ２４の繰り返しが続けられ、乱雑度が基準を満たす場合、物体移動工程Ｓ２４の繰り返しが終了される。
【０２０５】
なお、乱雑度判定部２２は、乱雑度が基準を満たすと判定された場合、その時点で物体移動工程Ｓ２４の繰り返しを終了させても良いし、さらに特定の回数の物体移動工程Ｓ２４を行ってから終了させても良い。当該回数は、あらかじめ定められ記憶部２６に保持された回数を乱雑度判定部２２が読み出して取得しても良いし、ユーザーが、図示しない入力部に任意に入力した値を取得するようにしても良い。
【０２０６】
なお、乱雑度判定工程Ｓ２２は、必ずしも物体移動工程Ｓ２４の度に行わなくてもよい。小数の物体５０を移動させたのみでは乱雑度は殆ど変化しないため、乱雑度判定工程Ｓ２２を毎回行わず、数回の物体移動工程Ｓ２４に対して１回の頻度で行えばよい。そうすることにより、計算量を低減できる。また、複数の物体５０を配列した状態から乱雑化を開始した初めのうち等、基準を満たさないことが明らかである場合、乱雑度判定工程Ｓ２２を省略することができる。初期状態から特定回数の物体移動工程Ｓ２４が行われた後に、初めて乱雑度判定工程Ｓ２２を行うようにしても良い。
【０２０７】
なお、乱雑度の基準は、最終的に得たいモデルの乱雑度と常に一致させても良いし、最終的に所望の乱雑度のモデルを得られる様に、繰り返し状態変更処理を行う中で変化させてもよい。
【０２０８】
なお、乱雑度判定工程Ｓ２２は、物体移動工程Ｓ２４の後、かつ縮小干渉判定工程Ｓ９４の前に行われれば良く、仮充填領域定義工程Ｓ９２との前後関係は任意である。また、乱雑度判定工程Ｓ２２仮充填領域定義工程Ｓ９２と並行して行われても良い。なお、仮充填領域定義工程Ｓ９２が先に行われても、乱雑度判定工程Ｓ２２において、基準を満たすと判定されるまでは、縮小干渉判定工程Ｓ９４は行われない。
【０２０９】
なお、１度の、または、初めの数度の状態変更処理によって、十分に乱雑度が高まった場合等には、その後の乱雑度判定工程Ｓ２２は省略し、物体移動工程Ｓ２４と縮小工程のみを行うようにしても良い。
【０２１０】
本実施形態において、移動後状態データは移動後の全ての物体５０の配置状態を示すデータである。ただし、これに限定されない。上述の様に、移動後状態データは少なくとも移動された物体５０の配置状態を含めばよく、移動された物体５０のみの配置状態を示す情報であっても良いし、移動された物体５０とその周辺のいくつかの物体５０の配置状態を示す情報であっても良い。また、移動後状態データは、空間状態データを構成する形状、位置、向き等の要素のうち、全ての要素を含んでもよいし、移動に関連した一部の要素のみから構成されていても良い。これらの例の場合、乱雑度判定部２２はたとえば移動後状態データと、記憶部２６から別途取得した空間状態データとに基づいて、移動後の全ての物体５０の配置状態を示す情報を生成し、乱雑度の算出を行うことができる。もしくは、乱雑度判定部２２は、たとえば移動後状態データに基づいて移動に伴う乱雑度の変化量を算出し、移動後の全体の乱雑度を算出しても良い。
【０２１１】
乱雑度判定工程Ｓ２２について以下に詳しく説明する。乱雑度判定部２２は、物体移動部２４の移動次状態決定部１８から、生成された移動後状態データを取得する。なお、移動次状態決定部１８が移動後状態データを記憶部２６に保持させる様にした場合、乱雑度判定部２２は、移動後状態データを移動次状態決定部１８から取得する代わりに記憶部２６から取得しても良い。
【０２１２】
ここで、乱雑度はたとえば複数の物体５０の法線ベクトルに基づいて求めることができる。たとえば、全ての板状の物体５０の法線ベクトルにおける、要素ｎｘｉの二乗の平均値ｎｘａｖｅ、要素ｎｙｉの二乗の平均値ｎｙａｖｅ、および要素ｎｚｉの二乗の平均値ｎｚａｖｅを算出し、ｎｘａｖｅ、ｎｙａｖｅ、およびｎｚａｖｅのそれぞれが１／３に近いほど、乱雑度が高いといえる。
【０２１３】
本実施形態において、乱雑度判定部２２は、全ての物体５０の法線ベクトルに基づき、平均値ｎｘａｖｅ、平均値ｎｙａｖｅ、および平均値ｎｚａｖｅを算出する。そして、たとえば各平均値から１／３を引いた値の絶対値のうち、最大の値を乱雑度として求め、乱雑度があらかじめ定めた基準値以下となる場合に、乱雑度が基準を満たすとして物体移動工程Ｓ２４の繰り返しを終了する。一方、乱雑度があらかじめ定めた基準値を超える場合には、乱雑度が基準を満たさないとして、再度物体移動工程Ｓ２４を行う。ここで、基準値を小さく定めるほど、乱雑度を高めることとなる。乱雑度の基準値は、乱雑度判定部２２が、あらかじめ記憶部２６に保持された情報を読み出して取得するようにしても良いし、図示しない入力部に入力された情報を取得するようにしても良い。
【０２１４】
なお、乱雑度判定部２２での乱雑度の定義や基準の定め方は、上記の方法に限定されない。たとえば乱雑度判定部２２では、さらに複数の物体５０の位置に基づく乱雑度について、判定を行っても良い。位置に基づく乱雑度としては、たとえば物体５０の座標値の標準偏差等を用いることができる。
【０２１５】
本実施形態において、縮小干渉判定部９４は、乱雑度判定部２２が基準を満たすと判定し、物体移動工程Ｓ２４の繰り返しが終了した後、乱雑度判定部２２から移動後状態データを取得する。そして、第１の実施形態と同様に縮小工程が行われる。
【０２１６】
縮小次状態決定工程Ｓ９６において、空間状態データが変更された場合、次いで体積判定工程Ｓ９８が行われる。体積判定工程Ｓ９８では、充填領域６０に対する複数の物体５０の体積占有率があらかじめ定められた基準を満たすか否かが判定される。体積判定工程Ｓ９８において、体積占有率が基準を満たさないと判定された場合、少なくとも縮小工程を再度行い、体積占有率が基準を満たすと判定された場合、その時点で、または、物体移動工程Ｓ２４と、縮小工程のうち少なくともいずれか一方をさらに特定の回数行った後、状態変更処理の繰り返しが終了される。体積判定工程Ｓ９８が行われることで、所望の体積の充填領域６０を有するシミュレーションモデルを作成することができる。すなわち、充填領域６０に対する物体５０の体積充填率を所望の値にすることができる。
【０２１７】
体積占有率の基準や当該回数等は、あらかじめ定められ記憶部２６に保持された回数を体積判定部９８が読み出して取得しても良いし、ユーザーが、図示しない入力部に任意に入力した値を取得するようにしても良い。
【０２１８】
体積判定部９８は、体積判定工程Ｓ９８を行う。体積判定工程Ｓ９８は、縮小次状態決定工程Ｓ９６の後に行われる。縮小次状態決定部９６から空間状態データを取得する。当該空間状態データはその時点での最新の空間状態データである。すなわち、その状態変更処理において縮小次状態決定部９６が空間状態データを変更した場合、体積判定部９８が取得する最新の空間状態データは、その状態変更処理において新たな充填領域６０内に配置された移動後状態データに基づく複数の物体５０の配置状態を示す情報である。なお、縮小次状態決定部９６は最新の空間状態データを記憶部２６に保持させる様にしても良い。その場合、乱雑度判定部２２は、最新の空間状態データを移動次状態決定部１８から取得する代わりに記憶部２６から取得しても良い。
【０２１９】
体積判定部９８は、最新の空間状態データに基づき、充填領域６０の体積を算出する。そして、算出された体積に基づき、体積占有率が、あらかじめ定めた基準を満たすか否かを判定する。体積占有率が基準を満たさないと判定された場合、縮小工程または状態変更処理が再度行われる。図２３では再度物体移動工程Ｓ２４を行う例を示しているが、これに限定されない。たとえば、直前の縮小次状態決定工程Ｓ９６において、空間状態データが変更された場合に縮小工程のみを再度行い、変更されなかった場合に物体移動工程Ｓ２４および縮小工程からなる状態変更処理を再度行うようにする。こうして、基準を満たすまで充填領域６０の縮小が続けられる。体積占有率が基準を満たすと判定された場合、その時点で状態変更処理の繰り返しが終了される。
【０２２０】
なお、体積占有率が基準を満たすと判定された場合、物体移動工程Ｓ２４と、縮小工程のうち少なくともいずれか一方をさらに特定の回数行った後、状態変更処理の繰り返しが終了されるようにしてもよい。当該回数等は、あらかじめ定められ記憶部２６に保持された回数を体積判定部９８が読み出して取得しても良いし、ユーザーが、図示しない入力部に任意に入力した値を取得するようにしても良い。
【０２２１】
なお、体積判定部９８は、最新の空間状態データを取得する代わりに、最新の充填領域６０を示す境界データのみを取得して、充填領域６０の体積を算出してもよい。
【０２２２】
充填領域６０の体積の基準値は、体積判定部９８が、あらかじめ記憶部２６に保持された情報を読み出して取得するようにしても良いし、図示しない入力部にユーザーが入力した情報を取得するようにしても良い。
【０２２３】
なお、体積判定工程Ｓ９８は状態変更処理の度に行っても良いが、上述の様に縮小次状態決定部９６が空間状態データを変更した場合にのみ行えばよい。もしくは、数回の状態変更処理に対して１回、あるいは空間状態データが数回変更される度に１回の頻度で体積判定工程Ｓ９８が行われればよい。そうすることにより、計算量を低減できる。また、初期状態から、充填領域６０の縮小を開始した初めのうち等、基準を満たさないことが明らかである場合、体積判定工程Ｓ９８を省略することができる。初期状態から特定回数、空間状態データの変更が行われた後に、初めて体積判定工程Ｓ９８を行うようにしても良い。当該回数は、あらかじめ定められ記憶部２６に保持された回数を体積判定部９８が読み出して取得しても良いし、ユーザーが、図示しない入力部に任意に入力した値を取得するようにしても良い。
【０２２４】
なお、本実施形態では、乱雑度判定工程Ｓ２２および体積判定工程Ｓ９８を含むシミュレーション方法について説明したが、いずれか一方のみを含んでも良い。
【０２２５】
次に、本実施形態の作用および効果について説明する。本実施形態においては第１の実施形態と同様の作用および効果が得られる。加えて、所望の乱雑度、体積占有率を有するモデルを作成することが出来る。
【０２２６】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【０２２７】
以下、参考形態の例を付記する。
１．複数の物体が配置された三次元空間のシミュレーション方法であって、
有限の体積を有する充填領域内に配置された前記複数の物体の配置状態を示す空間状態データのうち、前記充填領域を示す情報を取得し、前記充填領域を縮小させた仮充填領域を示す情報を生成する仮充填領域定義工程と、
前記複数の物体の配置状態を示す情報および前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行う縮小干渉判定工程と、
前記縮小干渉判定工程において、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定された場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定された場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記複数の物体の配置状態を示す情報を新たな前記空間状態データとする、縮小次状態決定工程とを含む、
シミュレーション方法。
２．１に記載のシミュレーション方法において、
前記空間状態データを取得し、前記複数の物体の内、少なくとも一つを移動させ、移動させた前記物体の配置情報を含む移動後状態データを生成する物体移動工程をさらに含み、
前記縮小干渉判定工程では、前記移動後状態データおよび前記仮充填領域を示す情報に基づき、前記仮充填領域の外の領域、又は前記仮充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かの判定を行い、
前記縮小次状態決定工程では、前記縮小干渉判定工程において、当該外の領域又は当該境界と、少なくとも１つの前記物体とが干渉していると判定された場合に、前記空間状態データを変更せず、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定された場合に、前記仮充填領域を新たな前記充填領域とし、前記新たな充填領域内に配置された前記移動後状態データに基づく前記複数の物体の配置状態を示す情報を新たな前記空間状態データとし、
前記物体移動工程、前記仮充填領域定義工程、前記縮小干渉判定工程、および前記縮小次状態決定工程を行う状態変更処理を繰り返し行う、
シミュレーション方法。
３．２に記載のシミュレーション方法において、
前記物体移動工程は、
前記複数の物体の内、移動させようとする少なくとも１つの移動対象物を選択する移動対象物選択工程と、
前記移動対象物をどのように移動させるかを示す移動情報を生成する移動情報生成工程と、
前記移動情報に基づき前記移動対象物を移動させた後の、前記三次元空間における少なくとも前記移動対象物の配置状態に関する情報を含む、仮移動後状態データを生成する対象物移動工程と、
前記仮移動後状態データに基づき、前記三次元空間において前記複数の物体が互いに干渉しているか否か、および、前記充填領域の外の領域、又は前記充填領域と当該外の領域との境界と、少なくとも１つの前記物体とが干渉しているか否かを判定する移動干渉判定工程と、
前記移動干渉判定工程において、前記複数の物体が互いに干渉していないと判定され、かつ、いずれの前記物体も当該外の領域とも当該境界とも干渉していないと判定された場合に、前記仮移動後状態データを前記移動後状態データとして生成する、移動次状態決定工程とを含み、
前記複数の物体の少なくとも１つは板状の物体であり、
前記対象物移動工程では、前記移動対象物の平行移動および回転移動のうち少なくとも一方を行う、
シミュレーション方法。
４．３に記載のシミュレーション方法において、
前記複数の物体は、第１の前記板状の物体および第２の前記板状の物体を少なくとも含み、
前記移動干渉判定工程は、
前記複数の物体から、前記第１の板状の物体である第１対象物と、前記第２の板状の物体である第２対象物とを選択する判定対象物選択工程と、
前記第１対象物および前記第２対象物に対し、１つの直交座標系を定義する座標定義工程と、
前記直交座標系の基準面に投影した、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する投影像判定工程と、
前記三次元空間において前記第１対象物と前記第２対象物とが干渉するか否かを判定する立体判定工程とを含み、
前記直交座標系は、互いに直交するｅ１軸、ｅ２軸、およびｅ３軸からなり、
前記投影像判定工程は、
ｅ１軸とｅ２軸とからなる第１基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する第１基準面判定工程、
ｅ２軸とｅ３軸とからなる第２基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する第２基準面判定工程、および
ｅ３軸とｅ１軸とからなる第３基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する第３基準面判定工程のうち少なくとも一つを含み、
前記立体判定工程では、前記投影像判定工程で前記第１基準面、前記第２基準面、および前記第３基準面のうち少なくとも一つにおいて前記第１対象物および前記第２対象物の投影像が互いに重ならないと判定された場合に、前記第１対象物と前記第２対象物とが干渉していない状態であると判定する、
シミュレーション方法。
５．３に記載のシミュレーション方法において、
前記複数の物体は、第１の前記板状の物体および第２の前記板状の物体を少なくとも含み、
前記移動干渉判定工程は、
前記複数の物体から、前記第１の板状の物体である第１対象物と、前記第２の板状の物体である第２対象物とを選択する判定対象物選択工程と、
前記第１対象物および前記第２対象物に対し、１つの直交座標系を定義する座標定義工程と、
前記直交座標系の基準面に投影した、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する投影像判定工程と、
前記三次元空間において前記第１対象物と前記第２対象物とが干渉するか否かを判定する立体判定工程とを含み、
前記直交座標系は、互いに直交するｅ１軸、ｅ２軸、およびｅ３軸からなり、
前記投影像判定工程は、
ｅ１軸とｅ２軸とからなる第１基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する第１基準面判定工程、
ｅ２軸とｅ３軸とからなる第２基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する第２基準面判定工程、および
ｅ３軸とｅ１軸とからなる第３基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する第３基準面判定工程を含み、
前記立体判定工程では、前記投影像判定工程で前記第１基準面、前記第２基準面、および前記第３基準面の全てにおいて前記第１対象物および前記第２対象物の投影像が互いに重なると判定された場合に、前記第１対象物と前記第２対象物とが干渉していない状態であると判定する、
シミュレーション方法。
６．４または５に記載のシミュレーション方法において、
前記座標定義工程では、前記第１対象物の中心が原点と一致し、前記第１対象物の主面とｅ３軸とが直交し、前記第２対象物の主面の法線ベクトルのｅ２成分が０となるよう前記直交座標系を定義し、
前記第１対象物および前記第２対象物は円板状である、
シミュレーション方法。
７．４から６のいずれか一つに記載のシミュレーション方法において、
前記第１基準面判定工程を少なくとも含み、
前記第１基準面判定工程は、
前記第１基準面において、前記第１対象物の投影像と、前記第２対象物の投影像のうち当該対象物の上面の投影部分である第１投影領域とが、重なるか否かを判定する第１部分判定工程、
前記第１基準面において、前記第１対象物の投影像と、前記第２対象物の投影像のうち当該対象物の下面の投影部分である第２投影領域とが、重なるか否かを判定する第２部分判定工程、および
前記第１基準面において、前記第１対象物の投影像と、前記第２対象物の投影像のうち前記第１投影領域にも前記第２投影領域にも含まれない領域の全てを含む第３投影領域とが、重なるか否かを判定する第３部分判定工程のうち少なくとも一つを含み、
前記第１部分判定工程、前記第２部分判定工程、および前記第３部分判定工程の少なくとも一つにおいて、重なると判定された場合に、前記第１基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なると判定する、
シミュレーション方法。
８．４から６のいずれか一つに記載のシミュレーション方法において、
前記第１基準面判定工程を少なくとも含み、
前記第１基準面判定工程は、
前記第１基準面において、前記第１対象物の投影像と、前記第２対象物の投影像のうち当該対象物の上面の投影部分である第１投影領域とが、重なるか否かを判定する第１部分判定工程と、
前記第１基準面において、前記第１対象物の投影像と、前記第２対象物の投影像のうち当該対象物の下面の投影部分である第２投影領域とが、重なるか否かを判定する第２部分判定工程と、
前記第１基準面において、前記第１対象物の投影像と、前記第２対象物の投影像のうち前記第１投影領域にも前記第２投影領域にも含まれない領域の全てを含む第３投影領域とが、重なるか否かを判定する第３部分判定工程とを含み、
前記第１部分判定工程、前記第２部分判定工程、および前記第３部分判定工程の全てにおいて、重ならないと判定された場合に、前記第１基準面において、前記第１対象物および前記第２対象物の投影像が互いに重ならないと判定する、
シミュレーション方法。
９．７または８に記載のシミュレーション方法において、
前記第１部分判定工程を含む場合、前記第１部分判定工程では、式（１１）が成り立たない場合に、前記第１対象物の投影像と、前記第１投影領域とが、重ならないと判定し、
前記第２部分判定工程を含む場合、前記第２部分判定工程では、式（１２）が成り立たない場合に、前記第１対象物の投影像と、前記第２投影領域とが、重ならないと判定し、
前記第３部分判定工程を含む場合、前記第３部分判定工程では、式（１３）および式（１４）の少なくとも一方が成り立たない場合に、前記第１対象物の投影像と、前記第３投影領域とが、重ならないと判定するシミュレーション方法。
ただし、ｒｐは前記第１対象物の半径であり、ｒｃは前記第２対象物の半径であり、ｌｃは前記第２対象物の厚みであり、座標（ａ，ｂ，ｃ）は前記直交座標系における前記第２対象物の中心座標であり、角度θは、前記第１対象物の主面の法線ベクトルと、前記第２対象物の主面の法線ベクトルとのなす角であり、θは０ｒａｄ以上π／２ｒａｄ以下である。
１０．４から９のいずれか一つに記載のシミュレーション方法において、
前記第２基準面判定工程を少なくとも含み、
前記第２基準面判定工程では、
前記第２基準面において、前記第１対象物の投影像および前記第２対象物の投影像を用いて定められる第１判定領域内に、前記第２対象物の判定対象線上の少なくとも一点が含まれる場合に、前記第２基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なると判定し、
前記第１判定領域は、前記第２対象物の投影像のうち当該対象物の上面の投影部分と同一形状の楕円を、前記第１対象物の投影像に外接させて転がさずに動かしたとき、当該楕円の中心が描く線を輪郭とする領域であり、
前記判定対象線は、前記第２基準面における前記第２対象物の投影像のうち、当該対象物の下面の中心の投影点に相当する下面中心投影点と、当該対象物の上面の中心の投影点に相当する上面中心投影点とを結ぶ線分である、
シミュレーション方法。
１１．４から９のいずれか一つに記載のシミュレーション方法において、
前記第２基準面判定工程を少なくとも含み、
前記第２基準面判定工程では、
前記第２基準面において、前記第１対象物の投影像および前記第２対象物の投影像を用いて定められる第１判定領域内に、前記第２対象物の判定対象線上のいずれの点も含まれない場合に、前記第２基準面において、前記第１対象物および前記第２対象物の投影像が互いに重ならないと判定し、
前記第１判定領域は、前記第２対象物の投影像のうち当該対象物の上面の投影部分と同一形状の楕円を、前記第１対象物の投影像に外接させて転がさずに動かしたとき、当該楕円の中心が描く線を輪郭とする領域であり、
前記判定対象線は、前記第２基準面における前記第２対象物の投影像のうち、当該対象物の下面の中心の投影点に相当する下面中心投影点と、当該対象物の上面の中心の投影点に相当する上面中心投影点とを結ぶ線分である、
シミュレーション方法。
１２．４から９のいずれか一つに記載のシミュレーション方法において、
前記第２基準面判定工程を少なくとも含み、
前記第２基準面判定工程では、
前記第２基準面において、前記第１対象物の投影像および前記第２対象物の投影像を用いて定められる第１判定領域内に前記第２対象物の複数の判定対象点が含まれるか否かを判定し、
前記複数の判定対象点のいずれも前記第１判定領域内にない場合に、前記第２基準面において、前記第１対象物および前記第２対象物の投影像が互いに重ならないと判定し、
前記第１判定領域は、前記第２対象物の投影像のうち当該対象物の上面の投影部分と同一形状の楕円を、前記第１対象物の投影像に外接させて転がさずに動かしたとき、当該楕円の中心が描く線を輪郭とする領域であり、
前記複数の判定対象点は、
前記第２基準面における前記第２対象物の投影像のうち、当該対象物の下面の中心の投影点に相当する下面中心投影点と、当該対象物の上面の中心の投影点に相当する上面中心投影点とを結ぶ線分上にある複数の点であり、
少なくとも前記下面中心投影点および前記上面中心投影点を含み、
互いに隣接する前記判定対象点間の距離は前記第１対象物の厚みよりも小さい、
シミュレーション方法。
１３．４から９のいずれか一つに記載のシミュレーション方法において、
前記第２基準面判定工程を少なくとも含み、
前記第２基準面判定工程では、
前記第２基準面において、前記第１対象物の投影像および前記第２対象物の投影像を用いて定められる第１判定領域内に前記第２対象物の複数の判定対象点が含まれるか否かを判定し、
前記複数の判定対象点の少なくとも一つが前記第１判定領域内にある場合に、前記第２基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なると判定し、
前記第１判定領域は、前記第２対象物の投影像のうち当該対象物の上面の投影部分と同一形状の楕円を、前記第１対象物の投影像に外接させて転がさずに動かしたとき、当該楕円の中心が描く線を輪郭とする領域であり、
前記複数の判定対象点は、
前記第２基準面における前記第２対象物の投影像のうち、当該対象物の下面の中心の投影点に相当する下面中心投影点と、当該対象物の上面の中心の投影点に相当する上面中心投影点とを結ぶ線分上にある複数の点であり、
少なくとも前記下面中心投影点および前記上面中心投影点を含み、
互いに隣接する前記判定対象点間の距離は前記第１対象物の厚みよりも小さい、
シミュレーション方法。
１４．１２または１３に記載のシミュレーション方法において、
前記第２基準面判定工程は、
前記複数の判定対象点の前記第２基準面における座標をそれぞれ（ｅ２ｎ，ｅ３ｎ）（ｎ＝１，２，・・・）としたとき、
式（１５）が成立するか否かを判定する工程、
式（１６）が成立するか否かを判定する工程、
式（１７）が成立するか否かを判定する工程、
式（１８）が成立するか否かを判定する工程、
式（１９）および式（２０）のいずれもが成立するか否かを判定する工程、および
式（２１）および式（２２）のいずれもが成立するか否かを判定する工程のうち少なくとも一つを含み、
前記式（１５）が成立するか否かを判定する工程において成立すると判定された場合、
前記式（１６）が成立するか否かを判定する工程において成立すると判定された場合、
前記式（１７）が成立するか否かを判定する工程において成立すると判定された場合、
前記式（１８）が成立するか否かを判定する工程において成立すると判定された場合、
前記式（１９）および式（２０）のいずれもが成立するか否かを判定する工程でいずれもが成立すると判定された場合、または
前記式（２１）および式（２２）のいずれもが成立するか否かを判定する工程でいずれもが成立すると判定された場合に、
前記判定対象点が前記第１判定領域内にあると判定する、
シミュレーション方法。
ただし、ｒｐは前記第１対象物の半径であり、ｌｐは前記第１対象物の厚みであり、ｒｃは前記第２対象物の半径であり、角度θは、前記第１対象物の主面の法線ベクトルと、前記第２対象物の主面の法線ベクトルとのなす角であり、θは０ｒａｄ以上π／２ｒａｄ以下である。
１５．１２または１３に記載のシミュレーション方法において、
前記第２基準面判定工程は、
前記複数の判定対象点の前記第２基準面における座標をそれぞれ（ｅ２ｎ，ｅ３ｎ）（ｎ＝１，２，・・・）としたとき、
式（１５）が成立するか否かを判定する工程、
式（１６）が成立するか否かを判定する工程、
式（１７）が成立するか否かを判定する工程、
式（１８）が成立するか否かを判定する工程、
式（１９）および式（２０）のいずれもが成立するか否かを判定する工程、および
式（２１）および式（２２）のいずれもが成立するか否かを判定する工程を含み、
前記式（１５）が成立するか否かを判定する工程において成立しないと判定され、かつ、
前記式（１６）が成立するか否かを判定する工程において成立しないと判定され、かつ、
前記式（１７）が成立するか否かを判定する工程において成立しないと判定され、かつ、
前記式（１８）が成立するか否かを判定する工程において成立しないと判定され、かつ、
前記式（１９）および式（２０）のいずれもが成立するか否かを判定する工程で少なくとも一方が成立しないと判定され、かつ、
前記式（２１）および式（２２）のいずれもが成立するか否かを判定する工程で少なくとも一方が成立しないと判定された場合に、
前記判定対象点が前記第１判定領域内にないと判定する、
シミュレーション方法。
ただし、ｒｐは前記第１対象物の半径であり、ｌｐは前記第１対象物の厚みであり、ｒｃは前記第２対象物の半径であり、角度θは、前記第１対象物の主面の法線ベクトルと、前記第２対象物の主面の法線ベクトルとのなす角であり、θは０ｒａｄ以上π／２ｒａｄ以下である。
１６．４から１５のいずれか一つに記載のシミュレーション方法において、
前記第３基準面判定工程を少なくとも含み、
前記第３基準面判定工程では、
前記第３基準面において、前記第１対象物の投影像および前記第２対象物の投影像を用いて定められる第２判定領域内に、前記第２対象物の投影像の中心点が含まれるか否かを判定し、
当該中心点が前記第２判定領域内に含まれない場合に、前記第３基準面において、前記第１対象物および前記第２対象物の投影像が互いに重ならないと判定し、
前記第２判定領域は、前記第２対象物の投影像と同一形状の四角形を、前記第１対象物の投影像に外接させて転がさずに動かしたとき、当該四角形の中心が描く線を輪郭とする領域である、
シミュレーション方法。
１７．４から１５のいずれか一つに記載のシミュレーション方法において、
前記第３基準面判定工程を少なくとも含み、
前記第３基準面判定工程では、
前記第３基準面において、前記第１対象物の投影像および前記第２対象物の投影像を用いて定められる第２判定領域内に、前記第２対象物の投影像の中心点が含まれるか否かを判定し、
当該中心点が前記第２判定領域内に含まれる場合に、前記第３基準面において、前記第１対象物および前記第２対象物の投影像が互いに重なると判定し、
前記第２判定領域は、前記第２対象物の投影像と同一形状の四角形を、前記第１対象物の投影像に外接させて転がさずに動かしたとき、当該四角形の中心が描く線を輪郭とする領域である、
シミュレーション方法。
１８．１６または１７に記載のシミュレーション方法において、
前記第３基準面判定工程では、
前記第２判定領域を、当該領域の輪郭の隣接する２つの頂点と、前記第３基準面の原点とを結ぶ三角形からなる複数の分割領域に分割し、
前記複数の分割領域のうち少なくとも一つに、前記第２対象物の投影像の中心点が含まれるか否かを判定し、
前記複数の分割領域の少なくとも一つに当該中心点が含まれる場合に、当該中心点が前記第２判定領域内にあると判定する、
シミュレーション方法。
１９．１６または１７に記載のシミュレーション方法において、
前記第３基準面判定工程では、
前記第２判定領域を、当該領域の輪郭の隣接する２つの頂点と、前記第３基準面の原点とを結ぶ三角形からなる複数の分割領域に分割し、
前記複数の分割領域のそれぞれに、前記第２対象物の投影像の中心点が含まれるか否かを判定し、
前記複数の分割領域のいずれにも当該中心点が含まれない場合に、当該中心点が前記第２判定領域内にないと判定する、
シミュレーション方法。
２０．１８または１９に記載のシミュレーション方法において、
前記第２判定領域の頂点Ａｍ＝（ｅ１ｍ，ｅ３ｍ）（ｍ＝１〜８）はそれぞれ式（３２）から式（３９）で表され、
前記第２対象物の投影像の中心点Ｐは（ｅ１，ｅ３）＝（ａ，ｃ）で表され、
前記複数の分割領域は、前記第３基準面の原点Ｏを用いて、それぞれ三角形ＯＡｉＡｊ（（ｉ，ｊ）＝（１，２），（２，３），（３，４），（４，５），（５，６），（６，７），（７，８），（８，１））で表され、
Ａｉ＝（ｅ１ｉ，ｅ３ｉ）およびＡｊ＝（ｅ１ｊ，ｅ３ｊ）としたとき、式（３０）および式（３１）で表されるαおよびβについて、式（２７）、式（２８）、および式（２９）の少なくともひとつが成り立たない場合に、各前記分割領域である三角形ＯＡｉＡｊ内に前記第２対象物の投影像の中心点が含まれないと判定する、
シミュレーション方法。
ただし、ｒｐは前記第１対象物の半径であり、ｌｐは前記第１対象物の厚みであり、ｒｃは前記第２対象物の半径であり、ｌｃは前記第２対象物の厚みであり、角度θは、前記第１対象物の主面の法線ベクトルと、前記第２対象物の主面の法線ベクトルとのなす角であり、θは０ｒａｄ以上π／２ｒａｄ以下である。
２１．３に記載のシミュレーション方法において、
前記複数の物体は、第１の前記板状の物体および第２の前記板状の物体を少なくとも含み、
前記複数の物体から、第１対象物および第２対象物を選択する工程と、
少なくとも１つの基準平面に投影した、前記第１対象物および前記第２対象物の投影像が互いに重なるか否かを判定する工程と、
前記投影像が互いに重なるか否かの判定結果に基づいて、前記第１対象物と前記第２対象物とが干渉するか否かを判定する工程とを含む、
シミュレーション方法。
【符号の説明】
【０２２８】
１０ 判定対象物選択部
１００ シミュレーション装置
１２ 移動対象物選択部
１４ 移動情報生成部
１６ 対象物移動部
１８ 移動次状態決定部
２０ 座標定義部
２２ 乱雑度判定部
２４ 物体移動部
２６ 記憶部
３０ 投影像判定部
３２ 第１基準面判定部
３４ 第２基準面判定部
３６ 第３基準面判定部
４０ 立体判定部
５０ 物体
５００ 主面
５０４ 点線
５２ 第１対象物
５２０，５２１，５８１ 円
５０２，５２２，５２４，５５０，５５１，５７１，５７２，５７３ 四角形
５２３ 図形
５２５ 八角形
５２６，５２７，５４３，５４５ 領域
５４ 第２対象物
５４０，５４１，５４２，５４４，５４６，５４７，５４８，５４９ 楕円
５６ 移動対象物
５７ 板状の物体
５８ 球状の物体
６０ 充填領域
７０ 移動干渉判定部
８０ 判定対象点
８２ 判定対象線
８２０ 上面中心投影点
８４０ 下面中心投影点
９２ 仮充填領域定義部
９４ 縮小干渉判定部
９６ 縮小次状態決定部
９８ 体積判定部
【図１】
0006520447.tif 000046
【図２】
0006520447.tif 000047
【図３】
0006520447.tif 000048
【図４】
0006520447.tif 000049
【図５】
0006520447.tif 000050
【図６】
0006520447.tif 000051
【図７】
0006520447.tif 000052
【図８】
0006520447.tif 000053
【図９】
0006520447.tif 000054
【図１０】
0006520447.tif 000055
【図１１】
0006520447.tif 000056
【図１２】
0006520447.tif 000057
【図１３】
0006520447.tif 000058
【図１４】
0006520447.tif 000059
【図１５】
0006520447.tif 000060
【図１６】
0006520447.tif 000061
【図１７】
0006520447.tif 000062
【図１８】
0006520447.tif 000063
【図１９】
0006520447.tif 000064
【図２０】
0006520447.tif 000065
【図２１】
0006520447.tif 000066
【図２２】
0006520447.tif 000067
【図２３】
0006520447.tif 000068
【図２４】
0006520447.tif 000069