(57)【特許請求の範囲】
【請求項１】
階層化された１以上のデータで構成される階層構造データが格納され得る階層構造データ格納部と、
２以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る形状情報格納部と、
前記階層構造データから、一のノードに従属する１以上のデータを取得する配置用データ取得部と、
前記配置用データ取得部が取得したデータを、前記形状情報が示す立体オブジェクトの予め指定された方向である第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する画像情報構成部と、
前記画像情報構成部が構成した画像情報を出力する出力部と、
前記立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付部と、を備え、
前記配置用データ取得部は、前記出力部が出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを取得し、
前記画像情報構成部は、前記回転指示に応じて回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得部が取得した前記従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、
前記出力部は、前記回転指示に応じて前記画像情報構成部が構成した画像情報を出力する情報処理装置。
【請求項２】
階層化された１以上のデータで構成される階層構造データが格納され得る階層構造データ格納部と、
２以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る形状情報格納部と、
前記階層構造データから、一のノードに従属する１以上のデータを取得する配置用データ取得部と、
前記配置用データ取得部が取得したデータを、前記形状情報が示す立体オブジェクトの予め指定された方向である第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する画像情報構成部と、
前記画像情報構成部が構成した画像情報を出力する出力部と、
前記立体オブジェクトを第一の回転方向に回転させる指示である第一回転指示と、前記立体オブジェクトを前記第二の回転方向とは異なる第二の回転方向に回転させる指示である第二回転指示とを受け付ける回転指示受付部と、
前記出力部が出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記１以上のデータのうちの一のデータに対する指定を受け付ける指定受付部と、を備え、
前記配置用データ取得部は、前記出力部が出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記１以上のデータのうちの前記指定受付部が受け付けた指定により指定されるデータに対して従属する１以上のデータを取得し、更に、前記出力部が出力する立体オブジェクトの前記第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを取得し、
前記画像情報構成部は、
前記回転指示受付部が第一回転指示を受け付けた場合、前記第一回転指示が示す第一の回転方向に回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得部が取得した前記指定受付部が受け付けた指定により指定されるデータに対して従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、
前記回転指示受付部が第二回転指示を受け付けた場合、前記第二回転指示が示す第二の回転方向に回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得部が取得した回転前の立体オブジェクトの前記第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、
前記出力部は、前記回転指示に応じて前記画像情報構成部が構成した画像情報を出力する情報処理装置。
【請求項３】
階層化された１以上のデータで構成される階層構造データが格納され得る階層構造データ格納部と、２以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る形状情報格納部と、配置用データ取得部と、画像情報構成部と、出力部と、回転指示受付部と、を用いて行われる情報処理方法であって、
前記配置用データ取得部が、前記階層構造データから、一のノードに従属する１以上のデータを取得する配置用データ取得ステップと、
前記画像情報構成部が、前記配置用データ取得ステップで取得したデータを、前記形状情報が示す立体オブジェクトの予め指定された方向である第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、
前記出力部が、前記画像情報構成ステップで構成した画像情報を出力する出力ステップと、
前記回転指示受付部が、前記立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付ステップと、を備え、
前記配置用データ取得ステップは、前記出力ステップで出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを取得し、
前記画像情報構成ステップは、前記回転指示に応じて回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得ステップで取得した前記従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、
前記出力ステップは、前記回転指示に応じて前記画像情報構成ステップで構成した画像情報を出力する情報処理方法。
【請求項４】
階層化された１以上のデータで構成される階層構造データが格納され得る階層構造データ格納部と、２以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る形状情報格納部と、配置用データ取得部と、画像情報構成部と、出力部と、回転指示受付部と、指定受付部とを用いて行われる情報処理方法であって、
前記配置用データ取得部が、前記階層構造データから、一のノードに従属する１以上のデータを取得する配置用データ取得ステップと、
前記画像情報構成部が、前記配置用データ取得ステップで取得したデータを前記形状情報が示す立体オブジェクトの予め指定された方向である第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、
前記出力部が、前記画像情報構成ステップで構成した画像情報を出力する出力ステップと、
前記回転指示受付部が、前記立体オブジェクトを第一の回転方向に回転させる指示である第一回転指示と、前記立体オブジェクトを前記第二の回転方向とは異なる第二の回転方向に回転させる指示である第二回転指示とを受け付ける回転指示受付ステップと、
前記指定受付部が、前記出力ステップにより出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記１以上のデータのうちの一のデータに対する指定を受け付ける指定受付ステップと、を備え、
前記配置用データ取得ステップは、前記出力ステップで出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記１以上のデータのうちの前記指定受付部が受け付けた指定により指定されるデータに対して従属する１以上のデータを取得し、更に、前記出力ステップで出力した立体オブジェクトの前記第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを取得し、
前記画像情報構成ステップは、
前記回転指示受付ステップにより第一回転指示を受け付けた場合、前記第一回転指示が示す第一の回転方向に回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得ステップにより取得した前記指定受付ステップにより受け付けた指定により指定されるデータに対して従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、
前記回転指示受付ステップにより第二回転指示を受け付けた場合、前記第二回転指示が示す第二の回転方向に回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得ステップにより取得した回転前の立体オブジェクトの前記第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、
前記出力ステップは、前記回転指示に応じて前記画像情報構成ステップで構成した画像情報を出力する情報処理方法。
【請求項５】
コンピュータを、
階層構造データ格納部に格納された階層化された１以上のデータで構成される階層構造データから、一のノードに従属する１以上のデータを取得する配置用データ取得部と、
前記配置用データ取得部が取得したデータを、形状情報格納部に格納された２以上の面を有する立体オブジェクトの形状を示す情報である形状情報が示す立体オブジェクトの予め指定された方向を向いた面である第一指定方向に配置した立体オブジェクトの画像情報を構成する画像情報構成部と、
前記画像情報構成部が構成した画像情報を出力する出力部と、
前記立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付部と、として機能させるためのプログラムであって、
前記配置用データ取得部は、前記出力部が出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを取得し、
前記画像情報構成部は、前記回転指示に応じて回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得部が取得した前記従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、
前記出力部は、前記回転指示に応じて前記画像情報構成部が構成した画像情報を出力するプログラム。
【請求項６】
コンピュータを、
階層構造データ格納部に格納された階層化された１以上のデータで構成される階層構造データから、一のノードに従属する１以上のデータを取得する配置用データ取得部と、
前記配置用データ取得部が取得したデータを、形状情報格納部に格納された２以上の面を有する立体オブジェクトの形状を示す情報である形状情報が示す立体オブジェクトの予め指定された方向を向いた面である第一指定方向に配置した立体オブジェクトの画像情報を構成する画像情報構成部と、
前記画像情報構成部が構成した画像情報を出力する出力部と、
前記立体オブジェクトを第一の回転方向に回転させる指示である第一回転指示と、前記立体オブジェクトを前記第二の回転方向とは異なる第二の回転方向に回転させる指示である第二回転指示とを受け付ける回転指示受付部と、
前記出力部が出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記１以上のデータのうちの一のデータに対する指定を受け付ける指定受付部と、として機能させるためのプログラムであって、
前記配置用データ取得部は、前記出力部が出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記１以上のデータのうちの前記指定受付部が受け付けた指定により指定されるデータに対して従属する１以上のデータを取得し、更に、前記出力部が出力する立体オブジェクトの前記第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを取得し、
前記画像情報構成部は、
前記回転指示受付部が第一回転指示を受け付けた場合、前記第一回転指示が示す第一の回転方向に回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得部が取得した前記指定受付部が受け付けた指定により指定されるデータに対して従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、
前記回転指示受付部が第二回転指示を受け付けた場合、前記第二回転指示が示す第二の回転方向に回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得部が取得した回転前の立体オブジェクトの前記第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、
前記出力部は、前記回転指示に応じて前記画像情報構成部が構成した画像情報を出力するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを配置した立体的な画像等を出力する情報処理装置等に関するものである。
【背景技術】
【０００２】
従来の技術として、立体図形の各領域にメニュー項目が割り当てられた、前記立体図形を表示する表示工程と、前記立体図形を、入力する指示コマンドに従って、移動させる移動工程と、前記立体図形に割り当てられたメニュー項目から、所要のメニューを選択する選択工程と、選択されたメニューに対応した処理を実行する選択処理実行工程とを、備えることを特徴とする３次元メニュー選択方法が知られていた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１１４４５１号公報（第１頁、第１図等）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の情報処理装置等においては、階層化されたデータを配置した立体オブジェクトの画像情報を適切に出力することができないという課題があった。
【０００５】
例えば、従来の技術においては、立体図形の各領域には、予め割り当てられたメニュー項目等のデータが表示されるため、既に割り当て済のメニュー項目等のデータに、下位の階層のデータ（例えばサブメニュー項目等）が存在していても、そのデータを立体図形状に適宜配置して出力することができないという課題があった。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、階層化された１以上のデータで構成される階層構造データが格納され得る階層構造データ格納部と、２以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る形状情報格納部と、階層構造データから、一のノードに従属する１以上のデータを取得する配置用データ取得部と、配置用データ取得部が取得したデータを形状情報が示す立体オブジェクトの予め指定された方向である第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する画像情報構成部と、画像情報構成部が構成した画像情報を出力する出力部と、立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付部と、を備え、配置用データ取得部は、出力部が出力した立体オブジェクトの第一指定方向を向いた面に配置された１以上のデータのうちの１以上に対して所定の従属関係にある１以上のデータを取得し、画像情報構成部は、回転指示に応じて回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部が取得した所定の従属関係にある１以上のデータを配置した立体オブジェクトの画像情報を構成し、出力部は、回転指示に応じて画像情報構成部が構成した画像情報を出力する情報処理装置である。
【０００７】
かかる構成により、立体オブジェクトに対する回転操作によって、階層化されたデータを配置した立体オブジェクトの画像情報を適切に出力することができる。これにより、階層構造を有するデータをブラウズする際の操作性を向上させることができる。
【０００８】
また、本発明の情報処理装置は、前記情報処理装置において、出力部が出力した立体オブジェクトの第一指定方向を向いた面に配置された１以上のデータのうちの一のデータに対する指定を受け付ける指定受付部を更に備え、配置用データ取得部は、指定受付部が受け付けた指定により指定されるデータに対して従属する１以上のデータを、所定の従属関係にある１以上のデータとして階層構造データから取得する情報処理装置である。
【０００９】
かかる構成により、回転操作によって、順次、下位の階層のデータを取得して、立体オブジェクトの第一指定方向を向いた面に出力させることができる。
【００１０】
また、本発明の情報処理装置は、前記情報処理装置において、配置用データ取得部は、出力部が出力する立体オブジェクトの第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを、所定の従属関係にある１以上のデータとして取得する情報処理装置である。
【００１１】
かかる構成により、回転操作によって、異なるノードの同じ階層のデータを表示することができる。
【００１２】
また、本発明の情報処理装置は、前記情報処理装置において、配置用データ取得部は、出力部が出力する立体オブジェクトの第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを、所定の従属関係にある１以上のデータとして更に取得し、回転指示受付部は、立体オブジェクトを第一の回転方向に回転させる指示である第一回転指示と、立体オブジェクトを第二の回転方向とは異なる第二の回転方向に回転させる指示である第二回転指示とを受け付け得るものであり、画像情報構成部は、回転指示受付部が第一回転指示を受け付けた場合、第一回転指示が示す第一の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部が取得した指定受付部が受け付けた指定により指定されるデータに対して従属する１以上のデータを配置した立体オブジェクトの画像情報を構成し、回転指示受付部が第二回転指示を受け付けた場合、第二回転指示が示す第二の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部が取得した回転前の立体オブジェクトの第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを配置した立体オブジェクトの画像情報を構成する情報処理装置である。
【００１３】
かかる構成により、回転指示の変更することで、階層やノードが異なる階層構造データを出力することができる。これにより、回転指示を変更することで、階層構造データ内のデータを自由にブラウズすることができる。
【００１４】
また、本発明の情報処理装置は、前記情報処理装置において、階層構造データは、ＸＭＬデータである情報処理装置である。
【００１５】
かかる構成により、作成が容易であり汎用性の高い階層構造データを利用することができる。
【発明の効果】
【００１６】
本発明による情報処理装置等によれば、階層化されたデータを配置した立体オブジェクトの画像情報を適切に出力することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態における情報処理装置のブロック図
【図２】同情報処理装置の動作について説明するフローチャート
【図３】同情報処理装置の動作について説明するフローチャート
【図４】同情報処理装置の動作を説明するための、形状情報管理表を示す図
【図５】同情報処理装置の動作を説明するための模式図
【図６】同情報処理装置の動作を説明するための、オブジェクト配置情報管理表を示す図
【図７】同情報処理装置の動作を説明するための、階層構造データを示す図
【図８】同情報処理装置の表示例を示す図
【図９】同情報処理装置の動作を説明するための、指定済データの一例を示す図
【図１０】同情報処理装置の出力例を示す図
【図１１】同情報処理装置の動作を説明するための、変更後の指定済データを示す図
【図１２】同情報処理装置の表示例を示す図
【図１３】同情報処理装置の表示例を示す図
【図１４】同情報処理装置の表示例を示す図
【図１５】同情報処理装置の表示例を示す図
【図１６】同情報処理装置の表示例を示す図
【図１７】同情報処理装置の表示例を示す図
【図１８】同情報処理装置の表示例を示す図
【図１９】同情報処理装置の動作を説明するための、階層形状管理表の一例を示す図
【図２０】同情報処理装置の動作を説明するための、異なる形状情報が示す立体オブジェクトを示す模式図
【図２１】同情報処理装置を実現するコンピュータの外観の一例を示す模式図
【図２２】同情報処理装置を実現するコンピュータの内部構成を示す図
【発明を実施するための形態】
【００１８】
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００１９】
（実施の形態）
図１は、本実施の形態における情報処理装置１のブロック図である。
情報処理装置１は、形状情報格納部１０１、オブジェクト配置情報格納部１０２、階層構造データ格納部１０３、回転指示受付部１０４、配置用データ取得部１０５、指定受付部１０６、画像情報構成部１０７、および出力部１０８を備える。
【００２０】
形状情報格納部１０１は、２以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る。形状情報格納部１０１には、例えば、１以上の立体オブジェクトの形状情報が格納されてもよい。形状情報とは、例えば、仮想三次元空間内に配置されるオブジェクトの形状等を定義する情報である。形状情報は、例えば、立体オブジェクトのいわゆるモデリング情報である。なお、形状情報は、擬似的に立体オブジェクトを表示するための、二次元のオブジェクトの形状を示す情報であっても良い。ここで述べる立体オブジェクトは、例えば３Ｄオブジェクトや３Ｄモデルや立体モデルと呼ばれるものも含む。形状情報は、立体オブジェクトの頂点の座標の情報や、境界線や面等を表現する方程式やそのパラメータの情報等で構成される。ここで述べる座標は、例えば、立体オブジェクト自身を基準に設定される座標系、いわゆるオブジェクト座標系の座標であっても良いし、１以上の立体オブジェクトが配置される仮想三次元空間の座標系、いわゆるワールド座標系の座標であっても良い。
【００２１】
形状情報は、立体オブジェクトを構成する２以上の面を定義する情報、あるいは面を定義可能な情報を有している。例えば、面を定義する情報は、例えば、面が他の面とで構成する頂点の座標や、面の周りの辺上の座標等の組合せ等である。あるいは、面を定義可能な情報は、面の法線を示す情報、例えば法線ベクトル等である。形状情報が示す立体オブジェクトの１以上の面は、例えば、各面を識別するための識別情報と対応付けられていてもよい。このような面の識別情報をここでは、面識別情報と呼ぶ。面識別情報は、例えば、面を特定する頂点の座標の組合せと対応付けられていても良いし、面識別情報は、例えば、面を特定する法線を示す情報と対応付けられていても良い。また、立体オブジェクトの向きや位置等の配置が、当該立体オブジェクトを構成する各面が正面となるように配置されるような何パターンかに限定されている場合、各パターンと、そのパターンにおいて正面となる面の面識別情報とが対応付けられていても良い。面識別情報は、形状情報に含まれていても良いし、図示しない記憶媒体等の他の格納部等に蓄積されていても良い。
【００２２】
立体オブジェクトは、例えば、面の構成方法によって、ポリゴンモデリングや、自由曲面を利用したモデリング等の様々なモデリングに分類できる。形状情報には、立体オブジェクトを出力する際の、立体オブジェクトの色や、透明度、反射、屈折率、バンプなどの設定項目の情報を含んでも良い。形状情報は、大きさや形状や色や透明度等が経時的に変化する動きのある立体オブジェクトの形状情報であっても良い。立体オブジェクトの形状情報は、どのような形式の情報であっても良い。例えば、形状情報は、ＦＬＡＳＨ（登録商標）形式のファイルであっても良い。立体オブジェクトの形状は、球、円柱、六面体や八面対等の多面体や、立方体、円錐、角錐等、どのような形状であっても良い。この場合、球は多面体と考えて良い。また、ここでは、仮想三次元空間に配置される平面オブジェクトも立体オブジェクトの一つと考えて良い。形状情報格納部１０１に格納されている形状情報には、形状情報が示す立体オブジェクトが回転可能な方向を示す情報が対応付けられていても良い。例えば、この情報が、形状情報に含まれていてもよい。後述する回転指示受付部１０４が回転指示を受け付けた場合、立体オブジェクトは、この回転可能な方向を指定する情報が示す方向においてのみ回転できるようにしてもよい。
【００２３】
形状情報格納部１０１には、１以上の立体オブジェクトの形状情報が格納され得る。なお、２以上の立体オブジェクトは、同じ形状および大きさであってもよいし、異なる形状および大きさであっても良い。立体オブジェクトには、立体オブジェクトを識別するための識別情報である立体オブジェクト識別情報が対応付けられていても良い。形状情報のサイズの単位等は、絶対的な単位であっても、相対的な単位であっても良い。また、複数の立体オブジェクトにおいて、共用可能な形状情報等は、リンク情報等を用いて参照することで、相互利用できるようにしても良い。すなわち、２以上の立体オブジェクトの形状情報は、２以上の立体オブジェクトにおいて共用される一の形状情報であってもよい。つまり、２以上の立体オブジェクトの形状情報は、２以上の立体オブジェクトに対応する形状情報と考えても良い。なお、形状情報格納部１０１には、グループ化された１以上の立体オブジェクトを内部に配置するための立体オブジェクトの形状を示す形状情報が予め格納されているようにしても良い。ここでは、このようなグループ化された１以上の立体オブジェクトを内部に配置するための立体オブジェクトを、グループ用立体オブジェクトと呼ぶ。また、このようなグループ化された１以上の立体オブジェクトを内部に配置するための立体オブジェクトの形状情報は、適宜、図示しない形状情報構成部等で構成されて、形状情報格納部１０１に格納されるようにしても良い。形状情報格納部１０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００２４】
オブジェクト配置情報格納部１０２には、１以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得る。ここで述べる１以上の立体オブジェクトは、形状情報格納部１０１に格納されている形状情報が示す立体オブジェクトである。オブジェクト配置情報は、立体オブジェクトの形状情報の配置を指定する情報と考えても良い。ここで述べる配置とは、例えば、仮想三次元空間内における配置である。ただし、立体オブジェクトを用いて構成された二次元の画像や、立体オブジェクトを示す擬似的な三次元画像が配置される位置を示す二次元の座標情報等の位置の情報であっても良い。この配置は、例えば、立体オブジェクトの位置と方向との組み合わせを有する概念である。ただし、配置や、位置または方向のいずれか一方であっても良い。立体オブジェクトとオブジェクト配置情報とは、予め対応付けられていても良いし、対応付けられていなくても良い。例えば、予め一のオブジェクト配置情報を指定しておくようにし、１以上の立体オブジェクトのうちの一の立体オブジェクトを配置する際に、そのオブジェクトがどのようなオブジェクトであっても、上述した予め指定された一のオブジェクト配置情報を用いてオブジェクトを配置するようにしてもよい。
【００２５】
オブジェクト配置情報は、立体オブジェクトの配置を結果的に指定可能な情報であればよく、例えば、立体オブジェクトが配置される位置の座標や、立体オブジェクトの方向を指定する情報である。方向を指定する情報は、例えば、ベクトル情報や、仮想三次元空間内における所定の軸を回転軸とした回転角度等の情報である。あるいは、仮想三次元空間内における座標軸と、立体オブジェクトに設定される座標軸との位置関係を示す情報と考えても良い。例えば、仮想三次元空間内における座標軸を基準として、立体オブジェクトに設定される各座標軸をベクトルで表した情報であっても良い。また、オブジェクト配置情報は、立体オブジェクトの大きさ等を指定する情報を含むものであっても良い。立体オブジェクトの位置を指定する座標は、仮想三次元空間内に設定された絶対的な座標であっても良いし、他の立体オブジェクト等に対して設定された相対的な座標であっても良い。また、立体オブジェクトの位置を指定する座標は、立体オブジェクトを構成する辺等が集まる頂点の座標であっても良いし、立体オブジェクトの中心等の位置の座標であっても良い。オブジェクト配置情報は、経時的に立体オブジェクトの配置が変化する動画像用のオブジェクト配置情報であっても良い。例えば、オブジェクト配置情報が複数フレームの情報を有し、フレーム毎に、立体オブジェクトの配置が指定されていても良い。
【００２６】
なお、ここではオブジェクト配置情報と立体オブジェクトの形状情報とをそれぞれ設けた場合について説明するが、形状情報格納部１０１とオブジェクト配置情報格納部１０２とを一の格納部で構成するとともに、オブジェクト配置情報を形状情報内に含めるようにしても良い。例えば、形状情報の頂点の情報を立体オブジェクトが配置される空間の座標系の座標で指定することで、形状情報をオブジェクト配置情報としても利用できるようにして、立体オブジェクトの配置の指定も可能としてもよい。なお、各立体オブジェクトを用いてレンダリングにより作成された二次元の画像を、二次元の背景画像上等に配置して最終的な出力画像を作成する場合等においては、オブジェクトの配置される位置の情報は、二次元の情報、例えばｘｙ座標等の座標情報であってもよい。
【００２７】
また、オブジェクト配置情報は、複数の立体オブジェクト同士がグループ化されているか否か等のグループ化の状況を管理する情報を有していても良い。グループ化の状況を管理する情報は、例えば、一のグループを構成する立体オブジェクトに、属するグループを識別するためのグループ識別情報を対応付けることや、同じグループに含まれる立体オブジェクトの識別情報を一のレコードの複数の項目で管理するデータベース等であっても良い。
【００２８】
なお、本実施の形態におけるグループとは、必ずしも上述したようにグループ化状況を管理する情報で管理される立体オブジェクトのグループのみに限るものではなく、結果として、１以上の立体オブジェクトをグループとして，例えば後述するオブジェクト更新部１０５等が判断可能な状態であればよい。例えば、立体オブジェクトのグループは、立体オブジェクトの配置に応じて判断可能なグループであっても良い。具体的には、上述したように一のウィンドウ内に配置されている１以上の立体オブジェクトを、一のグループと考えても良い。また、立体オブジェクトが階層化されて管理されている場合、一の階層に属する立体オブジェクトや、一の立体オブジェクトに従属している立体オブジェクトを一のグループと考えても良い。また、予め指定された領域内に配置されている立体オブジェクトを、一のグループの立体オブジェクトと考えても良い。このような予め指定された領域を指定する情報は、例えば、図示しない記憶媒体等に格納される。予め指定された領域は、例えば、購入対象物についての立体オブジェクトが配置される領域である。また、同じ属性を有する、あるいは同じ属性と対応付けられた立体オブジェクトを一のグループの立体オブジェクトと考えても良い。具体例を挙げると、立体オブジェクトが商品についての情報が配置されている立体オブジェクトである場合を例に挙げて説明すると、ユーザが「ショッピングカートに入れた」ことを示す情報と対応付けられた立体オブジェクトを一のグループの立体オブジェクトと考えても良い。また、購入対象の商品リストに登録された立体オブジェクトを一のグループの立体オブジェクトと考えても良い。なお、オブジェクト配置情報は、例えば、立体オブジェクトの配置を変更する際に、画像情報構成部１０７等により変更されるようにすればよい。
【００２９】
オブジェクト配置情報格納部１０２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。なお、このオブジェクト配置情報格納部１０２を、例えば、デフォルトで用意されたオブジェクト配置情報が予め格納されている格納部（図示せず）等から読み出したデフォルトのオブジェクト配置情報が一時的に格納され得るテンポラリの格納部等と考えても良い。
【００３０】
階層構造データ格納部１０３は、階層化された１以上のデータで構成される階層構造データが格納され得る。階層構造データとは、例えば木構造に階層化されているデータや、ネスト化されたデータである。また、階層構造を有するデータは、例えば、タグ等でマークアップされたデータ、即ち、タグが付けられたデータであってもよい。この場合、各データの階層関係は、タグ同士の包含関係等を用いることより指定可能である。具体例を挙げると、階層構造データは、ＨＴＭＬデータ、ＳＧＭＬデータやＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）データ等である。汎用性が高いことから、階層構造データは、ＸＭＬデータを用いて記述されることが好ましい。ただし、階層構造を有していれば、他のデータを用いても良い。階層構造データは、例えば、出力対象となるデータと、当該出力対象となるデータ等の構造を示すデータ、具体的には階層構造を示すデータと、により構成される。構造を示すデータとは、例えば、タグである。また、出力対象となるデータとは、例えば、タグが付けられたデータであり、いわゆる要素である。すなわち、タグ付けられた階層構造データは、例えば、タグと、タグ付けられた要素とにより構成される。ただし、直接の要素を有さないタグを含んでも良い。なお、ここでは、タグ内の文字列や数値等を属性名や要素名と呼ぶ。また、タグにより構造が指定されるデータを要素と呼ぶ。
【００３１】
階層化された１以上のデータは、立体オブジェクトを構成する面に配置して出力、例えば表示可能な情報であれば、静止画や動画等の画像情報や、テキスト情報等、どのような情報であっても良い。画像情報は、結果的に出力用の画像情報が構成可能な情報であれば良く、例えば、ベクターデータであってもラスタデータであっても良い。また、ここで述べる配置とは、いわゆる立体オブジェクトの面に対する画像情報等のマッピングと考えても良い。階層化された１以上のデータは、例えば、いわゆるコンテンツである。また、実際の画像データ等のデータの格納場所やファイル名等を示す情報、いわゆるリンク情報等が、階層化された１以上のデータとして、階層構造データ内に格納されていても良い。また階層化された１以上のデータは、マッピング対象となる情報、例えばテクスチャ情報と考えても良い。階層構造データのデータ構造は問わない。
【００３２】
階層構造データは、例えば、上位の階層から下位の階層に向かって、複数の分岐点により分岐する構造を有している。このような分岐点をノードと呼ぶ。例えば、階層構造データにおいては、通常は、一の上位の階層のデータに対して、１以上の下位の階層のデータが直接的に従属しているが、この場合の上位の階層の一のデータから、従属する下位の階層の１以上のデータに向かって分岐する分岐点をノードと呼ぶ。この場合、上位の階層の一のデータをノードと考えても良い。なお、通常は、木構造で管理されているデータの分岐点をノードと呼ぶことが多いが、ここでは、階層構造データを木構造で表した場合の分岐点に相当するものもノードと考える。例えば、タグ付けされたデータにおいて、一のタグの下位に、タグ付けられたデータが存在する場合を、この一のタグをノードと考えても良い。また、各ノードには、ノードを識別するための識別情報が対応付けられていても良い。このノードを識別するための識別情報は、各階層のデータに付与されているタグや、タグの識別情報等であっても良い。また、ノードの識別情報は、当該ノードに従属するデータを表示するメニュー項目やメニュー画面等の識別情報、例えばメニュー画面名等であってもよい。なお、階層構造データ全体の最上位の階層（いわゆるルート階層やルートディレクトリ等）も一つのノードと考えても良い。
【００３３】
また、階層構造データと、当該階層構造データを構成するデータを配置する立体オブジェクトの形状情報とは、予め対応付けられていても良いし、対応付けられていなくても良い。対応付けられている場合、階層構造データと形状情報とを対応付ける情報は、例えば、図示しない記憶媒体等の格納部に蓄積される。なお対応付けられていない場合、後述する画像情報構成部１０７等は、階層構造データとは関係なく予め指定された形状情報を取得しても良いし、階層構造データのデータ構造や内容に応じて、形状情報を取得しても良い。
【００３４】
なお、形状情報格納部１０１、オブジェクト配置情報格納部１０２、階層構造データ格納部１０３に、形状情報や、オブジェクト配置情報や、階層構造データが蓄積される過程は問わない。例えば、記録媒体を介して形状情報や、オブジェクト配置情報や、階層構造データが、それぞれ、形状情報格納部１０１、オブジェクト配置情報格納部１０２、階層構造データ格納部１０３に蓄積されてもよく、通信回線等を介して送信された形状情報や、オブジェクト配置情報や、階層構造データが、それぞれ、形状情報格納部１０１、オブジェクト配置情報格納部１０２、階層構造データ格納部１０３に蓄積されてもよく、入力デバイスを介して入力された形状情報や、オブジェクト配置情報や、階層構造データが、それぞれ、形状情報格納部１０１、オブジェクト配置情報格納部１０２、階層構造データ格納部１０３に蓄積されてもよい。また、形状情報格納部１０１や、オブジェクト配置情報格納部１０２や、階層構造データ格納部１０３に格納されている形状情報や、オブジェクト配置情報や、階層構造データは、例えば図示しない受付部等が受け付けた形状情報や、オブジェクト配置情報や、階層構造データにより適宜更新されるようにしても良い。また、１以上の立体オブジェクトについての形状情報とオブジェクト配置情報との組合せ、あるいは、形状情報とオブジェクト配置情報と階層構造データとの組合せ等を、ＦＬＡＳＨ（登録商標）形式のファイル等の一のファイルに格納するようにしてもよい。この場合、形状情報格納部１０１とオブジェクト配置情報格納部１０２との組合せや、形状情報格納部１０１とオブジェクト配置情報格納部１０２と階層構造データ格納部１０３との組合せ等を一の格納部で実現しても良い。階層構造データ格納部１０３は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００３５】
回転指示受付部１０４は、立体オブジェクトを回転させる指示である回転指示を受け付ける。具体的には、後述する出力部１０８により出力される立体オブジェクトに対する回転指示を受け付ける。回転指示は、少なくとも立体オブジェクトに対して、回転することを指示する情報である。回転指示は、回転方向を指定する情報を含んでいてもよい。回転指示は、立体オブジェクトを水平方向において予め決められた方向に回転させるか、鉛直方向において予め決められた方向に回転させるかを指定する情報であっても良い。また、立体オブジェクトを水平方向に左回りさせるか、右回りさせるかを指定する指示や鉛直方向に前回りさせるか後ろ回りさせるかを指定する情報であってもよい。あるいは、予め指定された回転の軸に対して、その回りを右回りするか左回りするかを指定する情報であってもよいし、さらに回転軸を指定する情報を含む指示であってもよい。回転軸は、予め立体オブジェクトに関係なく指定されていても良いし、立体オブジェクト毎に指定されていてもよい。あるいは、ユーザが自由に指定できるようにしても良い。回転指示は、回転する角度等を指定する情報等は含んでいても、いなくても良い。また、回転指示は、回転によって、立体オブジェクトのどの面がどの方向を向くか、例えば、どの面が正面となるかを指定する情報を含む指示であっても良い。
【００３６】
回転指示受付部１０４が受け付ける回転指示は、回転する角度が制限された回転指示であっても良い。例えば、回転角度が、９０度単位等の予め指定された角度単位に制限された回転指示であってもよい。また、この回転角度の制限は、回転対称となる立体オブジェクトに応じて変更されるようにしても良く、例えば、立体オブジェクトが立方体であれば、回転角度を９０度単位にし、立体オブジェクトが六角柱であれば、回転角度を３０度単位にするようにしても良い。
【００３７】
また、回転指示受付部１０４は、立体オブジェクトを第一の回転方向に回転させる指示である第一回転指示と、立体オブジェクトを第一の回転方向とは異なる第二の回転方向に回転させる指示である第二回転指示とを受け付け得るようにしても良い。第一の回転方向と、第二の回転方向は、例えば直交する方向であることが好ましい。例えば、第一の回転方向は、水平方向における右回りまたは左回りの回転方向であり、第二の回転方向は垂直方向における前回りまたは後回りの回転方向である。
【００３８】
さらに、回転指示受付部１０４は、立体オブジェクトを第一の回転方向とは逆方向の第三の回転方向に回転させる指示である第三回転指示と、立体オブジェクトを第二の回転方向とは逆方向の第四の回転方向に回転させる指示である第四回転指示とを受け付け得るようにしても良い。例えば、第一の回転方向が水平方向における左回りの回転方向であれば、第三の回転方向は、水平方向における右回りの回転方向である。また、例えば、第二の回転方向が鉛直方向における前回り方向の回転方向であれば、第四の回転方向は、鉛直方向における後回り方向の回転方向である。
【００３９】
回転指示受付部１０４は、回転指示をどのように受けつけても良い。例えば、立体オブジェクトを回転させることを示すメニュー項目が選択された場合に、回転指示を受け付けても良い。また、マウスをドラッグしたり、タッチパッドをフリック（指ではらう動作）した場合に、ドラッグやフリックの方向を回転方向に指定する回転指示を受け付けても良い。また、立体オブジェクトをシングルクリック、あるいはシングルタップすることで、立体オブジェクトを予め決められた方向に回転させる回転指示を受け付けても良い。また、立体オブジェクトをダブルクリック、あるいはシングルタップすることで、立体オブジェクトを予め決められた方向に回転させる回転指示を受け付けても良い。あるいは立体オブジェクトの側面上、あるいは、側面側をクリックあるいはタップすることで、クリックされた側面、もしくはクリックされた位置側の側面が正面側に位置するような回転方向で回転させる指示を受けつけても良い。
【００４０】
ここで述べる回転指示の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付けなどを含む概念である。
【００４１】
入力手段は、テンキーやキーボードやマウスやタッチパッドやメニュー画面によるもの等、何でも良い。回転指示受付部１０４は、テンキーやキーボードやマウスやタッチパッド等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００４２】
配置用データ取得部１０５は、階層構造データから、一のノードに従属する１以上のデータを取得する。配置用データ取得部１０５は、ユーザやデフォルト等により予め指定されたノードに従属する１以上のデータを取得しても良いし、一のノードに従属する、ユーザにより指定されたデータやデフォルト等により予め指定されたデータを取得しても良い。あるいは、階層構造データのうちの、ユーザやデフォルト等で指定されたデータと従属先となるノードが同じであるデータを取得しても良い。また、配置用データ取得部１０５等がランダムに選択したノードに従属する１以上のデータを取得しても良い。予め指定されたノードとは、ユーザにより指定されたノード、あるいは、デフォルト等で設定されているノードである。ノードはどのように指定されても良く、例えば、ノードのデータを指定することで、ノードを指定しても良い。また、ノードのデータのタグや、ノードを示すタグ等を用いて、ノードを指定しても良い。また、ノードやノードの階層に対応付けられた識別情報を用いてノードを指定してもよい。ノードに従属するデータを指定することで、指定されたデータの従属先となるノードを指定するようにしてもよい。例えば、デフォルト等で予め指定されたノードは、最上階層（具体的にはルート階層）のノードである。
【００４３】
また、配置用データ取得部１０５は、出力部１０８が出力した立体オブジェクトの予め指定された方向を向いた面に配置された１以上のデータのうちの１以上に対して所定の従属関係にある１以上のデータを取得する。配置用データ取得部１０５は、例えば、立体オブジェクトの予め指定された方向を向いた面を検出し、当該検出した面に配置されているデータに対して所定の従属関係にあるデータを取得する。配置用データ取得部１０５は、所定の従属関係にあるデータを階層構造データ格納部１０３に格納されている階層構造データから取得する。
【００４４】
予め指定された方向とは、例えば、ユーザにより指定された方向やデフォルト等で指定された方向である。予め指定された方向を以下、第一指定方向と呼ぶ。第一指定方向を向いた面とは、例えば、面の法線ベクトルが第一指定方向を示すベクトルと平行になる面である。ただし、ここでは、法線ベクトルは、立体オブジェクトの外側に向かう法線ベクトルを示すものとする。第一指定方向は、例えば、立体オブジェクトの画像情報を出力した場合に、第一指定方向を向いた面が他の面に比べてユーザから見て最も見やすくなるような方向である。例えば、第一指定方向を向いた面が、他の面に対して最も前面に位置するようになる方向である。立体オブジェクトの第一指定方向を向いた面は、例えば正面である。正面は、例えば立体オブジェクトをモニタ等で出力した場合の、ユーザ側からみて前面に見える面である。あるいは、正面はユーザ側方向を向いた面と考えてもよい。ただし、立体オブジェクトが配置される仮想三次元空間の座標系（いわゆるワールド座標系）において、予め指定された位置（例えばＺ軸の正方向の位置から）から、第一指定方向（例えばＺ軸の原点に向かう方向）に向かって立体オブジェクトを見た場合に、前面に位置する立体オブジェクトの面を正面と考えても良い。また、例えば、立体オブジェクトが斜投影法等で表示される場合等においては、立体オブジェクトの正面は、立体オブジェクトの画像が表示される画面等に対して傾斜した面であっても良い。
【００４５】
配置用データ取得部１０５は、どのように、立体オブジェクトの正面となる面を検出しても良い。例えば、第一指定方向を示すベクトルと平行な法線ベクトルを有する面を検出しても良い。また、立体オブジェクトが、回転方向において隣接する面同士がなす角度が一定であり、立体オブジェクトを回転させた場合、回転前にあらかじめ指定された方向を向いていた面に対して回転方向において隣接する面が、第一指定方向を向く面となるように回転角度が制限されている場合、回転が行われる都度、正面であることを示すフラグ等の情報を、面に対応付けて付与もしくは削除していくようにしても良い。これにより、正面であることを示す情報と対応付けられている面が、現在の指定された方向を向いている面であることが検出可能である。
【００４６】
また、配置用データ取得部１０５は、後述する指定受付部１０６が受け付けた指定により指定されるデータに対して従属する１以上のデータを、所定の従属関係にある１以上のデータとして階層構造データから取得する。ここで述べる従属する１以上のデータとは、指定されるデータに対して１階層下に従属するデータを意味する。
【００４７】
また、具体的には、配置用データ取得部１０５は、出力部１０８が出力する立体オブジェクトの第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータを、所定の従属関係にある１以上のデータとして階層構造データから取得する。
【００４８】
あるいは、配置用データ取得部１０５は、後述する指定受付部１０６が受け付けた指定により指定されるデータに対して従属する１以上のデータと、出力部１０８が出力する立体オブジェクトの第一指定方向を向いた面に配置された１以上のデータの従属先となるノードと同じ階層の異なるノードに従属する１以上のデータとを、所定の従属関係にある１以上のデータとして階層構造データから取得する。
【００４９】
配置用データ取得部１０５が、所定の従属関係にあるデータを取得するタイミングは問わない。例えば、後述する指定受付部１０６がデータの指定を受け付けた場合、このデータに対して従属するデータを取得しても良い。また、立体オブジェクトの回転指示を受け付けた場合に、回転指示により所定の方向を向いた面となる面に配置されるデータの従属先となるノードと同じ階層の異なるノードに対して従属するデータを取得してもよい。
【００５０】
配置用データ取得部１０５は、通常、ＭＰＵやメモリ等から実現され得る。配置用データ取得部１０５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５１】
指定受付部１０６は、後述する出力部１０８が出力した立体オブジェクトの上述した第一指定方向を向いた面に配置された１以上のデータのうちの一のデータに対する指定を受け付ける。例えば、出力部１０８が出力する立体オブジェクト上の各データが配置された領域上に、各データの指定を受け付けるための領域を設定し、これらの領域上の一つをマウスクリックされた場合に、この領域に対応したデータの指定を受け付けるようにする。指定受付部１０６は、例えば、どのデータが指定されたかを示す情報を、図示しない格納部等に蓄積する。データを指定するための入力手段は、テンキーやキーボードやマウスやタッチパッドやメニュー画面によるもの等、何でも良い。指定受付部１０６は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００５２】
画像情報構成部１０７は、配置用データ取得部１０５が取得したデータを形状情報が示す立体オブジェクトの上述した第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する。例えば、立体オブジェクトの形状情報と、オブジェクト配置情報格納部１０２に予め蓄積しておいた初期設定のオブジェクト配置情報とを取得し、このオブジェクト配置情報が示す向きや位置で、形状情報が示す立体オブジェクトを配置した画像情報を構成する。このとき、立体オブジェクトの上述した第一指定方向を向いた面に、配置用データ取得部１０５が取得した、一のノードに従属する一以上のデータを配置した立体オブジェクトの画像情報を構成する。立体オブジェクトの配置用データ取得部１０５が取得したデータを配置する面である第一指定方向を向いた面は、どのように検出しても良い。例えば、オブジェクト配置情報の初期設定が、形状情報が示す立体オブジェクトの予め指定された一の面を、あらかじめ指定された方向を向くように配置するものであった場合、立体オブジェクトのこの一の面を、第一指定方向を向く面として検出しても良い。あるいは、上述したような法線ベクトル等を用いて検出しても良い。
【００５３】
画像情報構成部１０７は、形状情報格納部１０１に格納されている１以上の形状情報の中から、どのようにし、画像情報の構成に用いる立体オブジェクトの形状情報を決定しても良い。例えば、予めデフォルト等で指定されている形状情報を取得しても良い。また、ユーザ等により階層構造データと対応付けられた形状情報を取得しても良い。また、階層構造データ格納部１０３に格納されている階層構造データのデータ構造またはデータ内容に応じた形状情報を取得しても良い。
【００５４】
例えば、画像情報構成部１０７は、例えば、階層構造データの各ノードに直接従属するデータ数を順次カウントして、ノードに従属するデータの最大値を検出し、形状情報等に対応付けられた回転方向を指定する情報が指定する立体オブジェクトの回転可能な方向の面の数が、この最大値と同じ数である形状情報を取得する。なお、ノードに従属するデータの最大値についての下限値や上限値等を設け、最大値の値が、下限値を下回った場合や、上限値を上回った場合等には、これらの下限値や上限値に応じて指定された形状情報を取得するようにしても良い。例えば、最大値が３以下であれば、常に、四面体の立体オブジェクトの形状情報を取得するようにしても良い。また、最大値の値の範囲を形状情報に対応付けておくようにし、ノードの最大値が、どの値の範囲に入るかに応じて、立体オブジェクトの形状情報を取得しても良い。例えば、ノードの最大値が、１から８までであれば、立方体の形状情報を取得し、ノードの最大値が９から１１であれば、六角柱の形状情報を取得し、ノードの最大値が１２以降は、八角柱の形状情報を取得してもよい。また、ノードの従属するデータの最大値に応じて、色や、透明度等の表示属性が異なる立体オブジェクトの形状情報を取得するようにしても良い。例えば、ノードの最大値が、１から８までであれば、赤色の形状情報を取得し、ノードの最大値が９から１１であれば、青色の形状情報を取得してもよい。
【００５５】
また、画像情報構成部１０７は、例えば、階層構造データの階層の深さを、階層構造のノードを順番に辿りながらカウントすること等により、最も深い階層の階層数である最大階層数を取得する。そして、この最大階層数に応じて形状情報を取得しても良い。例えば、最大階層数が、立体オブジェクトの回転可能な方向の面の数が、この最大階層数と同じ数である形状情報を取得する。なお、最大階層数についての下限値や上限値等を設け、最大値の値が、下限値を下回った場合や、上限値を上回った場合等には、これらの下限値や上限値に応じて指定された形状情報を取得するようにしても良い。例えば、最大階層数が３以下であれば、常に、四面体の立体オブジェクトの形状情報を取得するようにしても良い。また、最大階層数の値の範囲を形状情報に対応付けておくようにし、最大階層数が、どの値の範囲に入るかに応じて、立体オブジェクトの形状情報を取得しても良い。例えば、最大階層数が、１から８までであれば、立方体の形状情報を取得し、最大階層数が９から１１であれば、六角柱の形状情報を取得し、最大階層数が１２以降は、八角柱の形状情報を取得してもよい。また、ノードの従属するデータの最大階層数に応じて、色や、透明度等の表示属性が異なる立体オブジェクトの形状情報を取得するようにしても良い。例えば、最大階層数が、１から８までであれば、赤色の形状情報を取得し、最大階層数が９から１１であれば、青色の形状情報を取得してもよい。
【００５６】
また、画像情報構成部１０７は、階層構造データの内容に応じて形状情報を取得してもよい。ここでのデータの内容とは、例えば、画像データや、テキストデータ等のデータタイプであっても良い。また、予め指定された文字列（キーワード）を含むテキストデータであるか否かや、文字数や、データ量等であっても良い。
【００５７】
例えば、画像情報構成部１０７は、階層構造データの一部または全てが、所定のデータタイプを含むデータが存在するか否かを判断し、存在する場合と存在しない場合とで、異なる立体オブジェクトの形状情報を取得するようにしてもよい。あるいは、予め指定された文字列を含むテキストデータが存在するか否かで異なる立体オブジェクトの形状情報を取得するようにしてもよい。
【００５８】
画像情報構成部１０７は、回転指示受付部１０４が回転指示を受け付けた場合に、回転指示に応じて回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部１０５が取得した所定の従属関係にある１以上のデータを配置した立体オブジェクトの画像情報を構成する。回転指示に応じて回転させた立体オブジェクトの画像情報とは、立体オブジェクトの回転中の状態を示す画像を含む動画像の画像情報である。回転中の画像は、例えば、回転開始と回転終了との立体オブジェクトのオブジェクト配置情報から、その回転途中の配置、例えば向きの情報を補間して作成し、その補間した情報を用いて回転途中の動画像のフレームの画像を構成することで作成可能である。あるいは、回転開始の配置から、順次、立体オブジェクトの向きを回転指示が示す方向に、回転指示が示す向きとなるまで、予め指定された速さで変更しながら、予め指定されたタイミングで随時立体オブジェクトの画像を構成することで、動画像の各フレームの画像が構成可能である。あるいは、回転開始の画像と回転終了の画像とをそれぞれ構成し、構成した画像を補間したり、切り替えにトランジション効果を加えることで、動画像を構成しても良い。動画像の画像情報のファイル形式やデータ構造等は問わない。ここでは、経時的に切り替えて出力される複数の静止画の組合せもここでは、動画像と考える。なお、立体オブジェクトの回転中の画像、例えばフレーム画像は、立体オブジェクトのレンダリング等を行って構成しても良いが、予め形状情報等に応じて用意された立体オブジェクトが回転している状態を示す画像を図示しない格納部等から読み出して用いるようにしてもよい。配置用データ取得部１０５が取得した所定の従属関係にある１以上のデータとは、配置用データ取得部１０５が取得した、回転指示に応じた回転が行われる前の立体オブジェクトの、第一指定方向を向いた面に配置されたデータに対して、所定の従属関係にある１以上のデータである。
【００５９】
配置用データ取得部１０５が取得した所定の従属関係にある１以上のデータは、回転中の画像をレンダリング等で構成する際にも、立体オブジェクト上に配置するようにしても良いし、回転後に最終的に得られる立体オブジェクトの画像のみを、配置用データ取得部１０５が取得したデータを配置した画像をレンダリング等により構成した画像としてもよい。また、画像情報構成部１０７は、その他の立体オブジェクトの面上に既に配置済のデータも、面上に配置した状態で、立体オブジェクトの回転中の画像を構成してもよい。
【００６０】
なお、配置用データ取得部１０５は、配置用データ取得部１０５が所定の従属関係にある１以上のデータを取得した時点で、取得したデータを、回転後に第一指定方向を向く面となる面に配置した立体オブジェクトの画像を構成するようにしても良い。
【００６１】
一旦配置された配置用データのうちの、配置された面が、立体オブジェクトの回転の結果、上述したあらかじめ指定された方向を向いていない面となった配置用データは、適宜立体オブジェクト上から削除しても良いし、そのまま残しても良い。そのまま残した場合、
なお、立体オブジェクトの回転方向における面の数よりも、階層構造データの最大階層数や、ノードに従属する最大のデータ数が多い場合等において、立体オブジェクトを回転させた結果、立体オブジェクトの回転方向における全ての面にデータが配置されてしまい、次の回転操作の際にデータを配置する面がなくなった場合、次の回転操作であらかじめ指定された方向を向く面には、配置用データ取得部１０５が取得した新たなデータを配置し、この面に既に配置済であったデータは、立体オブジェクト上から破棄するようにしても良い。
【００６２】
また、画像情報構成部１０７は、回転指示受付部１０４が第一回転指示を受け付けた場合と、第二回転指示を受け付けた場合とで、以下のように、立体オブジェクトに配置するデータを変更しても良い。
【００６３】
即ち、画像情報構成部１０７は、回転指示受付部１０４が第一回転指示を受け付けた場合、第一回転指示が示す第一の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部１０５が取得した指定受付部１０６が受け付けた指定により指定されるデータに対して従属する１以上のデータを配置した立体オブジェクトの画像情報を構成する。
【００６４】
一方、回転指示受付部１０４が第二回転指示を受け付けた場合、第二回転指示が示す第二の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部１０５が取得した回転前の立体オブジェクトの第一指定方向を向いた面に配置されている１以上のデータの従属先となるノードと同じ階層のノードのうちの、当該従属先となるノードとは異なるノードに従属する１以上のデータを配置した立体オブジェクトの画像情報を構成する。
【００６５】
これにより、立体オブジェクトを第一の回転方向に回転させると、立体オブジェクトのあらかじめ指定された方向を向いた面に、回転前のデータについての下位の階層のデータが配置されることとなる。また、第二の回転方向に回転させると、立体オブジェクトのあらかじめ指定された方向を向いた面に、回転前のデータと同じ階層のデータであって、異なるノードに従属するデータが配置されることとなる。この結果、立体オブジェクトを回転させることで、階層構造データを効率的かつ直感的にブラウズすることが可能となる。
【００６６】
さらに、回転指示受付部１０４が、立体オブジェクトを第一の回転方向とは逆方向の第三の回転方向に回転させる指示である第三回転指示を受け付けた場合、第三回転指示が示す第三の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、回転前の立体オブジェクトの第一指定方向を向いた面に配置されていたデータの上位のデータおよび、このデータと同じノードに従属するデータを配置した立体オブジェクトの画像情報を構成するようにしても良い。ここで配置されるデータは、上述したような他の第一指定方向を向いた面に配置されるデータと同様に、配置用データ取得部１０５が適宜取得するようにしてもよい。なお、過去に第一の方向に回転させた場合にあらかじめ指定された方向を向いた面に配置されたデータの履歴を図示しない格納部等に保存しておき、配置用データ取得部１０５がこの履歴で管理されるデータを時系列の逆順に読み出して取得しても良い。
【００６７】
また、回転指示受付部１０４が、立体オブジェクトを第二の回転方向とは逆方向の第四の回転方向に回転させる指示である第四回転指示を受け付けた場合、第四回転指示が示す第四の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、回転前の立体オブジェクトの第一指定方向を向いた面に配置されている１以上のデータの従属先となるノードと同じ階層のノードのうちの、当該従属先となるノードとは異なるノードに従属する１以上のデータを配置した立体オブジェクトの画像情報を構成するようにしても良い。ここで配置されるデータは、上述したような他の第一指定方向を向いた面に配置されるデータと同様に、配置用データ取得部１０５が適宜取得するようにすればよい。ただし、ここで配置されるデータの従属先となるノードは、次に第二回転指示を受け付けた場合に、第一指定方向を向いた面となる面に配置されるデータとは異なるデータとすることが好ましい。例えば、過去に第二の方向に回転させた場合に、あらかじめ指定された方向を向いた面に配置されたデータの履歴を図示しない格納部等に保存しておき、この履歴で管理されるデータを時系列の逆順に読み出して配置しても良い。また、第二の回転方向に回転させた場合に配置用データ取得部１０５が取得するデータの従属先となるノードに取得順番等を予め指定しておくようにし、第二の回転方向に回転させた場合はこの取得順番に沿ったノードのデータを取得して配置し、第四の回転方向に回転させた場合には、この取得順番の逆順に沿ってノードのデータを取得して配置するようにしても良い。
【００６８】
なお、画像情報構成部１０７は回転指示受付部１０４が回転指示を受け付けた場合、回転指示に応じて、立体オブジェクトの向きが変わるように、オブジェクト配置情報、あるいは形状情報を適宜更新してよい。形状情報の更新は、回転指示を受け付けた際に行うようにしても良いし、回転した画像情報を構成後に更新しても良い。あるいは、立体オブジェクトの回転途中に、随時、立体オブジェクトの向きが回転途中の向きとなるようにオブジェクト形状情報を更新しても良い。この更新されたオブジェクト配置情報あるいは形状情報が、回転後の立体オブジェクトの画像情報の構成に用いられたオブジェクト配置情報あるいは形状情報である。なお、回転指示に応じてオブジェクト配置情報の更新を行う処理部を、画像情報構成部１０７から独立して設けるようにしても良い。
【００６９】
画像情報構成部１０７が画像情報を構成する処理は、例えばいわゆるレンダリングと呼ばれる処理であり公知技術であるので詳細な説明は省略する。構成した画像情報は、例えばＶＲＡＭ等に一時記憶される。
【００７０】
画像情報構成部１０７は、通常、ＭＰＵやＧＰＵやメモリ等から実現され得る。画像情報構成部１０７の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００７１】
出力部１０８は、画像情報構成部１０７が構成した画像情報を出力する。また、回転指示に応じて画像情報構成部１０７が構成した画像情報を出力する。出力部１０８は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部１０８は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００７２】
次に、情報処理装置１の動作について図２のフローチャートを用いて説明する。ここでは、例として、立体オブジェクトのあらかじめ指定された方向を向いている面と、この立体オブジェクトを第一の回転方向に、予め指定された角度で回転させた場合に、第一指定方向を向くこととなる面と、この立体オブジェクトを第二の回転方向にあらかじめ指定された角度で回転させた場合に、第一指定方向を向くこととなる面とが、立体オブジェクトが回転していない状態で、画像情報上に表示されている場合を例に挙げて説明する。
【００７３】
（ステップＳ２０１）配置用データ取得部１０５は、一のノードに従属する１以上のデータを階層構造データから取得する。一のノードは、例えばデフォルト等で予め指定されているノードであっても良いし、ユーザ等により指定されたノードであってもよい。取得したデータは、例えば図示しない記憶媒体等の格納部に一時記憶する。
【００７４】
（ステップＳ２０２）画像情報構成部１０７は、形状情報格納部１０１から、形状情報を取得する。ここでは例として、画像情報構成部１０７が、予め指定されている形状情報を取得する場合について説明する。ただし、画像情報構成部１０７は、立体オブジェクトへの配置対象となる階層構造データに応じた形状情報を取得しても良い。取得した形状情報は、例えば図示しない記憶媒体等の格納部に一時記憶する。
【００７５】
（ステップＳ２０３）画像情報構成部１０７は、オブジェクト配置情報をオブジェクト配置情報格納部１０２から取得する。例えば、ステップＳ２０４において取得した形状情報に対応付けられたオブジェクト配置情報を取得する。取得したオブジェクト配置情報は、例えば図示しない記憶媒体等の格納部に一時記憶する。
【００７６】
（ステップＳ２０４）画像情報構成部１０７は、ステップＳ２０４において取得した形状情報が示す立体オブジェクトを、ステップＳ２０５で取得したオブジェクト配置情報が示す位置及び向きで配置し、オブジェクト配置情報が示す向きで配置した状態において第一指定方向を向いている面に、ステップＳ２０１で取得したデータを配置した立体オブジェクトの画像情報を構成する。
【００７７】
（ステップＳ２０５）出力部１０８は、画像情報構成部が構成した出力する。
【００７８】
（ステップＳ２０６）指定受付部１０６は、ステップＳ２０６において出力した立体オブジェクトの、第一指定方向を向いた面に配置されたデータのうちの一つに対する指定を受け付けたか否かを判断する。受け付けた場合、ステップＳ２０７に進み、受け付けていない場合、ステップＳ２０８に進む。
【００７９】
（ステップＳ２０７）指定受付部１０６は、指定されたデータに対して、指定されたことを示すデータを対応付けて蓄積する。指定されたことを示すデータは、例えばフラグデータである。指定されたことを示す情報は、例えば図示しない格納部等に格納された管理情報により管理されても良いし、ステップＳ２０１等で取得したデータのうちの指定されたデータと対応付けられて図示しない格納部に蓄積されても良い。なお、新たなデータが指定された場合、既に指定されているデータに対する指定は、例えば指定されたことを示す情報を削除すること等により解除するようにすれば良い。また、全ての指定を解除する指示を受け付けても良く、この場合、全ての指定を解除すればよい。
【００８０】
（ステップＳ２０８）情報処理装置１は、立体オブジェクトを回転させる処理を行う。ただし、この処理は、配置するデータの有無や回転指示の有無に応じて回転を行わない場合も含む処理である。この処理の詳細については後述する。
【００８１】
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００８２】
次に、図２においてステップＳ２０８に示した回転処理の動作の詳細について、図３のフローチャートを用いて説明する。
【００８３】
（ステップＳ３０１）回転指示受付部１０４は、第一回転指示を受け付けたか否かを判断する。受け付けた場合、ステップＳ３０２に進み、受け付けていない場合、ステップＳ３０８に進む。
【００８４】
（ステップＳ３０２）配置用データ取得部１０５は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの一つを指定する情報が、ステップＳ２０７等により蓄積されているか否かを判断する。蓄積されている場合、ステップＳ３０３に進み、指定されていない場合、上位の処理にリターンする。
【００８５】
（ステップＳ３０３）配置用データ取得部１０５は、ステップ２０８において指定されたデータに従属するデータがあるか否かを判断する。従属するデータがある場合、ステップＳ３０４に進み、ない場合、上位の処理にリターンする。
【００８６】
（ステップＳ３０４）配置用データ取得部１０５は、ステップ２０７において蓄積されたデータにより指定されたデータに従属するデータを、階層構造データ格納部１０３から取得する。
【００８７】
（ステップＳ３０５）画像情報構成部１０７は、立体オブジェクトを第一の回転方向に回転させる画像情報を構成する。このとき、画像情報構成部１０７は、回転の結果の画像において、ステップ３０４において取得したデータの配置される面が、第一指定方向を向いた面となるような、立体オブジェクトを回転させる画像情報を構成する。画像情報構成部１０７は、例えば、以下のように回転中の立体オブジェクトの画像情報を構成してもよい。例えば、第一回転指示に応じて立体オブジェクトを回転させる角度が、回転前に第一指定方向を向いていた面に対して、第一の回転方向とは逆方向に隣接する面が、第一指定方向を向くまで回転させる角度に予め指定されていたとすると、画像情報構成部１０７は、この回転角度に至るまで立体オブジェクトを、予め指定された角度単位で第一の回転方向に回転させていき、その都度、立体オブジェクトの画像情報を構成して、構成した画像情報を組み合わせることで、立体オブジェクトが回転している画像情報を構成する。また、少なくとも回転終了時の画像情報としては、立体オブジェクトの予め指定された面を向いた面には、ステップ３０４において取得したデータに従属するデータを配置した画像情報を構成する。なお、回転中も、回転終了時に第一指定方向を向く面に、ステップＳ３０４において取得したデータを配置して画像情報を構成してもよい。
【００８８】
（ステップＳ３０６）出力部１０８は、画像情報構成部１０７が構成した画像情報を出力する。
【００８９】
（ステップＳ３０７）画像情報構成部１０７は、オブジェクト配置情報格納部１０２に格納されているオブジェクト配置情報を更新する。なお、通常は、メモリ等にテンポラリに格納されているオブジェクト配置情報だけを更新し、変更を保存する指示等を受けた場合においてのみ、テンポラリのオブジェクト配置情報で、オブジェクト配置情報格納部１０２に格納されているオブジェクト配置情報を更新するようにしてもよい。そして、上位の処理にリターンする。
【００９０】
（ステップＳ３０８）回転指示受付部１０４は、第二回転指示を受け付けたか否かを判断する。受け付けた場合、ステップＳ３１０に進み、受け付けていない場合、ステップＳ３１３に進む。
【００９１】
（ステップＳ３０９）画像情報構成部１０７は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと同じ階層に異なるノードがあるか否かを判断する。具体的には、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと階層が同じである異なるノードであって、従属先のノードが同じであるノードがあるか否かを判断する。ここでのノードは、データと考えても良い。異なるノードがある場合、ステップＳ３１０に進み、ない場合、ステップＳ３１２に進む。
【００９２】
（ステップＳ３１０）画像情報構成部１０７は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと同じ階層の次のノードに従属するデータを階層構造データから取得する。次のノードとは、例えばノードの配列されている順番における次のノードである。また、次のノードがない場合、最初の順番のノードに戻るようにしても良い。例えば、階層構造データがＸＭＬデータである場合、ステップＳ２０１において取得したデータの従属先のノードを示すタグと同じタグを、取得したデータの従属先のノードに対応したタグの下方向において検索し、最初に検索されたタグが示すノードが次のノードである。また、次のノードが検出されなかった場合、ＸＭＬデータの上に戻って検索を行うようにしても良い。
【００９３】
（ステップＳ３１１）画像情報構成部１０７は、立体オブジェクトを第二の回転方向に回転させる画像情報を構成する。このとき、画像情報構成部１０７は、回転の結果の画像において、ステップ３１０において取得したデータの配置される面が、第一指定方向を向いた面となるような、立体オブジェクトを回転させる画像情報を構成する。画像情報構成部１０７は、以下のように回転中の立体オブジェクトの画像情報を構成してもよい。例えば、第二回転指示に応じて立体オブジェクトを回転させる角度が、回転前に第一指定方向を向いていた面に対して、第二の回転方向とは逆方向に隣接する面が、第一指定方向を向くまで回転させる角度に予め指定されていたとすると、画像情報構成部１０７は、この回転角度に至るまで立体オブジェクトを、予め指定された角度単位で第二の回転方向に回転させていき、その都度、立体オブジェクトの画像情報を構成して、構成した画像情報を組み合わせることで、立体オブジェクトが回転している画像情報を構成する。また、少なくとも回転終了時の画像情報としては、立体オブジェクトの予め指定された面を向いた面には、ステップ３１０において取得したデータに従属するデータを配置した画像情報を構成する。なお、回転中も、回転終了時に第一指定方向を向く面に、ステップＳ３１０において取得したデータを配置して画像情報を構成してもよい。そして、ステップＳ３０６に戻る。
【００９４】
（ステップＳ３１２）回転指示受付部１０４は、第三回転指示を受け付けたか否かを判断する。受け付けた場合、ステップＳ３１３に進み、受け付けていない場合、ステップＳ３１６に進む。
【００９５】
（ステップＳ３１３）画像情報構成部１０７は、立体オブジェクトの予め指定されている方向を向いている面に配置されているデータの従属先となるデータがあるか否かを判断する。例えば、立体オブジェクトの予め指定されている方向を向いている面に配置されているデータが、最も上位の階層のデータである場合、従属先はいわゆるルート階層であり、従属先となるデータがないと判断しても良い。ある場合、ステップＳ３１４に進み、ない場合、上位の処理に戻る。
【００９６】
（ステップＳ３１４）配置用データ取得部１０５は、立体オブジェクトの予め指定されている方向を向いている面に配置されているデータの従属先のデータと同じノードに従属するデータを取得する。このノードはデータと考えても良い。
【００９７】
（ステップＳ３１５）画像情報構成部１０７は、立体オブジェクトを第三の回転方向に回転させる画像情報を構成する。このとき、画像情報構成部１０７は、回転の結果の画像において、ステップ３１４において取得したデータの配置される面が、第一指定方向を向いた面となるような、立体オブジェクトを回転させる画像情報を構成する。画像情報構成部１０７は、以下のように回転中の立体オブジェクトの画像情報を構成してもよい。例えば、第三回転指示に応じて立体オブジェクトを回転させる角度が、回転前に第一指定方向を向いていた面に対して、第三の回転方向とは逆方向に隣接する面が、第一指定方向を向くまで回転させる角度に予め指定されていたとすると、画像情報構成部１０７は、この回転角度に至るまで立体オブジェクトを、予め指定された角度単位で第三の回転方向に回転させていき、その都度、立体オブジェクトの画像情報を構成して、構成した画像情報を組み合わせることで、立体オブジェクトが回転している画像情報を構成する。また、少なくとも回転終了時の画像情報としては、立体オブジェクトの予め指定された面を向いた面には、ステップ３１４において取得したデータに従属するデータを配置した画像情報を構成する。なお、回転中も、回転終了時に第一指定方向を向く面に、ステップＳ３１４において取得したデータを配置して画像情報を構成してもよい。そして、ステップＳ３０６に戻る。
【００９８】
（ステップＳ３１６）回転指示受付部１０４は、第四回転指示を受け付けたか否かを判断する。受け付けた場合、ステップＳ３１７に進み、受け付けていない場合、上位の処理にリターンする。
【００９９】
（ステップＳ３１７）画像情報構成部１０７は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと同じ階層の異なるノードがあるか否かを判断する。ある場合、ステップＳ３１８に進み、ない場合、上位の処理にリターンする。
【０１００】
（ステップＳ３１８）画像情報構成部１０７は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと同じ階層の、一つ前のノードに従属するデータを取得する。ここで述べる前のノードとは、ステップＳ３１０において説明した次のノードとは、順番の向きが異なるノードである。
【０１０１】
（ステップＳ３１９）画像情報構成部１０７は、立体オブジェクトを第四の回転方向に回転させる画像情報を構成する。このとき、画像情報構成部１０７は、回転の結果の画像において、ステップ３１８において取得したデータの配置される面が、第一指定方向を向いた面となるような、立体オブジェクトを回転させる画像情報を構成する。画像情報構成部１０７は、以下のように回転中の立体オブジェクトの画像情報を構成してもよい。例えば、第四回転指示に応じて立体オブジェクトを回転させる角度が、回転前に第一指定方向を向いていた面に対して、第四の回転方向とは逆方向に隣接する面が、第一指定方向を向くまで回転させる角度に予め指定されていたとすると、画像情報構成部１０７は、この回転角度に至るまで立体オブジェクトを、予め指定された角度単位で第四の回転方向に回転させていき、その都度、立体オブジェクトの画像情報を構成して、構成した画像情報を組み合わせることで、立体オブジェクトが回転している画像情報を構成する。また、少なくとも回転終了時の画像情報としては、立体オブジェクトの予め指定された面を向いた面には、ステップ３１８において取得したデータに従属するデータを配置した画像情報を構成する。なお、回転中も、回転終了時に第一指定方向を向く面に、ステップＳ３１８において取得したデータを配置して画像情報を構成してもよい。そして、ステップＳ３０６に戻る。
【０１０２】
なお、図３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１０３】
なお、図２および図３のフローチャートにおいて、立体オブジェクトの画像情報において、立体オブジェクトの上述した第一指定方向を向いた面以外の面、例えば側面や上面等が、画像情報上に表示される場合、これらの面にも、適宜データを取得して配置した立体オブジェクトの画像情報を構成するようにしても良い。
【０１０４】
例えば、ステップＳ２０６等で、データの指定を受け付けた場合、当該受け付けた指定により指定されたデータに従属するデータを取得し、このデータを、次に第一回転指示によって立体オブジェクトを回転させた場合に第一指定方向を向く面となる面に配置した立体オブジェクトの画像情報を構成しても良い。このような画像情報の構成は、ステップＳ２０６等の直後に行われても良いし、任意のタイミングで行われても良い。
【０１０５】
また、第一指定方向を向いている面に配置されているデータの従属先となるデータと同じノードに従属している次のノードに従属するデータを取得し、このデータを、次に第二回転指示よって立体オブジェクトを回転させた場合に第一指定方向を向く面となる面に配置した立体オブジェクトの画像情報を構成しても良い。このような画像データの構成は、例えば、ステップＳ３１１で一のノードのデータが第一指定方向を向いた面に配置される際に行われても良いし、ステップＳ３１１の直後のタイミングで行われても良いし、任意のタイミングで行われても良い。
【０１０６】
なお、かかることは、第三回転指示や第四回転指示で第一指定方向を向く面となる面についても同様である。
【０１０７】
以下、本実施の形態における情報処理装置１の具体的な動作について説明する。
【０１０８】
ここでは、情報処理装置１が商品カタログを管理する装置である場合を例に挙げて説明する。ここでは、立体オブジェクトが立方体である場合を例に挙げて説明する。なお、本具体例において示しているサイズや角度等は、あくまでも説明のための便宜上のものであり、図等の立体オブジェクトの配置やサイズ等を正確に示さない場合がある。また、ここでは、第一指定方向が正面である場合を例に挙げて説明する。
【０１０９】
図４は、形状情報格納部１０１に格納されている立体オブジェクトの形状情報を管理するための形状情報管理表である。形状情報は、ここでは例として予め用意されたものが蓄積されているものとする。形状情報管理表は、「オブジェクトＩＤ」、「サイズｘ」、「サイズｙ」、「サイズｚ」、「ｘ１面」、「ｘ２面」、「ｙ１面」、「ｙ２面」、「ｚ１面」、「ｚ２面」という項目を有している。「オブジェクトＩＤ」は立体オブジェクトを識別するための識別情報である。「サイズｘ」は、立体オブジェクトのｘ軸方向の長さ、すなわち幅である。「サイズｙ」は、立体オブジェクトのｙ軸方向の長さ、すなわち高さである。「サイズｚ」は、立体オブジェクトのｚ軸方向の長さ、すなわち奥行きである。ただし、ここで述べるｘ軸、ｙ軸、ｚ軸は、立体オブジェクト自身に設定されるｘ軸、ｙ軸、ｚ軸であり、立体オブジェクトが配置される仮想三次元空間に設定される絶対的なＸ軸、Ｙ軸、Ｚ軸とは異なる。立体オブジェクト自身に設定されるｘ軸、ｙ軸、ｚ軸の原点は、例えば、立体オブジェクトの中心や重心に設定される。ただし、どこに原点を設定しても良い。なお、各サイズの単位等は、ピクセル等どのような単位であっても良い。ｘ１面、ｘ２面、ｙ１面、ｙ２面、ｚ１面およびｚ２面は、各立体オブジェクトを構成する面の面識別情報である。これらの面識別情報が示す面は、図示していないが、各面を構成する立体オブジェクトの頂点の座標等を用いて定義されているものとする。面の定義や、面に識別情報を対応付ける技術等については、三次元モデリングの技術等において公知であるので、ここでは説明を省略する。形状情報管理表の「ｘ１面」、「ｘ２面」、「ｙ１面」、「ｙ２面」、「ｚ１面」および「ｚ２面」の項目の値は、各面識別情報が示す面の、立体オブジェクト自身の座標系を用いて表した法線のベクトルを示している。ただし、ここでの法線は、立体オブジェクト内から外側に向かう方向のベクトルであるとする。また、ここでは例として、各立体オブジェクトの中心にｘ軸、ｙ軸、ｚ軸の０点が位置しているものとする。ここでは、「ｘ１面」はｘ軸の正方向を法線とする面、「ｘ２面」はｘ軸の負方向を法線とする面、「ｙ１面」はｙ軸の正方向を法線とする面、「ｙ２面」はｙ軸の負方向を法線とする面、「ｚ１面」はｚ軸の正方向を法線とする面、「ｚ２面」はｚ軸の負方向を法線とする面である。ここでは、形状情報管理表により、１つの立体オブジェクトの形状情報が管理されている。
【０１１０】
図５は、立体オブジェクトと、ｘ１面、ｘ２面、ｙ１面、ｙ２面、ｚ１面およびｚ２面との関係を示すための模式図である。この図においては、ｚ１面が正面、ｚ２面が背面、ｘ１面が右側面、ｘ２面が左側面、ｙ１面が上面、ｙ２面が底面となっている。
【０１１１】
図６は、オブジェクト配置情報格納部１０２に格納されているオブジェクト配置情報を管理するためのオブジェクト配置情報管理表である。オブジェクト配置情報は、ここでは例として、予め用意されたものが蓄積されているものとする。オブジェクト配置情報は、「オブジェクトＩＤ」、「座標（Ｘ，Ｙ，Ｚ）」、および「回転角度（Ｘ，Ｙ，Ｚ）」という項目を有している。「オブジェクトＩＤ」は、立体オブジェクトを識別するための識別情報であり、上述した形状情報の「オブジェクトＩＤ」と対応している。「座標（Ｘ，Ｙ，Ｚ）」は、同じレコードの「オブジェクトＩＤ」が示す立体オブジェクトが配置される仮想三次元空間内の座標を示す情報であり、ここでは、立体オブジェクトの中心の座標である場合について説明する。ここでは、この座標の値は、仮想三次元空間内の座標の値であるとする。なお、ここでは、仮想三次元空間内の横方向（幅方向）をＸ軸、縦方向（高さ方向）をＹ軸、奥行き方向をＺ軸とする。また、「回転角度（Ｘ，Ｙ，Ｚ）」は、仮想三次元空間のＸ軸、Ｙ軸、Ｚ軸をそれぞれ回転軸とした回転角度を示す。回転角度は、立体オブジェクトの配置される方向を示す情報と考えても良い。例えば、立体オブジェクトをＹ軸を回転軸にして９０度回転させると、立体オブジェクトのｘ軸とｙ軸は、それぞれ仮想三次元空間のＸ軸およびＹ軸とそれぞれ直交することとなる。なお、ここでは、回転角度のそれぞれの値が（０，０，０）である場合、立体オブジェクトのｘ軸、ｙ軸、ｚ軸が、それぞれ仮想三次元空間内のＸ軸、Ｙ軸、Ｚ軸に平行に配置されるようデフォルトで予め指定されているものとする。なお、立体オブジェクトが配置される位置の奥行きを変更する必要がない場合、例えば、レンダリングした立体オブジェクトの画像を２次元平面上に配置する場合等においては、Ｚ座標の値は省略しても良い。
【０１１２】
図７は、階層構造データ格納部１０３に格納されている階層構造データを示す図である。ここでは、例として階層構造データがＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の情報を構成している場合について説明する。ただし、階層構造データは、ＸＭＬ形式の情報でなくても良く、階層化されたデータであれば良い。図７に示したＸＭＬ形式の情報においては、便宜上、階層化されているデータは、開始タグと終了タグとにより囲まれたデータ、即ち要素であると考える。なお、以下、開始タグ「＜Ａ＞」及び終了タグ「＜／Ａ＞」（ただし、Ａはタグ名）を、Ａタグと呼ぶ。例えば、「＜カタログ管理＞」をカタログ管理タグと呼ぶ。また、以下、開始タグ「＜Ａ＞」と終了タグ「＜／Ａ＞」とで区切られた範囲のデータのことを、Ａタグで区切られた範囲のデータと呼ぶ。例えば、一の開始タグ「＜カタログ管理＞」と終了タグ「＜／カタログ管理＞」とで区切られた範囲のデータは、一のカタログ管理タグで区切られた範囲のデータと呼ぶ。
【０１１３】
図７においては、例えば、一のカタログタグで区切られた範囲のデータは、カタログに関するデータである。カタログタグは、ここでは階層構造データの第１階層を示すタグ（いわゆるルート）を示す。
【０１１４】
また、ジャンルタグで区切られた範囲のデータは、一の商品ジャンルについてのデータであり、ジャンル名タグで区切られた範囲のデータは、一のジャンルのジャンル名を示すデータである。ここでは、ジャンルタグは、第２階層の一のノードを示すタグであり、ジャンル名タグは、第２階層の一のノードのデータと定義されているものとする。
【０１１５】
また、一の商品タグで区切られた範囲のデータは、一のジャンルに含まれる商品のうちの、一の商品についてのデータであり、一の商品名タグで区切られた範囲のデータは、一の商品の商品名を示すデータである。ここでは、商品タグは、第３階層の一のノードを示すタグであり、商品名タグは、第３階層の一のノードのデータと定義されているものとする。
【０１１６】
また、一の詳細タグで区切られた範囲のデータは、一の商品の詳細についてのデータである。ここでは、詳細タグは、第４階層の一のノードを示すタグである。また、詳細タグで区切られた範囲内の、商品ＩＤタグや、商品写真タグや、価格タグ等で区切られたデータは、第４階層の一のノードのデータであるとする。
【０１１７】
なお、タグで区切られたデータとして、ファイル等を指定する情報、例えばリンク情報が含まれる場合、これにより指定されたファイルの情報を、実際のタグで区切られたデータと考えて良い。リンク先の情報は、画像を構成する際等に適宜読み出される。
【０１１８】
まず、例えば、ユーザが、情報処理装置１に対して、商品についてのカタログ管理画面を表示する指示を与えたとする。
【０１１９】
配置用データ取得部１０５は、図７に示した階層構造データから、予め指定された一のノードに従属する１以上のデータを階層構造データから取得する。ここでは、例えば、予め、第１階層のタグが示すノードに従属するデータを取得することが予め設定されているものとする。この設定に従って、配置用データ取得部１０５は、第２階層のデータを取得する。ここでは、階層構造データがＸＭＬで記述されており、タグの包含関係から、第１階層を示すタグ（言い換えれば第１階層のノードを示すタグ）はカタログタグであり、これに従属する第２階層を示すタグは、ジャンルタグであり、その第２階層のデータを示すタグは、ジャンル名タグであることが検出可能である。なお、この階層関係は、例えばこのＸＭＬに対応して予め用意されたＤＴＤ（Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）等から主とするようにしても良い。配置用データ取得部１０５は、このため、カタログタグで区切られたデータ内の、ジャンル名タグで区切られたデータを全て取得する。ここでは、例えば「携帯電話」および「スマートフォン」というデータを取得する。取得したデータは、例えばメモリ等に一時記憶する。なお、ここでは、予め指定されたノードに従属するデータを取得する場合について説明したが、ユーザにより指定されたノードに従属するデータを取得してもよい。この場合、例えば、予め、ノード、あるいはノードを示すタグに、画面の名称等の画面の識別子を割り当てておき、この画面の識別子により一のノードを指定するようにしても良い。例えば、商品タグに、「商品操作画面」等の画面名を割り当てておき、この画面名をユーザが指定した場合に、商品タグに従属するデータを取得するようにしても良い。このとき、例えば、一の商品タグを指定するために、検索キーの入力を受け付けるようにし、商品タグの中から、区切られたデータ内に、この検索キーと一致するデータを含む商品タグを検出し、検出した商品タグに従属するデータだけを取得するようにしても良い。
【０１２０】
つぎに、画像情報構成部１０７は、図６に示したオブジェクト配置情報管理表で管理されているオブジェクト配置情報を読み出す。即ち、「オブジェクトＩＤ」が「ＯＢＪ」であるレコードのオブジェクト配置情報である「座標（Ｘ，Ｙ，Ｚ）」、および「回転角度（Ｘ，Ｙ，Ｚ）」の項目の値を読み出す。そして、例えば、「オブジェクトＩＤ」と対応付けて、図示しないメモリ等に一時記憶する。
【０１２１】
つぎに、情報処理装置１の画像情報構成部１０７は、立体オブジェクトについての形状情報を取得する。ここでは、図４に示した「オブジェクトＩＤ」が「ＯＢＪ」である形状情報を読み出し、例えば、「オブジェクトＩＤ」と対応付けて、メモリ等に一時記憶する。
【０１２２】
次に、画像情報構成部１０７は、「オブジェクトＩＤ」が「ＯＢＪ」である形状情報に対応する立体オブジェクト（以下、立体オブジェクトＯＢＪと称す）の正面を、オブジェクトの形状情報と、オブジェクト配置情報とを用いて判断する。ここでの正面とは、立体オブジェクトを構成する面のうちの、オブジェクト配置情報に従って仮想３次元空間内に立体オブジェクトを配置した場合に、その法線（ここでは、立体オブジェクトの内側から外に向かう方向の法線）が、Ｚ軸と平行であり、かつ方向が正方向を向いている面とする。
【０１２３】
上述したように、ここでは、配置情報が示す回転角度のそれぞれの値が（０，０，０）である場合、立体オブジェクトのｘ軸、ｙ軸、ｚ軸が、それぞれ仮想三次元空間内のＸ軸、Ｙ軸、Ｚ軸に平行に配置されるよう初期設定値で予め指定されているものとすると、立体オブジェクトをこのような配置で仮想三次元空間内で配置した場合の、各面の法線ベクトルを、オブジェクト配置情報を用いて算出する。ただしここで算出する法線ベクトルは、仮想三次元空間内のＸＹＺ座標系であらわした法線ベクトルであるとする。そして、このように算出した法線ベクトルのなかから、仮想三次元空間内のＺ軸に平行であって、その方向がＺ軸の正方向を向いている法線を検出する。ここでは、ｚ１面の法線が検出される。このため、画像情報構成部１０７は、ｚ１面が正面であると判断する。
【０１２４】
そして、画像情報構成部１０７は、位置情報が示す配置となるよう仮想３次元空間内の配置した立体オブジェクトＯＢＪの画像情報であって、そのｚ１面に配置用データ取得部１０５が取得した「携帯電話」および「スマートフォン」というデータを配置した画像情報を構成する。具体的には、いわゆるレンダリング処理を行う。なお、ここでは、各立体オブジェクトの投影図が構成されるように、仮想三次元空間内の座標軸、つまりワールド空間の座標軸や、レンダリングの際の画角等のパラメータが予め設定されているものとする。
【０１２５】
そして、出力部１０８は、画像情報構成部１０７が構成した画像情報を出力する。なお、出力後、回転によって回転角度が変更されたオブジェクト配置情報で、図六に示したオブジェクト配置情報管理表を更新する。かかる処理は、以降の回転時においても同様である。
【０１２６】
図８は、出力部１０８による表示例を示す図である。なお、ここでは、出力部１０８は、モニタ８０に接続されており、当該モニタ８０に立体オブジェクトＯＢＪの画像である立体オブジェクト８１を表示する。
【０１２７】
ここで、例えばユーザが、立体オブジェクト８１の第一指定方向を向いた面である正面上の「携帯電話」の文字列上の領域をマウス等の入力デバイスを用いてクリックしたとすると、指定受付部１０６は、「携帯電話」というデータに対する指定を受け付ける。そして、指定受付部１０６は、この「携帯電話」のデータを指定済データとして取得し、図示しないメモリ等の記憶媒体に一時記憶する。なお、指定されたデータに付与されているタグ、ここではジャンル名タグ、も含めて指定済データとして取得し、記憶媒体に一時記憶してもよい。
【０１２８】
図９は、指定受付部１０６が取得して蓄積した指定済データの一例を示す図である。指定済データは、ここでは、最上位の階層から順番に指定されたデータを「／」等を挟んで順番に示す、いわゆるパスのようなデータであるとする。指定済データは、例えば、正面に配置されるデータが変更された場合や、指定が解除された場合には、変更や削除が行われる。なお指定されたデータは、立体オブジェクトの画像上で、他のデータとは異なる表示、例えばハイライト表示を行うようにしても良い。
【０１２９】
次に、ユーザが、入力デバイスや入力メニュー等を操作して立体オブジェクトを右回りに９０度回転させる指示を与えたとする。即ち、立体オブジェクトの正面からみて左側の面を、正面に向ける回転指示を与えたとする。例えば、このような指示を与える操作として、立体オブジェクト８１上を右から左になぞるようにポインタを移動させる操作を行ったとする。回転指示受付部１０４は、ユーザによる操作に応じて立体オブジェクトを右回りに９０度回転させる指示を受け付ける。ここでは、この右回りに９０度回転させる指示を、上述した第一回転指示とする。
【０１３０】
配置用データ取得部１０５は、第一回転指示を受け付けると、現在立体オブジェクト８１の正面に配置されている情報の中の一のデータが指定済であるか否かを判断する。ここでは、図９に示したように指定済データと一致するデータがあるため、一のデータが指定済であると判断する。
【０１３１】
このため、配置用データ取得部１０５は、図７に示した階層構造データにおいて、指定済データ「携帯電話」に従属するデータが存在するか否かを判断する。「携帯電話」は、ジャンル名タグで区切られたデータであるため、データが「携帯電話」であるジャンル名タグを含むジャンルタグで区切られたデータに、下位の階層を示すタグで区切られたデータが存在するか否かを判断する。ここでは、下位の階層を示すタグとして、１以上の商品タグで区切られたデータが存在し、この商品タグで区切られたデータ内に、商品名タグで区切られたデータが存在していることが検出される。このため、配置用データ取得部１０５は、「携帯電話」に対応したノードの下位のデータが存在すると判断し、ジャンル名が「携帯電話」であるジャンルに含まれるデータから、商品名タグで区切られたデータを全て取得する。ここでは、「ＢＳ６０２」、「ＡＷ８０１」、「ＴＭ５５５」、「ＲＷ００８」を取得する。
【０１３２】
次に、画像情報構成部１０７は、第一回転指示に従って、立体オブジェクトＯＢＪを、右回りに９０度回転させた場合に正面となる、立体オブジェクトＯＢＪの面を、オブジェクトの形状情報と、オブジェクト配置情報とを用いて判断する。ここでは、回転前の立体オブジェクトＯＢＪの各面の仮想３次元空間のＸＹＺ座標系における法線ベクトルを算出し、算出した法線ベクトルの中から、仮想３次元空間のＸＹＺ座標系におけるＸ軸に平行であって、方向がＸ軸の正の方向を向いている法線ベクトルを検出する。そして、この法線ベクトルを有する面を第一回転指示に応じて回転させた場合に正面を向く面として判断する。ここでは、図５に示したｘ１面が回転後に正面を向く面と判断される。
【０１３３】
次に、画像情報構成部１０７は、立体オブジェクトＯＢＪを回転させる画像情報を構成する。具体的には、立体オブジェクトＯＢＪが、ｚ１面を正面とした状態から、ｘ１面を正面とした状態となるまで回転させる画像情報を構成する。ここでは、回転中の画像も含む動画像の画像情報をレンダリングにより構成する。このとき、ｚ１面に、配置用データ取得部１０５が既に取得済の階層構造データの第二階層のデータである「携帯電話」および「スマートフォン」を、また、ｘ１面には、配置用データ取得部１０５が取得した「ＢＳ６０２」、「ＡＷ８０１」、「ＴＭ５５５」、「ＲＷ００８」を、それぞれ配置して、画像情報をレンダリングする。なお、動画像の最後の画像は、ｘ１面が正面を向いている画像である。
【０１３４】
そして、出力部１０８は、画像情報構成部１０７が構成した画像情報を出力する。
【０１３５】
図１０は、出力部１０８による出力例を示す図である。
【０１３６】
さらに、ユーザが、立体オブジェクト８１の第一指定方向を向いた面上の「ＡＷ８０１」の文字列上の領域をマウス等の入力デバイスを用いてクリックしたとすると、指定受付部１０６は、「ＡＷ８０１」というデータに対する指定を受け付け、指定受付部１０６は、このデータを指定済データとして取得し、図示しないメモリ等の記憶媒体に一時記憶する。これにより例えば、図９に示した指定済データの後に、「／ＡＷ８０１」が追記される。
【０１３７】
図１１は、変更後の指定済データを示す図である。
【０１３８】
次に、ユーザが、入力デバイスや入力メニュー等を操作して立体オブジェクトを右回りに９０度回転させる第一回転指示を与ると、配置用データ取得部１０５は、立体オブジェクトの正面に配置されたデータのうちのデータ「ＡＷ８０１」を、図１１に示した指定済データを用いて、指定済データであると判断して、図７に示した階層構造データに、指定済データ「ＡＷ８０１」に従属するデータが存在するか否かを判断する。「ＡＷ８０１」は、商品名タグで区切られたデータであるため、データが「ＡＷ８０１」である商品名タグを含む商品タグで区切られたデータに、下位の階層を示すタグで区切られたデータが存在するか否かを判断する。ここでは、下位の階層を示すタグとして、１以上の詳細タグで区切られたデータが存在し、この詳細タグで区切られたデータ内に、商品写真タグや商品ＩＤタグ等で区切られたデータが存在しているため、配置用データ取得部１０５は、従属するデータが存在すると判断し、ジャンル名が「ＡＷ８０１」であるジャンルに含まれるデータから、商品写真タグや商品ＩＤタグ、価格タグ、仕様タグで区切られたデータを全て取得する。ここでは、「ａｗ８０１．ｇｉｆ」、「ＳＥＲ２２６８」、「１．６万円」、「有機ＥＬ」を取得する。なお、「ａｗ８０１．ｇｉｆ」については、ファイル名が「ａｗ８０１．ｇｉｆ」である画像ファイルを取得する。
【０１３９】
次に、画像情報構成部１０７は、第一回転指示に従って、立体オブジェクトＯＢＪを、右回りに９０度回転させた場合に正面となる、立体オブジェクトＯＢＪの面を、オブジェクトの形状情報と、オブジェクト配置情報とを用いて判断する。ここでは、上記と同様に、回転前の立体オブジェクトＯＢＪ、即ち図８に示した状態の立体オブジェクトＯＢＪにおいて、各面について仮想３次元空間のＸＹＺ座標系における法線ベクトルを算出し、この法線ベクトルが、仮想３次元空間のＸＹＺ座標系におけるＸ軸に平行であって、方向がＸ軸の正の方向を向いている法線ベクトルである面を第一回転指示に応じて回転させた場合に正面を向く面として判断する。ここでは、図５に示したｚ１面が回転後に新たに正面を向く面と判断される。
【０１４０】
そして、画像情報構成部１０７は、上記で取得した、詳細タグで区切られたデータをｚ１面に配置した立体オブジェクトＯＢＪを回転させる画像情報を、上記と同様に構成する。
【０１４１】
図１２は、出力部１０８による出力例を示す図である。
【０１４２】
次に、ユーザが、入力デバイスや入力メニュー等を操作して立体オブジェクトを前回りに９０度回転させる指示を与えたとする。即ち、立体オブジェクトの正面からみて上側の面を、正面に向ける回転指示を与えたとする。例えば、このような指示を与える操作として、立体オブジェクト８１上を上から下になぞるようにポインタを移動させる操作を行ったとする。回転指示受付部１０４は、ユーザによる操作に応じて立体オブジェクトを前回りに９０度回転させる指示を受け付ける。ここでは、この前回りに９０度回転させる指示を、上述した第二回転指示とする。
【０１４３】
第二回転指示を与ると、配置用データ取得部１０５は、立体オブジェクトの第一指定方向を向いた面である正面に配置されているデータの従属先となるノードと階層が同じである異なるノードであって、その従属先のノードが、立体オブジェクトの正面に配置されているデータの従属先となるノードの従属先と同じであるノードがあるか否かを判断する。
【０１４４】
ここでは、配置用データ取得部１０５は、正面に配置されているデータのノードを示すタグである詳細タグの従属先となるノードは、図７に示す階層構造データや図１０に示した指定済データ等から、データが「ＡＷ８０１」である商品名タグを含む商品タグが示すノードであることを検出する。さらに、配置用データ取得部１０５は、この商品タグが示すノードの従属先となるノードは、同様に、データが「携帯電話」であるジャンル名タグを含むジャンルタグが示すノードであることが検出を検出する。そして、このデータが「携帯電話」であるジャンル名タグを含むジャンルタグが示すノードに、データが「ＡＷ８０１」である商品名タグを含む商品タグが示すノード以外のノードが存在するか否かを判断する。ここでは、データが「ＢＳ６０２」、「ＴＭ５５５」、「ＰＷ００８」である商品名タグをそれぞれ含む商品タグが存在していると判断する。このため、配置用データ取得部１０５は、これらの商品タグが示すノードの一つを選択し、選択されたノードに従属するデータを取得する。ここでは、まず、図７に示した階層構造データの商品タグで区切られたデータに、上から順に商品タグが示すノードの順番を割り当て、現在正面に配置されているデータの従属先となるノードを示す商品タグの次の順番の商品タグを検出し、この商品タグに従属するデータを取得する。例えば、現在正面に配置されているデータは、データが携帯電話であるジャンル名タグを含むジャンルタグに従属する商品タグのうちの、上から２番目の商品タグに従属するデータである。このため、配置用データ取得部１０５は、上から３番目の商品タグに従属するデータを取得する。上から３番目の商品タグは、データが「ＴＭ５５５」である商品名タグを含む商品タグである。このため、配置用データ取得部１０５は、データが「ＴＭ５５５」である商品名タグを含む商品タグに含まれる詳細タグで区切られたデータを取得する。取得したデータは、「ｔｍ５５５．ｇｉｆ」、「ＳＥＲ３４２５」、「４万円」、および「ワンセグ対応」である。
【０１４５】
次に、画像情報構成部１０７は、第二回転指示に従って、立体オブジェクトＯＢＪを、前回りに９０度回転させた場合に正面となる、立体オブジェクトＯＢＪの面を、オブジェクトの形状情報と、オブジェクト配置情報とを用いて判断する。ここでは、上記と同様に、回転前の立体オブジェクトＯＢＪ、即ち図１２に示した状態の立体オブジェクトＯＢＪにおいて、各面について仮想３次元空間のＸＹＺ座標系における法線ベクトルを算出し、この法線ベクトルが、仮想３次元空間のＸＹＺ座標系におけるＹ軸に平行であって、方向がＹ軸の正の方向を向いている法線ベクトルである面を第二回転指示に応じて回転させた場合に正面を向く面として判断する。ここでは、図５に示したｙ１面が回転後に新たに正面を向く面と判断される。
【０１４６】
そして、画像情報構成部１０７は、上記で取得した、詳細タグで区切られたデータ「ｔｍ５５５．ｇｉｆ」、「ＳＥＲ３４２５」、「４万円」、および「ワンセグ対応」をｙ１面に配置した立体オブジェクトＯＢＪを回転させる画像情報を、上記と同様に構成する。具体的には、立体オブジェクトＯＢＪが、ｚ２面を正面とした状態から、ｙ１面を正面とした状態となるまで回転させる画像情報を構成する。ここでは、回転中の画像も含む動画像の画像情報をレンダリングにより構成する。このとき、ｚ２面に、配置用データ取得部１０５が既に取得済の階層構造データの第三階層のデータである「ａｗ８０１．ｇｉｆ」、「ＳＥＲ２２６８」、「１．６万円」、「有機ＥＬ」を、また、ｙ１面には、配置用データ取得部１０５が取得した「ｔｍ５５５．ｇｉｆ」、「ＳＥＲ３４２５」、「４万円」、および「ワンセグ対応」を、それぞれ配置して、画像情報をレンダリングする。なお、動画像の最後の画像は、ｘ１面が正面を向いている画像である。
【０１４７】
そして、出力部１０８は、画像情報構成部１０７が構成した画像情報を出力する。
【０１４８】
図１３は、出力部１０８による出力例を示す図である。
【０１４９】
なお、立体オブジェクトＯＢＪが図１１に示した状態である場合において、立体オブジェクトを左回りに９０度回転させる指示である第三回転指示を与えた際には、現在立体オブジェクトの正面に配置されているデータの従属先となるノード（即ち「ＡＷ８０１」のノード）と階層が同じであるノードであって、その従属先のノードが、立体オブジェクトの正面に配置されているデータの従属先となるノードの従属先（即ち「携帯電話」のノード）と同じである全てのノードのデータである「ＢＳ６０２」、「ＡＷ８０１」、「ＴＭ５５５」、「ＲＷ００８」を配置用データ取得部１０５が取得し、画像情報構成部１０７は、この取得された情報を用いて、立体オブジェクトＯＢＪを左回りに９０度回転させる動画像の画像情報を構成する。そして出力部１０８は、取得された画像情報を表示する。出力部１０８が表示する画像は、図１２と同様になる。なお、直前の画像情報を一時保存しておくようにし、第一回転指示の直後に第三回転指示を受け付けた場合には、直前の画像情報を読み出して表示するようにしても良い。
【０１５０】
また、立体オブジェクトＯＢＪが図１３に示した状態である場合において、立体オブジェクトを後回りに９０度回転させる指示である第四回転指示を与えた際には、上記第二回転指示を受け付けた場合と同様の処理により、現在正面に配置されているデータの従属先となるノードと同じ階層のノードのうちの、順番が一つ前のノードに従属するデータを配置用データ取得部１０５が取得し、画像情報構成部１０７は、この取得された情報を用いて、後回りに９０度回転させる動画像の画像情報等を構成し、出力部がこの画像情報を表示するようにすればよい。出力部１０８が表示する画像は、図１２と同様になる。なお、直前の画像情報を一時保存しておくようにし、第二回転指示の直後に第四回転指示を受け付けた場合には、直前の画像情報を読み出して表示するようにしても良い。
【０１５１】
なお、上記具体例において、立体オブジェクトが回転していない時に、立体オブジェクトＯＢＪの正面だけでなく、側面や上面や下面等の少なくとも一部が画像上に表示される場合、これらの面に配置されるデータを適宜取得して、取得したデータを側面や上面や下面等に配置した立体オブジェクトの画像を表示するようにしても良い。
【０１５２】
例えば、上記具体例において、正面に出力されているデータについての指定を指定受付部１０６が受け付けた時点で、この指定されたデータに従属するデータを配置用データ取得部１０５が取得して、取得したデータを、立体オブジェクトＯＢＪを第一回転指示に従って回転させた場合に正面の位置となる面に配置した立体オブジェクトＯＢＪの画像を画像情報構成部１０７が構成し、構成した画像情報で、出力部１０８が出力した画像を更新するようにしても良い。
【０１５３】
例えば、図１０に示す状態において、「ＡＷ８０１」のデータが指定された場合、指定されたデータに直接従属するデータ「ａｗ８０１．ｇｉｆ」、「ＳＥＲ２２６８」、「１．６万円」、「有機ＥＬ」を配置用データ取得部１０５が取得し、取得したデータを、次に第一回転指示を受け付けた場合に正面となる面、つまり現状での右側面であるｚ２面にさらに配置した画像情報を画像情報構成部１０７が構成し、構成した画像情報が示す画像により、出力部１０８が現在出力されている画像を更新するようにしてもよい。
【０１５４】
図１４は、このような場合の表示例を示す図である。
【０１５５】
また、例えば、上記具体例において、回転の指示によって立体オブジェクトが回転した場合（あるいは回転することが決定した時点）に、新たに正面となった面（あるいは新たに正面となる面）に出力されているデータの従属先となるノードと階層が同じである異なるノードであって、その従属先のノードが、立体オブジェクトの正面に配置されているデータの従属先となるノードの従属先と同じであるノードのうちのひとつ（具体的には、次の順番のノード）に従属するデータを取得し、このデータを、次に第二回転指示を受け付けた場合に正面となる面であるｙ１面に更に配置した画像情報を画像情報構成部１０７が構成し、構成した画像情報が示す画像により、出力部１０８が現在出力されている画像を更新するようにしてもよい。
【０１５６】
例えば、立体オブジェクトＯＢＪの回転によって、図１２に示すような状態となった時点で、第二回転指示を受け付けた場合と同様に、立体オブジェクトの正面に配置されているデータの従属先となるノードと階層が同じである異なるノードであって、その従属先のノードが、立体オブジェクトの正面に配置されているデータの従属先となるノードの従属先と同じであるノードに従属するデータである、「ｔｍ５５５．ｇｉｆ」、「ＳＥＲ３４２５」、「４万円」、および「ワンセグ対応」を配置用データ取得部１０５が取得し、取得したデータを、次に第二回転指示を受け付けた場合に正面となる面、つまり現状での上面であるｙ１面にさらに配置した画像情報を画像情報構成部１０７が構成し、構成した画像情報が示す画像により、出力部１０８が現在出力されている画像を更新するようにしてもよい。
【０１５７】
図１５は、このような場合の表示例を示す図である。
【０１５８】
なお、上記具体例においては立体オブジェクトが立方体である場合を例に挙げて説明したが、立体オブジェクトはどのような形状であっても良い。
【０１５９】
図１６は、立体オブジェクトの変形例を示す図である。
【０１６０】
例えば、図１６に示すように、立体オブジェクトが六角柱であってもよい。この場合、例えば、水平方向に回転させて、正面に位置する側面を変更する第一回転指示を与えた場合、正面に位置することとなる面に、図１２と同様に、ユーザにより指定された回転前に正面に配置されていたデータのうちの一つに従属するデータが、回転後の正面となる面に配置される。
【０１６１】
図１７は、右回りに６０度回転後の立体オブジェクトを示す図である。
【０１６２】
また、図１６に示した立体オブジェクトを前回りに９０度回転させる第二回転指示を与えた場合に、正面に位置することとなる面に、図１２に示すようなデータが配置された画像を表示しても良い。
【０１６３】
図１８は、前回りに９０度回転後の立体オブジェクトを示す図である。
【０１６４】
なお、上記具体例においては、予め指定された立方体の立体オブジェクトＯＢＪを用いるようにしたが、本発明においては、予め複数の異なる立体オブジェクトの形状情報を形状情報格納部１０１に用意しておくようにし、立体オブジェクト上に配置される階層構造データのデータ構造に応じて複数の異なる立体オブジェクトのうちの一つの立体オブジェクトを選択するようにしても良い。
【０１６５】
例えば、画像情報構成部１０７等が、階層構造データの最上位のノードから最下位のノードまでを辿った場合の最も深い階層数を求め、この階層数に応じて、立体オブジェクトを選択する。階層数はノード数と考えても良い。また、図７に示すようなＸＭＬの階層構造データにおいては、最も深い階層の階層数は、最も深いネストレベルと考えても良い。なお、形状情報格納部１０１に格納される複数の異なる立体オブジェクトの形状情報は、立体形状が異なる立体オブジェクトであっても良いし、色や大きさ、テクスチャ、透明度等が異なる立体オブジェクトの形状情報であっても良い。階層数に応じて形状情報を選択、とは、例えば、予め階層数と形状情報との対応関係を示す階層形状管理表を図示しない記憶媒体等の格納部に用意しておくようにし、この階層形状管理表を用いて、取得した最も深い階層数と対応付けられた形状情報を取得するようにすればよい。
【０１６６】
図１９は階層形状管理表の一例を示す図である。階層形状情報管理表は、「階層数」と「オブジェクトＩＤ」という項目を有している。「階層数」は、階層構造データの最も深い階層の階層数である。「オブジェクトＩＤ」は立体オブジェクトの識別情報であり、図４に示す「オブジェクトＩＤ」等に相当する。図１９に示したオブジェクトＩＤが異なる立体オブジェクトは、例えば立体形状や色等が異なる立体オブジェクトであるとする。
【０１６７】
図２０は、図１９に示した「オブジェクトＩＤ」に対応した形状情報が示す立体オブジェクトを示す模式図である。例えば、立体オブジェクトＯＢＪ０１は白色の三角柱、立体オブジェクトＯＢＪ０２は白色の立方体、立体オブジェクトＯＢＪ０３は白色の六角柱、立体オブジェクトＯＢＪ０４は赤色の六角柱であるとする。
【０１６８】
例えば、立体オブジェクトに配置される階層構造データが、図７に示すような階層構造データであるとすると、画像情報構成部１０７は、立体オブジェクトを表示する指示を受け付けると、この階層構造データに含まれるデータのネストレベルを取得し、そのネストレベルの最大数を取得する。ＨＴＭＬ文書等のデータからネストレベルを取得する処理は特開２０００−５７１４３号公報等において公知であり、ここでは説明を省略する。仮にこの階層構造データから取得したネストレベルにおいて、最も深いネストレベルが「４」であったとする。
【０１６９】
画像情報構成部１０７は、図１９に示した階層形状情報管理表から、「階層数」が「４」を含むレコードの「オブジェクトＩＤ」である「ＯＢＪ２」を取得する。そして、「オブジェクトＩＤ」が「ＯＢＪ２」である形状情報を用いてオブジェクトの画像情報を構成する。
【０１７０】
以上のように、本実施の形態によれば、立体オブジェクトを回転させることで、階層構造を有するデータを、階層やノードを変更して立体オブジェクト上に表示することが可能となる。これにより、立体オブジェクトを直感的に回転させることで、階層構造を有するデータを、階層やノードを変えながら自由にブラウズすることができる。
【０１７１】
なお、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１７２】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段（情報送信部など）は、物理的に一の媒体で実現されても良いことは言うまでもない。
【０１７３】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
【０１７４】
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
【０１７５】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【０１７６】
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、階層構造データ格納部に格納された階層化された１以上のデータで構成される階層構造データから、一のノードに従属する１以上のデータを取得する配置用データ取得部と、配置用データ取得部が取得したデータを、形状情報格納部に格納された２以上の面を有する立体オブジェクトの形状を示す情報である形状情報が示す立体オブジェクトの予め指定された方向を向いた面である第一指定方向に配置した立体オブジェクトの画像情報を構成する画像情報構成部と、画像情報構成部が構成した画像情報を出力する出力部と、立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付部と、として機能させるためのプログラムであって、配置用データ取得部は、出力部が出力した立体オブジェクトの第一指定方向を向いた面に配置された１以上のデータのうちの１以上に対して所定の従属関係にある１以上のデータを取得し、画像情報構成部は、回転指示に応じて回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部が取得した所定の従属関係にある１以上のデータを配置した立体オブジェクトの画像情報を構成し、出力部は、回転指示に応じて画像情報構成部が構成した画像情報を出力するプログラムである。
【０１７７】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【０１７８】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１７９】
図２１は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【０１８０】
図２１において、コンピュータシステム９００は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ９０５、ＦＤ（Ｆｌｏｐｐｙ（登録商標）  Ｄｉｓｋ）ドライブ９０６を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【０１８１】
図２２は、コンピュータシステム９００の内部構成を示す図である。図２２において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０５、ＦＤドライブ９０６に加えて、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９１２と、ＭＰＵ９１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク９１４と、ＭＰＵ９１１、ＲＯＭ９１２等を相互に接続するバス９１５とを備える。なお、コンピュータ９０１は、ＬＡＮへの接続を提供する図示しないネットワークカードを含んでいてもよい。
【０１８２】
コンピュータシステム９００に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９２１、またはＦＤ９２２に記憶されて、ＣＤ−ＲＯＭドライブ９０５、またはＦＤドライブ９０６に挿入され、ハードディスク９１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９１４に記憶されてもよい。プログラムは実行の際にＲＡＭ９１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ９２１やＦＤ９２２、またはネットワークから直接、ロードされてもよい。
【０１８３】
プログラムは、コンピュータ９０１に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム９００がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１８４】
以上のように、本発明にかかる情報処理装置は、階層構造データを出力するための装置等として適しており、特に、階層構造データを立体オブジェクト上に配置して出力する装置等として有用である。
【符号の説明】
【０１８５】
１  情報処理装置
１０１  形状情報格納部
１０２  オブジェクト配置情報格納部
１０３  階層構造データ格納部
１０４  回転指示受付部
１０５  配置用データ取得部
１０６  指定受付部
１０７  画像情報構成部
１０８  出力部
【図１】
0005513071.tif 000002
【図２】
0005513071.tif 000003
【図３】
0005513071.tif 000004
【図４】
0005513071.tif 000005
【図５】
0005513071.tif 000006
【図６】
0005513071.tif 000007
【図７】
0005513071.tif 000008
【図８】
0005513071.tif 000009
【図９】
0005513071.tif 000010
【図１０】
0005513071.tif 000011
【図１１】
0005513071.tif 000012
【図１２】
0005513071.tif 000013
【図１３】
0005513071.tif 000014
【図１４】
0005513071.tif 000015
【図１５】
0005513071.tif 000016
【図１６】
0005513071.tif 000017
【図１７】
0005513071.tif 000018
【図１８】
0005513071.tif 000019
【図１９】
0005513071.tif 000020
【図２０】
0005513071.tif 000021
【図２１】
0005513071.tif 000022
【図２２】
0005513071.tif 000023