(57)【要約】【課題】３次元空間に配置された文字列の可読性を向上する。【解決手段】３次元空間に配置された文字列配置領域８１において、視線方向７１に対してほぼ垂直となる対向姿勢の複数の文字８０１を所定の視点７から見たときに互いに干渉を避けつつ配置するための複数の配置位置を決定し、文字列を構成する複数の文字８０１を対向姿勢にて複数の配置位置に配置する。その後、視点７からの複数の文字８０１の透視投影像をディスプレイに表示する。これにより、文字列配置領域８１を斜めから観察する場合であっても各文字８０１を適切にディスプレイに表示することができ、文字列の可読性が向上される。【選択図】　　　　図８
2004078726.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の文字列配置領域に、視線方向に対してほぼ垂直となる対向姿勢の複数の文字を所定の視点から見たときに互いに干渉を避けつつ配置するための複数の配置位置を決定する工程と、
ｂ）　文字列を構成する複数の文字を前記対向姿勢にて前記複数の配置位置に配置する工程と、
ｃ）　前記視点からの前記複数の文字の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項２】
請求項１に記載のプログラムであって、前記プログラムの前記コンピュータによる実行は、
ｄ）　前記３次元空間内の前記文字列配置領域の位置または姿勢の変更操作を受け付ける工程と、
ｅ）　位置または姿勢の変更後の前記文字列配置領域に対して前記ａ）工程ないし前記ｃ）工程を実行する工程と、
をさらに実行させることを特徴とするプログラム。
【請求項３】
請求項１に記載のプログラムであって、前記プログラムの前記コンピュータによる実行は、
ｄ）　前記視点の位置の変更操作を受け付ける工程と、
ｅ）　前記視点の位置の変更後に前記ａ）工程ないし前記ｃ）工程を実行する工程と、
をさらに実行させることを特徴とするプログラム。
【請求項４】
３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の文字列配置領域に固定された第１想定視線方向に対してほぼ垂直となる第１対向姿勢の複数の文字を前記文字列配置領域に配置するための複数の第１配置位置を決定し、前記文字列配置領域に対して固定された第２想定視線方向に対してほぼ垂直となる第２対向姿勢の複数の文字を前記文字列配置領域に配置するための複数の第２配置位置を決定する工程と、
ｂ）　第１文字列を構成する複数の第１文字を前記第１対向姿勢にて前記複数の第１配置位置に配置し、第２文字列を構成する複数の第２文字を前記第２対向姿勢にて前記複数の第２配置位置に配置する工程と、
ｃ）　操作者による視点の位置または視線方向の変更操作を受け付ける工程と、
ｄ）　前記視点からの前記複数の第１文字および前記複数の第２文字の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項５】
請求項４に記載のプログラムであって、
前記複数の第１文字に前記複数の第２文字とは異なる色が付与されることを特徴とするプログラム。
【請求項６】
請求項１ないし５のいずれかに記載のプログラムであって、
前記文字列配置領域が、前記３次元空間内に配置された３次元オブジェクトに対して相対的に固定されていることを特徴とするプログラム。
【請求項７】
３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　操作者による視点の位置の変更操作を受け付ける工程と、
ｂ）　前記視点の移動量だけ３次元空間内の文字列配置領域を移動する工程と、
ｃ）　前記視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ｄ）　前記ａ）工程と前記ｃ）工程との間において、視線方向に対して垂直となるように、または、視点に対して正対するように前記３次元空間内の前記文字列配置領域の姿勢を変更する工程をさらに実行させることを特徴とするプログラム。
【請求項９】
３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　操作者による視点の位置または視線方向の変更操作を受け付ける工程と、
ｂ）　前記視点からの３次元空間内の文字列配置領域の透視投影像を求めて前記透視投影像の大きさに応じた文字列を前記文字列配置領域に組み込む工程と、
ｃ）　前記視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項１０】
３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　操作者による視点の位置の変更操作を受け付ける工程と、
ｂ）　前記視点と３次元空間内の文字列配置領域との間の距離に比例して前記文字列配置領域の大きさを変更する工程と、
ｃ）　前記視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項１１】
請求項７ないし１０のいずれかに記載のプログラムであって、
前記ｂ）工程の実行が、有効と無効との間で切り替え可能とされることを特徴とするプログラム。
【請求項１２】
請求項７ないし１１のいずれかに記載のプログラムであって、
前記文字列配置領域が前記３次元空間に配置された３次元オブジェクトに関連付けられていることを特徴とするプログラム。
【請求項１３】
３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の文字列配置領域の位置の変更操作を受け付ける工程と、
ｂ）　前記操作に応じて前記文字列配置領域を前記３次元空間内の平面上にて移動する工程と、
ｃ）　視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムであって、
前記平面が、視線方向に対して垂直であることを特徴とするプログラム。
【請求項１５】
請求項１３に記載のプログラムであって、
前記平面が、前記３次元空間内にて予め定められた方向を向くことを特徴とするプログラム。
【請求項１６】
３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の文字列配置領域の位置の変更操作を受け付ける工程と、
ｂ）　前記操作に応じて前記文字列配置領域を３次元オブジェクトを中心とする球面上にて移動する工程と、
ｃ）　視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項１７】
３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の文字列配置領域の位置の変更操作を受け付ける工程と、
ｂ）　前記操作に応じて前記文字列配置領域の位置と視点の位置とに基づいて定められた位置または前記文字列配置領域から所定方向に所定距離だけ離れた位置へと前記文字列配置領域を移動する工程と、
ｃ）　前記視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項１８】
３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の文字列配置領域の位置の変更操作を受け付ける工程と、
ｂ）　前記操作に応じて前記文字列配置領域を予め定められた位置へと移動する工程と、
ｃ）　視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項１９】
請求項１８に記載のプログラムであって、
前記予め定められた位置が、前記文字列配置領域の初期位置であることを特徴とするプログラム。
【請求項２０】
３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の複数の文字列配置領域の一部の選択を受け付ける工程と、
ｂ）　選択された文字列配置領域に対する表示または非表示の指定を受け付ける工程と、
ｃ）　非表示が指定された文字列配置領域内の少なくとも一部の文字列を非表示として視点からの前記複数の文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項２１】
３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の複数の文字列配置領域の一部の選択を受け付ける工程と、
ｂ）　選択された文字列配置領域に対する半透明の指定を受け付ける工程と、
ｃ）　半透明が指定された文字列配置領域内の少なくとも一部の文字列を半透明として視点からの前記複数の文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項２２】
請求項２０または２１に記載のプログラムであって、
前記ｂ）工程の実行が、有効と無効との間で切り替え可能とされることを特徴とするプログラム。
【請求項２３】
３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の文字列配置領域の大きさの変更操作を受け付ける工程と、
ｂ）　変更後の文字列配置領域に文字列を組み込む工程と、
ｃ）　前記文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項２４】
３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　３次元空間内の文字列配置領域に対するスクロール操作を受け付ける工程と、
ｂ）　前記スクロール操作に応じて前記文字列配置領域に表示する文字列をスクロールする工程と、
ｃ）　前記文字列配置領域の透視投影像を前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項２５】
請求項２３または２４に記載のプログラムであって、
前記文字列配置領域が前記３次元空間内に配置された３次元オブジェクトに関連付けられていることを特徴とするプログラム。
【請求項２６】
請求項２０、２１および２５のいずれかに記載のプログラムであって、
操作者による操作に関連する３次元オブジェクトの情報を外部に出力する工程をさらに備えることを特徴とするプログラム。
【請求項２７】
３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
ａ）　検索文字列の設定を受け付ける工程と、
ｂ）　３次元空間に配置された複数の文字列配置領域のうち、前記検索文字列を含む文字列が組み込まれた文字列配置領域を特定する工程と、
ｃ）　前記ｂ）工程にて特定された文字列配置領域の視点からの透視投影像を他の文字列配置領域と区別可能な状態で前記表示部に表示する工程と、
を実行させることを特徴とするプログラム。
【請求項２８】
請求項２７に記載のプログラムであって、
前記ｃ）工程において、前記他の文字列配置領域が非表示とされることを特徴とするプログラム。
【請求項２９】
請求項２７または２８に記載のプログラムであって、
前記複数の文字列配置領域が前記３次元空間に配置された３次元オブジェクトに関連付けられていることを特徴とするプログラム。
【請求項３０】
３次元空間に配置された文字列を表示する文字列表示装置であって、
所定の視点からの３次元空間の透視投影像を求める演算部と、
前記透視投影像を表示する表示部と、
を備え、
前記演算部が、前記３次元空間内の文字列配置領域に、視線方向に対してほぼ垂直となる対向姿勢の複数の文字を所定の視点から見たときに互いに干渉を避けつつ配置するための複数の配置位置を決定し、文字列を構成する複数の文字を前記対向姿勢にて前記複数の配置位置に配置し、前記視点からの前記複数の文字の透視投影像を求めることを特徴とする文字列表示装置。
【請求項３１】
３次元空間に配置された文字列を表示する文字列表示装置であって、
操作者による視点の位置の変更操作を受け付ける入力部と、
前記視点からの３次元空間の透視投影像を求める演算部と、
前記透視投影像を表示する表示部と、
を備え、
前記演算部が、前記３次元空間内の文字列配置領域に固定された第１想定視線方向に対してほぼ垂直となる第１対向姿勢の複数の文字を前記文字列配置領域に配置するための複数の第１配置位置を決定し、前記文字列配置領域に対して固定された第２想定視線方向に対してほぼ垂直となる第２対向姿勢の複数の文字を前記文字列配置領域に配置するための複数の第２配置位置を決定し、第１文字列を構成する複数の第１文字を前記第１対向姿勢にて前記複数の第１配置位置に配置し、第２文字列を構成する複数の第２文字を前記第２対向姿勢にて前記複数の第２配置位置に配置し、前記視点からの前記複数の第１文字および前記複数の第２文字の透視投影像を求めることを特徴とする文字列表示装置。
【請求項３２】
３次元空間に配置された文字列を表示する文字列表示装置であって、
操作者による視点の位置の変更操作を受け付ける入力部と、
前記視点からの３次元空間の透視投影像を求める演算部と、
前記透視投影像を表示する表示部と、
を備え、
前記演算部が、前記視点の移動量だけ前記３次元空間内の文字列配置領域を移動し、前記視点からの前記文字列配置領域の透視投影像を求めることを特徴とする文字列表示装置。
【請求項３３】
３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列を表示する文字列表示装置であって、
操作者による３次元空間内の文字列配置領域の位置の変更操作を受け付ける入力部と、
前記操作者による操作に応じて前記文字列配置領域を３次元オブジェクトを中心とする球面上にて移動し、所定の視点からの前記３次元空間の透視投影像を求める演算部と、
前記透視投影像を表示する表示部と、
を備えることを特徴とする文字列表示装置。
【請求項３４】
３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列を表示する文字列表示装置であって、
操作者による３次元空間内の文字列配置領域の位置の変更操作を受け付ける入力部と、
前記操作者による操作に応じて前記文字列配置領域の位置と視点の位置とに基づいて定められた位置へと前記文字列配置領域を移動し、所定の視点からの前記３次元空間の透視投影像を求める演算部と、
前記透視投影像を表示する表示部と、
を備えることを特徴とする文字列表示装置。
【請求項３５】
３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列を表示する文字列表示装置であって、
操作者による３次元空間内の文字列配置領域の位置の変更操作を受け付ける入力部と、
前記操作者による操作に応じて前記文字列配置領域を予め定められた位置へと移動し、所定の視点からの前記３次元空間の透視投影像を求める演算部と、
前記透視投影像を表示する表示部と、
を備えることを特徴とする文字列表示装置。
【請求項３６】
３次元空間に配置された文字列を表示する文字列表示装置であって、
操作者による３次元空間内の文字列配置領域の大きさの変更操作を受け付ける入力部と、
変更後の文字列配置領域に文字列を組み込み、所定の視点からの前記３次元空間の透視投影像を求める演算部と、
前記透視投影像を表示する表示部と、
を備えることを特徴とする文字列表示装置。
【請求項３７】
３次元空間に配置された文字列を表示する文字列表示装置であって、
操作者による３次元空間内の文字列配置領域に対するスクロール操作を受け付ける入力部と、
前記スクロール操作に応じて前記文字列配置領域に表示する文字列をスクロールし、所定の視点からの前記３次元空間の透視投影像を求める演算部と、
前記透視投影像を表示する表示部と、
を備えることを特徴とする文字列表示装置。
【請求項３８】
３次元空間に配置された文字列を表示する文字列表示装置であって、
操作者による検索文字列の設定を受け付ける入力部と、
３次元空間に配置された複数の文字列配置領域のうち、前記検索文字列を含む文字列が組み込まれた文字列配置領域を特定する演算部と、
特定された文字列配置領域の所定の視点からの透視投影像を他の文字列配置領域と区別可能な状態で表示する表示部と、
を備えることを特徴とする文字列表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元空間に配置された文字列を表示する技術に関する。
【０００２】
【従来の技術】
パーソナルコンピュータの性能向上に伴い、近年、身近な環境で実用的に３次元シーン（以下、「３Ｄシーン」という。）を扱うことが可能となったが、３Ｄシーン内の３次元オブジェクト（以下、「３Ｄオブジェクト」という。）をコンピュータの表示部に表示するのみではユーザに伝達困難な情報もある。例えば、商品等の形状を示す３Ｄオブジェクトの詳細説明、仕様、操作方法等は、文字情報として表現された方がユーザにとって理解が容易な場合がある。
【０００３】
しかしながら、文字情報は２次元の面の上に展開される情報（以下、「２Ｄドキュメント」という。）であるため、３Ｄシーンと２Ｄドキュメントとをそのままでは統合することが困難となる。そこで、従来、３次元空間（以下、「３Ｄ空間」という。）内の３Ｄオブジェクトに関する説明を行うための２Ｄドキュメントを表示するために様々な手法が提案されてきた。
【０００４】
例えば、３Ｄオブジェクトにアンカーノードを付加し、アンカーノードからテキストファイルにアクセス可能としておき、３Ｄオブジェクトが選択されると３Ｄオブジェクトを表示しているウィンドウとは別のウィンドウにアンカーノードを介して参照される２Ｄドキュメントを表示する手法が提案されている。
【０００５】
他の手法として、表示したい２Ｄドキュメントをレイアウトした文字画像を準備しておき、文字画像をテクスチャとして３Ｄ空間内の面に貼り込む手法も提案されている。さらに他の手法として、３Ｄ空間内にテキストノードを設定し、２Ｄドキュメントを画像に事前に変換することなく３Ｄ空間内に２Ｄドキュメントの文字を配列配置する手法も提案されている。
【０００６】
【発明が解決しようとする課題】
ところが、２Ｄドキュメントを別ウィンドウに表示する手法では、ディスプレイの画面サイズが十分に大きくないと、３Ｄオブジェクトを選択して新たに生成されるテキストウィンドウが、３Ｄオブジェクトが表示されるウィンドウに重なって両ウィンドウを見ながら各種操作を行うことが困難となることがある。また、３Ｄオブジェクトが表示されるウィンドウとテキストウィンドウとの間で視線を頻繁に移動する必要が生じ、３Ｄオブジェクトやテキストが見づらくなり、思考の流れも分断され、３Ｄ空間への没入感が弱くなる。
【０００７】
一方、２Ｄドキュメントの文字画像を３Ｄ空間内の面に貼り込んだり、３Ｄ空間内に文字を配列する手法では、３Ｄ空間内の視点位置が変化すると文字領域の見かけの大きさが増減して文字が読みにくくなる場合がある。例えば、文字領域を横斜めから見るように視点が設定された場合、ディスプレイ上の文字領域の幅が減少して縦長の文字となってしまう。
【０００８】
また、これらの手法では、文字画像や文字の配列が３Ｄ空間内に固定されるため、文字画像や文字の配列が３Ｄオブジェクトに隠れてしまうことがある。この場合、ユーザは視点の位置を変更することにより文字画像や文字の配列を見ることができるが、３Ｄオブジェクトの見え方も変化するため、３Ｄオブジェクトと文字画像や文字の配列とをユーザが希望する位置から同時に見ることが困難となる。
【０００９】
さらに、２Ｄドキュメントの画像を用いる場合、テキストをテクスチャ画像に変換する段階で解像度が決まってしまうため、３Ｄ空間内で視点がテクスチャ画像に近づいたり、３Ｄ空間内でテクスチャ画像のサイズが変更されてテキストの表示サイズが大きくなるとジャギーが目立つという問題も生じる。もちろん、この問題を回避するために画像の解像度を高くすることも考えられるが、画像のデータ量が非常に大きくなってしまい演算処理に時間を要することとなる。また、一般に、画像データはテキストデータよりもデータ量が多いため処理速度の低下や（データがインターネット等を介して転送される場合は）通信データ量の増大をもたらし、２Ｄドキュメントの画像データの作成や修正時に作業者の手間が増大するという短所を有する。
【００１０】
本発明は、上記様々な課題に鑑みてなされたものであり、３Ｄ空間に配置された文字列を適切に表示することを主たる目的としている。
【００１１】
【課題を解決するための手段】
請求項１に記載の発明は、３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の文字列配置領域に、視線方向に対してほぼ垂直となる対向姿勢の複数の文字を所定の視点から見たときに互いに干渉を避けつつ配置するための複数の配置位置を決定する工程と、ｂ）　文字列を構成する複数の文字を前記対向姿勢にて前記複数の配置位置に配置する工程と、ｃ）　前記視点からの前記複数の文字の透視投影像を前記表示部に表示する工程とを実行させる。
【００１２】
請求項２に記載の発明は、請求項１に記載のプログラムであって、前記プログラムの前記コンピュータによる実行は、ｄ）　前記３次元空間内の前記文字列配置領域の位置または姿勢の変更操作を受け付ける工程と、ｅ）　位置または姿勢の変更後の前記文字列配置領域に対して前記ａ）工程ないし前記ｃ）工程を実行する工程とをさらに実行させる。
【００１３】
請求項３に記載の発明は、請求項１に記載のプログラムであって、前記プログラムの前記コンピュータによる実行は、ｄ）　前記視点の位置の変更操作を受け付ける工程と、ｅ）　前記視点の位置の変更後に前記ａ）工程ないし前記ｃ）工程を実行する工程とをさらに実行させる。
【００１４】
請求項４に記載の発明は、３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の文字列配置領域に固定された第１想定視線方向に対してほぼ垂直となる第１対向姿勢の複数の文字を前記文字列配置領域に配置するための複数の第１配置位置を決定し、前記文字列配置領域に対して固定された第２想定視線方向に対してほぼ垂直となる第２対向姿勢の複数の文字を前記文字列配置領域に配置するための複数の第２配置位置を決定する工程と、ｂ）　第１文字列を構成する複数の第１文字を前記第１対向姿勢にて前記複数の第１配置位置に配置し、第２文字列を構成する複数の第２文字を前記第２対向姿勢にて前記複数の第２配置位置に配置する工程と、ｃ）　操作者による視点の位置または視線方向の変更操作を受け付ける工程と、ｄ）　前記視点からの前記複数の第１文字および前記複数の第２文字の透視投影像を前記表示部に表示する工程とを実行させる。
【００１５】
請求項５に記載の発明は、請求項４に記載のプログラムであって、前記複数の第１文字に前記複数の第２文字とは異なる色が付与される。
【００１６】
請求項６に記載の発明は、請求項１ないし５のいずれかに記載のプログラムであって、前記文字列配置領域が、前記３次元空間内に配置された３次元オブジェクトに対して相対的に固定されている。
【００１７】
請求項７に記載の発明は、３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　操作者による視点の位置の変更操作を受け付ける工程と、ｂ）　前記視点の移動量だけ３次元空間内の文字列配置領域を移動する工程と、ｃ）　前記視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００１８】
請求項８に記載の発明は、請求項７に記載のプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ｄ）　前記ａ）工程と前記ｃ）工程との間において、視線方向に対して垂直となるように、または、視点に対して正対するように前記３次元空間内の前記文字列配置領域の姿勢を変更する工程をさらに実行させる。
【００１９】
請求項９に記載の発明は、３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　操作者による視点の位置または視線方向の変更操作を受け付ける工程と、ｂ）　前記視点からの３次元空間内の文字列配置領域の透視投影像を求めて前記透視投影像の大きさに応じた文字列を前記文字列配置領域に組み込む工程と、ｃ）　前記視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００２０】
請求項１０に記載の発明は、３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　操作者による視点の位置の変更操作を受け付ける工程と、ｂ）　前記視点と３次元空間内の文字列配置領域との間の距離に比例して前記文字列配置領域の大きさを変更する工程と、ｃ）　前記視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００２１】
請求項１１に記載の発明は、請求項７ないし１０のいずれかに記載のプログラムであって、前記ｂ）工程の実行が、有効と無効との間で切り替え可能とされる。
【００２２】
請求項１２に記載の発明は、請求項７ないし１１のいずれかに記載のプログラムであって、前記文字列配置領域が前記３次元空間に配置された３次元オブジェクトに関連付けられている。
【００２３】
請求項１３に記載の発明は、３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の文字列配置領域の位置の変更操作を受け付ける工程と、ｂ）　前記操作に応じて前記文字列配置領域を前記３次元空間内の平面上にて移動する工程と、ｃ）　視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００２４】
請求項１４に記載の発明は、請求項１３に記載のプログラムであって、前記平面が、視線方向に対して垂直である。
【００２５】
請求項１５に記載の発明は、請求項１３に記載のプログラムであって、前記平面が、前記３次元空間内にて予め定められた方向を向く。
【００２６】
請求項１６に記載の発明は、３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の文字列配置領域の位置の変更操作を受け付ける工程と、ｂ）　前記操作に応じて前記文字列配置領域を３次元オブジェクトを中心とする球面上にて移動する工程と、ｃ）　視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００２７】
請求項１７に記載の発明は、３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の文字列配置領域の位置の変更操作を受け付ける工程と、ｂ）　前記操作に応じて前記文字列配置領域の位置と視点の位置とに基づいて定められた位置または前記文字列配置領域から所定方向に所定距離だけ離れた位置へと前記文字列配置領域を移動する工程と、ｃ）　前記視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００２８】
請求項１８に記載の発明は、３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の文字列配置領域の位置の変更操作を受け付ける工程と、ｂ）　前記操作に応じて前記文字列配置領域を予め定められた位置へと移動する工程と、ｃ）　視点からの前記文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００２９】
請求項１９に記載の発明は、請求項１８に記載のプログラムであって、前記予め定められた位置が、前記文字列配置領域の初期位置である。
【００３０】
請求項２０に記載の発明は、３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の複数の文字列配置領域の一部の選択を受け付ける工程と、ｂ）　選択された文字列配置領域に対する表示または非表示の指定を受け付ける工程と、ｃ）　非表示が指定された文字列配置領域内の少なくとも一部の文字列を非表示として視点からの前記複数の文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００３１】
請求項２１に記載の発明は、３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の複数の文字列配置領域の一部の選択を受け付ける工程と、ｂ）　選択された文字列配置領域に対する半透明の指定を受け付ける工程と、ｃ）　半透明が指定された文字列配置領域内の少なくとも一部の文字列を半透明として視点からの前記複数の文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００３２】
請求項２２に記載の発明は、請求項２０または２１に記載のプログラムであって、前記ｂ）工程の実行が、有効と無効との間で切り替え可能とされる。
【００３３】
請求項２３に記載の発明は、３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の文字列配置領域の大きさの変更操作を受け付ける工程と、ｂ）　変更後の文字列配置領域に文字列を組み込む工程と、ｃ）　前記文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００３４】
請求項２４に記載の発明は、３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　３次元空間内の文字列配置領域に対するスクロール操作を受け付ける工程と、ｂ）　前記スクロール操作に応じて前記文字列配置領域に表示する文字列をスクロールする工程と、ｃ）　前記文字列配置領域の透視投影像を前記表示部に表示する工程とを実行させる。
【００３５】
請求項２５に記載の発明は、請求項２３または２４に記載のプログラムであって、前記文字列配置領域が前記３次元空間内に配置された３次元オブジェクトに関連付けられている。
【００３６】
請求項２６に記載の発明は、請求項２０、２１および２５のいずれかに記載のプログラムであって、操作者による操作に関連する３次元オブジェクトの情報を外部に出力する工程をさらに備える。
【００３７】
請求項２７に記載の発明は、３次元空間に配置された文字列をコンピュータの表示部に表示させるプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、ａ）　検索文字列の設定を受け付ける工程と、ｂ）　３次元空間に配置された複数の文字列配置領域のうち、前記検索文字列を含む文字列が組み込まれた文字列配置領域を特定する工程と、ｃ）　前記ｂ）工程にて特定された文字列配置領域の視点からの透視投影像を他の文字列配置領域と区別可能な状態で前記表示部に表示する工程とを実行させる。
【００３８】
請求項２８に記載の発明は、請求項２７に記載のプログラムであって、前記ｃ）工程において、前記他の文字列配置領域が非表示とされる。
【００３９】
請求項２９に記載の発明は、請求項２７または２８に記載のプログラムであって、前記複数の文字列配置領域が前記３次元空間に配置された３次元オブジェクトに関連付けられている。
【００４０】
請求項３０に記載の発明は、３次元空間に配置された文字列を表示する文字列表示装置であって、所定の視点からの３次元空間の透視投影像を求める演算部と、前記透視投影像を表示する表示部とを備え、前記演算部が、前記３次元空間内の文字列配置領域に、視線方向に対してほぼ垂直となる対向姿勢の複数の文字を所定の視点から見たときに互いに干渉を避けつつ配置するための複数の配置位置を決定し、文字列を構成する複数の文字を前記対向姿勢にて前記複数の配置位置に配置し、前記視点からの前記複数の文字の透視投影像を求める。
【００４１】
請求項３１に記載の発明は、３次元空間に配置された文字列を表示する文字列表示装置であって、操作者による視点の位置の変更操作を受け付ける入力部と、前記視点からの３次元空間の透視投影像を求める演算部と、前記透視投影像を表示する表示部とを備え、前記演算部が、前記３次元空間内の文字列配置領域に固定された第１想定視線方向に対してほぼ垂直となる第１対向姿勢の複数の文字を前記文字列配置領域に配置するための複数の第１配置位置を決定し、前記文字列配置領域に対して固定された第２想定視線方向に対してほぼ垂直となる第２対向姿勢の複数の文字を前記文字列配置領域に配置するための複数の第２配置位置を決定し、第１文字列を構成する複数の第１文字を前記第１対向姿勢にて前記複数の第１配置位置に配置し、第２文字列を構成する複数の第２文字を前記第２対向姿勢にて前記複数の第２配置位置に配置し、前記視点からの前記複数の第１文字および前記複数の第２文字の透視投影像を求める。
【００４２】
請求項３２に記載の発明は、３次元空間に配置された文字列を表示する文字列表示装置であって、操作者による視点の位置の変更操作を受け付ける入力部と、前記視点からの３次元空間の透視投影像を求める演算部と、前記透視投影像を表示する表示部とを備え、前記演算部が、前記視点の移動量だけ前記３次元空間内の文字列配置領域を移動し、前記視点からの前記文字列配置領域の透視投影像を求める。
【００４３】
請求項３３に記載の発明は、３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列を表示する文字列表示装置であって、操作者による３次元空間内の文字列配置領域の位置の変更操作を受け付ける入力部と、前記操作者による操作に応じて前記文字列配置領域を３次元オブジェクトを中心とする球面上にて移動し、所定の視点からの前記３次元空間の透視投影像を求める演算部と、前記透視投影像を表示する表示部とを備える。
【００４４】
請求項３４に記載の発明は、３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列を表示する文字列表示装置であって、操作者による３次元空間内の文字列配置領域の位置の変更操作を受け付ける入力部と、前記操作者による操作に応じて前記文字列配置領域の位置と視点の位置とに基づいて定められた位置へと前記文字列配置領域を移動し、所定の視点からの前記３次元空間の透視投影像を求める演算部と、前記透視投影像を表示する表示部とを備える。
【００４５】
請求項３５に記載の発明は、３次元空間に配置された３次元オブジェクトに関連付けられて配置された文字列を表示する文字列表示装置であって、操作者による３次元空間内の文字列配置領域の位置の変更操作を受け付ける入力部と、前記操作者による操作に応じて前記文字列配置領域を予め定められた位置へと移動し、所定の視点からの前記３次元空間の透視投影像を求める演算部と、前記透視投影像を表示する表示部とを備える。
【００４６】
請求項３６に記載の発明は、３次元空間に配置された文字列を表示する文字列表示装置であって、操作者による３次元空間内の文字列配置領域の大きさの変更操作を受け付ける入力部と、変更後の文字列配置領域に文字列を組み込み、所定の視点からの前記３次元空間の透視投影像を求める演算部と、前記透視投影像を表示する表示部とを備える。
【００４７】
請求項３７に記載の発明は、３次元空間に配置された文字列を表示する文字列表示装置であって、操作者による３次元空間内の文字列配置領域に対するスクロール操作を受け付ける入力部と、前記スクロール操作に応じて前記文字列配置領域に表示する文字列をスクロールし、所定の視点からの前記３次元空間の透視投影像を求める演算部と、前記透視投影像を表示する表示部とを備える。
【００４８】
請求項３８に記載の発明は、３次元空間に配置された文字列を表示する文字列表示装置であって、操作者による検索文字列の設定を受け付ける入力部と、３次元空間に配置された複数の文字列配置領域のうち、前記検索文字列を含む文字列が組み込まれた文字列配置領域を特定する演算部と、特定された文字列配置領域の所定の視点からの透視投影像を他の文字列配置領域と区別可能な状態で表示する表示部とを備える。
【００４９】
【発明の実施の形態】
＜１．　第１の実施の形態＞
図１は本発明の第１の実施の形態に係る表示装置１の構成を示すブロック図である。表示装置１は仮想的な有体物（例えば、微小要素の３次元的な集合により表現される３次元画像、彩色を施した３次元サーフェスモデル等）である３次元オブジェクト（３Ｄオブジェクト）を表示する装置であり、演算処理を行うＣＰＵ１１、基本プログラムを記憶するＲＯＭ１２および各種情報を記憶するＲＡＭ１３をバスラインに接続した一般的なコンピュータシステムの構成を有する。
【００５０】
バスラインにはさらに、情報記憶を行う固定ディスク１４、３Ｄオブジェクトの画像等を表示するディスプレイ１５、操作者からの入力を受け付けるキーボード１６ａおよびマウス１６ｂ（以下、「入力部１６」と総称する。）、光ディスク、磁気ディスク、光磁気ディスク等のコンピュータ読み取り可能な記録媒体９から情報の読み取りを行う読取装置１７、並びに、通信網に接続された通信部１８が、適宜、インターフェイス（Ｉ／Ｆ）を介する等して接続される。
【００５１】
表示装置１には、事前に読取装置１７を介して記録媒体９からプログラムが読み出され、固定ディスク１４に記憶される。そして、プログラムがＲＡＭ１３にコピーされるとともにＣＰＵ１１がＲＡＭ１３内のプログラム１３ａに従って演算処理を実行することにより（すなわち、コンピュータがプログラムを実行することにより）、コンピュータによる表示装置１としての動作が行われる。
【００５２】
図２は表示装置１のディスプレイ１５に表示される３Ｄオブジェクト８０を例示する図である。３Ｄオブジェクト８０はディスプレイ１５のスクリーン上に透視投影像として表示される。そして、３Ｄオブジェクト８０の近傍に注釈等の文章の文字列が組み込まれる３次元ウィンドウ（以下、「３Ｄウィンドウ」という。）８が設けられる。３Ｄウィンドウ８は３Ｄオブジェクト８０と引出線にて接続されることにより関連づけが認識可能とされている。すなわち、表示装置１は３Ｄ空間に配置された文字列を表示する処理も行う。
【００５３】
３Ｄウィンドウ８は３Ｄオブジェクト８０が配置される仮想的な３Ｄ空間に配置されるウィンドウである。したがって、３Ｄウィンドウ８は３Ｄ空間内の視点の位置や視線方向が変更されることにより、ディスプレイ１５上には正面から見た様子のみならず斜めから見た様子も表示される。３Ｄウィンドウ８の文字列配置領域８１に文章を構成する文字列が、組版と同様の手法で組み込まれることにより、ディスプレイ１５上の文字列配置領域８１の透視投影像中に文字列が表示される。
【００５４】
＜１．１　第１の動作例＞
図３は、ＣＰＵ１１がプログラム１３ａに従って動作することにより、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、固定ディスク１４等が実現する機能構成を示す図である。図３において、初期情報１３１および動的情報１３２はＲＡＭ１３に記憶される情報であり、配置領域決定部２１、視点決定部２２、配置領域投影サイズ決定部２３、文字位置決定部２４、文字組込部２５および画像生成部２６がＣＰＵ１１がプログラム１３ａに従って演算処理を実行することにより実現される機能を示す。なお、これらの機能は専用の電気的回路により実現されてもよく、部分的に専用の電気的回路が用いられてもよい。
【００５５】
初期情報１３１には、３Ｄウィンドウ８に関する様々な初期設定が含まれ、具体的には、３Ｄウィンドウ８の大きさ、位置および向き、文字列配置領域８１に組み込まれる文字列およびスタイル（文字のフォント、サイズ等の文字属性や縦書き、横書き等のレイアウト等）、並びに、初期の視点の位置および視線方向が含まれる。動的情報１３２には、操作者の操作により変化する情報が含まれ、例えば、３Ｄウィンドウ８の大きさ、位置、向き等が含まれる。操作後の視点の位置や視線方向も動的情報１３２の一部とされてよい。
【００５６】
配置領域決定部２１は、入力部１６を介して操作者による３Ｄウィンドウ８の操作を受け付け、３Ｄウィンドウ８の新たな大きさ、位置および姿勢（例えば、法線方向の向き）の情報を生成して動的情報１３２を更新する。なお、本動作例では３Ｄウィンドウ８の位置および姿勢の変更のみに言及する。
【００５７】
視点決定部２２は、入力部１６を介して操作者による視点の位置および視線方向の変更操作を受け付け、新たな視点の位置および視線方向を求める。配置領域投影サイズ決定部２３は動的情報１３２から現在の３Ｄウィンドウ８がディスプレイ１５上に表示される見かけの大きさ、すなわち、視点からの文字列配置領域８１の投影像（正射影）の大きさを求める。文字位置決定部２４は配置領域投影サイズ決定部２３からの情報を受けて文字列配置領域８１に組み込まれる各文字の位置や姿勢を決定する。なお、配置領域投影サイズ決定部２３および文字位置決定部２４の動作の詳細については後述する。
【００５８】
文字組込部２５は決定された位置および姿勢にて文字列の各文字を文字列配置領域８１に組み込む。すなわち、文字組込部２５は印刷原稿作成の際の組版と同様の処理を行う。文字列の組込が完了すると画像生成部２６により視点から３Ｄオブジェクト８０および３Ｄウィンドウ８を見たときの画像、すなわち、視点から視線方向を向いて見たときの透視投影像が求められ、ディスプレイ１５に生成された画像が表示される。
【００５９】
図４は表示装置１の第１の動作例を示す図である。図４に示す動作は、表示装置１において繰り返し実行され続ける。
【００６０】
操作者が何も操作しない状態において、表示装置１は操作者による視点の位置もしくは視線方向、または、３Ｄウィンドウ８の位置もしくは姿勢（例えば、法線方向の向き）の操作（以下、文字列配置領域８１に対する操作として説明する。）を待つ状態となっている（ステップＳ１７，Ｓ１８）。ここで、視点の位置または視線方向を変更する操作が入力部１６により受け付けられると（ステップＳ１７）、視点決定部２２が変更後の視点の位置および視線方向を求め、配置領域投影サイズ決定部２３において文字列配置領域８１に対する相対的な視線方向が求められる（ステップＳ１１）。さらに、配置領域投影サイズ決定部２３は視線方向からの文字列配置領域８１の見かけの大きさを求める（ステップＳ１２）。文字列配置領域８１の見かけの大きさは文字位置決定部２４へと送られる。
【００６１】
図５ないし図８は文字位置決定部２４が文字列配置領域８１に対する各文字の配置位置および姿勢を求める様子を示す図である。図５は文字列配置領域８１を上方から見た様子を示しており、符号７１はディスプレイ１５に表示する際の視線方向を示している。なお、説明を簡素化するため、図５では文字列配置領域８１の行方向（図５における左右方向）に対して視線方向７１が傾斜しており、列方向（紙面に垂直な方向）に対しては視線方向７１が垂直であるものとして説明を行うが、文字列配置領域８１の列方向に対して視線方向７１が傾斜している場合には、予め定められている１行の高さで文字列配置領域８１の見かけの高さを除算することにより文字列配置領域８１の行数が求められる。
【００６２】
文字列配置領域８１の法線方向と視線方向７１とが水平面内で角度θをなすものとし、文字列配置領域８１の行方向の幅がｄ１であるものとすると、視線方向７１から平行投影した像では幅がｄ２（＝ｄ１・ｃｏｓθ）となる。文字位置決定部２４では、初期情報１３１から表示すべき文字列およびそのスタイル（フォントやレイアウト等）を取得し、図６に示すように見かけの幅ｄ２に対して配置可能な文字数が各行に対して求められる。なお、各文字の幅は同一であるとは限らず、１行の文字数は一定とは限らない。図６では、理解を容易とするために、文字列配置領域８１の投影像８１ｉの幅ｄ２に対して仮想的に配置された文字８０１ｉを例示している。以上の処理を換言すれば、文字位置決定部２４では文字列配置領域８１の投影像に対して組版が行われる。
【００６３】
文字位置決定部２４ではさらに、仮想的な各文字８０１ｉの向かって右側の端点８１１ｉを通って視線方向に平行な直線７１ｉを求め、各直線７１ｉと文字列配置領域８１との交点８１ｐを求める。なお、視線方向に対して文字列配置領域８１の向かって右側が手前に位置する場合は各文字８０１ｉの右側の端点を基準として直線７１ｉおよび交点８１ｐが求められるが、視線方向に対して文字列配置領域８１の向かって左側が手前に位置する場合は各文字８０１ｉの左側の端点を基準として直線７１ｉおよび交点８１ｐが求められる。
【００６４】
そして、図６に示すように、各文字８０１の右側（文字列配置領域８１の左側が手前に位置する場合は左側）の端点が交点８１ｐに位置するように文字８０１が文字列配置領域８１上に配置され、図７に示すように、視線方向７１に対して垂直となるように交点８１ｐを中心として各文字８０１が回転される。これにより、各文字の文字列配置領域８１における配置位置（ノード位置）および姿勢が決定される（ステップＳ１３）。図６および図７では理解を容易とするために文字８０１を図示しているが、文字位置決定部２４は文字８０１の位置および姿勢を決定するのみであり（通常の２次元の文書を作成する際に文字の位置を決定する組版に対応する処理となっている。）、実際には文字８０１の配置や移動の処理は行わなれない。
【００６５】
次に、文字組込部２５が初期情報１３１から文字列配置領域８１に配置される文字列やスタイル（フォントやレイアウト等）に関する情報を取得し、これらの情報に従いつつ、文字位置決定部２４にて決定された各文字８０１の位置に決定された姿勢にて各文字８０１を配置する。これにより、図８に示すように文字列配置領域８１に文字列が組み込まれる（ステップＳ１４）。
【００６６】
以上のように、ステップＳ１３では視線方向７１に対して垂直となる姿勢の複数の文字８０１を視点７から見たときに互いに干渉を避けつつ配置するための複数の配置位置が図８に示すように決定され、ステップＳ１４において、文字列を構成する複数の文字８０１が視点７に対してほぼ対向する姿勢にて複数の配置位置に配置される。
【００６７】
文字列の組込が完了すると、画像生成部２６が視点７からの３Ｄオブジェクト８０および３Ｄウィンドウ８の透視投影像（当然に、文字列配置領域８１の透視投影像が含まれる。）を生成し（ステップＳ１５）、生成された画像がディスプレイ１５に表示される（ステップＳ１６）。なお、視点７は文字列配置領域８１に対して無限遠方に存在していてもよく、この場合、透視投影像は平行投影像（正射影）となる（以下の説明における透視投影像において同様）。
【００６８】
図９は、図２に示す状態から３Ｄオブジェクト８０および３Ｄウィンドウ８の回転、または、視点の位置および視線方向の変更が行われた後のディスプレイ１５の表示例を示す図である。図９に示すように、文字列配置領域８１は斜め方向から観察されると左右方向の見かけの幅が減少する。このとき、ステップＳ１１〜Ｓ１６の処理により文字列配置領域８１内の１行の文字数が変更される。また、各文字は視線方向に対して垂直な対向姿勢となることから、各文字は図２の場合とほぼ同様の大きさにてディスプレイ１５に表示されることとなり、文字の視認性や可読性が損なわれることはない。
【００６９】
なお、上記説明では、各文字の法線方向が視線方向に平行とされるものとして説明を行ったが、図８において各文字８０１が視点７に対して正対する姿勢とされてもよい。いずれの手法であっても各文字８０１が視線方向に対してほぼ垂直な対向姿勢とされることにより、文字列配置領域８１を斜め方向から観察する場合に文字の良好な視認性が実現される。
【００７０】
また、操作者により文字列配置領域８１の姿勢は自在に変更可能とされてよく、例えば、ディスプレイ１５のスクリーンの左右方向と文字列配置領域８１の行方向とが異なる場合は、図１０に例示するようにスクリーンの左右方向を強制的に文字列配置領域８１の行方向として文字の組み込みが行われてもよい。
【００７１】
図４中のステップＳ１１〜Ｓ１６が完了すると、表示装置１は再度、操作者による視点の位置もしくは視線方向の操作または文字列配置領域８１の位置もしくは姿勢の操作を待つ状態へと移行する（ステップＳ１７，Ｓ１８）。そして、３Ｄ空間内の文字列配置領域８１の位置または姿勢の変更操作が受け付けられると、あるいは、視点の位置または視線方向の変更操作が受け付けられると、ステップＳ１１〜Ｓ１６が繰り返される。これにより、操作者の操作に応じて文字列配置領域８１のスタイルが動的に変更され、常に、文字列配置領域８１に組み込まれた文字列を良好に観察することが実現される。
【００７２】
＜１．２　第２の動作例＞
図１１は、ＣＰＵ１１がプログラム１３ａに従って動作することにより、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、固定ディスク１４等が実現する機能構成の他の例を示す図である。図１１に示す構成は第１の動作例の場合と同様であるが、配置領域投影サイズ決定部２３および文字位置決定部２４には初期情報１３１が入力され、操作者による操作を反映した動的情報１３２は原則として入力されないという点で第１の動作例と相違している。なお、動的情報１３２や視点決定部２２にて求められた動的な視点および視線方向は、図示を省略しているが、画像生成部２６にて透視投影像を生成する際に利用される。
【００７３】
また、初期情報１３１には文字列配置領域８１に対して固定された互いにほぼ垂直な２つの想定視線方向が含まれる。想定視線方向は、表示装置１が３Ｄ空間の様子を表示するために用いられる視線方向とは異なり、初期情報１３１の作成者（すなわち、３Ｄオブジェクト８０を表示するためのデータの作成者）の意図により予め設定されている仮想的な視線方向である。
【００７４】
図１２は表示装置１の第２の動作例を示す図である。図１２に示す動作のうちステップＳ２１〜Ｓ２４は、ディスプレイ１５に３Ｄオブジェクト８０や３Ｄウィンドウ８等の３Ｄ空間内の様子が表示される際に最初に１回だけ実行される。その後、ステップＳ２５〜Ｓ２８が繰り返し実行される。
【００７５】
ステップＳ２１〜Ｓ２３は、想定視線方向に関して実行されるという点を除いて第１の動作例のステップＳ１２〜Ｓ１４と同様であり、２つの想定視線方向に対してステップＳ２１〜Ｓ２３が繰り返されることにより、図１３（ａ）に示すように想定視線方向７１ａに対して垂直な（すなわち、法線方向が平行な）複数の文字８０１ａの配置位置および姿勢が求められて文字が組み込まれ、想定視線方向７１ｂに対して垂直な複数の文字８０１ｂの配置位置および姿勢が求められて文字が組み込まれる。
【００７６】
なお、第１動作例と異なり、想定視線方向７１ａに対向する各文字８０１ａの幅は同一とされ、想定視線方向７１ｂに対向する各文字８０１ｂの幅も同一とされる。さらに、互いに隣接する文字８０１ａ，８０１ｂ並びに文字列配置領域８１により直角三角形が形成されるように文字８０１ａ，８０１ｂの幅が予め設定されている。
【００７７】
具体的動作としては、まず、初期情報１３１に含まれる１つの想定視線方向７１ａが配置領域投影サイズ決定部２３に入力され、想定視線方向７１ａからの文字列配置領域８１の見かけの大きさが求められる（ステップＳ２１）。そして、文字位置決定部２４において想定視線方向７１ａに対してほぼ垂直となる対向姿勢の複数の文字８０１ａを想定視線方向７１ａから見たときに互いに干渉を避けつつ文字列配置領域８１に配置するための複数の配置位置および姿勢が決定され（ステップＳ２２）、文字組込部２５により文字列を構成する複数の文字８０１ａが対向姿勢にて複数の配置位置に配置される（ステップＳ２３）。
【００７８】
次に、想定視線方向７１ｂに対しても同様の処理が行われ（ステップＳ２４）、他の文字列を構成する複数の文字８０１ｂが想定視線方向７１ｂに対してほぼ垂直となる対向姿勢で想定視線方向７１ｂから見たときに互いに干渉を避けつつ文字列配置領域８１に組み込まれる（ステップＳ２１〜Ｓ２３）。これにより、図１３（ａ）に示すように、予め定められている文字８０１ａ，８０１ｂの幅および想定視線方向７１ａ，７１ｂの文字列配置領域８１に対する向きにより、文字８０１ａが文字列配置領域８１上に等間隔に配列され、文字８０１ａの間に文字８０１ｂが配列される。
【００７９】
なお、図１３（ａ）に示すように想定視線方向７１ａ，７１ｂは文字列配置領域８１の法線方向に対して４５°傾いて設定される必要はなく、互いにほぼ垂直であるならば、図１３（ｂ）に示すように設定されてもよい（文字８０１ａ，８０１ｂの幅は想定視線方向７１ａ、７１ｂの向きに合わせて予め設定される。）。また、２つの想定視線方向７１ａ，７１ｂに関する処理は、並行して行われてもよく、部分ごとに（例えば、図１２に示すステップごとに）交互に行われてもよい。図１２に示す動作の流れは一例にすぎず、適宜、順序が変更されてよい。
【００８０】
文字列配置領域８１に対する２つの文字列の配置が完了すると、画像生成部２６が視点からの透視投影像を生成し（ステップＳ２５）、３Ｄ空間内の様子がディスプレイ１５に表示される（ステップＳ２６）。その後、操作者による視点の位置もしくは視線方向の変更操作、または、文字列配置領域８１の位置もしくは姿勢の変更操作の入力を待つ状態へと移行し（ステップＳ２７，Ｓ２８）、操作者による操作が入力部１６を介して受け付けられると、操作に応じた変更を行った上で文字列配置領域８１上の２つの文字列の透視投影像（見る方向によっては１つの文字列の透視投影像）の生成および表示が行われる（ステップＳ２５，Ｓ２６）。
【００８１】
図１４は、３Ｄオブジェクト８０および２つの文字列が組み込まれた後の文字列配置領域８１を正面から見た様子を例示する図である。正面から文字列配置領域８１を見た場合、複数の文字８０１ａおよび複数の文字８０１ｂの全てを観察することができる。文字８０１ａと文字８０１ｂとは互いに異なる色が付与されており、行方向（紙面の左右方向）に関して異なる色が交互に存在する。
【００８２】
ここで、操作者が視点の位置および視線方向を変更することにより、または、３Ｄオブジェクト８０および３Ｄウィンドウ８を回転させることにより、視線を想定視線方向に一致させると、文字８０１ａまたは文字８０１ｂの一方のみが視点と正対することとなる。図１５は想定視線方向７１ａと視線方向とを一致させて文字８０１ａを視線方向に対して垂直にした際にディスプレイ１５に表示される文字列配置領域８１を示す図であり、図１６は想定視線方向７１ｂと視線方向とを一致させて文字８０１ｂを視線方向に対して垂直にした際にディスプレイ１５に表示される文字列配置領域８１を示す図である。
【００８３】
図１５および図１６に示すように、視線方向を想定視線方向に一致させることにより、文字８０１ａにより構成される文字列または文字８０１ｂにより構成される文字列の視認性が良好となる。すなわち、文字列配置領域８１に対する視線方向を変化させることにより良好に観察することができる文字列を変更することが実現される。
【００８４】
特に、図１３（ａ），（ｂ）に示すように、想定視線方向７１ａと想定視線方向７１ｂとをおよそ９０度で交差させることにより、想定視線方向７１ａから文字列配置領域８１を観察すると図１５に示すように文字８０１ｂを観察することができなくなり、想定視線方向７１ｂから文字列配置領域８１を観察すると図１６に示すように文字８０１ａを観察することができなくなることから、一方の文字列の可読性を他方の文字列により妨げられることが防止される。また、文字８０１ａと文字８０１ｂとに互いに異なる色を付与することにより、各文字がいずれの文字列に属するか判断が容易となり、文字列の可読性が向上される。
【００８５】
なお、各文字が配置される領域に背景色（文字以外の部分の色）が設定されない（すなわち、透明（半透明でもよい。））場合、文字８０１ａを見る際に文字８０１ａの後方に文字８０１ｂが重なって見えてしまう場合が想定される。この場合、互いに背面を向け合う文字８０１ａと文字８０１ｂとの間に薄い板状の不透明な図形を配置し、背後の文字が重なって見えることが防止されてもよい。
【００８６】
また、第２の動作例では３Ｄオブジェクト８０と文字列配置領域８１（３Ｄウィンドウ８）との相対的位置関係が固定される。そして、いずれかの文字列が読みやすくなるように文字列配置領域８１に対する相対的な視点の位置および視線方向を操作者に変更させることにより、データ作成者が操作者に見せたい特定の視線方向から３Ｄオブジェクト８０を観察させることができる。すなわち、データ作成者が３Ｄオブジェクト８０の観察方向が所定方向となるように暗に誘導することができる。また、文字列配置領域８１を見るための操作を意図的に与えることにより、操作者が３Ｄオブジェクト８０に注目する積極性を向上することも実現される。
【００８７】
なお、図１３（ａ），（ｂ）では文字列配置領域８１の一方側に対して想定視線方向を２つ設けているが、文字列配置領域８１の反対側の面に対しても想定視線方向が２つ設けられてもよい。これにより、４方向から観察される文字列が異なる文字列配置領域８１を設けることが実現される。
【００８８】
＜２．　第２の実施の形態＞
図１７は第２の実施の形態に係る表示装置１が通信網９０に接続されたシステム１０を示す図である。通信網９０にはサーバ９１も接続される。表示装置１の構成は図１と同様であり、表示装置１が通信部１８および通信網９０を介してサーバ９１との間で通信を行う。また、表示装置１は第１の実施の形態と同様に、ＣＰＵ１１がＲＡＭ１３内のプログラム１３ａに従って演算処理を実行することにより（すなわち、コンピュータがプログラムを実行することにより）、後述する３Ｄオブジェクト８０よび３Ｄウィンドウ８の表示を行う。なお、コンピュータである表示装置１にて実行されるプログラムはサーバ９１からダウンロードされてもよい（第１の実施の形態において同様）。
【００８９】
図１８は、ＣＰＵ１１がプログラム１３ａに従って動作することにより、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、固定ディスク１４等が実現する機能構成を示すブロック図である。これらの機能は、部分的に専用の電気的回路が用いられてもよい。図１８に示す機能構成は、図３に示す構成から文字位置決定部２４が省かれて文字数決定部２３が文字列決定部２３ａに置き換えられ、検索部２７が追加されたものとなっている。
【００９０】
図１９は表示装置１のディスプレイ１５に表示される３Ｄオブジェクト８０に関連づけられる３Ｄウィンドウ８を示す図である。３Ｄウィンドウ８は上部にタイトルバー８２１を有し、四隅に３Ｄウィンドウ８を移動する際にマウスポインタにて指示されるアンカ８２２を有する。
【００９１】
さらに、３Ｄウィンドウ８の左右および下部には、３Ｄウィンドウ８の大きさを変更する際に指示されるリサイザ８２３が設けられ、文字列配置領域８１の右側には文字列配置領域８１に組み込まれる文字列をスクロールするためのスクロールバー８２４が設けられる。タイトルバー８２１の周囲には、３Ｄウィンドウ８に係る操作やモード設定を行うための複数のボタン８３１〜８３９が配置される。
【００９２】
図２０および図２１は、表示装置１の動作の流れを示す図である。図２０および図２１では、ディスプレイ１５に３Ｄ空間内の様子を表示する基準となる視点の位置の変更操作および３Ｄウィンドウ８に関連する操作に係る動作のみを図示している。
【００９３】
ステップＳ３１〜Ｓ３３は視点の位置の変更（すなわち、視点の移動）に係る処理に対応する。視点の移動はボタン８３５により予めモードが設定される。視点移動のモードは、図２２に示すようにボタン８３５をクリックするごとに、相対位置固定モード、画角固定モードおよび無効の間で切り替わる。なお、モードに関する情報は、動的情報１３２に含まれる。表示装置１の入力部１６が操作者による視点の移動操作を受け付けると（ステップＳ３１）、視点移動処理が行われる（ステップＳ３２）。
【００９４】
図２３は視点移動処理の詳細を示す図である。視点移動処理では、まず、操作者の指示に従って視点決定部２２が視点を３Ｄ空間内で移動する（ステップＳ３２１）。そして、相対位置固定モードの場合は（ステップＳ３２２）、配置領域決定部２１が視点の移動量だけ、すなわち、視点と同様に３Ｄ空間内の３Ｄウィンドウ８を移動するように動的情報１３２を更新する（ステップＳ３２３）。これにより、図２４に示すように、視点７が矢印７ｍだけ移動されると、３Ｄウィンドウ８（以下、適宜、文字列配置領域８１の移動として説明する。）が矢印７ｍと同様の矢印８１ｍだけ移動される。
【００９５】
その後、後述のその他の処理が行われてた上で（図２０：ステップＳ３３）、文字列決定部２３ａおよび文字組込部２５により文字列配置領域８１に組み込まれる文字列およびスタイルの決定並びに組み込みが行われ、画像生成部２６により視点からの文字列配置領域８１を含む３Ｄウィンドウ８の透視投影像が生成されてディスプレイ１５に表示される（図２１：ステップＳ７１，Ｓ７２）。
【００９６】
相対位置固定モードでは、視点と文字列配置領域８１との距離を保つように視点移動量だけ文字列配置領域８１が移動するため、視点を移動してもディスプレイ１５に表示される文字列配置領域８１内の文字の大きさが変化することはない。その結果、文字が小さくなりすぎることが抑制され、可読性が維持される。
【００９７】
相対位置固定モードは、例えば、３Ｄ空間内に多数の３Ｄオブジェクト８０が配置されて３Ｄウィンドウ８が３Ｄオブジェクト８０の背後に隠れてしまう場合に、視界中に３Ｄオブジェクト８０が少なくなるように視点を移動させる際に利用される。
【００９８】
画角固定モードの場合（図２３：ステップＳ３２４）、視点の移動に伴って（ただし、視点は視線方向にのみ移動するものとする。）、配置領域決定部２１が、文字列配置領域８１の視点からの画角が一定となるように、すなわち、視点と文字列配置領域８１との間の距離に比例して文字列配置領域８１の大きさを３次元ウィンドウ８と共に変更（拡大または縮小）する（ステップＳ３２５）。このとき、文字列決定部２３ａにより文字列配置領域８１内の文字のサイズも文字列配置領域８１の大きさに比例して変更される。
【００９９】
その後、後述のその他の処理が行われた上で（図２０：ステップＳ３３）、文字列決定部２３ａおよび文字組込部２５により文字列配置領域８１に組み込まれる文字列の決定および組み込みが行われ、画像生成部２６により視点からの３Ｄウィンドウ８の透視投影像が生成されてディスプレイ１５に表示される（図２１：ステップＳ７１，Ｓ７２）。これにより、図２５に示す状態から図２６に示す状態へと、視点７から文字列配置領域８１を見たときの角度８１ａが一定となるように文字列配置領域８１の大きさが変更される。
【０１００】
画角固定モードの場合も、文字列配置領域８１から視点が遠ざかったとしてもディスプレイ１５に表示される文字列配置領域８１の大きさおよび文字の大きさが変化しないため、文字の可読性が維持される。また、操作対象である文字列配置領域８１の見かけの大きさが変化しないため、３Ｄウィンドウ８の移動の操作性が向上される。さらに、３Ｄウィンドウ８の位置が変化しないため、３Ｄウィンドウ８と３Ｄオブジェクト８０とが離れてしまうことも防止される。
【０１０１】
相対位置固定モードおよび画角固定モードがいずれも無効とされる場合は、ステップＳ３２３，Ｓ３２５が実行されることなく、操作者の指示に応じた移動量だけ視点が移動される。
【０１０２】
次に、視点移動処理の後に行われるその他の処理（図２０：ステップＳ３３）について説明する。図２７はその他の処理の流れを示す図である。その他の処理では、まず、正対モードであるか否かが確認される（ステップＳ３３１）。正対モードは３Ｄウィンドウ８のボタン８３６により有効と無効との間で切り替え可能とされる。
【０１０３】
正対モードでは、視点決定部２２による視点の移動に伴って、配置領域決定部２１により視線方向に対して垂直となるように（または、視点と正対するように）、３Ｄ空間内の３Ｄウィンドウ８の姿勢（例えば、法線方向を示すベクトル）が変更される。これにより、図２５に示す状態から図２８に示す状態へと、視点７および視線方向７１の変更に伴って、文字列配置領域８１が視線方向７１に対して垂直となるように（または、視点７と文字列配置領域８１の中心とを結ぶ直線が文字列配置領域８１に対して垂直となるように）文字列配置領域８１の姿勢が変更される（ステップＳ３３２）。
【０１０４】
文字列配置領域８１の姿勢変更により、著しく斜めから観察した文字をディスプレイ１５に表示する必要がなくなり、画像生成部２６における演算量を低減することができるとともに操作者による文字の可読性が損なわれることも防止される。なお、相対位置固定モードまたは画角固定モードと正対モードとが併用されることにより、視点の位置や視線方向が変更されても常に操作者に一定の大きさおよび姿勢の３Ｄウィンドウ８を見せることが実現される。
【０１０５】
その他の処理では、文字列自動変更モードであるか否かも確認される（ステップＳ３３３）。文字列自動変更モードは３Ｄウィンドウ８のボタン８３７により有効と無効との間で切り替え可能とされる。文字列自動変更モードでは、視点決定部２２により視点が決定されると、文字列決定部２３ａにて視点からの３Ｄ空間内の文字列配置領域８１の透視投影像の大きさ（または、輪郭）が求められ（ステップＳ３３４）、さらに、文字列配置領域８１の透視投影像の大きさに応じた文字列と文字の大きさがが初期情報１３１から選択され、文字組込部２５にて文字列配置領域８１に組み込まれる（ステップＳ３３５）。
【０１０６】
その後、視点からの３Ｄ空間の透視投影像が求められてディスプレイ１５に表示されることにより（図２１：ステップＳ７１，Ｓ７２）、文字列配置領域８１のディスプレイ１５上の大きさに応じて変更された文字列が表示される。
【０１０７】
例えば、図２９に示すようにディスプレイ１５に表示される文字列配置領域８１が大きい場合、詳細な説明が文字列配置領域８１に組み込まれ、図３０に示すように文字列配置領域８１が小さくなると簡易な説明（例えば、要約）が文字列配置領域８１に組み込まれる。文字列配置領域８１がさらに小さくなると、図３１に示すようにさらに簡易な説明（例えば、タイトルやキーワードのみ）が文字列配置領域８１に組み込まれる。
【０１０８】
以上のように、文字列配置領域８１のディスプレイ１５上の大きさに応じて表示される文字列（すなわち、テキスト）を切り替えることにより、視点と文字列配置領域８１とが近い場合には小さい文字で多くの情報を提供することができ、視点と文字列配置領域８１とが離れている場合には大きな文字を組み込むことにより文字の可読性が向上される。
【０１０９】
また、文字列配置領域８１のディスプレイ１５上の大きさは視点と文字列配置領域８１との間の距離のみならず、文字列配置領域８１に対する視線方向も反映される。したがって、斜めから文字列配置領域８１を観察する場合も少ない文字数の文字列が文字列配置領域８１に組み込まれる。
【０１１０】
次に、図２０中のステップＳ３４〜Ｓ３６にて示される動作について説明する。入力部１６を介して操作者による３Ｄ空間内の文字列配置領域８１の位置の変更操作（具体的には、図１９中のアンカ８２２を指示して行われる３Ｄウィンドウ８の移動操作、または、ボタン８３１〜８３３による移動操作）が受け付けられると（ステップＳ３４）、３Ｄ空間内における文字列配置領域８１の移動に係る処理（以下、「配置領域移動処理」）が行われる（ステップＳ３５）。
【０１１１】
図３２および図３３は配置領域移動処理の流れを示す図である。入力部１６を介してボタン８３１が操作された場合は（ステップＳ３５１１）、配置領域決定部２１が動的情報１３２を参照して文字列配置領域８１と視点との間の距離に対する一定の割合の距離だけ文字列配置領域８１と共に３Ｄウィンドウ８を視点側（前方）へと移動する（正確には、移動後の位置が求められる。）（ステップＳ３５１２）。これにより、後続のその他の処理（図２０：ステップＳ３６（ステップＳ３３と同様である。））が実行された後に、前方へと移動された文字列配置領域８１の透視投影像がディスプレイ１５に表示されることとなる（図２１：ステップＳ７１，Ｓ７２）。
【０１１２】
一方、入力部１６を介してボタン８３２が操作された場合は（ステップＳ３５１３）、視点決定部２２にて視点位置が求められ、配置領域決定部２１が動的情報１３２を参照して文字列配置領域８１と視点との間の距離に対する一定の割合の距離だけ文字列配置領域８１と共に３Ｄウィンドウ８を視点側とは反対側（後方）へと移動する（正確には、移動後の位置が求められる。）（ステップＳ３５１４）。これにより、後続のその他の処理（図２０：ステップＳ３６）が実行された後に、後方へと移動された文字列配置領域８１の透視投影像がディスプレイ１５に表示される（図２１：ステップＳ７１，Ｓ７２）。
【０１１３】
図３４に示すように視点７と実線にて示す文字列配置領域８１が存在する場合、例えば、視点７と文字列配置領域８１との間の距離（文字列配置領域８１の法線方向の距離でもよく、視線方向に関する距離であってもよい。）を３等分した距離ごとの点８１ｂが求められ、ボタン８３１が操作されるごとに文字列配置領域８１が視点７側の点８１ｂへと移動し、ボタン８３２が操作されるごとに文字列配置領域８１が視点７とは反対側の点８１ｂへと移動する。
【０１１４】
このように、操作者の操作に応じて文字列配置領域８１の位置と視点の位置とに基づいて定められた位置へと文字列配置領域８１を移動することにより、視点と文字列配置領域８１との間の距離に基づいて操作者が意図した位置（あるいは、操作者が予め把握可能な位置）へと文字列配置領域８１を速やかに移動することができる。例えば、操作者が興味を持った文字列配置領域８１を速やかに視点に近づけることができる。
【０１１５】
なお、操作者の意図する位置として３Ｄ空間内の所定方向に所定距離だけ離れた位置、視線方向に対して垂直な水平方向に所定距離だけ離れた位置等へと文字列配置領域８１が移動されてもよい。ボタン８３１，８３２が操作されるごとに文字列配置領域８１を直線的かつ間欠的に移動させることにより、容易に操作者の意図通りに速やかに文字列配置領域８１を移動することが実現される。
【０１１６】
入力部１６を介してボタン８３３が操作された場合には（図３２：ステップＳ３５１５）、３Ｄウィンドウ８の初期位置が配置領域決定部２１により初期情報１３１から取り出され（ステップＳ３５１６）、文字列決定部２３ａおよび文字組込部２５の処理を経由して初期位置へと移動された文字列配置領域８１が３Ｄウィンドウ８と共にディスプレイ１５に表示される（図２１：ステップＳ７１，Ｓ７２）。これにより、複数回の移動が行われた文字列配置領域８１を元の位置に戻したい場合に、速やかに文字列配置領域８１を移動することができる。
【０１１７】
なお、初期位置に代えて予め操作者やデータ作成者により設定されている定位置に文字列配置領域８１が移動されてもよい。データ作成者が移動後の位置を設定する場合、所定位置に移動された文字列配置領域８１を操作者が観察することにより、関連づけられた３Ｄオブジェクト８０を所定の方向から観察するように誘導することが可能となる。
【０１１８】
図３３中のステップＳ３５２１〜Ｓ３５２５は、操作者がマウス１６ｂにてアンカ８２２を指示することにより３Ｄウィンドウ８を移動する（すなわち、文字列配置領域８１を移動する）際の表示装置１の動作の流れを示している。
【０１１９】
アンカ８２２を用いた３Ｄウィンドウ８の移動（いわゆる、ドラッグ操作による移動）のモードは、ボタン８３４をクリックすることにより切り替えられる。移動モードは図３５に示すように、正対平面移動モード、固定平面移動モード、球面移動モードの順で切り替えられる。
【０１２０】
正対平面移動モードの場合（ステップＳ３５２１）、配置領域決定部２１が図３６に示すように視点決定部２２にて決定された視線方向７１に対して垂直であって文字列配置領域８１の位置（正確には、文字列配置領域８１を配置する際の基準となる位置）を含む正対平面８１１を求め、マウス１６ｂの移動量を正対平面８１１にマッピングして移動後の文字列配置領域８１の位置を求める。これにより、実質的に矢印８１ｃにて示すように文字列配置領域８１が正対平面８１１に沿って移動される（ステップＳ３５２２）。
【０１２１】
固定平面移動モードの場合（ステップＳ３５２３）、配置領域決定部２１が初期情報１３１から予め定められた法線方向を取得し、図３７に示すように視線方向７１とは無関係な法線方向に垂直であって文字列配置領域８１の位置を含む平面８１２を求め、マウス１６ｂの移動量を平面８１２にマッピングして移動後の文字列配置領域８１の位置を求める。これにより、実質的に矢印８１ｄにて示すように文字列配置領域８１が平面８１２に沿って移動される（ステップＳ３５２４）。
【０１２２】
球面移動モードの場合は、文字列配置領域８１が動的情報１３２から３Ｄウィンドウ８に関連づけられている３Ｄオブジェクト８０の中心位置を取得し、図３８に示すように、取得された中心位置を中心として文字列配置領域８１の位置と３Ｄオブジェクト８０の中心位置との間の距離を半径とする球面８１３を求める。そして、マウス１６ｂの移動量を球面８１３にマッピングして移動後の文字列配置領域８１の位置を求める。これにより、実質的に文字列配置領域８１が球面８１３に沿って移動される（ステップＳ３５２５）。
【０１２３】
以上の各移動モードに応じた文字列配置領域８１の位置の変更が行われると（図２０：ステップＳ３５）、必要に応じてその他の処理が行われ（ステップＳ３６）、文字列決定部２３ａおよび文字組込部２５を介して画像生成部２６にて視点７からの透視投影像が生成されてディスプレイ１５に表示される（ステップＳ７１，Ｓ７２）。
【０１２４】
正対平面移動モードでは、マウス１６ｂの操作により操作者は正対する平面上にて文字列配置領域８１を移動することができるため、操作者はマウス１６ｂのポインタの移動位置に合わせて文字列配置領域８１を自然に移動していると体感することができる。したがって、文字列配置領域８１同士が重なっている状態を容易に回避することができる。
【０１２５】
一方、固定平面移動モードでは、各文字列配置領域８１が移動される平面が互いに平行となるように予め定められるため、移動により３Ｄ空間内で複数の文字列配置領域８１が衝突することが抑制される。また、各文字列配置領域８１が移動される平面は互いに重なり合わないため、３Ｄ空間内で３Ｄオブジェクト８０と文字列配置領域８１との位置関係の把握が容易となる。これにより、例えば、３Ｄ空間内に点在する複数の３Ｄオブジェクト８０のそれぞれに注釈を付与する電子カタログ等において注釈を移動する場合に特に操作性が向上される。
【０１２６】
なお、平面８１２の法線方向側に視点を移動し、既述の正対モードを併用することにより、各文字列配置領域８１を順番に移動させながら順番に閲覧することも可能となる。
【０１２７】
球面移動モードでは、３Ｄオブジェクト８０と文字列配置領域８１との間の距離が一定とされるため、マウス１６ｂの操作を誤ったとしても文字列配置領域８１が３Ｄオブジェクト８０から遠方に移動してしまうことが防止される。
【０１２８】
図２０中のステップＳ４１，Ｓ４２は、図１９中のボタン８３９が操作されることにより、３Ｄウィンドウ８の文字列配置領域８１の表示・非表示が切り替えられる動作に対応している。なお、この動作はデータ作成者の意図により有効および無効の間で切り替え可能とされており、無効とされた場合には操作者は文字列配置領域８１を消去することが不可能とされる。
【０１２９】
ボタン８３９が操作された場合（ステップＳ４１）、文字列決定部２３ａおよび文字組込部２５の動作により、３Ｄウィンドウ８は少なくともボタン８３９以外の部分が消去（すなわち、非表示）とされる（ステップＳ４２、図２１：ステップＳ７１，Ｓ７２）。再度、ボタン８３９が操作されると、文字列決定部２３ａ、文字組込部２５および画像生成部２６により消去された部分が生成（すなわち、表示）される。
【０１３０】
なお、タイトルバー８２１や文字列配置領域８１の１行目等のように文字列配置領域８１の表示内容が容易に把握可能となるように一部の表示が残されてもよい。この場合は、いわゆる、シェード機能と同様の動作が行われることとなる。具体的には、ボタン８３９が操作されると、文字列決定部２３ａにより、現在の文字列配置領域８１の大きさや組み込まれている文字列やスタイル、後述のスクロール機能が有効な場合には表示先頭行等の情報が動的情報１３２に保存される。その後、タイトルの部分以外の消去が行われる。逆に、タイトルだけの状態から全体を復元する場合には、動的情報１３２から文字列配置領域８１の大きさ、文字列やスタイル、表示先頭行等の情報等が文字列決定部２３ａに読み出され、文字組込部２５により文字列配置領域８１に文字列が組み込まれる。
【０１３１】
シェード機能における他の動作として、タイトル部分以外の文字列配置領域８１やスクロールバー８２４等の各オブジェクト（プログラム言語におけるオブジェクト）をメモリ上から消去せずに各オブジェクトの表示・非表示のみを変える（あるいは、実質的に非表示となる位置や大きさへとオブジェクトを移動または変更する）手法が採用されてもよい。これにより、シェード状態から復元する際の文字列配置領域８１、スクロールバー８２４、アンカ８２２等の位置や状態を再度求めることが不要となり、ＣＰＵ１１における演算負荷を低減することができる。
【０１３２】
表示装置１１がボタン８３９の操作を受け付ける動作（ステップＳ４１）は、実質的に、表示装置１が３Ｄ空間内の複数の文字列配置領域８１の一部の選択、および、選択された文字列配置領域８１に対する表示または非表示の指定を受け付ける動作に相当する。そして、非表示が指定された文字列配置領域８１内の少なくとも一部の文字列を非表示とすることにより（ステップＳ４２）、操作者の関心が薄い文字列配置領域８１を消去して３Ｄ空間の見通しを良好なものとすることができ、興味のある文字列配置領域８１の視認性を向上することができる。
【０１３３】
さらに、ボタン８３９の操作が行われた文字列配置領域８１に引出線等にて関連づけられている３Ｄオブジェクト８０を示す情報を図１７に示す通信網９０を介してサーバ９１へと送信する機能を追加することにより（図２１：ステップＳ７３）、サーバ９１側にて操作者が興味を有する３Ｄオブジェクト８０、あるいは、各３Ｄオブジェクト８０に対する興味の度合いを把握することができる。
【０１３４】
図２０中のステップＳ４３，Ｓ４４は、図１９中のボタン８３８が操作されることにより、３Ｄウィンドウ８の文字列配置領域８１の透明度が変更される動作に対応している。なお、この動作はデータ作成者の意図により有効および無効の間で切り替え可能とされており、無効とされた場合には操作者は文字列配置領域８１を半透明にすることが不可能とされる。
【０１３５】
ボタン８３８が操作された場合（ステップＳ４３）、文字組込部２５および画像生成部２６の動作により、３Ｄウィンドウ８のボタン８３８以外の部分の少なくとも一部が半透明とされる（ステップＳ４４、図２１：ステップＳ７１，Ｓ７２）。なお、タイトルバー８２１および表示される文字列の１行目は不透明とされてもよい。再度、ボタン８３８が操作されると、文字組込部２５および画像生成部２６により文字列配置領域８１が通常の表示へと戻される。半透明の度合いは、予め初期情報１３１に組み込まれてもよく、操作者により変更可能とされてもよい。
【０１３６】
表示装置１１がボタン８３８の操作を受け付ける動作（ステップＳ４３）は、実質的に、表示装置１が３Ｄ空間内の複数の文字列配置領域８１の一部の選択、および、選択された文字列配置領域８１に対する半透明の指定を受け付ける動作に相当する。そして、半透明が指定された文字列配置領域８１内の少なくとも一部の文字列を半透明とすることにより（ステップＳ４４）、興味のある他の文字列配置領域８１の視認性を向上することができ、かつ、３Ｄ空間内の文字列配置領域８１の配置の様子を容易に把握することが可能となる。
【０１３７】
さらに、ボタン８３８の操作が行われた文字列配置領域８１に引出線等にて関連づけられている３Ｄオブジェクト８０を示す情報を図１７に示す通信網９０を介してサーバ９１へと送信する機能を追加することにより（図２１：ステップＳ７３）、外部のサーバ９１にて操作者が興味を有する３Ｄオブジェクト８０、あるいは、各３Ｄオブジェクト８０に対する興味の度合いを把握することができる。
【０１３８】
図２１中のステップＳ５１〜Ｓ５３は、３Ｄウィンドウ８のリサイザ８２３が操作されることにより、３Ｄウィンドウ８の大きさ（すなわち、文字列配置領域８１の大きさ）が変更される際の動作に対応している。
【０１３９】
リサイザ８２３の操作が入力部１６を介して表示装置１にて受け付けられると（ステップＳ５１）、配置領域決定部２１が動的情報１３２に含まれる文字列配置領域８１の大きさおよび文字列配置領域８１内の文字列のレイアウト（１行の文字数や行数、改行位置等）を更新する（ステップＳ５２）。その後、文字列決定部２３ａおよび文字組込部２５により文字列の決定および組み込みが行われ（ステップＳ５３）、画像生成部２６の動作により３Ｄウィンドウ８の透視投影像がディスプレイ１５に表示される（ステップＳ７１，Ｓ７２）。図３９は図２９に示す状態から文字列配置領域８１が拡大されてレイアウトが更新された様子を例示している。
【０１４０】
なお、マウス１６ｂのドラッグ操作に応じて文字列配置領域８１の大きさの変更および文字列の組み込みがリアルタイムに繰り返されてもよく、ＣＰＵ１１の負荷を軽減するためにドラッグ操作完了後に文字列配置領域８１内の文字列の組み込みが行われてもよい。
【０１４１】
文字列配置領域８１の大きさが変更可能とされることにより、操作者が興味のある文字列配置領域８１を拡大して多くの文字を一度に閲覧することができる。また、拡大が行われた文字列配置領域８１に関連づけられている３Ｄオブジェクト８０を示す情報を通信網９０を介してサーバ９１へと送信する機能を追加することにより（図２１：ステップＳ７３）、外部のサーバ９１にて操作者が興味を有する３Ｄオブジェクト８０、あるいは、各３Ｄオブジェクト８０に対する興味の度合いを把握することができる。
【０１４２】
図２１中のステップＳ５４，Ｓ５５は、図１９中のスクロールバー８２４（符号８２４はスクロールバー中にて上下に操作されるスクロールタブに付されている。）が操作されることにより、文字列配置領域８１に表示される文字列（テキスト）がスクロールされる動作に対応する。
【０１４３】
スクロールバー８２４の操作が入力部１６を介して表示装置１にて受け付けられると（ステップＳ５４）、配置領域決定部２１がスクロールバー８２４の操作量および文字列配置領域８１の大きさに基づいて文字列配置領域８１に組み込まれる先頭の文字の位置（動的情報１３２に含まれる。）を更新する。具体的には、スクロールタブの移動可能範囲をスクロールタブが分割する比と、文字列全体に対応する全行を表示先頭行にて分割した比とが等しくなるように表示先頭行が変更される。
【０１４４】
そして、動的情報１３２に従って文字列決定部２３ａおよび文字組込部２５が文字列の決定および組み込みを行い、画像生成部２６の動作により３Ｄウィンドウ８の透視投影像がディスプレイ１５に表示される（ステップＳ７１，Ｓ７２）。その結果、スクロールバー８２４の操作に応じて文字列配置領域８１内に表示される文字列がスクロールされるように変更され、文字列配置領域８１に文字列全体が収まらない場合であっても、文字列全体を閲覧することが可能となる。
【０１４５】
なお、スクロールバー８２４の上下に示すスクロールボタン（図１９において三角形にて図示）が操作されることによっても文字列が上下に一定量だけ移動される。また、文字列が横組みで組み込まれる場合には、スクロールバー８２４は文字列配置領域８１の横に配置され、文字列が縦組みで組み込まれる場合には、スクロールバー８２４は文字列配置領域８１の下に配置される。
【０１４６】
また、スクロール操作が行われた３Ｄウィンドウ８に関連づけられた３Ｄオブジェクト８０の情報を通信網９０を介してサーバ９１へと送出することにより（図２１：ステップＳ７３）、操作者が興味を有する３Ｄオブジェクト８０を外部のサーバ９１にて把握することも実現される。
【０１４７】
図２１中のステップＳ６１〜Ｓ６４は、表示装置１の検索動作に対応する。検索が行われる際には、まず、操作者による検索文字列の設定が表示装置１に受け付けられる。例えば、ディスプレイ１５に別途表示されるウィンドウに検索文字列を入力することにより、検索文字列が設定される（ステップＳ６２）。
【０１４８】
次に、図１８に示す検索部２７が、現在、仮想的な３Ｄ空間内に配置されている全ての３Ｄウィンドウ８の文字列配置領域８１中に対応する文字列に対して検索を行う。すなわち、初期情報１３１に含まれる全文字列（例えば、プレーンテキストとしてレイアウト等の情報から分離して格納されている。）に対して検索を実行する（ステップＳ６３）。これにより、３Ｄ空間内に配置された複数の文字列配置領域８１のうち、検索文字列を含む文字列が組み込まれた文字列配置領域８１が特定される。
【０１４９】
次に、特定された文字列配置領域８１以外の文字列配置領域８１を有する３Ｄウィンドウ８が非表示とされる（ステップＳ６４）。これにより、例えば、図４０に例示するように１つの３Ｄオブジェクト８０に多数の文字列配置領域８１が関連づけられている場合に、図４１にて示すように検索により特定された文字列配置領域８１のみが表示される状態へと移行することができる。その結果、操作者は興味を有する文字列配置領域８１の可読性を容易に向上することが可能となる。
【０１５０】
なお、文字列配置領域８１の表示・非表示を制御するのではなく、検索により特定された文字列配置領域８１（３Ｄウィンドウ８のフレーム等でもよい。）の色が変更されてもよい。すなわち、特定された文字列配置領域８１が他の文字列配置領域８１と区別可能な状態でディスプレイ１５に表示されるのであるならば、検索結果の出力は適宜変更されてよい。
【０１５１】
＜３．　表示装置の電子カタログの閲覧への応用＞
上記第１および第２の実施の形態に係る表示装置１は３Ｄオブジェクト８０に関連づけて３Ｄウィンドウ８の表示を行う。このような表示は商品等の３次元の物体を電子的なカタログとして表示する際に特に有用である。
【０１５２】
例えば、商品である３Ｄオブジェクト８０に３Ｄウィンドウ８を用いて注釈を付与することにより、３Ｄオブジェクト８０の外見だけでは取得困難な情報を操作者が容易に取得することが可能となる。具体的には、商品の製造者、商品の操作手順、仕様詳細等の文字列が文字列配置領域８１に組み込まれる。また、表示される文字列は初期情報１３１や動的情報１３２に含まれる文字のフォント、サイズ、文字列のレイアウト等の情報に基づいて、文字組込部２５が様々な大きさや色の文字を配置するため、多彩な注釈の表示が実現される。また、文字列は文字列配置領域８１の大きさに応じて自動的に組み込まれるため、読みやすさはさらに向上される。
【０１５３】
そして、第１の実施の形態に係る表示装置１が電子カタログ閲覧に応用されることにより、可読性の向上（第１動作例）やデータ作成者の意図に従って操作者の視点の位置や視線方向を誘導すること（第２動作例）が実現される。
【０１５４】
第２の実施の形態に係る表示装置１が電子カタログ閲覧に応用される場合、視点の移動に対応した処理、文字列配置領域８１の移動範囲の制限、および、その他の操作により、商品の注釈の可読性や注釈に対する操作性が向上される。
【０１５５】
例えば、図２３に示す相対位置固定モードや画角固定モードの処理により、注釈のディスプレイ１５上の表示を固定したまま視点の位置を変更して３Ｄオブジェクト８０の表示される大きさを変更することが可能とされる。また、文字列配置領域８１に小さなサイズの文字が組み込まれることを抑制する機能を利用することにより、文字列配置領域８１を拡大表示した際に文字にジャギーが発生することも避けることができる。逆に、文字列配置領域８１を非常に拡大したとしても表示される文字の大きさを制限することにより可読性が損なわれることを防止することができる。
【０１５６】
さらに、注釈に対する操作（例えば、マウス１６ｂのドラッグ操作やクリックの場所および回数等）をサーバ９１が受信することにより（商品提供者等が別途取得可能であるならば表示装置１内に保存されるのみでもよい。）、商品提供者が操作者に興味を与えた商品、あるいは、興味の程度を把握することが実現される。
【０１５７】
なお、第１の実施の形態と第２の実施の形態とに分けて説明を行ったが、これらの実施の形態にて説明した技術は適宜、組み合わされてよい。また、ディスプレイ１５は２次元表示に限定されず、立体的な表示を行うディスプレイであってもよい。
【０１５８】
【発明の効果】
請求項１ないし３、並びに、請求項３０の発明では、文字列配置領域を斜め方向から観察する場合であっても文字の良好な視認性が実現される。
【０１５９】
請求項４および５、並びに、請求項３１の発明では、文字列配置領域に対する視線方向を変化させることにより観察可能な文字列を変更することが実現される。
【０１６０】
請求項７ないし１２、並びに、請求項３２の発明では、文字の可読性が損なわれることが抑制される。
【０１６１】
請求項１３ないし１５の発明では、文字列配置領域の操作性が向上される。
【０１６２】
請求項１６および３３の発明では、文字列配置領域が３次元オブジェクトから遠方に移動してしまうことが防止される。
【０１６３】
請求項１７ないし１９、並びに、請求項３４および３５の発明では、速やかに文字列配置領域８１を移動することができる。
【０１６４】
請求項２０ないし２２の発明では、一部の文字列配置領域の視認性を向上することができる。
【０１６５】
請求項２３および３６の発明では、文字列配置領域の大きさを変更することができ、請求項２４および３７の発明では、文字列配置領域に文字列全体が収まらない場合であっても、文字列全体を閲覧することが可能となる。
【０１６６】
請求項２６の発明では、操作者が興味を有する３次元オブジェクトを外部で把握することができる。
【０１６７】
請求項２７ないし２９、並びに、請求項３８の発明では、複数の文字列配置領域に対して検索を行うことができる。
【図面の簡単な説明】
【図１】表示装置の構成を示すブロック図である。
【図２】ディスプレイに表示される３Ｄオブジェクトおよび３Ｄウィンドウを例示する図である。
【図３】表示装置の機能構成を示す図である。
【図４】表示装置の第１の動作例を示す図である。
【図５】文字の配置位置を求める手法を説明するための図である。
【図６】文字の配置位置を求める手法を説明するための図である。
【図７】文字の配置位置を求める手法を説明するための図である。
【図８】文字列配置領域に文字列が組み込まれた様子を示す図である。
【図９】３Ｄウィンドウの表示例を示す図である。
【図１０】３Ｄウィンドウの表示例を示す図である。
【図１１】表示装置の機能構成を示す図である。
【図１２】表示装置の第２の動作例を示す図である。
【図１３】（ａ）および（ｂ）は、文字列配置領域に文字列が組み込まれた様子を示す図である。
【図１４】３Ｄオブジェクトおよび３Ｄウィンドウの表示例を示す図である。
【図１５】３Ｄオブジェクトおよび３Ｄウィンドウの表示例を示す図である。
【図１６】３Ｄオブジェクトおよび３Ｄウィンドウの表示例を示す図である。
【図１７】表示装置が通信網に接続されたシステムを示す図である。
【図１８】表示装置の機能構成を示す図である。
【図１９】３Ｄウィンドウを示す図である。
【図２０】表示装置の動作の流れを示す図である。
【図２１】表示装置の動作の流れを示す図である。
【図２２】視点の移動に係るモードの遷移を示す図である。
【図２３】視点移動処理の詳細を示す図である。
【図２４】相対位置固定モードにおける動作の様子を示す図である。
【図２５】画角固定モードにおける動作の様子を説明するための図である。
【図２６】画角固定モードにおける動作の様子を説明するための図である。
【図２７】その他の処理の流れを示す図である。
【図２８】正対モードにおける動作の様子を説明するための図である。
【図２９】文字列自動変更モードにおける動作の様子を説明するための図である。
【図３０】文字列自動変更モードにおける動作の様子を示す図である。
【図３１】文字列自動変更モードにおける動作の様子を示す図である。
【図３２】配置領域移動処理の流れを示す図である。
【図３３】配置領域移動処理の流れを示す図である。
【図３４】文字列配置領域が移動する様子を示す図である。
【図３５】文字列配置領域の移動モードの遷移を示す図である。
【図３６】正対平面移動モードにおける動作の様子を説明するための図である。
【図３７】固定平面移動モードにおける動作の様子を説明するための図である。
【図３８】球面移動モードにおける動作の様子を説明するための図である。
【図３９】拡大された文字列配置領域を示す図である。
【図４０】３Ｄ空間の様子を例示する図である。
【図４１】検索実行後の３Ｄ空間の様子を例示する図である。
【符号の説明】
１　表示装置
７　視点
１１　ＣＰＵ
１３ａ　プログラム
１５　ディスプレイ
１６　入力部
７１　視線方向
７１ａ，７１ｂ　想定視線方向
８０　３Ｄオブジェクト
８１　文字列配置領域
８０１，８０１ａ，８０１ｂ　文字
Ｓ１３〜Ｓ１８，Ｓ２２〜Ｓ２７，Ｓ３１，Ｓ３４，Ｓ４１〜Ｓ４４，Ｓ５１〜Ｓ５５，Ｓ６２〜Ｓ６４，Ｓ７１〜Ｓ７３，Ｓ３２３，Ｓ３２５，Ｓ３３２〜Ｓ３３５，Ｓ３５１２〜Ｓ３５１５，Ｓ３５２２〜Ｓ３５２５　ステップ
【図１】
2004078726.tif 000003
【図２】
2004078726.tif 000004
【図３】
2004078726.tif 000005
【図４】
2004078726.tif 000006
【図５】
2004078726.tif 000007
【図６】
2004078726.tif 000008
【図７】
2004078726.tif 000009
【図８】
2004078726.tif 000010
【図９】
2004078726.tif 000011
【図１０】
2004078726.tif 000012
【図１１】
2004078726.tif 000013
【図１２】
2004078726.tif 000014
【図１３】
2004078726.tif 000015
【図１４】
2004078726.tif 000016
【図１５】
2004078726.tif 000017
【図１６】
2004078726.tif 000018
【図１７】
2004078726.tif 000019
【図１８】
2004078726.tif 000020
【図１９】
2004078726.tif 000021
【図２０】
2004078726.tif 000022
【図２１】
2004078726.tif 000023
【図２２】
2004078726.tif 000024
【図２３】
2004078726.tif 000025
【図２４】
2004078726.tif 000026
【図２５】
2004078726.tif 000027
【図２６】
2004078726.tif 000028
【図２７】
2004078726.tif 000029
【図２８】
2004078726.tif 000030
【図２９】
2004078726.tif 000031
【図３０】
2004078726.tif 000032
【図３１】
2004078726.tif 000033
【図３２】
2004078726.tif 000034
【図３３】
2004078726.tif 000035
【図３４】
2004078726.tif 000036
【図３５】
2004078726.tif 000037
【図３６】
2004078726.tif 000038
【図３７】
2004078726.tif 000039
【図３８】
2004078726.tif 000040
【図３９】
2004078726.tif 000041
【図４０】
2004078726.tif 000042
【図４１】
2004078726.tif 000043