(57)【特許請求の範囲】
【請求項１】
表示画面上に複数のアイコンを表示するアイコン表示装置において、
前記表示画面上の、前記アイコンが表示されていない領域の点を指定する第１の指定手段と、
前記表示画面上の、前記第１の指定手段により指定された点以外の点を指定する第２の指定手段と、
前記第１の指定手段により指定された点と前記アイコンとの距離を算出する第１の算出手段と、
前記第１の指定手段により指定された点と前記第２の指定手段により指定された点との距離を算出する第２の算出手段と、
前記第１の算出手段により算出された距離が小さいアイコンほど、前記第２の算出手段により算出された距離に比例して移動距離が大きくなるように、前記アイコンの移動距離を算出する第３の算出手段と、
前記表示画面上で、前記アイコンを前記第３の算出手段により算出された移動距離だけ、かつ前記第１の指定手段により指定された点と前記第２の指定手段により指定された点とを結ぶ直線と平行に移動する移動手段と、
を備えたことを特徴とするアイコン表示装置。
【請求項２】
前記第３の算出手段により算出される移動距離は前記第１の算出手段により算出された距離が小さいほど大きくなることを特徴とする前記請求項１に記載のアイコン表示装置。
【請求項３】
前記第１の指定手段により指定される点はマウスドラッグの開始位置であることを特徴とする前記請求項１または請求項２に記載のアイコン表示装置。
【請求項４】
表示画面上に複数アイコンを表示するアイコン表示方法において、
前記表示画面上の、前記アイコンが表示されていない領域の点を指定する第１の指定工程と、
前記表示画面上の、前記第１の指定工程で指定された点以外の点を指定する第２の指定工程と、
前記第１の指定工程で指定された点と前記アイコンとの距離を算出する第１の算出工程と、
前記第１の指定工程で指定された点と前記第２の指定工程で指定された点との距離を算出する第２の算出工程と、
前記第１の算出工程で算出された距離が小さいアイコンほど、前記第２の算出工程で算出された距離にもとづいて前記アイコンの移動距離を算出する第３の算出工程と、
前記表示画面上で、前記アイコンを前記第３の算出工程で算出された移動距離だけ、かつ前記第１の指定手段により指定された点と前記第２の指定手段により指定された点とを結ぶ直線と平行に移動する移動工程と、
を含んだことを特徴とするアイコン表示方法。
【請求項５】
前記請求項４に記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、表示画面上に少なくとも一つのアイコンを表示するアイコン表示装置、アイコン表示方法およびその方法をコンピュータに実行させるプログラムに関する。
【０００２】
【従来の技術】
相互に関連を有する複数の要素、たとえば社内のある部署とそこで遂行中のプロジェクト、さらには各プロジェクトに配置された人員や各プロジェクトで作成された文書などを、図２０に示すような形でコンピュータのディスプレイに表示させることがある。
【０００３】
図中、部署やプロジェクトといった各要素はアイコンで表現され、関連のあるもの同士が直線などで連結されている。場合によっては、この直線の太さや種類が関連の強度を示すこともある。こうした図により、操作者は複数要素間の関連の様子を直感的に把握することができる。
【０００４】
【発明が解決しようとする課題】
ただ、こうした図はしばしば網羅的すぎて、目的とする箇所をすぐには探し出しにくいものであった。とくに図が大きすぎて一画面内に収まりきらない場合、マウスなどで上下左右にスクロールして上記箇所を探さなければならず、こうした試行錯誤を避けるために図全体を縮小すると、今度はアイコンや文字が潰れて見にくくなってしまうという問題点があった。
【０００５】
また、図全体のバランスがあまり良くない場合、たとえばアイコンのばらつき加減が均一でなく、ある部分は疎でありある部分は密であったような場合に、これを調整するのは容易ではなかった。すなわち、従来はアイコンを一つずつ、それぞれ違う方向や違う距離だけドラッグして試行錯誤しながら全体の均整を取るくらいしかなかったが、大きな図でアイコンの数も多くなると、この作業には非常に手間や時間がかかってしまうという問題点があった。
【０００６】
この発明は上記従来技術による問題点に鑑みてなされたものであって、複数のアイコンを相互の相対的な位置関係を変化させながら一括して移動することが可能なアイコン表示装置、アイコン表示方法およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、この発明にかかるアイコン表示装置は、表示画面上に少なくとも一つのアイコンを表示するアイコン表示装置において、前記表示画面上の、前記アイコンが表示されていない領域の点を指定する第１の指定手段と、前記表示画面上の、前記第１の指定手段により指定された点以外の点を指定する第２の指定手段と、前記第１の指定手段により指定された点と前記アイコンとの距離を算出する第１の算出手段と、前記第１の指定手段により指定された点と前記第２の指定手段により指定された点との距離を算出する第２の算出手段と、前記第１の算出手段により算出された距離および前記第２の算出手段により算出された距離にもとづいて前記アイコンの移動距離を算出する第３の算出手段と、前記表示画面上で、前記アイコンを前記第３の算出手段により算出された移動距離だけ移動する移動手段と、を備えたことを特徴とする。
【０００８】
この発明によれば、画面上の複数のアイコンは、それぞれ地べた領域内の一点（第１の指定手段により指定）から各アイコンまでの距離に依存して決定される移動距離の分だけ上記画面上を移動する。
【０００９】
また、この発明にかかるアイコン表示装置は、上記発明において、前記第３の算出手段により算出される移動距離が、前記第１の算出手段により算出された距離が小さいほど大きくなることを特徴とする。
【００１０】
この発明によれば、地べた領域内の一点からの距離が小さい（当該点に近い）アイコンほど表示画面上を大きく移動する。
【００１１】
また、この発明にかかるアイコン表示装置は、上記発明において、前記移動手段が前記表示画面上で、前記アイコンを前記第３の算出手段により算出された移動距離だけ、かつ前記第１の指定手段により指定された点と前記第２の指定手段により指定された点とを結ぶ直線と平行に移動することを特徴とする。
【００１２】
この発明によれば、画面上の複数のアイコンは、それぞれ地べた領域内の一点（第１の指定手段により指定）から各アイコンまでの距離に依存して決定される移動距離の分だけ、同一方向に沿って上記画面上を移動する。
【００１３】
また、この発明にかかるアイコン表示装置は、上記発明において、前記第１の指定手段により指定される点がマウスドラッグの開始位置であることを特徴とする。
【００１４】
この発明によれば、画面上の複数のアイコンは、それぞれドラッグ開始位置となった地べた領域内の一点（第１の指定手段により指定）から各アイコンまでの距離に依存して決定される移動距離の分だけ上記画面上を移動する。
【００１５】
また、この発明にかかるアイコン表示方法は、表示画面上に少なくとも一つのアイコンを表示するアイコン表示方法において、前記表示画面上の、前記アイコンが表示されていない領域の点を指定する第１の指定工程と、前記表示画面上の、前記第１の指定工程で指定された点以外の点を指定する第２の指定工程と、前記第１の指定工程で指定された点と前記アイコンとの距離を算出する第１の算出工程と、前記第１の指定工程で指定された点と前記第２の指定工程で指定された点との距離を算出する第２の算出工程と、前記第１の算出工程で算出された距離および前記第２の算出工程で算出された距離にもとづいて前記アイコンの移動距離を算出する第３の算出工程と、前記表示画面上で、前記アイコンを前記第３の算出工程で算出された移動距離だけ移動する移動工程と、を含んだことを特徴とする。
【００１６】
この発明によれば、画面上の複数のアイコンは、それぞれ地べた領域内の一点（第１の指定工程で指定）から各アイコンまでの距離に依存して決定される移動距離の分だけ上記画面上を移動する。
【００１７】
また、この発明にかかるプログラムは、上記に記載された方法をコンピュータに実行させることを特徴とする。
【００１８】
この発明によれば、上記に記載された方法がコンピュータにより実行される。
【００１９】
【発明の実施の形態】
以下に添付図面を参照して、この発明によるアイコン表示装置、アイコン表示方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【００２０】
（実施の形態１）
図１は、この発明の実施の形態１によるアイコン表示装置のハードウェア構成を示す説明図である。同図において、１０１は装置全体を制御するＣＰＵを、１０２は基本入出力プログラムを記憶したＲＯＭを、１０３はＣＰＵ１０１のワークエリアとして使用されるＲＡＭを、それぞれ示している。
【００２１】
また、１０４はＣＰＵ１０１の制御にしたがってＨＤ（ハードディスク）１０５に対するデータのリード／ライトを制御するＨＤＤ（ハードディスクドライブ）を、１０５はＨＤＤ１０４の制御にしたがって書き込まれたデータを記憶するＨＤを、それぞれ示している。
【００２２】
また、１０６はＣＰＵ１０１の制御にしたがってＦＤ（フレキシブルディスク）１０７に対するデータのリード／ライトを制御するＦＤＤ（フレキシブルディスクドライブ）を、１０７はＦＤＤ１０６の制御にしたがって書き込まれたデータを記憶する着脱自在のＦＤを、それぞれ示している。
【００２３】
また、１０８はカーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示するディスプレイを、１０９は通信ケーブル１１０を介してＬＡＮなどのネットワークに接続され、当該ネットワークとＣＰＵ１０１とのインターフェースとして機能するネットワークＩ／Ｆを、それぞれ示している。
【００２４】
また、１１１は文字、数値、各種指示などの入力のための複数のキーを備えたキーボードを、１１２は各種指示の選択や実行、処理対象の選択、マウスポインタの移動などをおこなうマウスを、それぞれ示している。また、１１３は着脱可能な記録媒体であるＣＤ−ＲＯＭを、１１４はＣＤ−ＲＯＭ１１３に対するデータのリードを制御するＣＤ−ＲＯＭドライブを、１００は上記各部を接続するためのバスまたはケーブルを、それぞれ示している。
【００２５】
つぎに、図２はこの発明の実施の形態１によるアイコン表示装置の機能的構成を示す説明図である。まず、２００はビュー表示部であり、図３に示すような「引きずりビュー」を表示する機能部である。このビュー表示部２００は表示対象データ記憶部２００ａと、表示位置記憶部２００ｂとを含む構成であり、表示対象データ記憶部２００ａの情報にしたがって上記ビュー上にアイコンや直線を表示するとともに、表示中のすべてのアイコンと直線との位置（たとえば、アイコンについては対角の２点、直線については両端の２点の座標）を表示位置記憶部２００ｂに保持している。
【００２６】
図４は、表示対象データ記憶部２００ａに保持される情報の一例を示す説明図である。図示するように、ここでは上記ビューにアイコンとして表示される個々の要素の詳細と、直線として表示される要素間の関連とが、ＸＭＬ形式で記述されているものとする。
【００２７】
たとえば、図４中４００の符号を付した箇所では、名称が「ｖ−ｈｏｍｅ」（図中「ｉｄ」タグ）、アイコンの種別が「ｈｏｍｅ」（図中「ｔｙｐｅ」タグ）、アイコンの表題が「先進センター」（図中「ｃａｐｔｉｏｎ」タグ）である要素が定義されており、この要素は図３のビューには、アイコン３００として現れている。また、同様に４０１の符号を付した箇所では、名称が「ｐｒｏｊｅｃｔ−０００１」、アイコンの種別が「ｆｌａｇ」、アイコンの表題が「ｘｔｒａｉｌ」である要素が定義されており、この要素は図３のビューには、アイコン３０１として現れている。
【００２８】
なお、アイコンの種別は要素の種別、たとえば部署であるかプロジェクトであるかなどに合わせて選定されているので、アイコンの種別は要素の種別と同義と考えることもできる。
【００２９】
また、図４中４０２の符号を付した箇所では、「ｖ−ｈｏｍｅ」要素を始点（図中「ｓｒｃ」タグ）、「ｐｒｏｊｅｃｔ−０００１」要素を終点（図中「ｄｓｔ」タグ）とする直線が定義されており、この直線は図３のビューには、アイコン３００と３０１とを連結する直線３０７として現れている。
【００３０】
なお、直線はその両端の要素間に関連があること、具体的には「ｓｒｃ」側の要素を上位、「ｄｓｔ」側の要素を下位とする上下関係があることを示している（逆にいえば、図４のＸＭＬファイルで直線が設定されていない要素間には関連性はない）。したがって図４のＸＭＬファイルに記述された各要素は、「ｖ−ｈｏｍｅ」を第１階層、「ｖ−ｈｏｍｅ」に関連する「ｐｒｏｊｅｃｔ−０００１」を第２階層、「ｐｒｏｊｅｃｔ−０００１」に関連する要素を第３階層・・・とする、ツリー状の階層構造を有していることになる。
【００３１】
図３に示したビューは初期状態であり、第２階層までの各要素のアイコン３０１〜３０６と、各階層間のアイコンを連結する直線３０７〜３１２のみが表示されている。
【００３２】
そして、第３階層以下の要素はこの初期状態には現れていないのであるが、第２階層のいずれかの要素のアイコンを適切な場所にドラッグすることで、当該要素に関連づけられた第３階層の要素のアイコンを表示させることができる。さらに、第３階層のアイコンをドラッグして第４階層のアイコンを、第４階層のアイコンをドラッグして第５階層のアイコンをというように、初期状態に現れない深い階層の要素のアイコンを順次表示させてゆくことができる。また、このようにして表示させた第３階層以下のアイコンを、逆にドラッグにより消去させることもできる。
【００３３】
図５は、図３のアイコン３０１（第２階層）にマウスポインタを合わせてドラッグしている途中の状態であり、十分に広い表示領域が確保できるところまで引きずり出してボタンを離すと、図６に示すようにその周囲に関連する要素のアイコン６００〜６０８（第３階層）が展開される。なお、新たに表示されたアイコンのうちいずれか、たとえばアイコン６００を図７のように同様にドラッグすると、図８に示すように関連する要素のアイコン８００〜８０４（第４階層）を表示させることができる。
【００３４】
逆に図９は、図６のアイコン３０１を十分な領域のないところまで引きずり戻している途中の状態であり、ボタンを離すとアイコン６００〜６０８が収束される（折りたたまれる）結果、図３に示した初期状態に戻る。
【００３５】
なお、アイコンをドラッグでなくダブルクリックすると、そのアイコンが表現する要素の種別に応じて、たとえば部署なら所在地・電話番号・責任者など、プロジェクトなら分野・製品名・チームメンバーなどを記述したＨＴＭＬファイルが開く。このファイルのＵＲＬ（飛び先）は、図４のＸＭＬファイルにあらかじめ記述されている（図中「ｈｒｅｆ」タグ）。
【００３６】
図１０は、この発明の実施の形態１によるアイコン表示装置の、図５〜図９で例示したアイコン展開処理およびアイコン収束処理の手順を示すフローチャートである。図２中、ビュー変更指示入力部２０１以下の各部はいずれもこのアイコンの展開・収束に関する機能部であるので、以下のフローチャートにおいて順次その機能を説明する。
【００３７】
ビュー変更指示入力部２０１は、マウス１１２から定期的に通知されるその移動方向や移動距離、左右ボタンの押下の有無などを常時監視し、とくにその左ボタンが押し込まれたことを検知すると、ビュー表示部２００内の表示位置記憶部２００ｂを参照して、その時点でのマウスポインタの位置（ボタン押下位置）にいずれかの要素のアイコンが表示中かどうかを調べる。
【００３８】
そして、上記位置にアイコンがあり、かつ当該ボタンが押し込まれた状態でマウス１１２が移動させられた場合、すなわちビュー内のいずれかのアイコンのドラッグ開始を検知した場合には（ステップＳ１００１：Ｙｅｓ）、アイコン移動部２０２にマウスポインタの現在位置と、ドラッグ対象となっているアイコンを特定できる情報（たとえば図５の例であれば、アイコン３０１で表現される要素の名称「ｐｒｏｊｅｃｔ−０００１」など）とを通知する。
【００３９】
これを受けたアイコン移動部２０２では、マウスポインタの現在位置から上記アイコンの再表示位置（移動先、といってもよい）を計算するとともに、計算した再表示位置を上述の表示位置記憶部２００ｂに書き込む。また、同時に上記アイコンに接続するすべての直線についても、再表示位置のアイコンに接続するように端点の位置を再計算して、表示位置記憶部２００ｂに書き込む。そして、ビュー表示部２００では更新された表示位置記憶部２００ｂ内の情報にしたがって、ドラッグされたアイコンとそれにつながる直線とを上記位置に再表示する（ステップＳ１００２）。
【００４０】
そして上記ドラッグの継続中は（ステップＳ１００３：Ｎｏ）、ドラッグされたアイコンとそれにつながる直線との再表示を繰り返すが、ビュー変更指示入力部２０１がドラッグの終了、すなわちマウス１１２の左ボタンが離されたことを検知すると（ステップＳ１００３：Ｙｅｓ）、つぎに領域有無判定部２０３が呼び出され、ドラッグされた要素の一つ下の階層の要素を表示できる領域があるかどうか、言い換えれば、ドラッグされたアイコンに関連するアイコンを表示できるだけの十分なスペースがビュー内にあるかどうかを判定する。
【００４１】
上記判定に先立って、領域有無判定部２０３はそもそもドラッグ対象のアイコンで表現される要素に、一つ下の階層の要素が存在するかどうかを判定する（ステップＳ１００４）。この直下の要素とは、具体的には表示対象データ記憶部２００ａに保持された図４のＸＭＬファイルで、ドラッグされた要素を「ｓｒｃ」タグに含む直線の「ｄｓｔ」タグに含まれる要素である。したがって、ドラッグされた要素を「ｓｒｃ」タグに含むような直線が上記ファイル中になければ、直下の要素は存在しないということなので（ステップＳ１００４：Ｎｏ）、そのまま本フローチャートによる処理を終了する。
【００４２】
他方、直下の要素が一つでも存在すれば（ステップＳ１００４：Ｙｅｓ）、続いて当該直下の要素がすでに表示中であるかどうかを判定する（ステップＳ１００５）。ある要素が表示中であるかどうかは、表示中のすべてのアイコンの位置を保持している表示位置記憶部２００ｂを参照すれば特定できる。
【００４３】
そして、領域有無判定部２０３は直下の要素がまだ表示されていない場合（ステップＳ１００５：Ｎｏ）、ドラッグされた要素の周囲に当該要素を展開できるだけの十分な空間（領域）があるかどうかを判定し（ステップＳ１００６）、逆に直下の要素がすでに表示されている場合は（ステップＳ１００５：Ｙｅｓ）、当該要素を収束しないで済むだけの十分な空間（領域）があるかどうかを判定する（ステップＳ１００８）。
【００４４】
図１１は、領域有無判定部２０３による表示領域の有無の判定基準を示す説明図である。十分な領域があるかどうかの判定基準は、展開の場合も収束の場合も基本的に同じである。図５〜図９からも分かるように、ある要素と当該要素に関連する一つ下の要素とは、それぞれ楕円の中央と当該楕円の外周上とに配置される（なお、この楕円の大きさはその外周上のアイコンの個数、すなわち直下の要素の個数に比例するように、所定の計算式により決定される）。
【００４５】
そこで図１１（ａ）のように、ドラッグ後のアイコン１１００を囲む楕円１１０１内に、当該アイコン以外のアイコンが存在しない（一部が楕円内に食い込むようなアイコンもない。以下同じ）場合に、領域有無判定部２０３は当該アイコンの周囲に直下のアイコンを展開できるだけの十分な領域があると判定する（ステップＳ１００６：Ｙｅｓ）。
【００４６】
そして、この判定結果を受けたアイコン展開部２０４が、新たに展開するアイコンとそれらに接続する直線との表示位置を計算のうえ、表示位置記憶部２００ｂに追記する。この更新された表示位置記憶部２００ｂの情報にもとづいて、ビュー表示部２００がビューを再表示する結果、ドラッグ後のアイコンを囲む楕円上にその直下のアイコンが新たに表示され、両者を結ぶ直線もあわせて表示される（ステップＳ１００７）。
【００４７】
また図１１（ｂ）のように、ドラッグ後のアイコン１１０２を囲む楕円１１０３内に、すでに展開されているその直下のアイコン１１０４〜１１１０以外のアイコンが存在しない場合、領域有無判定部２０３はアイコン１１０４〜１１１０を収束しないで済むだけの十分な領域があると判定する（ステップＳ１００８：Ｙｅｓ）。
【００４８】
逆に十分な領域がない場合には（ステップＳ１００８：Ｎｏ）、この判定結果を受けたアイコン収束部２０５が、当該直下のアイコン１１０４〜１１１０の情報を表示位置記憶部２００ｂから削除する。この更新された表示位置記憶部２００ｂの情報にもとづいて、ビュー表示部２００がビューを再表示する結果、ドラッグ後のアイコン１１０２の周囲のアイコン１１０４〜１１１０、および各アイコンにつながるすべての直線は消去される（ステップＳ１００９）。
【００４９】
なお、楕円内に他のアイコンが存在するかどうかの判定はやや複雑な処理であるので、実際にはより簡略化して、当該楕円に外接する矩形内に他のアイコンが存在するか否かにより、領域の有無を判定するようにしてもよい。また、アイコンは必ずしも楕円形に展開しなければならないものではなく、たとえば円形に展開するようにすれば、領域有無の判定基準も円や、当該円に外接する矩形などとなる。
【００５０】
以上説明した実施の形態１によれば、操作者はビュー内の必要な箇所だけをより詳細に開いてゆき、逆に不必要になった箇所はいつでも閉じることができる。そのため、全体としては巨大な組織図や関連図などであっても、限られた画面領域に注目している部分だけを効率的に表示させることができる。しかも、ビュー内の特定箇所を開いたり閉じたりするための操作はマウスドラッグのみであって、非常に容易かつ直感的である。
【００５１】
（実施の形態２）
さて、上述した実施の形態１における領域有無の判定基準では、図１１に示した楕円が表示可能領域からはみ出している場合にも、当該楕円内に他のアイコンがない限り十分な領域ありとされるので、たとえば図１２に示すように、あるアイコン１２００の周囲に展開されるアイコンの一部（具体的には１２０６〜１２１０）が画面からはみ出してしまうことがある。
【００５２】
これらを完全に表示させるには、はみ出しているアイコンを一つずつ画面内にドラッグするが、全体が完全に画面からはみ出ているアイコンはドラッグすることもできない。また、画面をスクロールするとこの箇所のはみ出しが解消される一方で、反対側に新たなはみ出しが発生するのを避けられない。なお、中央のアイコン１２００をドラッグしても当該アイコンが移動するだけで、その周囲のアイコン１２０１〜１２１０までつられて移動するわけではない（図１０参照）。
【００５３】
上記のほか、ビュー内のアイコンは上述のように、画面内の任意の位置に移動させることができるので、操作を繰り返すうちに図１３に示すように、画面内の特定の箇所にアイコンが集中して見づらくなってしまうことがある。この場合も、アイコンを一つずつドラッグして適度に画面内に分散させることはできるが、作業が煩雑であることのほか、展開したくないアイコンを展開してしまったり、逆に収束させたくないアイコンを収束させてしまったりといった誤操作を生じやすい。
【００５４】
そこで、以下に説明する実施の形態２のように、アイコンのない地べた領域（背景領域）をドラッグすることでその付近のアイコンをまとめて移動できるようにしてもよい。
【００５５】
実施の形態２によるアイコン表示装置のハードウェア構成は、図１に示した実施の形態１のそれと同様であるので説明を省略する。また、機能的構成も図２と同様であるが、ビュー変更指示入力部２０１およびアイコン移動部２０２が、上述の機能のほか後述するフローチャートで説明するような機能もあわせて有する点が異なっている。なお、上記以外の各部の機能は上述の通りである。
【００５６】
図１４は、実施の形態２によるアイコン移動部２０２における、アイコン位置の計算方法の原理を示す説明図である。
【００５７】
ドラッグ開始位置の周辺のアイコンを、マウスポインタと同じ方向へ同じ距離だけ移動するのであれば、アイコンの表示位置の計算には特に難しいところはない（現に実施の形態１では、ドラッグ開始位置のアイコンをマウスポインタと同じ方向へ同じ距離だけ移動している）。しかし実施の形態２では、このようなマウスポインタとアイコン、およびアイコン同士の相対的な位置関係が変化しない移動でなく、移動前と移動後とでは、それらの位置関係が変化するようなやや特殊な移動をおこなう。
【００５８】
図１４中、地べた領域の一点１４００はドラッグ開始時点、点１４０１はドラッグ終了時点でのマウスポインタの位置である。あるアイコンの移動前の中心が、ドラッグ開始位置１４００から距離ｒの点１４０２にあり、点１４００と点１４０１との距離、すなわちマウスポインタの移動距離がｐであったとすると、上記アイコンの移動後の中心は、移動前の中心１４０２からマウスポインタの移動方向と同一の方向に、距離ｌだけ離れた点１４０３となる。
【００５９】
あるいは表現を変えると、ドラッグ開始位置１４００を中心とする半径ｒの円１４０４上の一点１４０２に位置するアイコンは、マウスポインタの距離ｐだけの移動にともなって、ドラッグ開始位置１４００とドラッグ終了位置１４０１とを結ぶ直線上の、ドラッグ開始位置１４００から距離ｌだけ離れた点１４０７を中心とする、半径ｒの円１４０５上の一点１４０３に移動する、と言うこともできる。
【００６０】
なお、距離ｌの算出式は下記の通りである。
ｌ＝ｐ・（Ｒ−ｒ）／Ｒ      （０＜ｒ≦Ｒ）
ｌ＝０                      （ｒ＞Ｒ）
【００６１】
上記式から明らかなように、ドラッグ開始位置１４００からの距離ｒが小さいアイコンほど距離ｌは大きくなる。すなわち、ドラッグ開始位置１４００に近いアイコンほど大きく、遠いアイコンほど小さく移動することになる。また、ｒがＲに達するとｌ＝０となることから、ドラッグにより移動するのはドラッグ開始位置１４００を中心とする半径Ｒの円１４０６内のアイコンのみであることが分かる。
【００６２】
図１５（ａ）は移動前のアイコン群の一例、図１５（ｂ）は地べた領域のドラッグによる移動後のアイコン群の一例である。（ａ）の同心円の中心が、ドラッグ方向に沿って（ｂ）に示すようにばらけ、内側の円ほどより大きな移動となる結果、最も内側のアイコン（ドラッグ開始位置に最も近いアイコン）▲１▼▲２▼が最も大きく移動し、アイコン▲３▼▲４▼、アイコン▲５▼▲６▼と離れるにしたがって徐々に移動距離が小さくなり、ドラッグ開始位置からの距離がＲのアイコン▲７▼▲８▼になると、まったく移動しない（静止したままである）ことが分かる。
【００６３】
図１６はこの発明の実施の形態２によるアイコン表示装置の、地べた領域のドラッグによるアイコン移動処理の手順を示すフローチャートである。まず、ビュー変更指示入力部２０１はマウス１１２からその左ボタンが押し込まれたことを通知されると、その時点でのマウスポインタの位置（ボタン押下位置）を図示しない記憶領域に保存するとともに、ビュー表示部２００内の表示位置記憶部２００ｂを参照して、上記位置にいずれかの要素のアイコンが表示中かどうかを調べる。
【００６４】
そして、ボタン押下位置にアイコンがなく、かつ当該ボタンが押し込まれた状態でマウス１１２が移動させられた場合、すなわちビュー内の地べた領域の一点がドラッグされ始めたのを検知した場合には（ステップＳ１６０１：Ｙｅｓ）、アイコン移動部２０２に上記のボタン押下位置、すなわちドラッグ開始位置と、マウスポインタの現在位置とを通知する。
【００６５】
これを受けたアイコン移動部２０２では、まずドラッグ開始位置からｉ番目のアイコンまでの距離（その中心までの距離）ｒiを、ビュー内のすべてのアイコンについて計算する（ステップＳ１６０２）。
【００６６】
つぎに、アイコン移動部２０２はドラッグ開始位置からマウスポインタの現在位置までの距離ｐを計算し（ステップＳ１６０３）、ｐがＲ以下であれば（ステップＳ１６０４：Ｙｅｓ）、上述の計算式にしたがってそれぞれのアイコンの移動距離ｌiを計算する（ステップＳ１６０５）。そして、移動距離ｌiが決まれば、移動方向はマウスポインタの移動方向と同じであるので、各アイコンの移動後のｘ座標ｘiとｙ座標ｙiとを計算できる（ステップＳ１６０６）。
【００６７】
これにより各アイコンの中心位置が定まるので、アイコン移動部２０２はそこから求められる各アイコンの対角の座標、各アイコンに接続する直線の端点の座標などを表示位置記憶部２００ｂに書き込む。そして、この更新された表示位置記憶部２００ｂの情報にもとづいて、ビュー表示部２００がビューを再表示する結果、ドラッグ開始位置から距離Ｒの範囲にあったアイコンとそれにつながる直線とが、新たに計算された位置に再表示される（ステップＳ１６０７）。
【００６８】
そしてドラッグが継続されている限り（ステップＳ１６０８：Ｎｏ）、ｐの計算以降の処理を繰り返すが、ｐがＲを越えてしまった場合には（ステップＳ１６０４：Ｎｏ）、ｐを強制的にＲに落とし込むとともに（ステップＳ１６０９）、ビープ音などによるエラー通知をおこなう（ステップＳ１６１０）。
【００６９】
これは、実施の形態１でアイコンを引きずれる距離には制限がなかったのに対し、実施の形態２で地べた領域を引きずれる距離はＲに制限されることを意味している。すなわち、地べた領域にあるドラッグ開始位置からの距離がＲを越えてしまうと、どんなにマウス１１２を動かしてもマウスポインタは動かなくなり、それ以上はドラッグできないことを示すビープ音が発生するようになる。
【００７０】
以上説明した実施の形態２によれば、マウスポインタの周辺にあるアイコンをドラッグだけでまとめて移動することができるので、従来技術のようにアイコンを一つずつ移動したり、移動するアイコンを一つずつ指定したりする必要がない。
【００７１】
また、マウスポインタの現在位置は操作者が現在注目している点（フォーカス）であると仮定すると、メニューなどにいちいち視点を移動することなく、注目する箇所を見続けながら手だけを動かすことでその周辺のアイコンを移動できるので、これだけでも作業効率の向上がはかられる。
【００７２】
また、図１５（ａ）と図１５（ｂ）とを比較すると、ドラッグの前後でアイコン同士の相対的な位置関係が変化しており、（ａ）では固まっていたアイコンが（ｂ）では適度にばらけて見やすくなっている。従来技術による移動は、あくまでも移動対象物（画面内の複数のアイコン、図形、文字列など）同士の相対的位置関係を保ったままの移動だったため、図示するような、いわばゴム膜を引っ張ったときのような引き伸ばしの効果はなかった。
【００７３】
もっとも、相対位置が変わるといっても図１５からも分かるように、アイコン▲１▼はアイコン▲４▼のだいたい左横、▲８▼は右横、▲７▼は上、▲６▼は下といった、おおまかな位置関係は変わらないため、全体の文脈（コンテキスト）を維持したままの移動が可能である。実際問題として、物理的な位置関係が厳密に保たれなくてもよい図は少なくなく、だいたいの（いい加減な）操作でそれなりの効果が得られれば足りることが多い。
【００７４】
さらに、本発明ではビュー全体のバランスがいまひとつ良くない場合でも、あちこちの地べた領域を少しずつ引っ張るだけで、アイコンの配置やばらつき加減などを容易に微調整できる。
【００７５】
たとえば、図１２に示したようにアイコンの一部が画面外にはみ出ている場合、図示するマウスポインタを右下方向にドラッグすれば、図１７に示すようにはみ出していたアイコン１２０６〜１２１０を画面内へ引き寄せることができる。また、図１３に示したように画面内の一部でアイコンがごちゃついている場合、図示するマウスポインタを下方向にドラッグすれば図１８、さらに図１８のアイコン１８００の上あたりを上方向にドラッグすれば図１９というように、表示中の図を任意の方向へ徐々に引き伸ばしてゆくことができる。
【００７６】
なお、ここでは関連する要素のアイコン同士が直線で連結されるようなビューにおいて、地べた領域のドラッグによる複数アイコンの一括移動をおこなったが、本発明は上記ビューに限らず、複数のアイコンやマーク、点・円・矩形などの図形、文字や文字列などが画面内に分散しているビューであれば何であっても応用可能である。
【００７７】
また、アイコン位置の計算式は上述のものに限らず、ドラッグ開始位置からの距離が小さいアイコンほど大きく移動するような結果が得られるのであれば、どのような計算式を採用するのであってもよい。さらに、ここでは移動距離だけをアイコンごとに変化させるようにしたが（すなわち、移動方向はどのアイコンも共通）、これに限らず移動方向もアイコンごとに異ならせるようにしてもよい。
【００７８】
なお、上述したビュー変更指示入力部２０１が請求項にいう「第１の指定手段」および「第２の指定手段」を兼ね、そのおこなう処理に請求項にいう「第１の指定工程」および「第２の指定工程」が含まれる。また、アイコン移動部２０２が請求項にいう「第１の算出手段」「第２の算出手段」および「第３の算出手段」を兼ね、そのおこなう処理に請求項にいう「第１の算出工程」「第２の算出工程」および「第３の算出工程」が含まれる。また、アイコン移動部２０２による処理結果を受けてビューを再表示するビュー表示部２００が、請求項にいう「移動手段」に相当し、そのおこなう処理に請求項にいう「移動工程」が含まれる。
【００７９】
なお、上述したビュー表示部２００、ビュー変更指示入力部２０１、アイコン移動部２０２、領域有無判定部２０３、アイコン展開部２０４およびアイコン収束部２０５は、それぞれＨＤ１０５などからＲＡＭ１０３に読み出されたプログラムの命令にしたがってＣＰＵ１０１が命令処理を実行することにより、各部の機能を実現するものである。このプログラムはＨＤ１０５のほか、ＦＤ１０７、ＣＤ−ＲＯＭ１１３あるいはＭＯなどの各種記録媒体に格納することができ、あるいはネットワークを介して配布することもできる。
【００８０】
【発明の効果】
以上説明したようにこの発明は、表示画面上に少なくとも一つのアイコンを表示するアイコン表示装置において、前記表示画面上の、前記アイコンが表示されていない領域の点を指定する第１の指定手段と、前記表示画面上の、前記第１の指定手段により指定された点以外の点を指定する第２の指定手段と、前記第１の指定手段により指定された点と前記アイコンとの距離を算出する第１の算出手段と、前記第１の指定手段により指定された点と前記第２の指定手段により指定された点との距離を算出する第２の算出手段と、前記第１の算出手段により算出された距離および前記第２の算出手段により算出された距離にもとづいて前記アイコンの移動距離を算出する第３の算出手段と、前記表示画面上で、前記アイコンを前記第３の算出手段により算出された移動距離だけ移動する移動手段と、を備えたので、画面上の複数のアイコンは、それぞれ地べた領域内の一点（第１の指定手段により指定）から各アイコンまでの距離に依存して決定される移動距離の分だけ上記画面上を移動することになり、これによって、複数のアイコンを相互の相対的な位置関係を変化させながら一括して移動することが可能なアイコン表示装置が得られるという効果を奏する。
【００８１】
また、この発明は、上記に記載の発明において、前記第３の算出手段により算出される移動距離が、前記第１の算出手段により算出された距離が小さいほど大きくなるので、地べた領域内の一点からの距離が小さい（当該点に近い）アイコンほど表示画面上を大きく移動することになり、これによって、複数のアイコンを相互の相対的な位置関係を変化させながら一括して移動することが可能なアイコン表示装置が得られるという効果を奏する。
【００８２】
また、この発明は、上記発明において、前記移動手段が前記表示画面上で、前記アイコンを前記第３の算出手段により算出された移動距離だけ、かつ前記第１の指定手段により指定された点と前記第２の指定手段により指定された点とを結ぶ直線と平行に移動するので、画面上の複数のアイコンは、それぞれ地べた領域内の一点（第１の指定手段により指定）から各アイコンまでの距離に依存して決定される移動距離の分だけ、同一方向に沿って上記画面上を移動することになり、これによって、複数のアイコンを相互の相対的な位置関係を変化させながら一括して移動することが可能なアイコン表示装置が得られるという効果を奏する。
【００８３】
また、この発明は、上記に記載の発明において、前記第１の指定手段により指定される点がマウスドラッグの開始位置であるので、画面上の複数のアイコンは、それぞれドラッグ開始位置となった地べた領域内の一点（第１の指定手段により指定）から各アイコンまでの距離に依存して決定される移動距離の分だけ上記画面上を移動することになり、これによって、複数のアイコンを相互の相対的な位置関係を変化させながら一括して移動することが可能なアイコン表示装置が得られるという効果を奏する。
【００８４】
また、この発明は、表示画面上に少なくとも一つのアイコンを表示するアイコン表示方法において、前記表示画面上の、前記アイコンが表示されていない領域の点を指定する第１の指定工程と、前記表示画面上の、前記第１の指定工程で指定された点以外の点を指定する第２の指定工程と、前記第１の指定工程で指定された点と前記アイコンとの距離を算出する第１の算出工程と、前記第１の指定工程で指定された点と前記第２の指定工程で指定された点との距離を算出する第２の算出工程と、前記第１の算出工程で算出された距離および前記第２の算出工程で算出された距離にもとづいて前記アイコンの移動距離を算出する第３の算出工程と、前記表示画面上で、前記アイコンを前記第３の算出工程で算出された移動距離だけ移動する移動工程と、を含んだので、画面上の複数のアイコンは、それぞれ地べた領域内の一点（第１の指定工程で指定）から各アイコンまでの距離に依存して決定される移動距離の分だけ上記画面上を移動することになり、これによって、複数のアイコンを相互の相対的な位置関係を変化させながら一括して移動することが可能なアイコン表示方法が得られるという効果を奏する。
【００８５】
また、この発明によれば、このに記載された方法をコンピュータに実行させることが可能なプログラムが得られるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態によるアイコン表示装置のハードウェア構成を示す説明図である。
【図２】この発明の実施の形態によるアイコン表示装置の機能的構成を示す説明図である。
【図３】ビュー表示部２００により表示される「引きずりビュー」の一例(初期状態）を示す説明図である。
【図４】表示対象データ記憶部２００ａに保持されるデータの一例を示す説明図である。
【図５】第２階層のアイコンを引き出し中の「引きずりビュー」の一例を示す説明図である。
【図６】第３階層のアイコンが展開された状態の「引きずりビュー」の一例を示す説明図である。
【図７】第３階層のアイコンを引き出し中の「引きずりビュー」の一例を示す説明図である。
【図８】第４階層のアイコンが展開された状態の「引きずりビュー」の一例を示す説明図である。
【図９】第２階層のアイコンを引き戻し中の「引きずりビュー」の一例を示す説明図である。
【図１０】アイコン展開処理およびアイコン収束処理の手順を示すフローチャートである。
【図１１】領域有無判定部２０３による表示領域の有無の判定基準を示す説明図である。
【図１２】アイコンの一部が画面外にはみ出した状態の「引きずりビュー」の一例を示す説明図である。
【図１３】アイコンが画面内の一部に集中した状態の「引きずりビュー」の一例を示す説明図である。
【図１４】アイコン移動部２０２によるアイコン位置の計算方法の原理を示す説明図である。
【図１５】地べた領域のドラッグによる移動前後のアイコン群の一例を示す説明図である。
【図１６】地べた領域のドラッグによるアイコン移動処理の手順を示すフローチャートである。
【図１７】図１２で画面外にはみ出していたアイコンを画面内に引き寄せた状態の「引きずりビュー」の一例を示す説明図である。
【図１８】図１３で固まっていたアイコンを下方向に引き伸ばした状態の「引きずりビュー」の一例を示す説明図である。
【図１９】図１８で固まっていたアイコンをさらに上方向に引き伸ばした状態の「引きずりビュー」の一例を示す説明図である。
【図２０】複数の要素の関連性を表示するための従来技術のＵＩの一例を示す説明図である。
【符号の説明】
１００  バスまたはケーブル
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＨＤＤ
１０５  ＨＤ
１０６  ＦＤＤ
１０７  ＦＤ
１０８  ディスプレイ
１０９  ネットワークＩ／Ｆ
１１０  通信ケーブル
１１１  キーボード
１１２  マウス
１１３  ＣＤ−ＲＯＭ
１１４  ＣＤ−ＲＯＭドライブ
２００  ビュー表示部
２００ａ  表示対象データ記憶部
２００ｂ  表示位置記憶部
２０１  ビュー変更指示入力部
２０２  アイコン移動部
２０３  領域有無判定部
２０４  アイコン展開部
２０５  アイコン収束部
【図１】
0003730923.tif 000002
【図２】
0003730923.tif 000003
【図３】
0003730923.tif 000004
【図４】
0003730923.tif 000005
【図５】
0003730923.tif 000006
【図６】
0003730923.tif 000007
【図７】
0003730923.tif 000008
【図８】
0003730923.tif 000009
【図９】
0003730923.tif 000010
【図１０】
0003730923.tif 000011
【図１１】
0003730923.tif 000012
【図１２】
0003730923.tif 000013
【図１３】
0003730923.tif 000014
【図１４】
0003730923.tif 000015
【図１５】
0003730923.tif 000016
【図１６】
0003730923.tif 000017
【図１７】
0003730923.tif 000018
【図１８】
0003730923.tif 000019
【図１９】
0003730923.tif 000020
【図２０】
0003730923.tif 000021