コンピュータに、部品の形状と位置とを含む部品情報を格納する格納部から、部品情報を読み出し、位置を更新する更新部品を前記部品の中から特定し、前記更新部品と接触する接触部品を前記部品の中から特定し、前記更新部品の位置を更新し、前記接触部品の重力方向の接触状態を検出し、検出した接触状態から前記接触部品の落下状況を判定する処理を実行させる判定プログラム。前記落下状況を判定する処理は、前記重力方向に、前記接触部品と接触する部品が存在しない場合に、前記接触部品は自由落下すると判定する請求項1に記載の判定プログラム。前記落下状況を判定する処理は、前記接触部品と接触する部品の接触部分と、前記接触部品の重心とを水平面に投影させた場合に、前記接触部分によって囲まれる最小の多角形内に前記重心が含まれていないときに、前記接触部品は回転落下すると判定する請求項1に記載の判定プログラム。前記接触部品の重力方向の接触状態を検出する処理は、前記接触部品に接触する部品を新たな接触部品として、該接触部品が地面に接する部品となるまで前記接触状態を検出する処理を繰り返し行い、前記落下状況を判定する処理は、前記新たな接触部品の重力方向の接触状態から該新たな接触部品の落下状況を判定する請求項1~3のいずれか一つに記載の判定プログラム。さらに、コンピュータに、部品の接触関係を抽出する処理を実行させ、前記落下状況を判定する処理は、前記部品の接触関係に基づいて、前記接触部品の落下状況を判定する請求項1~4のいずれか一つに記載の判定プログラム。部品の形状と位置とを含む部品情報を格納する格納部から、部品情報を読み出す生成部と、位置を更新する更新部品を前記部品の中から特定する第一の特定部と、前記更新部品と接触する接触部品を前記部品の中から特定する第二の特定部と、前記更新部品の位置を更新する更新部と、前記接触部品の重力方向の接触状態を検出する検出部と、検出した接触状態から前記接触部品の落下状況を判定する判定部と、を有することを特徴とする判定装置。コンピュータが実行する判定方法であって、部品の形状と位置とを含む部品情報を格納する格納部から、部品情報を読み出し、位置を更新する更新部品を前記部品の中から特定し、前記更新部品と接触する接触部品を前記部品の中から特定し、前記更新部品の位置を更新し、前記接触部品の重力方向の接触状態を検出し、検出した接触状態から前記接触部品の落下状況を判定することを特徴とする判定方法。しかしながら、上記の従来の技術では、落下する部品をアニメーションの作成者が想定するため、落下する部品を自動的に判定することができないという問題がある。開示の技術は、上記に鑑みてなされたものであって、落下する部品を自動的に判定することができる判定プログラム、判定装置および判定方法を提供することを目的とする。本願の開示する判定プログラムは、一つの態様において、コンピュータに、部品の形状と位置とを含む部品情報を格納する格納部から、部品情報を読み出す処理を実行させる。また、本願の開示する判定プログラムは、コンピュータに、位置を更新する更新部品を部品の中から特定する処理を実行させる。また、本願の開示する判定プログラムは、コンピュータに、更新部品と接触する接触部品を特定する処理を実行させる。また、本願の開示する判定プログラムは、コンピュータに、更新部品の位置を更新する処理を実行させる。また、本願の開示する判定プログラムは、コンピュータに、接触部品の重力方向の接触状態を検出する処理を実行させる。また、本願の開示する判定プログラムは、コンピュータに、検出した接触状態から接触部品の落下状況を判定する処理を実行させる。本願の開示する判定プログラムの一つの態様によれば、落下する部品を自動的に判定することができる。以下に、本願の開示する判定プログラム、判定装置および判定方法の各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。[判定装置の構成]実施例1に係る判定装置について説明する。図1は、実施例1に係る判定装置の構成を示す図である。本実施例にかかる判定装置10は、部品の自由落下を判定するものである。図1に示すように、判定装置10は、入力部11と、出力部12と、記憶部13と、制御部14とを有する。入力部11は、各種情報を制御部14に入力する。例えば、入力部11は、ユーザから、後述の自由落下判定処理を実行する指示を受け付けて、受け付けた指示を制御部14に入力する。また、入力部11は、ユーザから、位置を移動させる、すなわち、位置を更新させる部品の識別情報ID:IDentificationを受け付けて、受け付けた識別情報を制御部14に入力する。入力部11のデバイスの一例としては、マウスやキーボードなどの操作受付デバイスが挙げられる。出力部12は、各種の情報を出力する。例えば、出力部12は、後述の判定部14fにより自由落下すると判定された部品が自由落下するように、後述の修正部14gにより修正された画像情報が示す画像を表示する。出力部12のデバイスの一例としては、LCDLiquidCrystalDisplayやCRTCathodeRayTubeなどの表示デバイスなどが挙げられる。記憶部13は、各種情報を記憶する。例えば、記憶部13は、部品情報13aを記憶する。部品情報13aは、出力部12により画像が表示される部品に関する情報である。例えば、部品情報13aには、部品の位置を示す位置情報、部品の3次元形状を示す形状情報などが部品毎に含まれる。また、部品情報13aとして、CADComputerAidedDesignデータを用いることができる。部品情報13aに含まれる各部品の位置情報の一例としては、各部品の重心位置などが挙げられる。また、後述する重力方向については、部品情報13aが示す各部品が仮想的に存在する三次元空間上に予め定義されているものとする。また、後述する地面についても、部品情報13aが示す各部品が仮想的に存在する三次元空間上に予め定義されているものとする。なお、記憶部は、格納部とも称される。記憶部13は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部13は、上記の種類の記憶装置に限定されるものではなく、RAMRandomAccessMemory、ROMReadOnlyMemoryであってもよい。制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図1に示すように、制御部14は、生成部14aと、第一の特定部14bと、第二の特定部14cと、更新部14dと、検出部14eと、判定部14fと、修正部14gとを有する。生成部14aは、部品の形状と位置とを含む部品情報を格納する格納部から、部品情報を読み出して画像情報を生成する。例えば、生成部14aは、記憶部13に記憶された部品情報13aを読み出す。そして、生成部14aは、読み出した部品情報13aの位置および形状に基づいて、出力部12で表示される画像の画像情報を生成する。図2は、判定装置の処理を説明するための図である。図2の例では、部品A21と、部品B22および部品C23とが接触している場合が示されている。また、図2の例では、部品C23と部品D24とが接触している場合が示されている。また、図2の例では、部品D24が、地面に接触している場合が示されている。図2の例では、生成部14aは、部品A21、部品B22、部品C23、部品D24の位置情報および形状情報などを含む部品情報13aを記憶部13から読み出す。そして、図2の例では、生成部14aは、読み出した部品情報13aの各部品の位置情報が示す位置、および形状情報が示す形状に基づいて、部品A21、部品B22、部品C23、部品D24の画像を含む画像情報を生成する。なお、出力部12で表示される画像の画像情報は、出力部12で表示される場合に、後述の判定部14により、自由落下すると判定された部品が自由落下するように修正される。第一の特定部14bは、位置を更新する部品である更新部品を部品の中から特定する。例えば、第一の特定部14bは、入力部11から入力された位置を更新させる部品の識別情報を受信して取得することで、更新部品を部品の中から特定する。図2の例では、部品A21の識別情報が入力部11から入力された場合が示されている。この場合、第一の特定部14bは、部品A21を更新部品として、部品A21~D21の中から特定する。第二の特定部14cは、更新部品と接触する部品である接触部品を特定する。例えば、第二の特定部14cは、更新部品を重力方向に微少量移動させる。微少量の一例としては、部品が位置する3次元空間において2、3mmなどが挙げられる。そして、第二の特定部14cは、他の部品と干渉が起きた場合には、干渉が起きた部品を、更新部品と接触する接触部品として特定する。続いて、第二の特定部14cは、特定した接触部品を接触部品リストに追加する。図2の例では、第二の特定部14cは、更新部品A21を重力方向に微少量移動させた場合に、部品B22および部品C23と干渉が起きるので、部品B22および部品C23を更新部品A21と接触する接触部品として特定する。更新部14dは、更新部品の位置を更新する。例えば、更新部14dは、更新部品を、移動方向に所定距離移動させ、移動後の位置を更新部品の位置として更新する。図3は、判定装置の処理を説明するための図である。図3の例では、更新部品として、位置がXA1、YA1、ZA1である部品A21が特定された場合が示されている。また、図3の例では、更新部品A21が図中右方向に所定距離X移動される場合が示されている。なお、移動後の更新部品A21の位置をXA2、YA2、ZA2とする。図3の例では、更新部14dは、更新部品A21の位置をXA2、YA2、ZA2に更新する。検出部14eは、接触部品の重力方向の接触状態を検出する。例えば、検出部14eは、接触部品リストの接触部品のうち、未選択の接触部品を一つ選択し、選択した接触部品を重力方向に微少量移動させる。微少量の一例としては、部品が位置する3次元空間において2、3mmなどが挙げられる。そして、検出部14eは、接触状態として、他の部品と干渉する状態であるか否かを検出する。そして、検出部14eは、接触部品が他の部品と干渉する状態であることを検出した場合には、接触部品と干渉する他の部品を接触部品リストに追加する。ただし、検出部14eは、接触部品と干渉する他の部品が、地面と接する部品であるベース部品の場合には、接触部品リストに追加しない。これは、接触部品リストの部品は、後述の判定部14fにより自由落下するか否かの判定対象となるが、ベース部品については、地面に接しているため自由落下することがないので、かかる判定対象から外すためである。図3の例では、検出部14eは、接触部品B22が他の部品と干渉しない状態であることを検出する場合が示されている。また、図3の例では、検出部14eは、接触部品C23が他の部品と干渉する状態であることを検出する場合が示されている。判定部14fは、検出した接触状態から接触部品の落下状況を判定する。例えば、判定部14fは、検出部14eにより接触部品が他の部品と干渉しない状態であることが検出された場合には、この接触部品が自由落下すると判定する。また、判定部14fは、検出部14eにより接触部品が他の部品と干渉する状態であることが検出された場合には、この接触部品が自由落下しないと判定する。そして、判定部14fは、自由落下すると判定された接触部品を自由落下部品リストに追加する。図3の例では、判定部14fは、部品B22が自由落下すると判定する。また、図3の例では、判定部14fは、部品C23が自由落下しないと判定する。修正部14gは、自由落下すると判定された部品が、出力部12の表示上において、自由落下するように、画像情報を修正する。例えば、修正部14gは、判定部14fにより自由落下すると判定された部品が、表示上で自由落下するように、生成部14aにより生成された画像情報を修正する。そして、修正部14gは、修正した画像情報を出力部12に出力する。図3の例では、修正部14gは、部品B22が自由落下するように、生成部14aにより生成された画像情報を修正する。制御部14は、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayなどの集積回路またはCPUCentralProcessingUnitやMPUMicroProcessingUnitなどの電子回路である。[処理の流れ]次に、本実施例に係る判定装置10の処理の流れを説明する。図4は、実施例1に係る自由落下判定処理の手順を示すフローチャートである。この自由落下判定処理は、入力部11から自由落下判定処理を実行する指示を制御部14が入力された場合に、実行される。図4に示すように、第一の特定部14bは、位置を更新させる部品の識別情報を受信した場合ステップS101肯定には、更新部品を部品の中から特定するステップS102。生成部14aは、記憶部13から部品情報13aを読み出して画像情報を生成するステップS103。第二の特定部14cは、更新部品と接触する接触部品を特定し、特定した接触部品を接触部品リストに追加するステップS104。更新部14dは、更新部品の位置を更新するステップS105。検出部14eは、接触部品リストのうち、未選択の接触部品を一つ選択し、選択した接触部品を重力方向に微少量移動させるステップS106。検出部14eは、接触部品が他の部品と干渉したか否かを判定するステップS107。接触部品が他の部品と干渉しない場合ステップS107否定には、判定部14fは、接触部品が自由落下すると判定し、自由落下すると判定した接触部品を自由落下部品リストに追加しステップS108、ステップS111へ進む。一方、接触部品が他の部品と干渉する場合ステップS107肯定には、検出部14eは、接触部品と干渉する他の部品が、ベース部品であるか否かを判定するステップS109。接触部品と干渉する他の部品が、ベース部品でない場合ステップS109否定には、検出部14eは、接触部と干渉する他の部品を接触部品リストに追加するステップS110。そして、検出部14eは、接触部品リストの接触部品のうち、上記のステップS106で未選択の接触部品があるか否かを判定するステップS111。未選択の接触部品がある場合ステップS111肯定には、ステップS106に戻る。一方、未選択の接触部品がない場合ステップS111否定には、修正部14gは、次のような処理を行う。すなわち、修正部14gは、自由落下すると判定された部品が、表示上で自由落下するように、生成部14aにより生成された画像情報を修正し、修正した画像情報を出力部12に出力しステップS112、処理を終了する。また、接触部品と干渉する他の部品が、ベース部品である場合ステップS109肯定には、ステップS111へ進む。[実施例1の効果]上述してきたように、本実施例に係る判定装置10は、部品の形状と位置とを含む部品情報を格納する格納部である記憶部13から、部品情報13aを読み出して画像情報を生成する。また、本実施例に係る判定装置10は、位置を更新する部品である更新部品を部品の中から特定する。また、本実施例に係る判定装置10は、更新部品と接触する部品である接触部品を特定する。また、本実施例に係る判定装置10は、更新部品の位置を更新する。また、本実施例に係る判定装置10は、接触部品の重力方向の接触状態を検出する。また、本実施例に係る判定装置10は、検出した接触状態から接触部品の落下状況を判定する。したがって、本実施例に係る判定装置10によれば、自動的に部品の落下を判定することができる。また、本実施例に係る判定装置10は、重力方向に、接触部品と接触する部品が存在しない場合に、接触部品は自由落下すると判定する。したがって、本実施例に係る判定装置10によれば、自動的に部品の自由落下を判定することができる。また、本実施例に係る判定装置10は、接触部品に接触する部品を新たな接触部品として、接触部品が地面に接する部品であるベース部品となるまで接触状態を検出する処理を繰り返し行う。また、本実施例に係る判定装置10は、新たな接触部品の重力方向の接触状態から新たな接触部品の落下状況を判定する。これにより、更新部品と地面との間に存在する部品全てについて、落下状況を判定することができる。さて、上記の実施例1では、自由落下を判定する場合を例示したが、開示の装置はこれに限定されない。そこで、実施例2では、回転落下を判定する場合について説明する。[判定装置30の構成]図5は、実施例2に係る判定装置の構成を示す図である。図5に示すように、判定装置30は、制御部34を有する。かかる制御部34は、図1に示す実施例1に係る制御部14と比較して、第二の特定部14c、検出部14eおよび判定部14fに代えて、第二の特定部34c、検出部34eおよび判定部34fを有する点が異なる。なお、以下では、上記の実施例1と同様の機能を果たす回路や機器については図1と同様の符号を付し、その説明は省略することとする。本実施例では、判定装置30は、部品の回転落下を判定する。また、本実施例では、入力部11は、ユーザから、後述の回転落下判定処理を実行する指示を受け付けて、受け付けた指示を制御部34に入力する。第二の特定部34cは、更新部品と接触する部品である接触部品を特定する。例えば、第二の特定部34cは、更新部品を全方向に微少量移動させる。微少量の一例としては、部品が位置する3次元空間において2、3mmなどが挙げられる。そして、第二の特定部34cは、他の部品と干渉が起きた場合には、干渉が起きた部品を、更新部品と接触する接触部品として特定する。図6および図7は、判定装置の処理を説明するための図である。図6の例では、部品A41と、部品B42および部品C43とが接触している場合が示されている。また、図6の例では、部品B42および部品C43が、地面に接触している場合が示されている。また、図6の例では、部品B42の識別情報が入力部11から制御部14に入力された場合が示されている。この場合、第一の特定部14bは、部品B42を更新部品として、部品A41~部品C43の中から特定する。また、図6の例では、第二の特定部34cは、更新部品B42を全方向に微少量移動させた場合に、部品A41および部品C43と干渉が起きるので、部品A41および部品C43を更新部品B42と接触する接触部品として特定する。また、図7の例では、位置がXB1、YB1、ZB1である更新部品B42が図中左方向に所定距離X移動される場合が示されている。なお、移動後の更新部品B42の位置をXB2、YB2、ZB2とする。図7の例では、更新部14dは、更新部品B42の位置をXB2、YB2、ZB2に更新する。検出部34eは、接触部品と接触する部品の接触部分と、接触部品の重心とを水平面に投影させた場合に、接触部分によって囲まれる最小の多角形内に重心が含まれているか否かを判定することにより、接触状態を検出する。例えば、検出部34eは、接触部品の移動量が指定量に達するまで、接触部品を重力方向に微少量ずつ移動させる。微少量の一例としては、部品が位置する3次元空間において2、3mmなどが挙げられる。また、検出部34eは、他の部品と干渉が起きた場合には、干渉が起きた部分の位置座標を干渉点リストに追加する。すなわち、干渉点リストには、干渉が起きた部分の位置座標である干渉点の集合が含まれる。そして、検出部34eは、干渉点リストの位置座標が示す干渉点の集合である接触部分干渉部分と、接触部品の重心とを水平面に投影させる。続いて、検出部34eは、接触部分によって囲まれる最小多角形であって水平面上の最小多角形の領域を生成する。そして、検出部34eは、最小多角形内に重心が含まれているか否かを判定することにより、接触状態を検出する。図8Aおよび図8Bは、検出部により生成される最小多角形の領域と、重心との関係の一例を示す図である。図8Aの例では、接触部分によって囲まれる最小多角形51内に、接触部品の重心50が含まれていないため、検出部34eは、最小多角形内に重心が含まれていないと判定する。ここで、最小多角形内に重心が含まれていない場合には、接触部品は回転落下する。また、図8Bの例では、接触部分によって囲まれる最小多角形51内に、接触部品の重心50が含まれるため、検出部34eは、最小多角形内に重心が含まれていると判定する。ここで、最小多角形内に重心が含まれている場合には、接触部品は回転落下しない。このようにして、検出部34eは、接触状態を検出する。判定部34fは、検出した接触状態から接触部品の落下状況を判定する。例えば、判定部34fは、検出部34eにより最小多角形内に重心が含まれていないと判定された場合には、接触部品が回転落下すると判定する。また、判定部34fは、検出部34eにより最小多角形内に重心が含まれていると判定された場合には、接触部品が回転落下しないと判定する。そして、判定部34fは、回転落下すると判定された接触部品を回転落下部品リストに追加する。図7の例では、判定部34fは、部品A41が回転落下すると判定する。修正部34gは、回転落下すると判定された部品が、出力部12の表示上において、回転落下するように、画像情報を修正する。例えば、修正部34gは、判定部34fにより回転落下すると判定された部品が、表示上で回転落下するように、生成部14aにより生成された画像情報を修正する。そして、修正部34gは、修正した画像情報を出力部12に出力する。図7の例では、修正部34gは、部品A41が回転落下するように、生成部14aにより生成された画像情報を修正する。制御部34は、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayなどの集積回路またはCPUCentralProcessingUnitやMPUMicroProcessingUnitなどの電子回路である。[処理の流れ]次に、本実施例に係る判定装置30の処理の流れを説明する。図9は、実施例2に係る回転落下判定処理の手順を示すフローチャートである。この回転落下判定処理は、入力部11から回転落下判定処理を実行する指示を制御部34が入力された場合に、実行される。図9に示すように、第一の特定部14bは、位置を更新させる部品の識別情報を受信した場合ステップS201肯定には、更新部品を部品の中から特定するステップS202。生成部14aは、記憶部13から部品情報13aを読み出して画像情報を生成するステップS203。第二の特定部34cは、更新部品と接触する接触部品を特定するステップS204。更新部14dは、更新部品の位置を更新するステップS205。検出部34eは、接触部品を重力方向に微少量移動させるステップS206。検出部34eは、接触部品が他の部品と干渉したか否かを判定するステップS207。接触部品が他の部品と干渉しない場合ステップS207否定には、ステップS209へ進む。一方、接触部品が他の部品と干渉した場合ステップS207肯定には、検出部34eは、干渉が起きた部分の位置座標を干渉点リストに追加するステップS208。検出部34eは、接触部品の移動量が指定量に達したか否かを判定するステップS209。接触部品の移動量が指定量に達していない場合ステップS209否定には、ステップS206に戻る。一方、接触部品の移動量が指定量に達した場合ステップS209肯定には、検出部34eは、干渉点リストの位置座標が示す干渉点の集合である接触部分干渉部分と、接触部品の重心とを水平面に投影させるステップS210。検出部34eは、接触部分によって囲まれる最小多角形であって水平面上の最小多角形の領域内に、重心が含まれているか否かを判定するステップS211。最小多角形内の領域内に重心が含まれていない場合ステップS211否定には、判定部34fは、接触部品が回転落下すると判定するステップS212。一方、最小多角形内の領域内に重心が含まれている場合ステップS211肯定には、判定部34fは、接触部品が回転落下しないと判定するステップS213。そして、接触部品が回転落下すると判定された場合には、修正部34gは、次のような処理を行う。すなわち、修正部34gは、回転落下すると判定された部品が、表示上で回転落下するように、生成部14aにより生成された画像情報を修正し、修正した画像情報を出力部12に出力しステップS214、処理を終了する。[実施例2の効果]上述してきたように、本実施例に係る判定装置30は、部品の形状と位置とを含む部品情報を格納する格納部である記憶部13から、部品情報13aを読み出して画像情報を生成する。また、本実施例に係る判定装置30は、位置を更新する部品である更新部品を部品の中から特定する。また、本実施例に係る判定装置30は、更新部品と接触する部品である接触部品を特定する。また、本実施例に係る判定装置30は、更新部品の位置を更新する。また、本実施例に係る判定装置30は、接触部品の重力方向の接触状態を検出する。また、本実施例に係る判定装置30は、検出した接触状態から接触部品の落下状況を判定する。したがって、本実施例に係る判定装置30によれば、自動的に部品の落下を判定することができる。また、本実施例に係る判定装置30は、接触部品と接触する部品の接触部分と、接触部品の重心とを水平面に投影させた場合に、接触部分によって囲まれる最小の多角形内に重心が含まれていないときに、接触部品は回転落下すると判定する。したがって、本実施例に係る判定装置30によれば、自動的に部品の回転落下を判定することができる。実施例3では、部品の接触関係を予め抽出し、抽出した部品の接触関係に基づいて、接触部品の自由落下および回転落下を判定する場合について説明する。[判定装置50の構成]図10は、実施例3に係る判定装置の構成を示す図である。図10に示すように、判定装置50は、記憶部53と、制御部54とを有する。記憶部53は、図1に示す実施例1に係る記憶部13と比較して、新たに、ツリー情報53bを記憶する点が異なる。ツリー情報53bには、後述のツリー生成部54hにより部品の接触関係が登録される。すなわち、本実施例では、このツリー情報53bが示す部品の接触関係を用いて、部品の落下状況を判定するため、判定の都度、個々の部品の接触関係を検出した場合と比較して、より速い計算速度で、部品の落下状況を判定することができる。なお、ツリー情報53bについては、後述する。また、制御部54は、図1に示す実施例1に係る制御部14と比較して、ツリー生成部54hが新たに設けられた点が異なる。また、制御部54は、制御部14と比較して、検出部14e、判定部14f、修正部14gに代えて、検出部54e、判定部54f、修正部54gを有する点が異なる。また、制御部54は、制御部14と比較して、第二の特定部14cを有さない点が異なる。なお、以下では、上記の実施例1、2と同様の機能を果たす回路や機器については図1、図5と同様の符号を付し、その説明は省略することとする。本実施例の判定装置50は、部品の接触関係を予め抽出し、抽出した部品の接触関係に基づいて、部品の落下状況を判定する。これにより、本実施例によれば、より速い計算速度で、落下状況を判定することができる。また、本実施例では、入力部11は、ユーザから、後述の落下状況判定処理を実行する指示を受け付けて、受け付けた指示を制御部54に入力する。また、本実施例では、入力部11は、ユーザから、後述のツリー生成処理を実行する指示を受け付けて、受け付けた指示を制御部54に入力する。ツリー生成部54hは、部品の接触関係を抽出する。例えば、ツリー生成部54hは、部品情報13aに定義された地面を移動部品として、重力方向と反対方向に移動させる。そして、ツリー生成部54hは、地面が他の部品と干渉したか否かを判定する。地面が他の部品と干渉した場合には、ツリー生成部54hは、地面と干渉した部品をベース部品とする。そして、ツリー生成部54hは、干渉した部品を移動部品とする。次に、ツリー生成部54hは、移動部品を重力方向と反対方向に微少量移動させる。続いて、ツリー生成部54hは、移動部品が他の部品と干渉したか否かを判定する。移動部品が他の部品と干渉した場合には、ツリー生成部54hは、移動部品と、干渉した他の部品とが接触することを示す関係をツリー情報53bに追加する。その後、ツリー生成部54hは、干渉した他の部品を、新たな移動部品とし、上記の処理を再び行う。具体例を挙げて説明する。図11は、判定装置の処理を説明するための図である。図11の例では、部品A61と、部品B62および部品C63とが接触している場合が示されている。また、図11の例では、部品C63が、地面64に接触している場合が示されている。このような場合には、ツリー生成部54hは、地面64を移動部品として、重力方向と反対方向に移動させる。そして、ツリー生成部54hは、地面64が他の部品と干渉したか否かを判定する。図6の例では、ツリー生成部54hは、地面64が部品C63と干渉したと判定する。そして、ツリー生成部54hは、地面64と干渉した部品C63をベース部品とする。そして、ツリー生成部54hは、干渉した部品C63を移動部品とする。次に、ツリー生成部54hは、移動部品C63を重力方向と反対方向に微少量移動させる。続いて、ツリー生成部54hは、移動部品C63が他の部品と干渉したか否かを判定する。図6の例では、ツリー生成部54hは、移動部品C63が部品A61と干渉したと判定する。そして、ツリー生成部54hは、移動部品C63と、干渉した部品A61とが接触することを示す関係をツリー情報53bに追加する。その後、ツリー生成部54hは、干渉した部品A61を新たな移動部品とし、上記と同様の処理を繰り返し行う。その結果、ツリー生成部54hは、地面と部品C63とが接触し、部品C63と部品A61とが接触し、部品A61と部品B62とが接触することを示す関係を、ツリー情報53bに追加する。図12は、ツリー情報が示す部品の接触関係を示すツリーの一例を示す図である。図12の例では、ツリー情報53bが示す接触関係が、地面と部品C63とが接触し、部品C63と部品A61とが接触し、部品A61と部品B62とが接触することを示す関係である場合が示されている。この接触関係は、先の図11に示した部品の接触関係と同一である。また、図12の例では、上位階層に存在する部品ほど、ベース部品に近いものとして表現されているが、ツリー情報53bが示す接触関係の表現方法は任意の方法を用いることができる。例えば、下位階層に存在する部品ほど、ベース部品に近いものとして表現してもよい。また、図12の例において、部品A61を分解、すなわち部品A61を移動させた場合には、同図から、部品B62が、ベース部品とのつながりがツリー上で消えてしまうため、部品B62が落下することが、ツリー情報53bが示すツリーから容易に分かる。また、各部品を分解などにより外した場合、すなわち部品の位置を更新させた場合には、ツリー情報53bが示すツリーから、位置が更新された部品の部分のみを更新すれば、全部品の接触関係を把握することが可能な情報が生成できる。そのため、判定装置50は、落下状況を判定するたびに、部品の接触関係を検出する場合と比較して、ツリー情報53bを用いることで、より速い計算事件で落下状況を判定することができる。検出部54eは、実施例2に係る検出部34eと同様の機能を有する。すなわち、検出部54eは、部品の回転落下を判定する際に用いられる接触状態を検出する。判定部54fは、実施例2に係る判定部34fと同様の機能を有する。すなわち、判定部54fは、部品の回転落下を判定する。また、判定部54fは、更新部品を、後述の落下判定処理の処理対象の部品である部品Kとする。また、判定部54fは、部品Kと接触する部品であって、下位の接触部品をツリーから検索し、処理対象の部品のリストである部品リストkに追加する。また、判定部54fは、部品リストkの部品のうち、未選択の部品Lを一つ選択する。そして、判定部54fは、ツリー上において、選択した部品Lの上位に接続している部品を、ツリー情報53bから検索する。そして、判定部54fは、検索の結果、部品Lの上位に接続している部品が得られた場合には、得られた部品を部品リストlに追加する。そして、判定部54fは、部品リストlに部品が含まれていない状態、いわゆる空であるか否かを判定する。部品リストlに部品が含まれている場合には、検出部54eおよび判定部54fは、実施例2と同様に、部品Lの回転落下を判定する。そして、部品Lが回転落下すると判定された場合には、判定部54fは、部品Lを部品リストmと部品リストnに追加する。ここで、判定部54fは、部品Lが回転落下することを示す情報を、部品Lに付加して、部品リストnに追加する。一方、判定部54fは、部品リストlに部品が含まれていない場合には、部品Lが自由落下すると判定する。そして、部品Lが自由落下すると判定された場合には、判定部54fは、部品Lを部品リストmと部品リストnに追加する。ここで、判定部54fは、部品Lが自由落下することを示す情報を、部品Lに付加して、部品リストnに追加する。また、判定部54fは、部品リストkに未選択の部品が含まれていない場合には、部品リストmの部品のうち、未選択の部品Mを選択する。そして、判定部54fは、選択した部品Mを、部品Kとし、部品Kを、部品リストkに追加し、上記の処理を再び行う。一方、部品リストmに未選択の部品Mが含まれていない場合には、処理を終了する。なお、処理を終了した際に、リストnには、自由落下または回転落下することが示す情報が付加された部品が含まれる。修正部54gは、実施例1に係る修正部14gおよび実施例2に係る修正部34gと同様の機能を有する。すなわち、修正部54gは、自由落下すると判定された部品が、出力部12の表示上において、自由落下するように、画像情報を修正する。また、修正部54gは、回転落下すると判定された部品が、出力部12の表示上において、回転落下するように、画像情報を修正する。図13、図14および図15は、判定装置の処理を説明するための図である。図13の例では、部品A71が、地面に接触している場合が示されている。また、図13の例では、部品A71と、部品B72および部品C73とが接触している場合が示されている。また、図13の例では、部品B72および部品C73と、部品D74とが接触している場合が示されている。また、図13の例では、部品D74と、部品E75、部品F76および部品G77とが接触している場合が示されている。また、図13の例では、部品F76と、部品H78とが接触している場合が示されている。図13の例の場合では、ツリー生成部54hは、図14に示すようなツリーを表すツリー情報53bを生成する。図14の例では、部品A71と、部品B72および部品C73とが接触していることを示す関係が示されている。また、図14の例では、部品B72および部品C73と、部品D74とが接触していることを示す関係が示されている。また、図14の例では、部品D74と、部品E75、部品F76および部品G77とが接触していることを示す関係が示されている。また、図14の例では、部品F76と、部品H78とが接触していることを示す関係が示されている。図13および図14の例において、部品C73を分解して取り除いた場合、すなわち、部品Cの位置を更新した場合には、判定装置50は、次のように、各部品の自由落下および回転落下を判定する。すなわち、判定装置50は、ツリー上で、部品C73と接触している下位の部品を検索する。図14の例では、判定装置50は、部品C73と接触している下位の部品として、部品D74を検索する。この部品D74が落下判定処理の対象の部品となる。また、図15の例は、部品C73が取り除かれた場合が示されている。判定装置50は、部品D74の上位に接触する部品があるか否かを判定する。部品D74の上位に接触する部品がない場合には、部品D74が自由落下すると判定する。図15の例では、部品D74の上位に接触する部品B72があるので、判定装置50は、部品D74が自由落下しないと判定する。しかしながら、部品D74が回転落下をする可能性があるので、次に、判定装置50は、部品D74が回転落下をするか否かの判定を行う。この回転落下の判定方法は、実施例2での回転落下の判定方法と同様である。そして、判定装置50は、上述した自由落下および回転落下の判定を、部品D74より下位の部品に対して行い、部品D74の落下により、下位の部品が落下するか否かを判定する。制御部54は、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayなどの集積回路またはCPUCentralProcessingUnitやMPUMicroProcessingUnitなどの電子回路である。[処理の流れ]次に、本実施例に係る判定装置50の処理の流れを説明する。図16は、実施例3に係るツリー生成処理の手順を示すフローチャートである。このツリー生成処理は、入力部11からツリー生成処理を実行する指示を制御部54が入力された場合に、実行される。図16に示すように、ツリー生成部54hは、部品情報13aに定義された地面を移動部品とするステップS301。ツリー生成部54hは、移動部品を重力方向と反対方向に移動させるステップS302。ツリー生成部54hは、移動部品が他の部品と干渉したか否かを判定するステップS303。移動部品が他の部品と干渉した場合ステップS303肯定には、ツリー生成部54hは、地面と干渉した部品をベース部品とするステップS304。ツリー生成部54hは、干渉した部品を移動部品とするステップS305。ツリー生成部54hは、移動部品を重力方向と反対方向に微少量移動させるステップS306。ツリー生成部54hは、移動部品が他の部品と干渉したか否かを判定するステップS307。移動部品が他の部品と干渉した場合ステップS307肯定には、ツリー生成部54hは、移動部品と、干渉した他の部品とが接触することを示す関係をツリー情報53bに追加しステップS308、ステップS305に戻る。一方、移動部品が他の部品と干渉しない場合ステップS307否定、および移動部品が他の部品と干渉しない場合ステップS303否定には、処理を終了する。図17は、実施例3に係る落下状況判定処理の手順を示すフローチャートである。この落下状況判定処理は、入力部11から落下状況処理を実行する指示を制御部54が入力された場合に、実行される。図17に示すように、第一の特定部14bは、位置を更新させる部品の識別情報を受信した場合ステップS401肯定には、更新部品を部品の中から特定するステップS402。判定部54fは、更新部品を、部品KとするステップS403。判定部54fは、判定部54fは、部品Kと接触する部品であって、下位の接触部品をツリーから検索し、処理対象の部品のリストである部品リストkに追加するステップS404。判定部54fは、部品リストkの部品のうち、未選択の部品Lがあるか否かを判定するステップS405。未選択の部品Lがある場合ステップS405肯定には、判定部54fは、未選択の部品Lを一つ選択するステップS406。判定部54fは、ツリー上において、選択した部品Lの上位に接続している部品を、ツリー情報53bから検索し、検索の結果、部品Lの上位に接続している部品が得られた場合には、得られた部品を部品リストlに追加するステップS407。判定部54fは、部品リストlに部品が含まれていない状態、いわゆる空であるか否かを判定するステップS408。部品リストlに部品が含まれている場合ステップS408否定には、検出部54eおよび判定部54fは、実施例2と同様に、部品Lの回転落下を判定するステップS409。判定部54fは、ステップS409で部品Lが回転落下すると判定されたか否かを判定するステップS410。部品Lが回転落下すると判定された場合ステップS410肯定には、判定部54fは、部品Lを部品リストmと部品リストnに追加する。ここで、判定部54fは、部品Lが回転落下することを示す情報を、部品Lに付加して、部品リストnに追加するステップS411。一方、部品Lが回転落下すると判定されない場合ステップS410否定には、ステップS405に戻る。また、部品リストlに部品が含まれていない場合ステップS408肯定には、判定部54fは、部品Lが自由落下すると判定しステップS412、ステップS411で、部品Lを部品リストmと部品リストnに追加する。ここで、判定部54fは、部品Lが自由落下することを示す情報を、部品Lに付加して、部品リストnに追加する。また、部品リストkに未選択の部品が含まれていない場合ステップS405否定には、判定部54fは、部品リストmに未選択の部品Mが含まれているか否かを判定するステップS413。未選択の部品Mが含まれている場合ステップS413肯定には、判定部54fは、部品リストmの部品のうち、未選択の部品Mを選択するステップS414。判定部54fは、選択した部品Mを、部品Kとし、部品Kを、部品リストkに追加しステップS415、ステップS404に戻る。一方、部品リストmに未選択の部品Mが含まれていない場合ステップS413否定には、処理を終了する。[実施例3の効果]上述してきたように、本実施例に係る判定装置50は、部品の形状と位置とを含む部品情報を格納する格納部である記憶部53から、部品情報13aを読み出して画像情報を生成する。また、本実施例に係る判定装置50は、位置を更新する部品である更新部品を部品の中から特定する。また、本実施例に係る判定装置50は、更新部品と接触する部品である接触部品を特定する。また、本実施例に係る判定装置50は、更新部品の位置を更新する。また、本実施例に係る判定装置50は、接触部品の重力方向の接触状態を検出する。また、本実施例に係る判定装置50は、検出した接触状態から接触部品の落下状況を判定する。したがって、本実施例に係る判定装置50によれば、自動的に部品の落下を判定することができる。また、本実施例に係る判定装置50は、重力方向に、接触部品と接触する部品が存在しない場合に、接触部品は自由落下すると判定する。したがって、本実施例に係る判定装置50によれば、自動的に部品の自由落下を判定することができる。また、本実施例に係る判定装置50は、接触部品と接触する部品の接触部分と、接触部品の重心とを水平面に投影させた場合に、接触部分によって囲まれる最小の多角形内に重心が含まれていないときに、接触部品は回転落下すると判定する。したがって、本実施例に係る判定装置50によれば、自動的に部品の回転落下を判定することができる。また、本実施例に係る判定装置50は、接触部品に接触する部品を新たな接触部品として、接触部品が地面に接する部品であるベース部品となるまで接触状態を検出する処理を繰り返し行う。また、本実施例に係る判定装置50は、新たな接触部品の重力方向の接触状態から新たな接触部品の落下状況を判定する。これにより、更新部品と地面との間に存在する部品全てについて、落下状況を判定することができる。また、本実施例に係る判定装置50は、部品の接触関係を抽出し、抽出した部品の接触関係に基づいて、接触部品の落下状況を判定する。したがって、本実施例に係る判定装置50によれば、部品の接触関係を用いて、部品の落下状況を判定するため、判定の都度、個々の部品の接触関係を検出した場合と比較して、より速い計算速度で、部品の落下状況を判定することができる。さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。例えば、実施例1~3において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。例えば、図17に示すステップS409、S410をまとめたりすることもできる。また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散統合して構成することができる。例えば、図1、図5、図10に示す判定部と、修正部とが統合されてもよい。[判定プログラム]また、上記の各実施例で説明した各判定装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図18を用いて、上記の実施例で説明した判定装置と同様の機能を有する判定プログラムを実行するコンピュータの一例を説明する。図18は、判定プログラムを実行するコンピュータを示す図である。図18に示すように、実施例4におけるコンピュータは、CPUCentralProcessingUnit310、ROMReadOnlyMemory320、HDDHardDiskDrive330、RAMRandomAccessMemory340とを有する。これら310~340の各部は、バス350を介して接続される。ROM320には、上記の各実施例で示す生成部、ツリー生成部、第一の特定部、第二の特定部、更新部、検出部、判定部、修正部と同様の機能を発揮する判定プログラム320aが予め記憶される。なお、判定プログラム320aについては、適宜分離しても良い。そして、CPU310が、判定プログラム320aをROM320から読み出して実行する。そして、HDD330には、部品情報、ツリー情報が設けられる。これら部品情報、ツリー情報のそれぞれは、部品情報13a、ツリー情報53bのそれぞれに対応する。そして、CPU310は、部品情報、ツリー情報を読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納された部品情報、ツリー情報を用いて、判定プログラムを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM340に格納される必要はなく、処理に必要なデータのみがRAM340に格納されれば良い。なお、上記した判定プログラムについては、必ずしも最初からROM320に記憶させておく必要はない。例えば、コンピュータ300に挿入されるフレキシブルディスクFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの可搬用の物理媒体にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される他のコンピュータまたはサーバなどにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。付記1コンピュータに、部品の形状と位置とを含む部品情報を格納する格納部から、部品情報を読み出し、位置を更新する更新部品を前記部品の中から特定し、前記更新部品と接触する接触部品を前記部品の中から特定し、前記更新部品の位置を更新し、前記接触部品の重力方向の接触状態を検出し、検出した接触状態から前記接触部品の落下状況を判定する処理を実行させる判定プログラム。付記2前記落下状況を判定する処理は、前記重力方向に、前記接触部品と接触する部品が存在しない場合に、前記接触部品は自由落下すると判定する付記1に記載の判定プログラム。付記3前記落下状況を判定する処理は、前記接触部品と接触する部品の接触部分と、前記接触部品の重心とを水平面に投影させた場合に、前記接触部分によって囲まれる最小の多角形内に前記重心が含まれていないときに、前記接触部品は回転落下すると判定する付記1に記載の判定プログラム。付記4前記接触部品の重力方向の接触状態を検出する処理は、前記接触部品に接触する部品を新たな接触部品として、該接触部品が地面に接する部品となるまで前記接触状態を検出する処理を繰り返し行い、前記落下状況を判定する処理は、前記新たな接触部品の重力方向の接触状態から該新たな接触部品の落下状況を判定する付記1~3のいずれか一つに記載の判定プログラム。付記5さらに、コンピュータに、部品の接触関係を抽出する処理を実行させ、前記落下状況を判定する処理は、前記部品の接触関係に基づいて、前記接触部品の落下状況を判定する付記1~4のいずれか一つに記載の判定プログラム。付記6部品の形状と位置とを含む部品情報を格納する格納部から、部品情報を読み出す生成部と、位置を更新する更新部品を前記部品の中から特定する第一の特定部と、前記更新部品と接触する接触部品を前記部品の中から特定する第二の特定部と、前記更新部品の位置を更新する更新部と、前記接触部品の重力方向の接触状態を検出する検出部と、検出した接触状態から前記接触部品の落下状況を判定する判定部と、を有することを特徴とする判定装置。付記7前記判定部は、前記重力方向に、前記接触部品と接触する部品が存在しない場合に、前記接触部品は自由落下すると判定する付記6に記載の判定装置。付記8前記判定部は、前記接触部品と接触する部品の接触部分と、前記接触部品の重心とを水平面に投影させた場合に、前記接触部分によって囲まれる最小の多角形内に前記重心が含まれていないときに、前記接触部品は回転落下すると判定する付記6に記載の判定装置。付記9前記検出部は、前記接触部品に接触する部品を新たな接触部品として、該接触部品が地面に接する部品となるまで前記接触状態を検出する処理を繰り返し行い、前記落下状況を判定する処理は、前記新たな接触部品の重力方向の接触状態から該新たな接触部品の落下状況を判定する付記6~8のいずれか一つに記載の判定装置。付記10さらに、部品の接触関係を抽出する抽出部を有し、前記判定部は、前記部品の接触関係に基づいて、前記接触部品の落下状況を判定する付記6~9のいずれか一つに記載の判定装置。付記11コンピュータが実行する判定方法であって、部品の形状と位置とを含む部品情報を格納する格納部から、部品情報を読み出し、位置を更新する更新部品を前記部品の中から特定し、前記更新部品と接触する接触部品を前記部品の中から特定し、前記更新部品の位置を更新し、前記接触部品の重力方向の接触状態を検出し、検出した接触状態から前記接触部品の落下状況を判定することを特徴とする判定方法。付記12前記落下状況を判定する方法は、前記重力方向に、前記接触部品と接触する部品が存在しない場合に、前記接触部品は自由落下すると判定する付記11に記載の判定方法。付記13前記落下状況を判定する方法は、前記接触部品と接触する部品の接触部分と、前記接触部品の重心とを水平面に投影させた場合に、前記接触部分によって囲まれる最小の多角形内に前記重心が含まれていないときに、前記接触部品は回転落下すると判定する付記11に記載の判定方法。付記14前記接触部品の重力方向の接触状態を検出する方法は、前記接触部品に接触する部品を新たな接触部品として、該接触部品が地面に接する部品となるまで前記接触状態を検出する処理を繰り返し行い、前記落下状況を判定する方法は、前記新たな接触部品の重力方向の接触状態から該新たな接触部品の落下状況を判定する付記11~13のいずれか一つに記載の判定方法。付記15さらに、コンピュータに、部品の接触関係を抽出する方法を実行させ、前記落下状況を判定する方法は、前記部品の接触関係に基づいて、前記接触部品の落下状況を判定する付記11~14のいずれか一つに記載の判定方法。