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