以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理装置1のブロック図である。
情報処理装置1は、形状情報格納部101、配置用情報格納部103、オブジェクト配置情報格納部102、変更指示受付部104、オブジェクト更新部105、切換指示受付部106、ソート指示受付部107、検索条件情報受付部108、検索部109、検索結果配置情報作成部110、画像情報構成部111、および出力部112を備えている。
形状情報格納部101には、2以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る。形状情報とは、具体的には、仮想三次元空間内に配置されるオブジェクトの形状等を定義する情報である。形状情報は、例えば、立体オブジェクトのいわゆるモデリング情報である。ここで述べる立体オブジェクトは、例えば3Dオブジェクトや3Dモデルや立体モデルと呼ばれるものも含む。形状情報は、立体オブジェクトの頂点の座標の情報や、境界線や面等を表現する方程式のパラメータの情報等である。立体オブジェクトは、通常、面を定義する情報、あるいは面を定義可能な情報を有しており、1以上の面により構成されている。立体オブジェクトは、例えば、面の構成方法によって、ポリゴンモデリングや、自由曲面を利用したモデリング等に分類できる。形状情報には、立体オブジェクトを出力する際の、立体オブジェクトの色や、透明度、反射、屈折率、バンプなどの設定項目の情報を含んでも良い。形状情報格納部101には、1以上の立体オブジェクトの形状情報が格納され得る。立体オブジェクトの形状は、球、円柱、六面体や八面対等の多面体や、立方体、円錐、角錐等、どのような形状であっても良い。なお、2以上の立体オブジェクトは、同じ形状および大きさであることが好ましい。形状情報のサイズ等の単位等は、絶対的な単位であっても、相対的な単位であっても良い。また、複数の立体オブジェクトにおいて、共用可能な形状情報等は、リンク情報等を用いて参照することで、相互利用できるようにしても良い。すなわち、2以上の立体オブジェクトの形状情報は、2以上の立体オブジェクトにおいて共用される1の形状情報であってもよい。つまり、2以上の立体オブジェクトの形状情報は、2以上の立体オブジェクトに対応する形状情報と考えても良い。形状情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
オブジェクト配置情報格納部102には、2以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得る。ここで述べる2以上の立体オブジェクトは、形状情報格納部101に格納されている形状情報が示す立体オブジェクトである。オブジェクト配置情報は、立体オブジェクトの形状情報の配置を指定する情報と考えても良い。ここで述べる配置とは、例えば、仮想三次元空間内における配置である。ただし、立体オブジェクトを用いて構成された画像が配置される位置を示す二次元の座標情報等の位置の情報であっても良い。この配置は、例えば、立体オブジェクトの位置と方向との組み合わせを有する概念である。ただし、配置を指定する情報は、方向を示す情報だけであっても良い。オブジェクト配置情報は、立体オブジェクトの配置を結果的に指定可能な情報であればよく、例えば、立体オブジェクトが配置される位置の座標や、立体オブジェクトの方向を指定する情報である。方向を指定する情報は、結果的に方向を示すことが可能な情報であれば良く、例えば、ベクトル情報や、仮想三次元空間内における所定の軸を回転軸とした回転角度等の情報である。あるいは、仮想三次元空間内における座標軸と、立体オブジェクトに設定される座標軸との位置関係を示す情報と考えても良い。例えば、仮想三次元空間内における座標軸を基準として、立体オブジェクトに設定される各座標軸をベクトルで表した情報であっても良い。なお、立体オブジェクトの位置を示す情報によって、オブジェクトの向きが決定される場合、例えば、立体オブジェクトの各頂点の座標等が指定されている場合等においては、位置を示す情報は方向を示す情報も兼ねていると考えても良い。また、オブジェクト配置情報は、立体オブジェクトの大きさ等を指定する情報であっても良い。立体オブジェクトの位置を指定する座標は、仮想三次元空間内に設定された絶対的な座標であっても良いし、他の立体オブジェクト等に対して設定された相対的な座標であっても良い。また、立体オブジェクトの位置を指定する座標は、立体オブジェクトを構成する辺等が集まる頂点の座標であっても良いし、立体オブジェクトの中心等の位置の座標であっても良い。なお、後述する画像情報構成部111は、このオブジェクト配置情報を読み出して、このオブジェクト配置情報が示す仮想三次元空間内の位置に、このオブジェクト配置情報が示す向きとなるよう立体オブジェクトを配置した画像情報を構成するようにする。なお、ここではオブジェクト配置情報と立体オブジェクトの形状情報とをそれぞれ設けた場合について説明するが、形状情報格納部101とオブジェクト配置情報格納部102とを一の格納部で構成するとともに、オブジェクト配置情報を形状情報内に含めるようにしても良い。例えば、形状情報の頂点の情報を、例えば、絶対座標とすることで、形状情報をオブジェクト配置情報として用いて、立体オブジェクトの配置も指定可能となる。なお、各立体オブジェクトを用いてレンダリングにより作成された二次元の画像を、二次元の背景画像上等に配置して最終的な出力画像を作成する場合等においては、オブジェクトの配置される位置の情報は、二次元の情報、例えばxy座標等の座標情報であってもよい。
また、オブジェクト配置情報は、複数の立体オブジェクト同士がグループ化されているか否か等のグループ化の状況を管理する情報を有していても良い。グループ化の状況を管理する情報は、例えば、一のグループを構成する立体オブジェクトに、属するグループを識別するためのグループ識別情報を対応付けることや、同じグループに含まれる立体オブジェクトの識別情報を一のレコードの複数の項目で管理するデータベース等であっても良い。
また、オブジェクト配置情報格納部102には、オブジェクトが配置されるウィンドウを管理するための情報であるウィンドウ管理情報が格納されていても良い。ウィンドウとは、具体的には、立体オブジェクト等を配置して出力するための出力領域である。ウィンドウは、例えば立体オブジェクトのグループや階層やノードの関係等を表すために用いられる。ウィンドウ管理情報は、例えば、一のウィンドウを表示するためのウィンドウのサイズや位置等の情報である。また、これに加えて、一のウィンドウと当該ウィンドウ内に配置される立体オブジェクトとの対応関係等を管理する情報を有していても良い。このウィンドウ管理情報を用いて、例えば、後述する画像情報構成部111によりウィンドウの画像が構成される。
なお、本実施の形態におけるグループとは、必ずしも上述したようにグループ化状況を管理する情報で管理される立体オブジェクトのグループのみに限るものではなく、結果として、1以上の立体オブジェクトをグループとして,例えば後述するオブジェクト更新部等が判断可能な状態であればよい。例えば、立体オブジェクトのグループは、立体オブジェクトの配置に応じて判断可能なグループであっても良い。具体的には、上述したように一のウィンドウ内に配置されている1以上の立体オブジェクトを、一のグループと考えても良い。また、立体オブジェクトが階層化されて管理されている場合、一の階層に属する立体オブジェクトや、一の立体オブジェクトに従属している立体オブジェクトを一のグループと考えても良い。
オブジェクト配置情報格納部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
配置用情報格納部103には、2以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る。具体的には、2以上の立体オブジェクトがそれぞれ1以上の面を有しており、配置用情報格納部103には、各立体オブジェクトの1以上の面にそれぞれ配置される配置用情報が格納され得る。配置用情報は、各立体オブジェクトの1以上の面に配置されれば良く、全ての面に配置されていなくてもよい
配置用情報は、立体オブジェクトを構成する面に配置して出力、例えば表示可能な情報であれば、静止画や動画等の画像情報や、テキスト情報等、どのような情報であっても良い。画像情報は、結果的に出力用の画像情報が構成可能な情報であれば良く、例えば、ベクターデータであってもラスタデータであっても良い。また、ここで述べる配置とは、いわゆる立体オブジェクトの面に対する画像情報等のマッピングと考えても良い。また、配置用情報は、マッピング対象となる情報、例えばテクスチャ情報と考えても良い。配置用情報のデータ構造は問わない。例えば配置用情報は、XML形式等のタグ付けされた情報であっても良い。また、配置用情報は、テーブルや、データベースにより、例えば項目や属性等と対応付けて管理された情報でも良い。また、配置用情報は、予めグループ化されていても良い。
配置用情報と、当該配置用情報が配置される立体オブジェクトの面とはどのように対応付けられていても良い。例えば、配置用情報またはその識別情報と、当該配置用情報に対応付けられた立体オブジェクトの面またはその識別情報との組を、一のレコードの複数の項目として管理する管理情報等を用いて管理されても良い。この管理情報は、例えば図示しない格納部等に格納しておくようにすればよい。また、形状情報格納部101と配置用情報格納部103とが一の格納部により構成されており、形状情報が示す立体オブジェクトの面を示す情報と当該面に配置される配置用情報とが対応付けられて格納されていても良い。
また、形状情報が示す立体オブジェクトの面に対して、当該面に配置される配置用情報を取得するための条件を示す情報である取得条件情報等が対応付けられて、形状情報格納部101等に格納されていても良い。取得条件情報は、例えば、面に配置される配置用情報を検索するための検索式等の検索条件を示す情報である。この場合、各面に対応付けられた検索式等の情報を用いて検索を行うことで、面に配置される配置用情報を取得することが可能となる。
なお、取得条件情報は、1以上の立体オブジェクトの面に配置される1以上の配置用情報を結果的に指定可能な情報であれば、どのような情報であっても良い。例えば、取得条件情報は、配置用情報が項目分けされている場合、その項目を指定する情報であってもよい。また、配置用情報が属性を有している場合、その属性を指定する情報であっても良い。また、配置用情報がタグ付けされている場合、タグ名を指定する情報であっても良い。また、配置用情報にインデックス情報が付与されている場合、このインデックスを指定する情報であっても良い。また、リンク情報等の配置用情報の場所やファイル名やディレクトリ等を指定する情報であっても良い。また、配置用情報を検索するための検索式や演算式であっても良い。なお、検索式は、必ずしも式の形で示されている必要はなく、検索に利用可能なキーワード等であっても良い。例えば、この検索式で示される取得条件情報は、「select」、「from」、「where」等の組み合わせ等である。なお、「select」は取得する配置用情報の項目、「from」は検索対象となる複数の配置用情報を指定する情報、「where」は検索のための条件を示す情報である(SQLの仕様を参照)。また、演算式で示される取得条件情報とは、例えば、1以上の配置用情報に対して行われる演算式であり、例えば、数値で表される2つの配置用情報を指定する情報と、これらの平均を算出する演算式等で表されたものや、現在の時間等に所定時間を加減算する演算式等で表されたもの等である。取得条件情報とは、出力対象となりうる全ての立体オブジェクトにそれぞれ個別に指定されていてもよいし、全ての立体オブジェクト共通に指定されていても良い。また、一部の立体オブジェクトに共通に指定されていても良い。また、立体オブジェクトに属性等が設定されている場合、この属性が一致する立体オブジェクトに共通の取得条件を指定しても良い。また、取得条件情報は、立体オブジェクトの各面に対して予め指定されていてもよいし、各面にランダムに指定されても良い。配置用情報格納部103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
なお、形状情報格納部101、オブジェクト配置情報格納部102、配置用情報格納部103に形状情報や、オブジェクト配置情報や、配置用情報が蓄積される過程は問わない。例えば、記録媒体を介して形状情報や、オブジェクト配置情報や、配置用情報が、それぞれ、形状情報格納部101、オブジェクト配置情報格納部102、配置用情報格納部103に蓄積されてもよく、通信回線等を介して送信された形状情報や、オブジェクト配置情報や、配置用情報が、それぞれ、形状情報格納部101、オブジェクト配置情報格納部102、配置用情報格納部103に蓄積されてもよく、入力デバイスを介して入力された形状情報や、オブジェクト配置情報や、配置用情報が、それぞれ、形状情報格納部101、オブジェクト配置情報格納部102、配置用情報格納部103に蓄積されてもよい。また、形状情報格納部101や、オブジェクト配置情報格納部102や、配置用情報格納部103に格納されている形状情報や、オブジェクト配置情報や、配置用情報は、例えば図示しない受付部等が受け付けた形状情報や、オブジェクト配置情報や、配置用情報により適宜更新されるようにしても良い。
変更指示受付部104は、1以上の立体オブジェクトの配置に対する変更指示を受け付ける。ここで述べる配置とは、仮想3次元空間内等の座標位置や、立体オブジェクトの向き等である。変更指示は、例えば、立体オブジェクトの配置を変更させるためのコマンド、例えば「y軸に平行に50ピクセル移動」や「x軸を回転軸として90°回転」というコマンド等であっても良いし、変更後の、立体オブジェクトの配置を指定する座標や向きの情報等でもよい。変更指示は、通常は、変更対象となる立体オブジェクトを指定する情報を含む情報である。変更指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。例えば、図示しないディスプレイ等に表示されている立体オブジェクトの面の一部をクリックしたり、面や辺をドラッグすることにより、立体オブジェクトの位置を仮想三次元空間内で移動させる指示を受け付けたり、立体オブジェクトの向きを仮想三次元空間内で変更、例えば回転させる指示を受け付けるようにしても良い。例えば、立体オブジェクトの側面の一つをクリックすることで、その面が正面を向くような配置の変更指示を受け付けても良い。このように、表示されている立体オブジェクトに対するマウス等を用いた操作により、配置を変更する指示を受け付けることが、ユーザによる直感的な操作を受け付ける受けで好ましい。
変更指示受付部104は、複数の立体オブジェクトに対して向きを揃える指示を更に受け付け可能なものであってもよい。「向きを揃える」とは、複数の立体オブジェクトを同じ向きを向かせる、という意味と考えても良い。立体オブジェクトの向きとは、例えば、各立体オブジェクトの予め指定された1以上の面や、1以上の面に対する垂線や、1以上の辺の方向である。予め指定された面や辺の代わりに、ユーザにより指定された面や辺の方向を立体オブジェクトの方向と考えても良い。この場合、変更指示が、立体オブジェクトの方向の基準となる面や辺等を指定する情報を含むようにしても良い。また、各立体オブジェクトの形状情報において予め指定されている基準となる向き等であってもよいし、複数の立体オブジェクトの形状情報に設定されている立体オブジェクト内の座標軸等の向きであっても良い。向きを揃える指示により、各立体オブジェクトの向きが揃えられる方向は問わない。例えば、予め指定されている方向、例えば、最終的に出力される立体オブジェクトの画像において出力画面に正対する方向等であってもよい。あるいは、ユーザにより指定される方向であっても良い。この場合、変更指示が、揃える方向を指定する情報を含むようにしても良い。
ここで述べる受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。変更指示受付部104は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
オブジェクト更新部105は、変更指示受付部104が受け付けた変更指示に応じて、オブジェクト配置情報格納部102に格納されている当該変更指示の対象となる立体オブジェクトのオブジェクト配置情報を更新する。特に本実施の形態においては、オブジェクト更新部105は、変更指示受付部104が受け付けた変更指示が1以上の立体オブジェクトを回転させる指示である場合に、変更指示に応じて変更指示の対象となる立体オブジェクトと、この立体オブジェクト以外の立体オブジェクトとが回転するよう、立体オブジェクトのオブジェクト配置情報を更新する。
例えば、変更指示が、変更後の座標の情報や向きの情報等を含む場合、オブジェクト更新部105は、この変更後の座標の情報や向きの情報等でオブジェクト配置情報を更新するようにすればよい。また、変更指示が配置の変更を指示するコマンド等である場合、このコマンドと現在のオブジェクト配置情報とから、変更後の座標の情報や向きの情報等を算出し、この算出した情報で、オブジェクト配置情報を更新するようにすればよい。なお、オブジェクト配置情報が、上述したように形状情報に含まれるものとなっている場合、例えば、変更指示に応じて、形状情報を変更することが、実質的にオブジェクト配置情報を更新することとなる。
また、変更指示が1以上の立体オブジェクトを回転させる指示(以下、回転指示と称す)である場合、この回転指示の対象となる立体オブジェクトを、変更指示に応じて回転させるとともに、回転指示の対象となる立体オブジェクト以外の立体オブジェクトも、回転指示の対象となる立体オブジェクトと同様に回転させる。即ち、回転指示の対象となる立体オブジェクト以外の立体オブジェクトも、回転指示の対象となる立体オブジェクトと連動して回転するよう、各立体オブジェクトのオブジェクト配置情報を更新する。具体的には、回転指示の対象となる立体オブジェクト以外のオブジェクトも、回転指示の対象となる立体オブジェクトが受けた回転指示と同じ回転指示を受け付けた場合と同様に回転させる。例えば、回転指示の対象となる立体オブジェクトが、所定の方向に所定の角度回転させる指示を受け付けた場合、回転指示の対象となる立体オブジェクト以外のオブジェクトも、回転指示が示す方向に回転指示が示す角度で回転させる。例えば、変更指示が、1の立体オブジェクトを、当該立体オブジェクト内に設定されているy軸を回転軸として90度回転させる指示であったとすると、オブジェクト更新部105は、当該立体オブジェクトを、この立体オブジェクト内に設定されているy軸を回転軸として90度回転させたオブジェクト配置情報を取得とともに、当該立体オブジェクト以外の他の立体オブジェクトも、この立体オブジェクト内に設定されているy軸を回転軸として90度回転させたオブジェクト配置情報を取得する。なお、ここで述べる回転の指示とは、例えば、立体オブジェクトに対する自転の指示である。また、立体オブジェクトの向きを変更する指示と考えても良い。ここで述べる自転とは、具体的には、立体オブジェクトを、位置を変えずに回転させることである。このときの回転すなわち自転は、例えば各立体オブジェクト内にあらかじめ設定された軸や点を回転軸や回転の中心として行われる。例えば、回転は、各立体オブジェクトの形状情報等に予め指定された立体オブジェクトの位置を決定する基準点や、中心や、重心や、立体オブジェクトに対して設定される座標の原点等を回転の中心として行われる。また、立体オブジェクトの基準点や中心や重心や原点を通る軸や、各立体オブジェクトに設定されるx軸やy軸やz軸等を回転軸として行われてもよい。なお、回転は、ユーザにより指定された点や軸を回転の中心や回転軸として行われても良い。この場合、回転の中心や軸を指定する情報を、回転指示が含むようにしても良い。
オブジェクト更新部105は、回転指示に応じて、回転指示の対象となる立体オブジェクト以外のどの立体オブジェクトのオブジェクト配置情報を、立体オブジェクトが回転するよう更新するようにしても良い。例えば、オブジェクト配置情報により配置が指定されている全ての立体オブジェクトのオブジェクト配置情報を立体オブジェクトが回転するよう更新しても良いし、ユーザ等により予め指定されたオブジェクトだけのオブジェクト配置情報を立体オブジェクトが回転するよう更新しても良い。また、回転指示の対象となる立体オブジェクトが、上述したようなグループ化されている立体オブジェクトの一つである場合、当該回転指示の対象となる立体オブジェクトが含まれるグループ内の、回転指示の対象となる立体オブジェクト以外の立体オブジェクトのオブジェクト配置情報を立体オブジェクトが回転するよう更新してもよい。例えば、回転指示の対象となるオブジェクトが1のウィンドウ内に配置されている場合、当該ウィンドウ内に配置されている全ての立体オブジェクトをグループ化された立体オブジェクトと判断して、当該ウィンドウ内に配置されている回転指示の対象となるオブジェクト以外の立体オブジェクトの立体オブジェクト配置情報を、立体オブジェクトが回転するよう更新しても良い。
なお、オブジェクト更新部105は、立体オブジェクトを回転させる変更指示を受け付けた場合に、変更指示の対象となる立体オブジェクト及び立体オブジェクト以外の立体オブジェクトが回転するよう、立体オブジェクトの配置情報を更新する第一の回転モードと、変更指示の対象となる立体オブジェクトのみが回転するよう、立体オブジェクトの配置情報を更新する第二の回転モードとを有しており、この二つの回転モードを切り替えられるようにしても良い。例えば、後述する切換指示受付部106が受け付けた切換指示が示す回転モードに回転モードが切り替えられるようにしてもよい。オブジェクト更新部105は、切換指示により指定された第一の回転モードと第二の回転モードとのいずれか一方の回転モードで、立体オブジェクトの配置情報を更新する。例えば、回転モードの切り替えにより第一の回転モードが指定されている場合において回転指示を受け付けた場合、オブジェクト更新部105は、上記と同様の動作を行う。一方、回転モードの切り替えにより第二の回転モードが指定されている場合において回転指示を受け付けた場合、回転指示の対象となる立体オブジェクトのみが回転するよう、立体オブジェクトの配置情報を更新する。なお、オブジェクト更新部105は、回転モードの切換が行われるまでは、例えば、デフォルトの回転モード、もしくは直前に切り替えられた回転モードで動作するようにする。なお、現在どの回転モードが設定されているかを示す情報は、例えば、図示しない記憶媒体等に蓄積し、回転が行われる際にこの情報が参照されるようにする。
また、第一の回転モードと第二の回転モードとの切り替えを、立体オブジェクトのグループ単位で行えるようにしてもよい。具体的には、後述する切換指示受付部106が受け付けた切換指示により第一の回転モードに切り替えられているグループに含まれる1以上の立体オブジェクトのうちの1以上に対して、回転させる変更指示を受け付けた場合に、オブジェクト更新部105は、この変更指示の対象となる立体オブジェクトと同じグループ内の立体オブジェクトのみを対象として第一の回転モードで、配置情報を更新する。一方、切換指示により第二の回転モードに切り替えられているグループに含まれる1以上の立体オブジェクトのうちの1以上に対して、回転させる変更指示を受け付けた場合に、オブジェクト更新部105は、この変更指示の対象となる立体オブジェクトと同じグループ内の立体オブジェクトのみを対象として第二の回転モードで、配置情報を更新する。即ち、変更指示の対象となる立体オブジェクトのみのオブジェクト配置情報をオブジェクトが回転するよう。更新する。どのように、グループ単位で回転モードを指定できるようにしても良い。例えば、オブジェクト配置情報格納部102に格納されているウィンドウ管理情報が管理する一のウィンドウ内に配置されている1以上の立体オブジェクトをグループ化された立体オブジェクトと考える場合、このウィンドウに対して、回転モードを指定する情報を対応付けるようにし、この回転モードを指定する情報を、後述する切換指示により変更できるようにしても良い。回転モードを指定する情報は、例えばウィンドウを管理するウィンドウ管理情報等と対応付けて管理するようにしても良い。また、立体オブジェクトに、グループを管理する情報等が付与されている場合、このグループを管理する情報と、回転モードを指定する情報とを対応付けて管理するようにし、この回転モードを指定する情報を、後述する切換指示により変更できるようにしても良い。なお、各グループについては、例えば、デフォルトの回転モード、もしくは直前に切り替えられた回転モードが指定されているようにする。
例えば、後述する切換指示受付部106が、オブジェクト配置情報格納部102に格納されているウィンドウ管理情報が管理する1のウィンドウに対して、回転モードを第一の回転モードに切り替える切換指示を受け付けた場合、切換指示受付部106が、ウィンドウの回転モードを第一の回転モードに切り替える。そして、このウィンドウ内に配置されている回転指示の対象となる立体オブジェクトに対して回転指示を受け付けると、オブジェクト更新部105は、このウィンドウ内の立体オブジェクトをグループ化された立体オブジェクトと判断し、このウィンドウ内の立体オブジェクトのオブジェクト配置情報を第一の回転モードで更新する。即ち、回転指示の対象となる立体オブジェクトのオブジェクト配置情報を立体オブジェクトが回転するよう更新するとともに、同じウィンドウ内のオブジェクトを同じグループの立体オブジェクトと判断して、同じウィンドウ内の他の立体オブジェクトについてもオブジェクト配置情報を立体オブジェクトが回転するよう更新する。
一方、例えば、後述する切換指示受付部106が、オブジェクト配置情報格納部102に格納されているウィンドウ管理情報が管理する1のウィンドウに対して、回転モードを第二の回転モードに切り替える切換指示を受け付けた場合、切換指示受付部106が、ウィンドウの回転モードを第二の回転モードに切り替える。そして、このウィンドウ内に配置されている回転指示の対象となる立体オブジェクトに対して回転指示を受け付けると、オブジェクト更新部105は、このウィンドウ内の立体オブジェクトをグループ化された立体オブジェクトと判断し、このウィンドウ内の立体オブジェクトのオブジェクト配置情報を第二の回転モードで更新する。即ち、回転指示の対象となる立体オブジェクトのオブジェクト配置情報だけを立体オブジェクトが回転するよう更新する。
また、オブジェクト更新部105は、変更指示受付部104が受け付けた向きを揃える指示に応じて、複数の立体オブジェクトのそれぞれの相互に対応する面の一つが同一方向を向くように、オブジェクト配置情報を更新する。相互に対応する面とは、例えば、形状情報等において予め指定されている面、例えば、第一面、第二面等であっても良いし、配置される配置用情報の属性等が共通する面であっても良い。ここで述べる属性とは、例えば、配置用情報の項目名や、タグ名、データタイプ、データに含まれる文字列等である。どの面を揃えるかについては、変更指示に対して予めデフォルト等で指定されていても良いし、変更指示により指定するようにしても良い。また、ここで述べる方向は、変更指示に対して予め指定されている方向であっても良いし、変更指示により、ユーザ等から指定を受けた方向であっても良い。この同一方向は、相互に対応する面の一つが出力画面に正対する向きであることが好ましい。出力画面とは、画像情報構成部111が構成した当該立体オブジェクトの画像情報が表示される面である。出力画面に正対する向きとは、画像情報構成部111が立体オブジェクトの画像を構成する際の視点となる位置に対向する向きと考えても良い。なお、現在どのグループにどの回転モードが設定されているかを示す情報は、例えば、図示しない記憶媒体等にグループ等と対応付けて蓄積し、回転が行われる際にこの情報が参照されるようにする。
また、オブジェクト更新部105は、後述するソート指示受付部107が受け付けるソート指示に応じて、複数の立体オブジェクトにそれぞれ配置されている配置用情報によって決定される順番により立体オブジェクトが並べて配置されるよう、複数の立体オブジェクトのオブジェクト配置情報を更新する。オブジェクト更新部105は、配置用情報によって決定される順番の昇順や降順等に従って、複数の立体オブジェクトを所定の方向に並べて配置されるよう、各立体オブジェクトのオブジェクト配置情報を更新する。並べる方向は、予め指定されていても良いし、ユーザ等により指定されても良い。この場合、ソート指示に並べる方向等を指定する情報を含めるようにしても良い。また、各立体オブジェクトを並べ替える際には、各立体オブジェクトをいわゆるグリッド等に吸着させて配置するようにしても良い。また、各立体オブジェクトを一直線上に並べるようにしても良いし、マトリクス状に配置するようにしても良い。
配置用情報によって決定される順番とは、例えば、複数の立体オブジェクトの所定の面に配置されている配置用情報の属性によって決定される順番である。例えば、配置されている文字列のデータの先頭の文字列の五十音順や、アルファベット順や、数字順により決定される順番である。また、配置されている配置用データのデータサイズ順であっても良い。また、配置用データの縦や横のサイズ順であってもよい。また、配置用データのデータタイプ順であっても良い。どのような配置用情報のどのような属性によって順番を決定するかは、予めデフォルト等で指定されていても良いし、ユーザ等により指定されても良い。この場合、ソート指示にどのような配置用情報のどのような属性によって順番を決定するか等のソートの条件を指定する情報を含めるようにしても良い。
また、順番を決定する配置用情報が配置されている面は、複数の立体オブジェクトのどの面であっても良い。例えば、第一面、第二面等の予め指定されている面であってもよい。また、「金額」という文字列が配置されている面等の、配置される配置用情報の属性等が共通する面であっても良い。この面は、予め、デフォルト等で指定されていても良いし、ユーザ等により指定されても良い。この場合、ソート指示に面を指定する情報を含めるようにしても良い。なお、オブジェクト配置情報を更新する際に、順番を決定する際に利用した配置用情報が配置されている面が、所定の方向、例えば、出力画面に正対する方向に向けて配置されるようにオブジェクト配置情報を更新しても良い。
また、オブジェクト更新部105は、ソート指示に応じて、複数の立体オブジェクトの、出力画面に正対している面にそれぞれ配置されている配置用情報によって決定される順番により立体オブジェクトが並べて配置されるよう、複数の立体オブジェクトのオブジェクト配置情報を更新するようにしてもよい。具体的には、オブジェクト更新部105は、複数の立体オブジェクトの、ソート指示を受け付けた際に出力画面に正対している面にそれぞれ配置されている配置用情報によって順番を決定し、決定した順番により立体オブジェクトが並べて配置されるよう、オブジェクト配置情報を更新するようにしてもよい。
オブジェクト更新部105は、通常、MPUやメモリ等から実現され得る。オブジェクト更新部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
切換指示受付部106は、第一の回転モードと第二の回転モードとを切り替える指示である切換指示を受け付ける。切換指示受付部106は、切換指示の受け付けに応じて、例えば現在設定されている回転モードの設定を、他の回転モードに切り替える。あるいは、切換指示が指定する回転モードで、現在の回転モードの設定を置き換えてもよい。回転モードを設定する情報は、例えば、図示しない記憶媒体等に蓄積される。切換指示は、切換対象となる立体オブジェクトのグループを指定する情報を含んでいても良い。グループを指定する情報は、グループ識別情報等を指定する情報であっても良いし、立体オブジェクトが配置されているウィンドウを指定する情報であっても良い。グループを指定する情報は、例えば、回転モードを設定する情報と対応付けられて、例えば、図示しない記憶媒体等に蓄積される。切換指示は、結果的に、回転モードを切り替えることが可能な指示であれば良く、例えば、第一の回転モードに設定する指示や、第二の回転モードに設定する指示等であっても良い。ここで述べる指示は、コマンドと考えても良い。切換指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。切換指示受付部106は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
ソート指示受付部107は、複数の立体オブジェクトをソートする指示であるソート指示を受け付ける。ソート指示には、ソート対象となる立体オブジェクトの面や、順番を決定するために利用する配置用情報を指定する情報や、配置用情報のどのような属性によって順番を決定するか等のソートの条件を指定する情報を含むようにしても良い。ここで述べる指示は、コマンドと考えても良い。ソート指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。ソート指示受付部107は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
検索条件情報受付部108は、立体オブジェクトに対する検索条件を示す情報である検索条件情報を受け付ける。検索条件は、情報の検索において検索キーとして利用可能な条件であれば良く、例えば、検索キーとなる文字列等である。あるいは、文字列等の属性等を指定する情報であっても良い。検索条件情報は、検索対象となる立体オブジェクトを指定する情報を含むようにしても良いし、各立体オブジェクトの検索対象となる面を指定する情報や、検索対象となる配置用情報を指定する情報を含んでも良い。また、検索対象を、配置用情報自身とするか、配置用情報に付与された識別情報や、タグ名、ファイル名等とするかを指定する情報であってもよい。検索条件情報は、入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。検索条件情報受付部108は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
検索部109は、検索条件情報を用いて、検索条件に合致する立体オブジェクトを検索する。検索部109は、例えば、検索条件情報が示す検索条件に合致する配置用情報を検索し、合致する配置用情報を有する立体オブジェクトを検出する。検索部109は、検索対象として指定されている立体オブジェクトや、当該立体オブジェクトの面や、当該立体オブジェクトに配置される配置用情報の中から検索条件に合致する配置用情報を検索するようにしてもよい。検索部109が検索対象とするオブジェクトは、例えば、オブジェクト配置情報により配置されている全ての立体オブジェクトであってもよいし、一部の立体オブジェクトであってもよい。また、一以上のグループに属する立体オブジェクトであっても良い。検索部109が検索対象とする立体オブジェクトはどのように指定されても良い。例えば、予めデフォルト等で指定されていても良いし、検索条件情報で検索対象とする立体オブジェクトが指定されても良い。また、検索対象の立体オブジェクトの検索対象とする面についての指定はなくても良いし、一部の面だけが検索対象として指定されてもよい。どの面を検索対象とするかは、予めデフォルト等で指定されていても良いし、検索条件情報で検索対象とする面が指定されても良い。また、検索対象となる配置用情報が予め指定されていても良いし、検索条件情報で検索対象とする配置用情報が指定されても良い。検索部109は、通常、MPUやメモリ等から実現され得る。検索部109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
検索結果配置情報作成部110は、検索部109が検索により検出した立体オブジェクトの配置を指定するオブジェクト配置情報を作成してオブジェクト配置情報格納部102に蓄積する。具体的には、検索結果配置情報作成部110は、検索部109が検出した立体オブジェクトの配置を指定するためのオブジェクト配置情報を作成する。立体オブジェクトの配置とは、検索により検出した立体オブジェクトの形状情報の配置と考えてもよい。この作成したオブジェクト配置情報を、検索部109が検出した立体オブジェクト、もしくは立体オブジェクトの形状情報と配置用情報とに対応付けてオブジェクト配置情報格納部102に蓄積する。オブジェクト配置情報が作成される結果、一の形状情報を用いた同じ配置用情報が配置される立体オブジェクトが複数の位置に存在してもよい。検索結果により作成されるオブジェクト配置情報は、検索結果を表示するためのオブジェクト配置情報である。なお、作成したオブジェクト配置情報で、検出した立体オブジェクトのオブジェクト配置情報を上書きして更新しても良い。また、検索により検出した立体オブジェクトの形状情報や配置用情報を複製して、形状情報格納部101や配置用情報格納部103に蓄積しても良い。なお、ここで作成されるオブジェクト配置情報等は、検索結果を表示されるための一時的なものと考える場合、検索結果の表示終了の指示等を変更指示受付部104等が受け付けた場合に、このオブジェクト配置情報や、形状情報や、配置用情報は削除しても良い。検索結果配置情報作成部110が作成するオブジェクト配置情報は、検索により検出した立体オブジェクトをどの位置に配置する情報であってもよい。例えば、デフォルト等で予め指定された位置や、予め指定されている検索結果を表示するウィンドウ内に、検索により検出した立体オブジェクトを配置するオブジェクト配置情報を作成しても良い。また、このような検索結果を表示するウィンドウの情報を検索結果配置情報作成部110が作成しても良い。検索結果配置情報作成部110は、通常、MPUやメモリ等から実現され得る。検索結果配置情報作成部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
画像情報構成部111は、立体オブジェクトの形状情報と、当該形状情報が示す1以上の面に配置される前記配置用情報と、当該立体オブジェクトに対応するオブジェクト配置情報とを読み出し、当該読み出した形状情報の1以上の面に対して、それぞれに対応した配置用情報を配置した立体オブジェクトを、対応するオブジェクト配置情報が示すよう配置した画像情報を構成する。
具体的には、画像情報構成部111は、2以上の立体オブジェクトについての形状情報と、これらの立体オブジェクトと対応付けられた立体オブジェクトの1以上の面に配置される配置用情報と、これらの立体オブジェクトと対応付けられたオブジェクト配置情報を、形状情報格納部101、配置用情報格納部103、およびオブジェクト配置情報格納部102から読み出す。そして、読み出した形状情報が示す立体オブジェクトの1以上の面に対し、それぞれに対応した配置用情報を配置して立体オブジェクトを構成する。そして、この立体オブジェクトを、この立体オブジェクトに対応するオブジェクト配置情報が指定する位置に、オブジェクト配置情報が指定する方向となるよう配置した画像情報を構成する。
なお、画像情報構成部111は、以下のように、各立体オブジェクトを用いてオブジェクト配置情報が示す向きとなるようにレンダリングして作成された二次元の画像を、オブジェクト配置情報が示す二次元の背景画像上の位置に配置して最終的な出力画像を作成するようにしても良い。画像情報構成部111は、例えば、各立体オブジェクトの形状情報と、当該形状情報が示す1以上の面に配置される前記配置用情報と、当該立体オブジェクトに対応するオブジェクト配置情報のうちの方向を示す情報とを読み出し、読み出した形状情報が示す立体オブジェクトを、オブジェクト配置情報が示す方向に向けた状態とし、その立体オブジェクトの1以上の面に対し、それぞれに対応した配置用情報を配置した状態の、立体オブジェクトの二次元の画像情報をいわゆるレンダリングにより作成する。そして、作成した二次元画像を、予め用意された二次元の背景画像等の、オブジェクト配置情報が示す二次元座標上の位置等に配置して最終的に出力される画像情報を構成してもよい。なお、二次元の背景画像等は、例えば図示しない記憶媒体等に予め蓄積しておくようにすればよい。
画像情報構成部111は、構成した画像情報を、例えば図示しないVRAM等の記憶媒体に蓄積する。後述する出力部112は、例えば、このVRAM等に蓄積された画像情報を読み出して出力する。ここで述べる画像情報を構成する処理は、モニタ等に表示するための画像情報を構成してVRAM等に書き込むまでの処理と考えても良い。画像情報構成部111は、例えば、予め指定されたタイミング毎やトリガー等に応じて画像情報を構成し、構成した画像情報で、直前に構成した画像情報を更新しても良い。画像情報構成部111は、例えば、オブジェクト更新部105が更新したオブジェクト配置情報を用いて画像情報を構成する。また、例えば、検索結果配置情報作成部110が作成したオブジェクト配置情報を用いて画像情報を構成する。なお、一の立体オブジェクトの形状情報と、当該立体オブジェクトの配置用情報と、当該立体オブジェクトのオブジェクト配置情報とは、どのように対応付けられていても良い。例えば、立体オブジェクトの識別情報と、当該立体オブジェクトに対応する形状情報と、配置用情報と、オブジェクト配置情報とが、それぞれ個別に対応付けられていても良い。また、立体オブジェクトの識別情報と、形状情報とが対応付けられており、同じ立体オブジェクトに対応する形状情報と、配置用情報と、オブジェクト配置用情報とが、それぞれ対応付けられていても良い。ここで構成する画像情報は、例えば最終的に表示等の出力を行う際に利用される画像情報である。画像情報構成部111が構成する画像情報は、例えば、予め指定された仮想の視点等から仮想三次元空間に配置した立体オブジェクトを見た場合の画像の情報である。この画像情報は、例えばビットマップデータ等である。また、テキストの情報等から表示用の画像情報、例えば、ビットマップデータ等を構成することも、この画像情報を構成する処理に含まれる。立体オブジェクトの面に対して、画像情報やテキスト情報等の情報を配置して二次元の画像を構成する処理は、いわゆるレンダリング処理と呼ばれる処理であり、公知技術であるのでここでは、説明を省略する。また、この画像情報を構成する処理において、形状情報等が有する立体オブジェクトの色や、透明度、反射、屈折率、バンプなどの設定項目の情報を用いて、レンダリングを行うようにしても良い。画像情報構成部111は、通常、MPUやGPU(Graphics Processing Unit)やメモリ等から実現され得る。画像情報構成部111の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部112は、画像情報構成部111が構成した画像情報を出力する。また、出力部112は、例えば、オブジェクト更新部105が更新したオブジェクト配置情報を用いて画像情報構成部111が構成する画像情報を用いて出力を更新する。また、出力部112は、例えば、検索結果配置情報作成部110が作成したオブジェクト配置情報を用いて画像情報構成部111が構成する画像情報を用いて出力を更新する。ここで述べる出力とは、ディスプレイへの表示、プロジェクターを用いた投影、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。出力部112は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部112は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報処理装置1の動作について図2のフローチャートを用いて説明する。
(ステップS201)画像情報構成部111は、2以上の立体オブジェクトについての形状情報を形状情報格納部101から取得する。
(ステップS202)画像情報構成部111は、ステップS201において、形状情報を読み出した立体オブジェクトに対応する配置用情報を取得する。
(ステップS203)画像情報構成部111は、ステップS201において、形状情報を読み出した立体オブジェクトに対応するオブジェクト配置情報を読み出す。
(ステップS204)画像情報構成部111は、各立体オブジェクトについてステップS201〜ステップS203において読み出した形状情報と配置用情報とオブジェクト配置情報とを用いて立体オブジェクトの画像情報を構成する。例えば、各立体オブジェクトに対応する形状情報が示す面に、当該立体オブジェクトに対応する配置用情報を配置した立体オブジェクトを、各立体オブジェクトに対応するオブジェクト配置情報が示す位置に、当該オブジェクト配置情報が示す向きで配置した画像情報を構成する。また、ウィンドウを示す情報等が含まれる場合、ウィンドウの画像等も含む画像情報を作成しても良い。
(ステップS205)出力部112は、ステップS204において構成された画像情報を出力する。
(ステップS206)変更指示受付部104は、変更指示を受け付けたか否かを判断する。受け付けた場合、ステップS207に進み、受け付けていない場合、ステップS219に進む。
(ステップS207)オブジェクト更新部105は、ステップS206において受け付けた変更指示が、例えばメニュー等の操作に応じた立体オブジェクトの向きを揃える指示であるか否かを判断する。揃える指示である場合、ステップS219に進み、揃える指示でない場合、ステップS208に進む。
(ステップS208)オブジェクト更新部105は、ステップS206において受け付けた変更指示が、1以上の立体オブジェクトに対する回転指示であるか否かを判断する。回転指示である場合、ステップS209に進み、回転指示でない場合、ステップS220に進む。
(ステップS209)オブジェクト更新部105は、変更指示が指示の対象とする1以上の立体オブジェクトが含まれるグループを検出し、当該グループに指定されている回転モードが、第一の回転モードであるか否かを判断する。
(ステップS210)オブジェクト更新部105は、変更指示が指示の対象とする立体オブジェクトが含まれるグループを構成する、当該立体オブジェクト以外の立体オブジェクトを検出する。
(ステップS211)オブジェクト更新部105は、変更指示が指定する立体オブジェクトと、ステップS209において検出した当該立体オブジェクトと同じグループに属する、当該立体オブジェクト以外の立体オブジェクトのオブジェクト配置情報を、ステップS206において受け付けた変更指示に応じて変更する。即ち、ステップS206において受け付けた回転指示に応じて各立体オブジェクトが回転するように、各立体オブジェクトのオブジェクト配置情報を更新する。そして、ステップS201に戻る。
(ステップS212)切換指示受付部106は、回転モードの切換指示を受け付けたか否かを判断する。ここで受け付ける切換指示は、グループの指定を含むものであっても良いし、含まないものであっても良い。受け付けた場合、ステップS213に進み、受け付けていない場合、ステップS214に進む。
(ステップS213)切換指示受付部106は、ステップS212において受け付けた切換指示に応じて、回転モードの切換を行う。例えば、切換指示が、グループの指定を含むものである場合、グループ単位で、回転モードの切換を行う。指定がない場合、例えば、全体の回転モードを切り替える。そして、ステップS206に戻る。
(ステップS214)ソート指示受付部107は、ソート指示を受け付ける。ソート指示は、グループの指定を含むものであっても良いし、含まなくても良い。
(ステップS215)オブジェクト更新部105は、ステップS214において受け付けたソート指示に応じて、複数の立体オブジェクトをソートするようオブジェクト配置情報を更新する。なお、ソート指示が、グループの指定を含むものである場合、指定されたグループを構成する立体オブジェクトだけを対象としてソートが行われるようオブジェクト配置情報を更新する。指定がない場合、例えば、全体の立体オブジェクトをソートするようオブジェクト配置情報を更新する。そして、ステップS201に戻る。
(ステップS216)検索条件情報受付部108は、検索条件情報を受け付けたか否かを判断する。受け付けた場合、ステップS217に進み、受け付けていない場合、ステップS206に戻る。
(ステップS217)検索部109は、ステップS216において受け付けた検索条件に合致する立体オブジェクトを検索する。
(ステップS218)検索結果配置情報作成部110は、ステップS217において検出された立体オブジェクトを、検索結果として配置するためのオブジェクト配置情報を作成し、オブジェクト配置情報格納部102に蓄積する。また、検索結果の立体オブジェクトを、検索結果を示すウィンドウ内に配置する場合等においては、当該ウィンドウを表示するための情報等を作成したり、図示しない記憶媒体等から取得して、オブジェクト配置情報格納部102等に蓄積するようにしても良い。そして、ステップS201に戻る。
(ステップS219)オブジェクト更新部105は、立体オブジェクトの向きが揃うように、オブジェクト配置情報格納部102に格納されている各立体オブジェクトのオブジェクト配置情報を更新する。そして、ステップS201に戻る。
(ステップS220)オブジェクト更新部105は、ステップS206において受け付けた変更指示に応じて、指示対象となる立体オブジェクトに関する情報を更新する。例えば、立体オブジェクトの位置を変更する指示に応じて、指示対象となる立体オブジェクトのオブジェクト配置情報を更新する。また、例えば、立体オブジェクトのサイズを変更する指示に応じて、指示対象となる立体オブジェクトの形状情報を更新してもよい。また、立体オブジェクトの検索結果の出力を終了する指示等に応じて、ステップS110で作成した検索結果のオブジェクト配置情報を削除する処理等を行うようにしてもよい。そして、ステップS201に戻る。
なお、図2のフローチャートにおいて、ステップS201からステップS203の処理において取得した情報を、図示しないメモリ等の記憶媒体等に一時記憶しておくようにし、ステップS211や、ステップS219や、ステップS220等でオブジェクト配置情報等の更新が行われた場合、更新されたオブジェクト配置情報等だけをオブジェクト配置情報格納部102等から読み出し、更新されていない形状情報やオブジェクト配置情報等はメモリ等に一時記憶された情報をそのまま読み出して用いるようにして、更新後の画像情報を構成するようにしても良い。
また、ここでは説明を省略しているが、ステップS205等において出力部112が画像を出力する際に、オブジェクト配置情報格納部102や図示しない記憶媒体等に格納されているウィンドウを出力するための情報を用いて、ウィンドウの画像を出力するようにしても良い。なお、ウィンドウの管理や出力については、いわゆるコンピュータ等のオペレーティングシステムに用いてられているウィンドウシステム等において、公知であるので、ここでは詳細な説明は省略する。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置1の具体的な動作について説明する。ここでは、情報処理装置1により、商品についてのカタログを表示する場合を例に挙げて説明する。ここでは、立体オブジェクトが立方体である場合を例に挙げて説明する。
図3は、形状情報格納部101に格納されている形状情報を管理するための形状情報管理表である。形状情報は、ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。形状情報管理表は、「オブジェクトID」、「サイズx」、「サイズy」、「サイズz」という項目を有している。「オブジェクトID」は立体オブジェクトを識別するための識別情報である。「サイズx」は、立体オブジェクトのx軸方向の長さ、すなわち幅である。「サイズy」は、立体オブジェクトのy軸方向の長さ、すなわち高さである。「サイズz」は、立体オブジェクトのz軸方向の長さ、すなわち奥行きである。ただし、ここで述べるx軸、y軸、z軸は、立体オブジェクト自身に設定されるx軸、y軸、z軸であり、仮想三次元空間に設定される絶対的なX軸、Y軸、Z軸とは異なる。立体オブジェクト自身に設定されるx軸、y軸、z軸の原点は、例えば、立体オブジェクトの中心や重心に設定される。なお、各サイズの単位等は、ピクセル等どのような単位であっても良い。ここでは、形状情報管理表により、4つの立体オブジェクトの形状情報が管理されている。
図4は、オブジェクト配置情報格納部102に格納されているオブジェクト配置情報を管理するためのオブジェクト配置情報管理表である。オブジェクト配置情報は、ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。オブジェクト配置情報は、「オブジェクトID」、「座標(X,Y,Z)」、および「回転角度(x,y,z)」という項目を有している。「オブジェクトID」は、立体オブジェクトを識別するための識別情報であり、上述した形状情報の「オブジェクトID」と対応している。「座標(X,Y,Z)」は、同じレコードの「オブジェクトID」が示す立体オブジェクトが配置される仮想三次元空間内の座標を示す情報であり、ここでは、立体オブジェクトの中心の座標である場合について説明する。ここでは、この座標の値は、仮想三次元空間内の絶対座標であるとする。なお、ここでは、仮想三次元空間内の横方向(幅方向)をX軸、縦方向(高さ方向)をY軸、奥行き方向をZ軸とする。また、「回転角度(x、y、z)」は、立体オブジェクトのx軸、y軸、z軸をそれぞれ回転軸とした回転角度を示す。回転角度は、立体オブジェクトの配置される方向を示す情報と考えても良い。ここでは、例えば、立体オブジェクトがある軸を回転軸として回転すると、立体オブジェクトに設定されている座標軸も、仮想三次元空間内において回転するものとする。例えば、立体オブジェクトをy軸を回転軸にして90度回転させると、立体オブジェクトのx軸とy軸は、それぞれ仮想三次元空間のX軸およびY軸とそれぞれ直交することとなる。なお、それぞれの値が(0,0,0)である場合、立体オブジェクトのx軸、y軸、z軸が、それぞれ仮想三次元空間内のX軸、Y軸、Z軸に平行に配置されるものとする。なお、立体オブジェクトが配置される位置の奥行きを変更する必要がない場合、例えば、レンダリングした立体オブジェクトの画像を2次元平面上に配置する場合等においては、Z座標の値は省略しても良い。
なお、ここでは説明を省略しているが、上述した形状情報には、立体オブジェクトの第一〜第三面を指定する情報が含まれているものとする。第一〜第三面を指定する情報は、例えば、立体オブジェクトの座標を用いて定義される面を指定する情報である。ここでは、第一面は、オブジェクト配置情報が、図4に示したような値である場合における、立方体である立体オブジェクトの正面面であるとする。即ち立体オブジェクトを構成する面のうちの、立体オブジェクトのz軸に垂直であって、デフォルトで最も手前に位置する面であるとする。また、第二面は、立体オブジェクト自身からみて、立体オブジェクトの左側面であるとする。また、第三面は、立体オブジェクトの上面であるとする。第一〜第三面を指定する情報は、ここでは例として、それぞれの面に相当する立体オブジェクトの面の三以上の頂点の座標を指定する情報であるとする。ただし、立体オブジェクトを構成する面のうちの、第一〜第三面に相当する面の中心の座標等を指定する情報であっても良い。なお、ここでの座標とは、立体オブジェクト内に設定される座標軸を用いて表される座標であるとする。このため、立体オブジェクトの向き等が変更されても、第一〜第三面を指定する情報は変化しない。つまり、第一〜第三面は、立体オブジェクトに対して、予め固定されている面と考えて良い。
図5は、立体オブジェクトと、第一〜第三面の関係を示すための図である。第一面61は、立体オブジェクトの正面である。また、第二面62は、立体オブジェクトの左側面である。また、第三面63は、立体オブジェクトの上面である。図に示す座標軸は、立体オブジェクトに設定される座標軸を示すものである。
図6は、配置用情報格納部103に格納されている配置用情報を示す図である。ここでは、例として配置用情報がXML形式の情報を構成している場合について説明する。ただし、配置用情報は、XML形式の情報でなくても良く、例えば、情報を項目や属性別等に参照可能な形式のデータであれば良い。図6に示したXML形式の情報においては、便宜上、各配置用情報は、開始タグと終了タグと、これらのタグにより直接囲まれた情報とで構成される情報であると考える。「直接囲まれた」とは、タグとタグに挟まれる情報である要素との間に、他のタグが入らないことを示す。例えば、「<商品名>」と「</商品名>」とで区切られた範囲のタグ付けられた情報が、一の商品の商品名を示す配置用情報である。同様に、「<ジャンル名>」と「</ジャンル名>」とで区切られた範囲のタグ付けられた情報が、一のジャンルのジャンル名を示す配置用情報である。ここでは、例として、配置用情報が、携帯電話についての情報であるとし、ジャンル名が「携帯電話」であるとする。また、「<価格>」と「</価格>」とで区切られた範囲のタグ付けられた情報が、一の商品の詳細について示す情報のうちの価格を示す配置用情報である。なお、配置用情報として、ファイル等を指定する情報、例えばリンク情報が含まれる場合、これにより指定されたファイルの情報が配置用情報となる。リンク先の情報は、画像を構成する際等に適宜読み出される。配置用情報は、ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。ここでは、商品を示す配置用情報は、商品のジャンル別に分類されているものとする。また、各商品を示す配置用情報の下位の配置用情報として、各商品の詳細を示す情報であるタグ付けられた情報が予め用意されているものとする。
図7は、配置用情報格納部103に格納されている、配置用情報と、当該配置用情報が配置される立体オブジェクトと、配置される面との関係を管理するための配置用情報管理表を示す図である。配置用情報は、立体オブジェクトと対応付けて管理されている。配置指定情報管理表は、「オブジェクトID」という項目と、「製品ID」という項目と、「配置面」という項目とを有している。「配置面」は更に、「第一面」、「第二面」、「第三面」という項目を有している。「オブジェクトID」は、図3に示したオブジェクトIDに相当する。「製品ID」は、「オブジェクトID」が示す立体オブジェクトと対応付けられた配置用情報を指定する情報であり、ここでは、図6に示した配置用情報のうちの製品IDタグを示す情報である。即ち、この「製品ID」の値と一致する要素を有する製品IDタグと対応付けられた配置用情報が、「配置用情報」が指定する配置用情報である。「配置面」は、立体オブジェクトの各面に配置される配置用情報のタグを指定する情報であり、「第一面」、「第二面」、「第三面」は、それぞれ、立体オブジェクトの第一面、第二面、第三面に配置される配置用情報のタグを指定する情報である。ここでは、立体オブジェクトの各面には、「配置面」が示すタグが付与された情報が配置されるものとする。なお、「配置面」の項目の値であるタグは、配置用情報を取得するための条件を示す情報と考えても良い。
まず、例えば、ユーザが、情報処理装置1に対して、商品についてのカタログを表示する指示を与えたとすると、情報処理装置1の画像情報構成部111は、まず、図3に示した「オブジェクトID」が「OBJ1」から「OBJ5」までの形状情報を読み出し、メモリ等に一時記憶する。
次に、画像情報構成部111が、画像情報構成部111が形状情報を読み出した立体オブジェクト、すなわち「オブジェクトID」が「OBJ1」〜「OBJ5」である各立体オブジェクト(以下、立体オブジェクト「OBJ1」〜「OBJ5」と称す)を構成する面に配置する配置用情報を、以下のように、図7に示した配置用情報管理表を用いて取得する。
まず、立体オブジェクト「OBJ1」を構成する各面、ここでは第一面〜第三面に配置される配置用情報のタグを、図7に示した配置用情報管理表から読み出す。具体的には、図7に示した配置用情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「製品ID」の項目の値「SER1345」を読み出す。そして、図6に示した配置用情報のうちの、要素が「SER1345」である製品IDタグを有する商品の情報、即ち要素が「SER1345」である製品IDタグを有する「<商品>タグ」から「</商品>タグ」に囲まれた情報を特定する。次に、図7に示した配置用情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「第一面」〜「第三面」の項目の値であるタグを順次読み出し、図6に示した配置用情報のうちの上記で特定した商品の情報から、それぞれのタグと一致するタグ名を有するタグを検出し、検出したタグの要素を順次取得する。取得したタグの要素が、「オブジェクトID」が「OBJ1」である立体オブジェクトの第一面から第三面にそれぞれ配置される配置用情報である。
例えば、図7に示した配置用情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「第一面」の値は、「商品名」というタグであるため、図7に示した要素が「SER1345」である製品IDタグを含む配置用情報から、商品名タグを検出し、この商品名タグの要素である「洗濯機」を第一面に配置する配置用情報として取得する。
以下、同様にして、立体オブジェクト「OBJ2」〜「OBJ5」についてもそれぞれ、配置用情報を取得する。取得した情報は、例えば、立体オブジェクトの識別情報と対応付けて、図示しないメモリ等の記憶媒体に一時記憶する。
次に、画像情報構成部111は、画像情報構成部111が形状情報を読み出した立体オブジェクト、すなわち立体オブジェクト「OBJ1」〜「OBJ5」にそれぞれ対応するオブジェクト配置情報を、図4に示したオブジェクト配置情報管理表を用いて取得する。具体的には、画像情報構成部111は、オブジェクト配置情報管理表の中から、「オブジェクトID」の値が、各立体オブジェクトのオブジェクトIDと一致するレコードをそれぞれ検出し、検出したレコードに含まれるオブジェクト配置用情報、例えば、「座標(X,Y,Z)」、および「回転角度(x,y,z)」の項目の値を読み出す。読み出した情報は、各オブジェクトID等と対応付けて、図示しない記憶媒体等に一時記憶する。
そして、画像情報構成部111は、立体オブジェクト「OBJ1」〜「OBJ5」の画像情報を構成する。
具体的には、画像情報構成部111が取得した立体オブジェクト「OBJ1」〜「OBJ5」の形状情報が示す立体オブジェクトの第一面〜第三面上に、各立体オブジェクト「OBJ1」〜「OBJ5」の第一面〜第三面に対応して画像情報構成部111が取得した配置用情報を配置し、さらに、これらの立体オブジェクトを立体オブジェクト「OBJ1」〜「OBJ5」に対応して画像情報構成部111が取得した配置用情報が示す位置及び向きで配置した画像情報を構成する。具体的にはいわゆるレンダリング処理を行う。なお、ここでは、各立体オブジェクトの投影図が構成されるように、座標軸やレンダリングの際の画角等のパラメータが予め設定されているものとする。
図8は、オブジェクト配置情報格納部102に格納されているウィンドウを表示するための情報であるウィンドウ情報を管理するウィンドウ管理表を示す図である。ウィンドウ管理表は、「ウィンドウID」と、「高さ」、「幅」、「左上座標」、「オブジェクトID」という項目を有している。「ウィンドウID」はウィンドウの識別情報である。「高さ」、および「幅」は、ウィンドウの高さ、および幅である。「左上座標」はウィンドウの左上角の座標である。「オブジェクトID」は、ウィンドウ内に配置される立体オブジェクトのオブジェクトIDである。
次に、画像情報構成部111は、図8に示したウィンドウ管理表により管理されている「ウィンドウID」が「w01」であるウィンドウ情報と、「w02」であるウィンドウ情報を読み出し、2つのウィンドウの画像情報を構成する。
そして、画像情報構成部111は、構成した複数の立体オブジェクト「OBJ1」〜「OBJ5」の画像情報と、二つのウィンドウの画像と、図示しない背景画像等を合成する。なお、合成の際には、ウィンドウ管理表により1のウィンドウ内に配置される立体オブジェクトの画像については、当該立体オブジェクトを含むウィンドウの画像の前面に配置するようにする。これにより、立体オブジェクトがウィンドウ内に配置されているよう表示させることができる。
出力部112は、画像情報構成部111が合成した画像情報を出力する。ここでは、出力部112は、モニタ504に接続されており、当該モニタに合成した立体オブジェクトの画像情報を表示する。
図9に表示例を示す。図9において、立体オブジェクト801は立体オブジェクト「OBJ1」、立体オブジェクト802は、立体オブジェクト「OBJ2」、立体オブジェクト803は、立体オブジェクト「OBJ3」、立体オブジェクト804は、立体オブジェクト「OBJ4」、立体オブジェクト805は、立体オブジェクト「OBJ5」、であるとする。また、立体オブジェクト「OBJ1」から「OBJ3」は、「ウィンドウID」が「w01」であるウィンドウ810内に配置されており、立体オブジェクト「OBJ4」および「OBJ5」は、「ウィンドウID」が「w02」であるウィンドウ811内に配置される。なお、本実施の形態において座標の値や図に示される立体オブジェクトの位置等については、説明のためのものであり、実際のサイズ等に合わせて正確に描かれたものではない。図9に示すように、各立体オブジェクトは、それぞれが商品に対応しており、各商品の商品名や商品画像や、仕様や価格等が、それぞれの立体オブジェクトの面に表示されており、各商品とその商品に関連する仕様等の情報との対応関係が容易に把握できるようになっている。
図10は、ウィンドウに対応付けられた回転モードを管理する回転モード管理表である。回転モード管理表は、「ウィンドウID」と、「回転モード」という項目を有している。「ウィンドウID」は、図8に示したウィンドウIDに相当する。また、「回転モード」は、ウィンドウに対して指定されている回転モードである。第一回転モードは、回転指示が指定する立体オブジェクトだけを回転するモードであり、第二回転モードは、回転指示が指定する立体オブジェクトに加えて、それ以外の立体オブジェクトも回転させるモードである。ここでは、デフォルトとして各ウィンドウの回転モードは第一回転モードに設定されているものとする。
次に、ユーザがメニュー画面やマウス等を操作して、立体オブジェクト「OBJ1」に対して、y軸を回転軸として右方向に90度回転(ユーザ側から見て左方向に90度回転)する指示を入力したとする。例えば、ポインタ等で、立体オブジェクト801の画像を指定し、右方向に90度回転させるメニュー項目を選択することで、このような指示が入力される。
変更指示受付部104は、操作に応じて、立体オブジェクト「OBJ1」に対する、y軸を回転軸として右方向に90度回転させる指示を受け付ける。
オブジェクト更新部105は、立体オブジェクト「OBJ1」の属するグループ、ここでは、立体オブジェクト「OBJ1」が配置されているウィンドウを検出する。具体的には、図8に示したウィンドウ管理表において、「オブジェクトID」の値として、「OBJ1」を含むレコードを検索により検出し、そのレコードの「ウィンドウID」の値を取得する。ここでは、オブジェクト更新部105は、「ウィンドウID」として「w01」を取得する。
つぎに、オブジェクト更新部105は、図10に示した回転モード管理表において、「オブジェクトID」の値が、取得した「w01」と一致するレコードを検出し、そのレコードの「回転モード」の値を取得する。ここでは、「第一回転モード」を取得する。
取得した回転モードが、「第一回転モード」であるため、オブジェクト更新部105は、図8に示したウィンドウ管理表から、同じウィンドウ内の立体オブジェクトを検出する。即ち「ウィンドウID」が「w01」であるレコードの「オブジェクトID」の値から、立体オブジェクト「OBJ1」のオブジェクトIDを含む、全てのオブジェクトIDを取得する。具体的には、オブジェクトID「OBJ1」、「OBJ2」、「OBJ3」を取得する。そして、取得したオブジェクトIDに対応した立体オブジェクトが、それぞれに設定されたy軸を回転軸として、それぞれ右方向に90度回転するよう、図4に示したオブジェクト配置情報管理表により管理されているオブジェクトID「OBJ1」、「OBJ2」、「OBJ3」に対応したオブジェクト配置情報を更新する。
図11は、更新後のオブジェクト配置情報管理表を示す図である。
画像情報構成部111は、更新後のオブジェクト配置情報を用いて、再度、上記と同様に、立体オブジェクトの画像情報を構成する。そして、構成された画像情報を出力部112がモニタ504に出力する。
図12は、回転後の立体オブジェクトの出力例を示す図である。
ここで、ユーザが、メニューやマウス等の操作によって、ウィンドウ810を指定した回転モードの切換指示を入力したとする。この入力に応じて、切換指示受付部106は、ウィンドウ810に対応付けられた回転モードを変更する指示を受け付ける。この切換指示は、例えば、回転モードを、第二回転モードに切り替える指示であるとする。
オブジェクト更新部105は受け付けた第二回転モードに切り替える切換指示により、図10に示した回転モード管理表の「回転モード」の値を、「第二回転モード」で上書きする。
図13は、回転モードが変更された回転モード管理表を示す図である。
ここで、ユーザが立体オブジェクト「OBJ2」に対する、y軸を回転軸として左方向に90度回転させる指示を入力した場合、当該立体オブジェクト「OBJ2」が配置されているウィンドウ810に設定されている「回転モード」は、図13に示す回転モード管理表より「第二回転モード」であるため、オブジェクト更新部105は、回転指示の対象となる立体オブジェクト「OBJ2」のオブジェクト配置情報だけを、y軸を回転軸として左方向に90度回転するよう変更する。そして、このように更新されたオブジェクト配置情報を用いて、立体オブジェクトの画像が出力される。
図14は、回転後の立体オブジェクトの表示例を示す図である。
次に、ユーザが、メニュー等を操作して立体オブジェクトの向きを揃える指示を与えたとすると、変更指示受付部104は、立体オブジェクトの向きを揃える指示を受け付ける。
オブジェクト更新部105は、向きを揃える指示に応じて、全ての立体オブジェクトの向きが揃うように、オブジェクト配置情報を更新する。ここでは、例として、各立体オブジェクトの第一面が、モニタ504の画面に正対するように、各立体オブジェクトのオブジェクト配置情報を更新する。そして、このように更新されたオブジェクト配置情報を用いて、立体オブジェクトの画像が出力される。
図15は、更新後のオブジェクト配置情報管理表である。
また、図16は、更新後の立体オブジェクトの表示例を示す図である。
なお、どのような向きに立体オブジェクトを揃えるかについては、例えば予めデフォルト等で指定されているようにしても良いし、ユーザが立体オブジェクトの向きを指定する情報を、向きを揃える指示とともに入力するようにし、この向きとなるように、立体オブジェクトの向きを揃えても良い。
また、ここでは、全ての立体オブジェクトの向きを揃えるようにしたが、ユーザにより指定されたグループの立体オブジェクト、例えば、ユーザにより指定されたウィンドウ内に配置される立体オブジェクトの向きだけを揃えるようにしても良い。
次に、ユーザが、メニュー等を操作して、ウィンドウ810内に配置されている立体オブジェクトを、立体オブジェクトに配置されている情報のアルファベット音順で、表示画面の左側からソートする指示を与えたとする。この指示は、例えばウィンドウ810を指定して、「アルファベット順でソート」等のメニュー項目を選択することで入力されるとする。このソートの指示の入力により、変更指示受付部104は、立体オブジェクトをソートする指示を受け付ける。
オブジェクト更新部105は、上記と同様に、ウィンドウ810内に配置されている立体オブジェクト「OBJ1」、「OBJ2」、「OBJ3」を検出する。そして、各立体オブジェクトの表示画面に正対する面を検出する。具体的には、ここでは、各立体オブジェクトに対応した形状情報と、「回転角度(x,y,z)」の値から、仮想三次元空間のZ軸に直交する面であって、画像情報を構成する際の視点側の面を検出する。ここでは、立体オブジェクト「OBJ1」、「OBJ2」、「OBJ3」の各第一面が検出される。
オブジェクト更新部105は、各立体オブジェクトの第一面に配置されている配置用情報のタグである「商品名」を、図7に示した配置用情報管理表から取得する。
次に、オブジェクト更新部105は、図6に示したる配置用情報から、立体オブジェクト「OBJ1」、「OBJ2」、「OBJ3」に対応付けられている「商品名」のタグが付けられた情報を取得する。即ち「製品ID」タグが「SER1345」、「SER2268」、「SER3425」である情報を含む「商品」タグで区切られた各情報から、それぞれ、「商品名」タグの要素、即ち「BS602」、「AW801」、「TM555」という文字列の情報を取得する。そして、取得したこれらの情報から、先頭の文字列の第一音がアルファベット音順で最も早いものから順番に検出する。ここでは、「AW801」、「BS602」、「TM555」の順で情報が検出される。
オブジェクト更新部105は、情報を検出した順に、それぞれの情報が配置されている立体オブジェクトについてオブジェクト配置情報を更新する。具体的には、ウィンドウ810の左側から、「AW801」が第一面に配置されている立体オブジェクト「OBJ2」、「BS602」が第一面に配置されている立体オブジェクト「OBJ1」、「TM555」が第一面に配置されている立体オブジェクト「OBJ3」の順に、各立体オブジェクトが配置されるように、各立体オブジェクトのオブジェクト配置情報を更新する。なお、各オブジェクトは、図示しないグリッド等に沿って、予め指定された間隔で配置することが好ましい。そして、このように更新されたオブジェクト配置情報を用いて、立体オブジェクトの画像が出力される。
図17は、更新後のオブジェクト配置情報管理表である。
また、図18は、更新後の立体オブジェクトの表示例を示す図である。
つぎに、ユーザがメニュー等を操作して、「価格」タグが「3万円以下」である立体オブジェクトを検索する指示を入力したとする。例えば、検索用の入力フィールド等から、上記のような検索条件を示す情報を入力して、検索を行うボタン等を押したとする。検索条件情報受付部108は、値が「3万円以下」である「価格」タグが付与された配置用情報が配置されていることを検索条件として立体オブジェクトの検索を行うことを指示する検索条件情報を受け付ける。
検索部109は、まず、検索条件情報受付部108が受け付けた検索条件情報が示す検索条件を満たす配置用情報を検索する。具体的には、図7に示した配置用情報管理表において、各レコードから、「製品ID」の値を取得し、図6に示した配置用情報のうちの、取得した製品IDを含む「商品タグ」で区切られた各配置用情報において、「価格」タグの要素が、「3万円以下」である条件を満たすものを検出する。ここでは、「製品ID」タグの要素が「SER2268」、「SER3661」である配置用情報が条件を満たすと判断される。このため、検索部109は、検索結果として、図7に示した配置用情報管理表において、「製品ID」が「SER2268」、「SER3661」であるレコードの「オブジェクトID」である「OBJ2」、「OBJ4」を取得する。
検索結果配置情報作成部110は、検索部109が検索結果として取得した「オブジェクトID」が「OBJ2」および「OBJ4」である立体オブジェクトを配置するための、オブジェクト配置情報を作成する。また、ここでは、検索結果を表示するためのウィンドウを表示するための情報(図示せず)を作成するとともに、このウィンドウ内に立体オブジェクト「OBJ2」および「OBJ4」を配置するためのオブジェクト配置情報を新たに作成し、オブジェクトID「OBJ2」および「OBJ4」と対応付けてオブジェクト配置情報格納部102に蓄積する。検索結果を示すウィンドウが表示される位置やサイズ等はここでは予め指定されているものとする。また、検索結果の立体オブジェクトは、図示しないグリッド等に沿って、予め指定された間隔で配置するよう指定されているものとする。なお、ここでは、検索結果の立体オブジェクトにおいて用いられる形状情報や、配置用情報等として、元々配置されている立体オブジェクトの情報を兼用している。そして、このように更新されたオブジェクト配置情報を用いて、立体オブジェクトの画像が出力される。
図19は、更新後のオブジェクト配置情報管理表である。
また、図20は、更新後の立体オブジェクトの表示例を示す図である。なお、図において、ウィンドウ830は、検索結果の立体オブジェクトが表示されるウィンドウ、立体オブジェクト806および立体オブジェクト807は、それぞれ、オブジェクトIDが「OBJ2」および「OBJ4」である検索結果の立体オブジェクトである。
以上のように、本実施の形態によれば、一の立体オブジェクトを回転させると、他の立体オブジェクトも同様に連動して回転するため、複数の立体オブジェクトを操作する際の操作性を向上させることができる。
例えば、ユーザが比較したい複数の商品についての情報がそれぞれの面に配置された立体オブジェクトが配置されていたとする。この場合、一の立体オブジェクトの正面以外の面に配置された情報を見るために、この面が正面を向くように一の立体オブジェクトを回転させたとすると、比較したい他の立体オブジェクトも回転して、回転を指示した立体オブジェクトと同様に、正面以外の面に配置された情報が正面を向くこととなる。このため、予め複数の立体オブジェクトの同じ面上に、同様の属性を有する情報、例えば、価格の情報や、詳細な機能の情報等を配置しておくようにすることで、一の回転操作によって、複数の立体オブジェクトの同様の情報を比較しやすいように表示させることが可能となる。この結果、ユーザに対する操作性の向上を図ることができる。
また、本実施の形態によれば、グループ単位で、立体オブジェクトが連動して回転するか否かを設定でき、グループ単位で立体オブジェクトを連動動作させたり、連動動作しないようにさせたりすることが可能となる。この結果、立体オブジェクトに配置されている情報等に応じて,ユーザが、適宜、立体オブジェクトが連動して動作するか否かを設定することができ、立体オブジェクトの動作をカスタマイズすることができる。
なお、本実施の形態においては、立体オブジェクトが階層関係を有するよう管理されている場合、一の立体オブジェクトの回転指示に応じて、当該一の立体オブジェクトと連動して回転を行う他の立体オブジェクトは、同じ階層の立体オブジェクトのみとしてもよい。同じ階層の立体オブジェクトとは、例えば、立体オブジェクト間で包含関係、あるいは従属関係がない立体オブジェクトである。通常、同じ階層で管理されている立体オブジェクトは、同様の商品や同じカテゴリーの商品等についての配置用情報等が配置された立体オブジェクトであることが多いため、このような構成とすることで、同様の商品や同じカテゴリーの商品等についての立体オブジェクトだけを連動して動作させることができ、比較等の対象とならない商品の立体オブジェクトを動作させないようにして、操作性を向上させることが可能となる。なお、同じ階層の立体オブジェクトを、上述したような同じグループに属する立体オブジェクトの一例と考えても良い。
なお、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、2以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部に格納されている形状情報と、2以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部に格納されている形状情報が示す1以上の面に配置される、配置用情報と、2以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得るオブジェクト配置情報格納部に格納されている立体オブジェクトに対応するオブジェクト配置情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトを、オブジェクト配置情報が示すよう配置した画像情報を構成する画像情報構成部と、画像情報構成部が構成した画像情報を出力する出力部と、1以上の立体オブジェクトの配置に対する変更指示を受け付ける変更指示受付部と、変更指示受付部が受け付けた変更指示が1以上の立体オブジェクトを回転させる指示である場合に、変更指示に応じて変更指示の対象となる立体オブジェクトと、立体オブジェクト以外の立体オブジェクトとが回転するよう、立体オブジェクトのオブジェクト配置情報を更新するオブジェクト更新部として機能させるためのプログラムであって、前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新するプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図21は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図21において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図22は、コンピュータシステム900の内部構成を示す図である。図22において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。