(57)【要約】【課題】入力デバイスにおいて、デジタル機器上に表現されている空間内の点を、正確に指定し、かつユーザにとって操作や学習が容易な方法によって指定し、空間内の点、或いは空間内の２点を結ぶ線に関する情報を表示するための技術を提供する。【解決手段】空間内の指定された入力位置に対象物体を表示し、表示された対象物体の少なくとも一部のみを拡大表示するための局所拡大指示を受付け、当該局所拡大指示に応答して、空間全体の拡大表示はせずに対象物体の少なくとも一部のみを拡大し、当該局所拡大処理によって表示された局所拡大領域において、対象物体の移動指示に応答して対象物体の位置を微調整する。【選択図】図３
2013120560.tif 000002
【特許請求の範囲】
【請求項１】
表示された図面或いは地図によって表現される空間内の指定された位置に対象物体を位置合わせする情報処理システムであって、
前記図面或いは地図の情報を格納するメモリと、
前記メモリから前記図面或いは地図を読み出し、それによって表現される空間を表示装置の表示画面上に表示する制御部と、
前記空間内において指定された入力位置を検知する位置指示センサと、を有し、
前記制御部は、前記空間内の前記指定された入力位置に前記対象物体を表示する対象物体表示処理と、前記表示された対象物体の少なくとも一部のみを拡大表示するための局所拡大指示を受付け、当該局所拡大指示に応答して、前記空間全体の拡大表示はせずに前記対象物体の少なくとも一部のみを拡大する局所拡大表示処理と、当該局所拡大処理によって表示された局所拡大領域において、前記対象物体の移動指示に応答して前記対象物体の位置を微調整する位置微調整処理と、を実行することを特徴とする情報処理システム。
【請求項２】
請求項１において、
前記制御部は、指示に従って前記空間として前記地図を表示し、前記対象物体表示処理において、指示に従って前記対象物体として所定の幅及び長さを有する帯状物体を前記空間内に表示し、前記局所拡大表示処理において、前記帯状物体の端部のみを局所拡大表示し、前記位置微調整処理の後、さらに前記帯状物体の長さを２点間の距離として算出することを特徴とする情報処理システム。
【請求項３】
請求項２において、
前記制御部は、前記帯状物体を伸縮させることにより前記２点における位置合わせを行うことを特徴とする情報処理システム。
【請求項４】
請求項１において、
前記位置指示センサが、前記局所拡大領域内における前記空間内の図形の端部を含む領域が入力位置として指示されたことを検知すると、前記制御部は、前記局所拡大領域内において、前記図形の端部に前記対象物体を移動させることを特徴とする情報処理システム。
【請求項５】
請求項４において、
前記図形の端部は、前記図形の頂点又は前記図形を構成する線分であり、
前記図形の端部を含む領域が前記線分を含む場合には、前記制御部は、前記図形の端部を含む領域の中心と前記線分との最短距離を取る前記線分上の位置に前記対象物体を移動させることを特徴とする情報処理システム。
【請求項６】
情報処理システムにおいて、表示された図面或いは地図によって表現される空間内の指定された位置に対象物体を位置合わせする情報処理方法であって、
前記情報処理システムは、前記図面或いは地図の情報を格納するメモリと、前記メモリから前記図面或いは地図を読み出し、それによって表現される空間を表示装置の表示画面上に表示する制御部と、前記空間内において指定された入力位置を検知する位置指示センサと、を有し、
前記情報処理方法は、
前記制御部が、前記空間内の前記指定された入力位置に前記対象物体を表示する対象物体表示処理ステップと、
前記制御部が、前記表示された対象物体の少なくとも一部のみを拡大表示するための局所拡大指示を受付け、当該局所拡大指示に応答して、前記空間全体の拡大表示はせずに前記対象物体の少なくとも一部のみを拡大する局所拡大処理ステップと、
前記制御部が、前記局所拡大表示処理によって表示された局所拡大領域において、前記対象物体の移動指示に応答して前記対象物体の位置を微調整する位置微調整処理ステップと、
を有することを特徴とする情報処理方法。
【請求項７】
請求項６において、
前記制御部は、指示に従って前記空間として前記地図を表示し、
前記対象物体表示処理ステップにおいて、前記制御部は、指示に従って前記対象物体として所定の幅及び長さを有する帯状物体を前記空間内に表示し、
前記局所拡大表示処理において、前記制御部は、前記帯状物体の端部のみを局所拡大表示し、
前記情報処理方法は、さらに、前記制御部が、前記位置微調整処理ステップを実行した後に、前記帯状物体の長さを２点間の距離として算出する距離算出ステップを有することを特徴とする情報処理方法。
【請求項８】
請求項７において、
前記制御部は、前記帯状物体を伸縮させることにより前記２点における位置合わせを行うことを特徴とする情報処理方法。
【請求項９】
請求項６において、
前記位置微調整処理ステップにおいて、前記位置指示センサが、前記局所拡大領域内における前記空間内の図形の端部を含む領域が入力位置として指示されたことを検知すると、前記制御部は、前記局所拡大領域内において、前記図形の端部に前記対象物体を移動させることを特徴とする情報処理方法。
【請求項１０】
請求項９において、
前記図形の端部は、前記図形の頂点又は前記図形を構成する線分であり、
前記位置微調整処理ステップにおいて、前記図形の端部を含む領域が前記線分を含む場合には、前記制御部は、前記図形の端部を含む領域の中心と前記線分との最短距離を取る前記線分上の位置に前記対象物体を移動させることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、及び情報処理方法に関し、例えば、図面や地図等に表現される空間をデジタル機器に表現し、その空間内の２点および２点を結ぶ線に関する情報を表示する方法に関するものである。
【背景技術】
【０００２】
ＣＡＤシステムやＧＩＳシステムに代表される、図面や地図をデジタル機器に表示するシステムにおいて、空間内の２点の距離を表示することは、頻繁に使用される重要な機能の一つである。
【０００３】
従来、２点間の距離を測りたい場合には、マウスやデジタイザー、ペン型デバイスなどを用いて空間上の２点の位置を指定し、デジタル機器がそれを計算して結果を表示する、というユーザインタフェースが用いられてきた。この方法の長所はシステムの実装が容易であることである。マウス等の入力デバイスが直接２点の座標値を与えるため、あとは距離を計算するだけで実装できる。この方法の短所は、ユーザが１回で正確な場所をマウス等を用いて指定できる、という前提に立っていることである。正確な場所を指定するために、ユーザは細心の注意を払って操作することが求められる。間違えた場合は、始めからもう一度やり直しする必要がある。
【０００４】
上述の２点間距離を測定する方法として、例えば、特許文献１及び２等に開示されたものがある。パーソナルコンピュータ上で動作する多くのソフトウェアがマウスを前提として設計されている。そこで、特許文献１及び２では、それらのソフトウェアをタッチデバイス向けに変更するのではなく、タッチデバイスでもユーザが操作を行えるように、タッチデバイスに新しい操作方法を追加するようにしている。これによってマウスと同等の操作ができるようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２８５２４号公報
【特許文献２】特開２００７−２９９３８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、マルチタッチと呼ばれる、指で画面をなぞることによりユーザがデジタル機器を操作でき、また２本以上の指で同時に画面に触れることによって、１本指で操作した場合とは異なる操作をすることが可能な入力デバイスが普及し始めている。この入力デバイスの特徴は、画面に直接触れるために、画面上に表現されている物体に対して直接自分が操作しているという実感が得られることと、１回の指の動きで画面上に表現されている物体に対して様々な種類の操作ができることである。
【０００７】
しかしながら、マルチタッチにおける画面に対しての指の接触は、点というよりは面的である。このため、画面を構成する画素の精細さと比較して、指で触れている面積が大きくなる。従って、ユーザは、マルチタッチを用いても、画素と同じ精細さで位置を指定することができない。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、マルチタッチデバイスのような、画面上に直接触れて操作できる入力デバイスにおいて、デジタル機器上に表現されている空間内の点を、正確に指定し、かつユーザにとって操作や学習が容易な方法によって指定し、空間内の点、或いは空間内の２点を結ぶ線に関する情報を表示するための技術を提供するものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、表示された図面或いは地図によって表現される空間内の指定された位置に対象物体を位置合わせする情報処理システムを提供する。当該情報システムは、図面或いは地図の情報を格納するメモリと、メモリから図面或いは地図を読み出し、それによって表現される空間を表示装置の表示画面上に表示する制御部と、空間内において指定された入力位置を検知する位置指示センサと、を有している。そして、制御部は、空間内の前記指定された入力位置に対象物体を表示する対象物体表示処理と、表示された対象物体の少なくとも一部のみを拡大表示するための局所拡大指示を受付け、当該局所拡大指示に応答して、空間全体の拡大表示はせずに対象物体の少なくとも一部のみを拡大する局所拡大処理と、当該局所拡大処理によって表示された局所拡大領域において、対象物体の移動指示に応答して対象物体の位置を微調整する位置微調整処理と、を実行する。
【００１０】
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【００１１】
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【００１２】
本発明によれば、入力デバイスにおいて、表示されている空間の所定の位置に、正確に物体を位置合わせすることができるようになる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態による情報処理システムの概略構成を示す図である。
【図２】本発明の実施形態において、図面または地図の上に、道具を表示した画面表示の例を示す図である。
【図３】本発明の実施形態において、拡大表示領域を表示させた画面表示の例を示す図である。
【図４】本発明の実施形態における、図形の端に道具の位置を合わせる過程を示す図である。
【図５】本実施形態による図面制御部１１３の状態遷移図である。
【図６】本実施形態による画面領域変更処理の詳細を説明するためのフローチャートである。
【図７】本実施形態による道具制御部１１４の状態遷移図である。
【図８】本実施形態による道具移動処理の詳細を説明するためのフローチャートである。
【図９】本実施形態による拡大領域内移動処理の詳細を説明するためのフローチャートである。
【図１０】本実施形態による位置合わせ処理の詳細を説明するためのフローチャートである。
【図１１】本実施形態による情報表示部１１６の状態遷移図である。
【発明を実施するための形態】
【００１４】
本発明は、マルチタッチデバイスのような、画面上に直接触れて操作できる入力デバイスにおいて、デジタル機器（以下、情報処理システムともいう）上に表現されている空間内の２点を正確かつユーザにとって操作や学習が容易な方法によって指定し、空間内の２点および２点を結ぶ線に関する情報を表示するためのユーザインタフェースと方法を提供する。このため、当該ユーザインタフェースと方法は、図面や地図の情報を表示した画面に物差し等の測定器を模した半透明の物体（以後、道具とも称する）を重ね合わせて表し、物体の移動、回転、伸縮を操作し、物体の両端の２点から位置を取得し、２点および２点を結ぶ線から得られる情報を計算する。なお、本発明は、２点間の距離のみならず、１つの対象物体の正確な位置合わせを実現する手段として用いることも可能である。
【００１５】
以下では、主に、本発明を適用した空間内の２点および２点を結ぶ線に関する情報を表示するためのユーザインタフェースを備えたシステムを例に挙げて本発明の実施形態について説明する。
【００１６】
＜動作概要＞
図２乃至４を参照して、本発明の実施形態において実行される処理の動作概要について説明する。
【００１７】
図２は、画面２０１上に図面を表示し、その上に半透明の物差し２０２を重ね合わせて表示させた状態を表している。この図では、２つの物体の距離を測ろうとしている。なお、表示物体としては、物差しでなくても良く、ユーザが間隔として捕らえ易い形状のもの（帯状のもの）であれば良い。そのような意味で、当該半透明の物体を測定用ツール表示、或いは、後述のように単に物体を地図表示や他の図形上に位置合わせをして配置する場合には、「位置合わせ対象表示」や単に「対象物体」等と表現することもできる。また、このような表示（物差し）は、例えば、図示しないメニューから物差し（或いは位置合わせ対象の物体のアイコン）をユーザが選択すると、画面２０１上に表示されるようになっている。
【００１８】
ユーザは２本の指を使い、物差し２０２の左側と右側をそれぞれ２つの物体の測定したい箇所に位置合わせすることにより、物差しが伸縮・回転し、長さを表示させることができる。点線枠２１１（実際には画面２０１上には表示されない）で示した領域を指で押したまま上下左右にすべらせると、その動きに追従して物差しの左側（正確には物差しの始点２１２）が移動する。同様に、点線枠２２１で示した領域を指で押したまま上下左右にすべらせると、その動きに追従して物差しの右側（正確には物差しの終点２２２）が移動する。この図では、始点２１２と終点２２２を結んだ線分の長さを物差し上に４２．４ｍｍと表示（表示領域２０３）している。表示場所は自由であり、画面の隅の別の表示領域に表示することもできる。また、物差しの始点２１２の座標値が始点座標値表示領域２１３に、物差しの終点２２２の座標値が終点座標値表示領域２２３にそれぞれ表示されている。この表示によって、ユーザは自分が指し示した位置を数値で把握できる。図では２次元の座標（Ｘ，Ｙ）を表示しているが、図面が３次元座標空間上にある場合は、３次元の座標（Ｘ，Ｙ，Ｚ）を表示する。
【００１９】
図３は、図面上でさらに細かく位置を指定するために、拡大表示領域を出した状態を表している。本実施形態では、指で物差しの端をある一定時間以上押した状態が続いた場合に、拡大表示領域が出るようになっている。これは、上述の操作で物差し３０２（図２の２０２に相当）を大まかな位置に合わせた後、しばらくそこで指を押したまま静止した場合に拡大表示領域が表示されるようになっている。拡大表示領域３１３が表示された後に指を画面３０１（図２の２０１に相当）から離しても当該拡大表示領域３１３が画面上から消えることはない。また、拡大表示領域３１３には、物差しの端部３１４が拡大表示され、その物差しの端部３１４を指で移動させることで、元の画面よりも細かい精度で測定位置を変更させることができる。この拡大表示領域３１３により、ユーザは画面を切り替えることなく、細かい位置を指定することが可能になる。画面３０１全体を拡大表示するという考え方もあるが、このようにすると、画面３０１上に物差し３０３の一部しか表示されず、物差し３０３全体の位置関係が分かりにくくなってしまう。そこで、拡大表示領域３１３を別途表示することで物差し３０３の全体的な位置関係を把握しつつ、物差し３０３の端部の位置を正確に微調整することが可能となる。
【００２０】
図４は、拡大表示領域４０１（図３の３１３に相当）を表示した状態で、さらに図面に表示されている図形４０３の端を指で１回押して離す操作が検出された場合に、図形の端の位置が正確に計算され、測定位置がその位置に設定される過程を表している。この機能により、幾何学的に計算が可能な位置については、正確に計算された位置に測定位置を合わせることが可能になる。詳細については後述する。
【００２１】
＜システム構成＞
図１は、本発明の実施形態による情報処理システム（デジタル機器）１００の概略構成を示す図である。当該情報処理システム１００は、空間内の２点および２点を結ぶ線に関する情報を表示するためのユーザインタフェースを備えるデジタル機器であり、制御部１１０と、図面や地図を表示する表示装置１２０と、指やペンが指し示した場所を感知することができる位置指示センサ１３０と、プログラムやデータを保存する外部記憶装置１４０と、を有している。なお、本実施形態では、情報処理システム１００は１つのデジタル機器として構成する態様が示されているが、表示装置１２０および位置指示センサ１３０の少なくとも１つを別の機器に切り離し、シンクライアント技術やウェブ技術を使って、クライアントの操作のすべてまたは一部をサーバ側で解釈し、処理する構成としてもよい。また、外部記憶装置１４０内のデータやプログラムのすべてまたは一部を別の機器に格納し、通信手段を用いて取得してもよい。また、描画処理の高速化のために、グラフィック処理装置（ＧＰＵ）と主記憶装置とは別の記憶装置を設ける構成でもよい。
【００２２】
表示装置１２０は、ディスプレイ装置、プロジェクション装置、フラットパネルディスプレイ、電子ペーパー、などで構成される。一般に、表示装置１２０では、表示面に規則的に大量に並ぶ画素（ピクセル）から目に向かう光を制御することによって、様々な形状の文字や図を視覚的に表現することが可能となっている。
【００２３】
位置指示センサ１３０は、指やペン等により指し示された場所を感知できるセンサである。このようなセンサとしては、抵抗膜方式、静電容量方式、超音波方式、赤外線などの電磁波を用いる方式、可視光域や赤外線のカメラを用いる方式など様々なものがある。また、位置指示センサ１３０として、表示装置１２０の表示面に重ねて利用するものと、表示装置１２０とは別の場所に置くものを用いることができるが、本実施形態では、ユーザが物体に対して操作している実感を得られやすいように、表示装置１２０の表示面に直接指示することのできる位置指示センサであることが望ましい。現在は、指でタッチパネル上を触れて利用するものが一般的である。将来は、指や腕を使った比較的大きな体の動作（ジェスチャー、身振り手振り）をカメラや電磁波センサ、センサ付きグローブやモーションセンサ、ジャイロセンサなどで検知し、画面上の位置を指し示すセンサも有望視されている。本実施形態において、位置指示センサ１３０は、少なくとも位置入力開始、位置入力継続、位置入力終了の３つの状態コードと、付属する情報としてセンサ面における座標位置（Ｘ，Ｙ）を出力するものとする。また、位置指示センサ１３０は、同時に２つ以上の位置を検知し、出力できるように構成されている。例えば、ユーザがタッチパネル上の点Ｐ０（ｘ０，ｙ０）を１本の指で押し、Ｐ１（ｘ１，ｙ１）〜Ｐｎ（ｘｎ，ｙｎ）で表されるｎ個の点を通ってＰｅ（ｘｅ，ｙｅ）に到達したところで指を離した場合、タッチパネルからの出力は、１回の位置入力開始データ（座標＝（ｘ０，ｙ０））、ｎ個の位置入力継続データ（座標＝（ｘ１，ｙ１）〜（ｘｎ，ｙｎ））、１個の位置入力終了データ（座標＝（ｘｅ，ｙｅ））が出力される。一方、同時に２つの位置入力がある場合は、これらのデータが入力位置数分出力される。例えば、ある時点において、入力点数は２点であり、第１点は位置入力開始状態、座標＝（ｘ１，ｙ１）、第２点は位置入力継続状態、座標＝（ｘ２，ｙ２）、のようになる。ただし、各座標値が、どちらの指に属しているか、複数人による操作かどうか、という情報はなくてもよい。位置指示センサ１３０からの入力は、表示装置１２０の画素の位置を表す座標系と位置指示センサ１３０の入力位置の座標系が異なる場合には、このデジタル機器１００の設計時に、もしくは、表示装置１２０と位置指示センサ１３０が個々に設置・設定を要するものである場合には、その設置・設定時に、位置指示センサ１３０の座標を表示装置１２０の座標に変換するための式（一般には線形行列を１つ以上用いたもの）が提供される。以後、位置指示センサ１３０から出力された座標値は、適切に表示装置１２０の座標系に合わせて変換されるものとする。
【００２４】
外部記憶装置１４０は、デジタル機器１００の電源を切った状態でもデジタル機器１００の動作に必要なプログラムやデータを長時間記憶させておく装置であり、制御部１１０のプログラム、基本プログラム（オペレーティングシステム）、図面データや地図データが格納される。
【００２５】
制御部１１０は、中央演算処理装置１１１と主記憶装置１１２を備えており、主記憶装置１１２に格納されたプログラムに基づいて中央演算処理装置１１１が処理を実行することで、図面制御部１１３と、道具制御部１１４と、情報取得・計算部１１５と、情報表示部１１６を機能させることができるように構成されている。以下、各機能部１１３〜１１６について説明する。
【００２６】
＜図面制御部による処理＞
図面制御部１１３は、位置指示センサ１３０からの入力を契機として状態が変化する有限状態機械（オートマトン）として表すことができ、図面制御処理を状態遷移図で表すと図５のようになる。この状態遷移図では、各状態が四角形で、状態の遷移が矢印で表されている。静止状態５０１は、センサからの入力信号がない状態を示しており、この状態では、画面上に図面または地図が表示されている。図面制御部１１３が位置入力開始を検知すると、［領域変更開始］の状態遷移によって領域変更状態５０２に状態を遷移させる。領域変更状態５０２である間に、図面制御部１１３は、さらに位置入力継続を検知すると、［領域変更量入力］状態遷移によって領域変更状態５０２を継続するとともに、図６に示される画面領域変更処理を実行する。領域変更状態５０２において位置入力終了を検知すると、［領域変更終了］状態遷移によって静止状態５０１に戻る。
【００２７】
＜画面領域変更処理＞
図６は、図面制御部１１３が実行する画面領域変更処理について説明するためのフローチャートである。
【００２８】
ステップ６０１において、図面制御部１１３は、位置指示センサ１３０から入力位置を取得する。
【００２９】
ステップ６０２において、図面制御部１１３は、入力位置が図面部分（物差し表示領域以外：例えば、図２の図形２１４や２２４の部分）の領域に含まれるか、それ以外の部分（例えば、後述の道具表示部分（物差しが表示されている部分））の領域に含まれるかを判定する。入力位置が図面部分以外の場合（ステップ６０２でＮｏの場合）、図面制御部１１３は、画面領域変更処理を行わない。入力位置が図面部分である場合（ステップ６０２でＹｅｓの場合）、図面制御部１１３は、処理をステップ６０３に移行させる。
【００３０】
ステップ６０３において、図面制御部１１３は、入力位置が複数同時にあるかどうかを判定する。入力位置が複数同時にあった場合（ステップ６０３でＹｅｓの場合）、処理は、ステップ６０４に移行し、入力位置が１つのみの場合（ステップ６０３でＮｏの場合）、処理はステップ６０５に移行する。
【００３１】
ステップ６０４において、図面制御部１１３は、以下に示す拡大・縮小の割合に従って画面（図２おける２０１に相当）を拡大・縮小させる。まず、移動前の２箇所の入力位置座標をそれぞれ（ｘ１，ｙ１）と（ｘ２，ｙ２）、移動後の２箇所の入力位置座標を（ｘ３，ｙ３）と（ｘ４，ｙ４）とし、（ｘ１，ｙ１）と（ｘ２，ｙ２）を囲み、位置指示センサ１３０が定義する座標軸に平行な四辺で構成される最小の隣接矩形Ｒ１、同様に（ｘ３，ｙ３）と（ｘ４，ｙ４）を囲み、位置指示センサ１３０が定義する座標軸に平行な四辺で構成される最小の隣接矩形Ｒ２を考える。ユーザが意図している拡大・縮小の割合は、この２つの矩形の比であると近似できる。よって、上述の２つの隣接矩形の対角線Ｌ１、Ｌ２を求め、その長さの比Ｌ２／Ｌ１を画面表示領域の拡大率とすることにより、２本の指で広げた分だけ、画面表示領域内の図面を拡大させる（あるいは指で縮めた分だけ図面を縮小させる）ことができる。
【００３２】
一方、入力位置が一箇所のみであった場合、ステップ６０５において、図面制御部１１３は、画面の中で図面を次のように求められる移動量に従って上下左右に平行移動させる。つまり、移動量について、最初の入力位置座標を（ｘ１，ｙ１）、移動後の入力座標を（ｘ２，ｙ２）とすると、Ｘ軸方向にｘ２−ｘ１、Ｙ軸方向にｙ２−ｙ１とすることができる。従って、この移動量の分、画面に表示されている図面の位置を移動させることにより、ユーザが指し示した方向に指し示した移動量だけ図面を平行移動させることができる。
【００３３】
＜道具制御部による処理＞
道具制御部１１４が実行する処理についても、位置指示センサ１３０からの入力を契機として状態が変化する有限状態機械（オートマトン）として表すことができる。図７は、このような道具制御部１１４による処理の状態遷移図を示している。
【００３４】
図７において、静止状態７０１は、位置センサ１３０からの入力信号がない状態を示している。この状態では、図２のように、図面または地図の上に、道具（本実施形態では「物差し」を模した物体）２０２が表示されている。
【００３５】
位置指示センサ１３０から位置入力開始を検知すると、道具制御部１１４は、［道具移動開始］の状態遷移によって道具移動状態７０２に遷移させる。道具移動状態７０２である間に、道具制御部１１４は、さらに位置入力継続を検知すると、［道具移動量入力］状態遷移によって道具移動状態７０２を継続させるとともに、図８に示される道具移動処理を実行する。
【００３６】
道具移動状態７０２において位置入力終了を検知すると、道具制御部１１４は、［道具移動終了］状態遷移によって状態を止状態７０１に戻す。
【００３７】
一方、道具移動状態７０２において、位置入力継続でかつ入力位置の座標がほとんど変わらない状態が一定時間続いたと検知された場合、道具制御部１１４は、［拡大表示開始］状態遷移によって拡大表示状態７０３に状態を遷移させる。拡大表示状態７０３は、位置入力終了を検知しても継続する。また、拡大表示状態７０３は、拡大表示領域（図３の３１３）以外の場所で位置入力開始を検知したときに、道具制御部１１４は、［拡大表示終了］状態遷移によって静止状態７０１に状態を戻す。拡大表示状態７０３である間、拡大表示領域に表示されている道具部分で位置入力開始を検知すると、道具制御部１１４は、拡大表示領域内移動状態７０４に遷移させる。さらに、拡大表示状態７０３である間に、拡大表示領域に表示されている道具部分で位置入力開始、およびそれに続いて位置入力継続を検知すると、道具制御部１１４は、［拡大表示領域内移動量入力］状態遷移によって拡大表示領域内移動状態７０４を継続するとともに、図９に示される拡大領域内移動処理を実行する。
【００３８】
拡大表示状態７０３である間、拡大表示領域に表示されている図面部分で位置入力開始を検知すると、道具制御部１１４は、［位置合わせ開始］状態遷移によって位置合わせ状態７０５に状態を遷移させる。位置合わせ状態７０５において、位置入力終了を検知すると、道具制御部１１４は、［位置合わせ終了］状態遷移によって状態を拡大表示状態７０３に遷移させるとともに、図１０に示される位置合わせ処理を実行する。
【００３９】
＜道具移動処理＞
図８は、道具制御部１１４が実行する道具移動処理の詳細について説明するためのフローチャートである。
【００４０】
まずステップ８０１において、道具制御部１１４は、位置指示センサ１３０から入力位置を取得する。
【００４１】
ステップ８０２において、道具制御部１１４は、その入力位置が道具部分か、それ以外の部分（例えば、図面部分）かを判定する。記入力位置が道具部分以外の場合には、道具制御部１１４は、これ以上処理を行わず、道具移動処理を終了する。入力位置が道具部分である場合は、道具制御部１１４は、処理をステップ８０３に移行させる。
【００４２】
ステップ８０３では、道具制御部１１４は、入力位置が複数同時にあるかどうかを判定する。入力位置が複数同時にある場合（ステップ８０３でＹｅｓの場合）、処理はステップ８０４に移行する。入力位置が１つの場合（ステップ８０３でＮｏの場合）、処理はステップ８０５に移行する。
【００４３】
ステップ８０４において、道具制御部１１４は、以下で求める移動量にしたがって道具の始点と終点を移動させる（結果として、道具の始点と終点は２本の指で指示した方向に移動することになり、指示の方向により、平行移動、伸縮、回転、またはその組み合わせになる）。つまり、移動量は、道具の始点と終点に対してそれぞれ求められる。まず、道具制御部１１４は、道具の始点側にある入力位置と、道具の終点側にある入力位置を取得する。道具の片側しか入力位置が得られなかった場合は、処理は行われない。道具の両側の入力位置が得られた場合は、道具の始点側の移動量は移動前の入力位置を（ｘ１，ｙ１）、移動後の入力位置を（ｘ２，ｙ２）とすると、道具制御部１１４は、Ｘ軸方向にｘ２−ｘ１、Ｙ軸方向にｙ２−ｙ１だけ道具の始点の位置を移動させる。これにより、ユーザが指し示した方向に指し示した移動量だけ道具の始点側を平行移動させることができる。同様に、道具の終点側の移動量について、移動前の入力位置を（ｘ３，ｙ３）、移動後の入力位置を（ｘ４，ｙ４）とすると、道具制御部１１４は、Ｘ軸方向にｘ４−ｘ３、Ｙ軸方向にｙ４−ｙ３だけ、道具の終点の位置を移動させる。これにより、ユーザが指し示した方向に指し示した移動量だけ道具の終点側を平行移動させることができる。
【００４４】
入力位置が１箇所であった場合は、ステップ８０５において、道具制御部１１４は、入力位置が道具のどの部分であるかを判定する。具体的には、道具の領域を始点側、終点側、中間部分の３つに分割して判定する。道具の長さが、指で正確に指定できる大きさの３倍よりも小さい場合には、道具の領域は２分割され、始点側か終点側かで判定するようにしても良い。入力位置が道具の始点側である場合は、ステップ８０６において、道具制御部１１４は、次の移動量に従って道具の始点側を平行移動させる。つまり、道具の始点側の移動量は移動前の入力位置を（ｘ１，ｙ１）、移動後の入力位置を（ｘ２，ｙ２）とすると、Ｘ軸方向にｘ２−ｘ１、Ｙ軸方向にｙ２−ｙ１だけ、道具の始点の位置を移動させる。これにより、ユーザが指し示した方向に指し示した移動量だけ道具の始点側を平行移動させることができる。同様に、入力位置が道具の終点側である場合は、ステップ８０８において、道具制御部１１４は、次の移動量に従って道具の終点側を平行移動する。つまり、道具の終点側の移動量について、移動前の入力位置を（ｘ３，ｙ３）、移動後の入力位置を（ｘ４，ｙ４）とすると、道具制御部１１４は、Ｘ軸方向にｘ４−ｘ３、Ｙ軸方向にｙ４−ｙ３だけ、道具の終点の位置を移動させる。これにより、ユーザが指し示した方向に指し示した移動量だけ道具の終点側を平行移動させることができる。さらに、入力位置が道具の中間部分である場合には、ステップ８０７において、道具制御部１１４は、次の移動量に従って道具の始点側と終点側の両方を平行移動する。つまり、道具の中間部分の移動量は移動前の入力位置を（ｘ５，ｙ５）、移動後の入力位置を（ｘ６，ｙ６）とすると、道具制御部１１４は、Ｘ軸方向にｘ６−ｘ５、Ｙ軸方向にｙ６−ｙ５だけ道具の始点および終点の位置を移動させる。これにより、ユーザが指し示した方向に指し示した移動量だけ道具を平行移動させることができる。
【００４５】
ステップ８０４、ステップ８０６、ステップ８０７、或いはステップ８０８において道具を移動した後、ステップ８０９において、道具制御部１１４は、道具の２点（始点・終点）と２点を結ぶ線に関する情報の表示を更新する。このとき、後述の情報取得・計算部１１５を実行して表示する情報の取得と計算を行い、それから後述の情報表示部１１６を実行して画面上に表示する情報を更新する。
【００４６】
＜拡大領域内移動処理＞
図９は、道具制御部１１４が実行する拡大領域内移動処理の詳細について説明するためのフローチャートである。
【００４７】
まずステップ９０１において、道具制御部１１４は、位置指示センサ１３０から入力位置の情報を取得する。
【００４８】
ステップ９０２において、道具制御部１１４は、その入力位置が拡大領域内の道具部分か、それ以外の部分（例えば、図面部分）かを判定し、入力位置が拡大領域内の道具部分以外の場合（ステップ９０２でＮｏの場合）はそれ処理を行わず、拡大領域内移動処理を終了する。入力位置が拡大領域内の道具部分である場合（ステップ９０２でＹｅｓの場合）は、処理をステップ９０３に移行させる。
【００４９】
ステップ９０３において、道具制御部１１４は、拡大表示領域によって拡大されている場所が道具（例えば、物差し）の始点側、終点側のどちらなのかを判定する。拡大表示領域が拡大している場所が道具の始点側の場合には、処理はステップ９０４に移行し、終点側の場合には、処理はステップ９０５に移行する。
【００５０】
ステップ９０４において、道具制御部１１４は、次の移動量に従って道具の始点側を平行移動する。つまり、拡大表示領域の拡大率をＳとし、道具の始点側の移動量について移動前の入力位置を（ｘ１，ｙ１）、移動後の入力位置を（ｘ２，ｙ２）とすると、道具制御部１１４は、Ｘ軸方向に（ｘ２−ｘ１）／Ｓ、Ｙ軸方向に（ｙ２−ｙ１）／Ｓだけ、道具の始点の位置を移動させる。これにより、ユーザが指し示した方向に指し示した移動量だけ道具の始点側を平行移動させることができる。
【００５１】
同様に、拡大表示領域が拡大している場所が道具の終点側の場合、ステップ９０５において、道具制御部１１４は、次の移動量に従って道具の終点側を平行移動する。つまり、拡大表示領域の拡大率をＳとし、道具の終点側の移動量について移動前の入力位置を（ｘ３，ｙ３）、移動後の入力位置を（ｘ４，ｙ４）とすると、道具制御部１１４は、Ｘ軸方向に（ｘ４−ｘ３）／Ｓ、Ｙ軸方向に（ｙ４−ｙ３）／Ｓだけ、道具の終点の位置を移動させる。これにより、ユーザが指し示した方向に指し示した移動量だけ道具の終点側を平行移動させることができる。
【００５２】
ステップ９０４またはステップ９０５において道具を移動した後、ステップ９０６において、道具制御部１１４は、道具の２点（始点・終点）と２点を結ぶ線に関する情報の表示を更新する。具体的には、後述の情報取得・計算部１１５を実行して表示する情報の取得と計算を行い、それから後述の情報表示部１１６を実行して画面上に表示する情報を更新することになる。
【００５３】
＜位置あわせ処理＞
図１０は、道具制御部１１４が実行する位置合わせ処理の詳細について説明するためのフローチャートである。
【００５４】
まずステップ１００１において、道具制御部１１４は、位置指示センサ１３０から入力位置を取得する。
【００５５】
ステップ１００２において、道具制御部１１４は、その入力位置が拡大領域内の図面部分か、それ以外の部分（例えば、道具部分）かを判定し、入力位置が拡大領域内の図面部分以外の場合（ステップ１００２でＮｏの場合）はそれ処理を行わず、位置合わせ処理を終了させる。つまり、この場合には、図９の処理が実行されることになる。入力位置が拡大領域内の図面部分である場合（ステップ１００２でＹｅｓの場合）は、処理はステップ１００３に移行する。
【００５６】
ステップ１００３において、道具制御部１１４は、図面の図形を構成する頂点の中で、入力位置と重なる点があるかどうかを判定する。指での入力位置の指定は一定の領域によって行われるため、重なり判定をする際には、指で正確に指示できる最小の範囲を考慮し、入力位置をその範囲分膨らませてから判定する（つまり、ピンポイントの入力位置ではなく、一定の面積を持つ領域で入力位置が指定されたものとする）。入力位置と重なる頂点がある場合（ステップ１００３でＹｅｓの場合）には、処理はステップ１００４に移行し、重なる点がない場合（ステップ１００３でＮｏの場合）、処理はステップ１００５に移行する。
【００５７】
ステップ１００４において、道具制御部１１４は、拡大表示領域が表示している側の道具の端点（始点または終点）をその頂点の図面上の座標と一致させる。これによって、道具の端点が図形の頂点に正確に重なる動作を実現できる。
【００５８】
ステップ１００３で入力位置と重なる点がないと判定された場合には、ステップ１００５において、道具制御部１１４は、図面の図形を構成する線分の中で、入力位置と重なるものがあるかどうかを判定する。上述同様、重なり判定の際には、指で正確に指示できる最小の範囲を考慮し、入力位置をその範囲分膨らませてから判定する。入力位置（入力領域）と重なる線分がある場合（ステップ１００５でＹｅｓの場合）、処理はステップ１００６に移行し、重なる線分がない場合（ステップ１００５でＮｏの場合）には、位置合わせ処理は終了する。
【００５９】
ステップ１００６において、道具制御部１１４は、入力位置（入力領域）の中心から最も近い線分を取得し、当該線分上にあり入力位置からもっとも近い点（中心から線分に対して垂線を下ろした場合に、その距離が最短となる線分上の点）を計算する。そして、道具制御部１１４は、その点を、拡大表示領域が表示している側の道具の端点（始点または終点）を算出した点の図面上の座標と一致させる。これによって、道具の端点が図形の線分に正確に接する動作を実現できる。
【００６０】
ステップ１００４またはステップ１００６において道具を移動した後、ステップ１００７において、道具制御部１１４は、道具の２点（始点・終点）と２点を結ぶ線に関する情報の表示を更新する。具体的には、後述の情報取得・計算部１１５を実行して表示する情報の取得と計算を行い、それから後述の情報表示部１１６を実行して画面上に表示する情報を更新する。
【００６１】
＜情報取得・計算部の処理概要＞
情報取得・計算部１１５は、道具の始点、終点の座標値を取得し、表示する情報を計算する。本実施例では、直交座標系における２点間の距離を求める。２点間の距離は、道具の始点を（ｘ１，ｙ１）、終点を（ｘ２，ｙ２）とすると、
2013120560.tif 000003
で表される。地図データを表示した場合は、大圏コース（地球上の２点間の距離を求めること）を求めるなど、別のアルゴリズムを用いてもよい（地図上で２点間の線分を引いてもそれが実際の最短距離に相当するとは限らないため、上記式とは別のアルゴリズムが必要となる）。
【００６２】
＜情報表示部の処理概要＞
情報表示部１１６は、情報取得・計算部１１５で求めた情報を用いて、当該情報を画面上に表示する機能を提供する。本実施形態においては、情報表示部１１６は例えば３つの情報を表示する。すなわち、道具の端点（始点・終点）２点間の距離、道具の始点の座標値、道具の終点の座標値である。
【００６３】
情報表示部１１６は、道具制御部１１４における状態遷移を契機として状態が変化する有限状態機械として表すことができ、状態遷移図で表すと図１１のようになる。
【００６４】
図１１において、静止状態１１０１は、道具制御部において静止状態７０１にある状態を示し、図２のように、２点間の距離は表示領域２０３、道具の始点の座標値は表示領域２１３、道具の終点の座標値は表示領域２２３に表示される。道具制御部１１４において［拡大表示開始］の状態遷移が生じたときに、情報表示部１１６は［拡大表示開始］状態遷移によって拡大表示状態１１０２に遷移する。拡大表示状態においては、図３のように、２点間の距離は表示領域３０３、道具の拡大表示されている方の端点の座標値は表示領域３１１、道具の拡大表示されていない方の端点の座標値は表示領域３２１に表示される。情報表示部１１６が拡大表示状態であるときに、道具制御部１１４において［拡大表示終了］状態遷移が生じたときに、情報表示部１１６は［拡大表示終了］状態遷移によって静止状態１１０１に遷移する。
【００６５】
＜他の実施形態＞
第１の実施形態では、本発明を地図上の２点間の距離を求めることに適用していたが、アイコン等の対象物体を地図や図形上に所定の位置に配置して位置合わせすることにも適用できる。この場合にも、第１の実施形態と同様に、ユーザの指示により、制御部１１０が表示された地図や図形上に対象物体を配置する。また、ユーザによる対象物体の近傍領域のみを拡大表示する指示（指示の与え方は第１の実施形態と同様である）に応答して、制御部１１０は、当該対象物体の近傍領域のみを拡大表示する。そして、ユーザの入力に従って、制御部１１０は、当該拡大表示した領域（局所拡大領域）において対象物体の位置を微調整する。微調整の方法については、図３、４、及び１０で示す方法が用いられる。
【００６６】
＜まとめ＞
（１）本発明は、２次元および３次元の図面データや地図データを表示するシステムに利用できる。
【００６７】
（２）本発明では、制御部（プロセッサということも可能である）は、図形や地図が表示された空間内でユーザによって指定された入力位置に対象物体を表示する対象物体表示処理と、表示された対象物体の少なくとも一部（アイコン（対象物体）の位置合わせの場合にはそのアイコン全体、物差しの場合には物差しの左端部分或いは右端部分）のみを拡大表示するための局所拡大指示を受付け、当該局所拡大指示に応答して、空間全体の拡大表示はせずに対象物体の少なくとも一部のみを拡大する局所拡大処理と、当該局所拡大処理によって表示された局所拡大領域において、対象物体の移動指示に応答して対象物体の位置を微調整する位置微調整処理と、を実行する。このようにすることにより、表示空間において対象物体の位置合わせを、ユーザがストレスを感じることなく、正確にすることが可能となる。
【００６８】
なお、物差し表示を用いて２点間の長さや距離を求める場合、制御部は、対象物体表示処理において、指示に従って対象物体として所定の幅及び長さを有する帯状物体（例えば、半透明の物差し物体）を空間内に表示し、局所拡大表示処理において、帯状物体の端部のみを局所拡大表示し、位置微調整処理の後、さらに帯状物体の長さを２点間の距離として算出する。このように、空間内の２点および２点を結ぶ線に関する情報を表示すると、（i）画面上を指で触れて操作する入力デバイスのように、入力デバイスからは画面上の正確な位置を直接入力できないデバイスを使ったデジタル機器においても、空間上の位置を正確に指定することが可能になる、（ii）１回の操作で正確な位置を入力することを要求しないため、ユーザにとって操作負荷が少ない、（iii）別の位置に対して同様の操作を繰り返すときに、前回の状態を利用できるため、始めからやり直す方法に比べて操作が容易で誤りが少ない、及び（iv）実世界で物の長さや距離を測る感覚を画面上に表示した物体に対する指での直接操作で表現しており、操作方法を体得するのが容易である、等の効果を期待することができる。
【００６９】
また、微調整処理において、位置指示センサが、局所拡大領域内における空間内の図形の端部を含む領域（指による入力の場合、指は一定の領域を持ち、ピンポイントで位置を指示することができないため）が入力位置としてユーザにより指示されたことを検知すると、制御部は、局所拡大領域内において、図形の端部に対象物体を移動させる。ここで、図形の端部は、図形の頂点又は図形を構成する線分が対応する。この際、図形の端部を含む領域が線分を含む（指で指示される領域に線分が含まれる）場合には、制御部は、図形の端部を含む領域の中心と線分との最短距離を取る線分上の位置（指の領域の中心から線分に垂線を下ろしたときの交点）に対象物体を移動させる。このようにすることにより、ユーザは入力位置についての細かく正確な操作をすることなく、正確な位置合わせを実現することが可能となる。
【００７０】
（３）本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００７１】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００７２】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【００７３】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【００７４】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【００７５】
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。記述された実施形態の多様な態様及び／又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
【符号の説明】
【００７６】
１００…デジタル機器（情報処理システム）、１１０…制御部、１１１…中央演算処理装置、１１２…主記憶装置、１１３…図面制御部、１１４…道具制御部、１１５…情報取得・計算部、１１６…情報表示部、２０１…画面、２０２…道具、２０３…道具の２点から計算された情報の表示領域、２１１…道具の始点を移動するときに指示を開始する部分（点線枠）、２１２…道具の始点、２１３…道具の始点の座標の表示領域（始点座標値表示領域）、２１４…画面に表示されている図形１、２２１…道具の終点を移動するときに指示を開始する部分、２２２…道具の終点、２２３…道具の終点の座標の表示領域（終点座標値表示領域）、２２４…画面に表示されている図形２、３０１…拡大表示領域を表示した画面、３０２…道具、３１１…道具の始点の座標の表示領域（拡大表示領域が表示された状態）、３１２…画面に表示されている図形１、３１３…拡大表示領域（円形）、３１４…拡大表示領域内に表示された道具、３１５…拡大表示領域内に表示された図形１、３２１…道具の終点の座標の表示領域、３２２…画面に表示されている図形２、４０１…拡大表示領域（位置合わせ処理前）、４０２…道具（位置合わせ処理前）、４０３…拡大表示領域内に表示された図形１、４０４…位置合わせにおいて図形の頂点に合わせるために検知されることが必要な指示領域、４１１…拡大表示領域（位置合わせ処理後）、４１２…道具（位置合わせ処理後）、４１３…拡大表示領域内に表示された図形１
【図１】
2013120560.tif 000004
【図２】
2013120560.tif 000005
【図３】
2013120560.tif 000006
【図４】
2013120560.tif 000007
【図５】
2013120560.tif 000008
【図６】
2013120560.tif 000009
【図７】
2013120560.tif 000010
【図８】
2013120560.tif 000011
【図９】
2013120560.tif 000012
【図１０】
2013120560.tif 000013
【図１１】
2013120560.tif 000014