地図を表示するディスプレイ上での所定の経路を示す経路線を前記ディスプレイに表示し、ユーザによるスクロールのための前記ディスプレイ上でのドラッグ操作に応じて前記経路線を移動させ、前記ディスプレイに表示されていない前記経路線の他の部分を表示させる表示制御装置であって、前記ディスプレイ上でドラッグ操作されたときのドラッグ速度及び前記ドラッグ操作に基づいてドラッグされた方向を検出する検出手段と、検出された前記方向のベクトルの大きさとして、検出された前記ドラッグ速度に基づいて、前記スクロールが開始された際の前記ディスプレイに表示された地点が前記スクロールにより移動した距離を算出する算出手段と、前記ディスプレイ上での位置を指し示すカーソルが前記経路線上のみ移動可能とされる制限スクロールの場合、算出された前記距離分に相当する大きさを有する前記検出された方向のベクトルを、前記経路線に平行な方向のベクトルとして投影させる投影手段と、投影されたベクトルの大きさの分だけ、かつ投影されたベクトルと逆方向に前記経路線を移動させて前記経路線を表示する表示制御手段とを、備える表示制御装置。現在表示されている表示倍率での前記経路線の傾き方向を示すベクトルを代表ベクトルとする場合、前記代表ベクトルに対して、前記ユーザの前記ドラッグ操作が所定の第1の操作であるか否かを判断する判断手段と、前記所定の第1の操作であると判断された場合、前記制限スクロールによる表示制御を解除し、前記スクロールを、前記カーソルの移動を前記経路線上以外も可能とさせる自由スクロールに切り替える切替手段とを更に備え、前記判断手段が、前記経路線の表示制御が前記自由スクロールの場合、前記代表ベクトルに対して、前記ユーザの前記ドラッグ操作が所定の第2の操作であるか否かを判断し、前記所定の第2の操作であると判断した場合、前記切替手段は、前記スクロールを、前記自由スクロールから前記制限スクロールに切り替える請求項1に記載の表示制御装置。前記代表ベクトルを算出する代表ベクトル算出手段を更に備え、前記代表ベクトル算出手段は、現在の前記経路線の表示制御が前記制限スクロールによるものである場合には、前記カーソルからの前記経路線上における所定の範囲内にある地点の座標情報及び前記カーソルのある地点の座標情報と、現在表示されている表示倍率の情報とを取得し、前記各地点における前記経路線を示す微小ベクトルに、前記表示倍率に応じた所定の関数値を掛け合わせて前記代表ベクトルを算出し、現在の前記経路線の表示制御が前記自由スクロールによるものである場合には、前記カーソルから最も近い位置にある前記経路線上の地点を基準点とし、前記基準点からの前記経路線上における所定の範囲内にある地点の座標情報及び前記基準点の座標情報と、現在表示されている表示倍率の情報とを取得し、前記各地点における前記経路線を示す微小ベクトルに、前記表示倍率に応じた所定の関数値を掛け合わせて前記代表ベクトルを算出する請求項2に記載の表示制御装置。前記所定の関数値は、窓関数による値及び/又は重み関数による値である請求項3に記載の表示制御装置。前記所定の第1の操作は、前記代表ベクトルに対して略垂直方向の向きにドラッグする操作であり、前記所定の第2の操作は、前記代表ベクトルに対して略平行方向の向きにドラッグする操作である請求項2から4のいずれか1つに記載の表示制御装置。前記経路線の表示制御が前記制限スクロールの場合で、前記ドラッグ操作を所定の入力デバイスを用いて行う場合、前記入力デバイスを介した前記ユーザの入力方向と、前記代表ベクトルの方向とが所定の関係にある場合に、前記入力デバイスに対して振動及び/又は反発力を与えるデバイス制御手段を更に備える請求項2から5のいずれか1つに記載の表示制御装置。前記経路線の表示制御が前記制限スクロールで、前記ドラッグ操作を所定の入力デバイスを用いて行う場合であって、現在表示されている表示倍率での前記経路線の傾き方向を示すベクトルを代表ベクトルとする場合、前記投影手段が、前記入力デバイスを介した前記ユーザの入力方向のベクトルと、所定の時間前の前記ユーザの入力方向のベクトルとの差分を取った差分方向ベクトルを前記代表ベクトルに投影させ、前記差分方向ベクトルから投影された投影ベクトルを差し引いたベクトルの成分の値が所定の値より大きい場合に、前記制限スクロールを、前記カーソルの移動を前記経路線上以外にも可能とさせる自由スクロールに切り替える切替手段を更に備える請求項1に記載の表示制御装置。前記切替手段は、前記経路線の表示制御が前記自由スクロールの場合であって、前記所定の入力デバイスを介した前記ドラッグ操作による前記カーソルの速度が所定の速度より遅く、かつ前記カーソルと前記ディスプレイ上に表示された前記経路線との距離が所定の距離より短い場合に、前記自由スクロールを前記制限スクロールに切り替える請求項7に記載の表示制御装置。前記入力デバイスを介した前記ユーザの入力方向と、前記代表ベクトルの方向とが所定の関係にある場合に、前記入力デバイスに対して振動及び/又は反発力を与えるデバイス制御手段を更に備える請求項7に記載の表示制御装置。地図を表示するディスプレイ上での所定の経路を示す経路線を前記ディスプレイに表示し、ユーザによるスクロールのための前記ディスプレイ上でのドラッグ操作に応じて前記経路線を移動させ、前記ディスプレイに表示されていない前記経路線の他の部分を表示させる表示制御方法であって、前記ディスプレイ上でドラッグ操作されたときのドラッグ速度及び前記ドラッグ操作に基づいてドラッグされた方向を検出する検出ステップと、検出された前記方向のベクトルの大きさとして、検出された前記ドラッグ速度に基づいて、前記スクロールが開始された際の前記ディスプレイに表示された地点が前記スクロールにより移動した距離を算出する算出ステップと、前記ディスプレイ上での位置を指し示すカーソルが前記経路線上のみ移動可能とされる制限スクロールの場合、算出された前記距離分に相当する大きさを有する前記検出された方向のベクトルを、前記経路線に平行な方向のベクトルとして投影させる投影ステップと、投影されたベクトルの大きさの分だけ、かつ投影されたベクトルと逆方向に前記経路線を移動させて前記経路線を表示する表示制御ステップとを、有する表示制御方法。現在表示されている表示倍率での前記経路線の傾き方向を示すベクトルを代表ベクトルとする場合、前記代表ベクトルに対して、前記ユーザの前記ドラッグ操作が所定の第1の操作であるか否かを判断する判断ステップと、前記所定の第1の操作であると判断された場合、前記制限スクロールによる表示制御を解除し、前記スクロールを、前記カーソルの移動を前記経路線上以外も可能とさせる自由スクロールに切り替える切替ステップとを更に有し、前記経路線の表示制御が前記自由スクロールの場合、前記代表ベクトルに対して、前記ユーザの前記ドラッグ操作が所定の第2の操作であるか否かを判断し、前記所定の第2の操作であると判断した場合、前記スクロールを、前記自由スクロールから前記制限スクロールに切り替える請求項10に記載の表示制御方法。前記代表ベクトルを算出する代表ベクトル算出ステップを更に備え、前記代表ベクトル算出ステップでは、現在の前記経路線の表示制御が前記制限スクロールによるものである場合には、前記カーソルからの前記経路線上における所定の範囲内にある地点の座標情報及び前記カーソルのある地点の座標情報と、現在表示されている表示倍率の情報とを取得し、前記各地点における前記経路線を示す微小ベクトルに、前記表示倍率に応じた所定の関数値を掛け合わせて前記代表ベクトルを算出し、現在の前記経路線の表示制御が前記自由スクロールによるものである場合には、前記カーソルから最も近い位置にある前記経路線上の地点を基準点とし、前記基準点からの前記経路線上における所定の範囲内にある地点の座標情報及び前記基準点の座標情報と、現在表示されている表示倍率の情報とを取得し、前記各地点における前記経路線を示す微小ベクトルに、前記表示倍率に応じた所定の関数値を掛け合わせて前記代表ベクトルを算出する請求項11に記載の表示制御方法。前記所定の関数値は、窓関数による値及び/又は重み関数による値である請求項12に記載の表示制御方法。前記所定の第1の操作は、前記代表ベクトルに対して略垂直方向の向きにドラッグする操作であり、前記所定の第2の操作は、前記代表ベクトルに対して略平行方向の向きにドラッグする操作である請求項11から13のいずれか1つに記載の表示制御方法。前記経路線の表示制御が前記制限スクロールの場合で、前記ドラッグ操作を所定の入力デバイスを用いて行う場合、前記入力デバイスを介した前記ユーザの入力方向と、前記代表ベクトルの方向とが所定の関係にある場合に、前記入力デバイスに対して振動及び/又は反発力を与えるデバイス制御ステップを更に有する請求項11から14のいずれか1つに記載の表示制御方法。前記経路線の表示制御が前記制限スクロールで、前記ドラッグ操作を所定の入力デバイスを用いて行う場合であって、現在表示されている表示倍率での前記経路線の傾き方向を示すベクトルを代表ベクトルとする場合、前記入力デバイスを介した前記ユーザの入力方向のベクトルと、所定の時間前の前記ユーザの入力方向のベクトルとの差分を取った差分方向ベクトルを前記代表ベクトルに投影させる投影ステップと、前記差分方向ベクトルから投影された投影ベクトルを差し引いたベクトルの成分の値が所定の値より大きい場合に、前記制限スクロールを、前記カーソルの移動を前記経路線上以外にも可能とさせる自由スクロールに切り替える切替ステップを更に有する請求項10に記載の表示制御方法。前記経路線の表示制御が前記自由スクロールの場合であって、前記所定の入力デバイスを介した前記ドラッグ操作による前記カーソルの速度が所定の速度より遅く、かつ前記カーソルと前記ディスプレイ上に表示された前記経路線との距離が所定の距離より短い場合に、前記自由スクロールを前記制限スクロールに切り替える請求項16に記載の表示制御方法。前記入力デバイスを介した前記ユーザの入力方向と、前記代表ベクトルの方向とが所定の関係にある場合に、前記入力デバイスに対して振動及び/又は反発力を与えるデバイス制御ステップを更に有する請求項16に記載の表示制御方法。しかし、入力が強すぎる例えば、スクロールを勢いよく強く行うなどと辿るべき経路が画面の外にはみ出たり、入力が弱すぎる例えば、スクロールを弱く軽く行うなどとなかなか線に沿って先に進まなかったりする。また、拡大の中心を線上としなければ、辿るべき線が画面の外にはみ出て消えてしまったりするなどの問題があった。本発明は、上記の問題点に鑑み、辿るべき経路が画面の外にはみ出ず、経路に沿った追跡が正確にできる表示制御装置及び表示制御方法を提供することを目的とする。すなわち、タッチパネルやコントローラなどによるユーザの操作に際し、地図空間や概念空間のスクロール移動を経路などの線上レール上でのみしかできないように拘束を与えて、さらにそれに加えて、地図上などを無制限に移動できる自由スクロールモードと、決められた線上もしくは限定領域内のみスクロールできる制限スクロールモードとの2つのモードを提供し、かつ、前述の2つのモードの切り替えも新たなボタンを押すことなく、同様のストロークやドラッグで行うことができるジェスチャー認識の機能を備えたインターフェースを提案する。具体的には、スクロールを制限させたい線にレールのような質感をもたせ、画面の中心のカーソルなどのある注目点をレールの近くに持って行き、レールに平行してなぞると、カーソルとレールが絡んで、レール上のみでスクロールされるようになる。また、レールの方向に対して垂直な方向に強く引っ張るとカーソルがレールから解き放たれ、カーソルが自由に動き、自由スクロールモードに戻るというものである。上記目的を達成するために、本発明によれば、地図を表示するディスプレイ上での所定の経路を示す経路線を前記ディスプレイに表示し、ユーザによるスクロールのための前記ディスプレイ上でのドラッグ操作に応じて前記経路線を移動させ、前記ディスプレイに表示されていない前記経路線の他の部分を表示させる表示制御装置であって、前記ディスプレイ上でドラッグ操作されたときのドラッグ速度及び前記ドラッグ操作に基づいてドラッグされた方向を検出する検出手段と、検出された前記方向のベクトルの大きさとして、検出された前記ドラッグ速度に基づいて、前記スクロールが開始された際の前記ディスプレイに表示された地点が前記スクロールにより移動した距離を算出する算出手段と、前記ディスプレイ上での位置を指し示すカーソルが前記経路線上のみ移動可能とされる制限スクロールの場合、算出された前記距離分に相当する大きさを有する前記検出された方向のベクトルを、前記経路線に平行な方向のベクトルとして投影させる投影手段と、投影されたベクトルの大きさの分だけ、かつ投影されたベクトルと逆方向に前記経路線を移動させて前記経路線を表示する表示制御手段とを、備える表示制御装置が提供される。この構成により、辿るべき経路が画面の外にはみ出ず、経路に沿った追跡が正確にできる。なお、経路とは、例えばある地点からある地点までのルート例えば、出発地点及び到着地点を入力することにより算出される最短距離ルート、最短時間ルートなどを言う。また、ここでは、経路線を表示の対象としているが、経路線に限られるものではなく、後述する概念を示す概念線などであってもよい。また、上述する経路線は、後述するスクロールレールに相当する。また、ここでの投影は、経路線と平行な方向のベクトルの大きさを算出することと等価であり、投影させずに経路線と平行な方向のベクトルの大きさを算出できれば投影させなくてもよい。また、ドラッグ操作が後述するハプティックデバイスによって行われる場合、ドラッグ速度は、例えばハプティックデバイスを静止状態外部からの力が加わっていない初期の状態から傾けた角度に応じて変化し、最大に傾けた場合に最大速度となる。ハプティックデバイスを傾けることを止めると、後述するように摩擦力などが設定されていれば、ある程度進むと自動的にスクロールが止まる。また、本発明の表示制御装置において、現在表示されている表示倍率での前記経路線の傾き方向を示すベクトルを代表ベクトルとする場合、前記代表ベクトルに対して、前記ユーザの前記ドラッグ操作が所定の第1の操作であるか否かを判断する判断手段と、前記所定の第1の操作であると判断された場合、前記制限スクロールによる表示制御を解除し、前記スクロールを、前記カーソルの移動を前記経路線上以外も可能とさせる自由スクロールに切り替える切替手段とを更に備え、前記判断手段が、前記経路線の表示制御が前記自由スクロールの場合、前記代表ベクトルに対して、前記ユーザの前記ドラッグ操作が所定の第2の操作であるか否かを判断し、前記所定の第2の操作であると判断した場合、前記切替手段は、前記スクロールを、前記自由スクロールから前記制限スクロールに切り替えることは、本発明の好ましい態様である。この構成により、用途に合わせて用いることができる。ここで、経路線の傾き方向とは、所定の基準線例えば、現在表示されている表示倍率での水平方向を示す線や、ある方位方向東西方向や南北方向などを示す線などに対する傾きを言う。また、本発明の表示制御装置において、前記代表ベクトルを算出する代表ベクトル算出手段を更に備え、前記代表ベクトル算出手段が、現在の前記経路線の表示制御が前記制限スクロールによるものである場合には、前記カーソルからの前記経路線上における所定の範囲内にある地点の座標情報及び前記カーソルのある地点の座標情報と、現在表示されている表示倍率の情報とを取得し、前記各地点における前記経路線を示す微小ベクトルに、前記表示倍率に応じた所定の関数値を掛け合わせて前記代表ベクトルを算出し、現在の前記経路線の表示制御が前記自由スクロールによるものである場合には、前記カーソルから最も近い位置にある前記経路線上の地点を基準点とし、前記基準点からの前記経路線上における所定の範囲内にある地点の座標情報及び前記基準点の座標情報と、現在表示されている表示倍率の情報とを取得し、前記各地点における前記経路線を示す微小ベクトルに、前記表示倍率に応じた所定の関数値を掛け合わせて前記代表ベクトルを算出することは、本発明の好ましい態様である。この構成により、適切なベクトルを算出することができる。また、本発明の表示制御装置において、前記所定の関数値が、窓関数による値及び/又は重み関数による値であることは、本発明の好ましい態様である。この構成により、代表ベクトルの効率的な算出処理を行うことができる。また、本発明の表示制御装置において、前記所定の第1の操作は、前記代表ベクトルに対して略垂直方向の向きにドラッグする操作であり、前記所定の第2の操作は、前記代表ベクトルに対して略平行方向の向きにドラッグする操作であることは、本発明の好ましい態様である。この構成により、制限スクロールと自由スクロールの切り替えを容易に行うことができる。また、本発明の表示制御装置において、前記経路線の表示制御が前記制限スクロールの場合で、前記ドラッグ操作を所定の入力デバイスを用いて行う場合、前記入力デバイスを介した前記ユーザの入力方向と、前記代表ベクトルの方向とが所定の関係にある場合に、前記入力デバイスに対して振動及び/又は反発力を与えるデバイス制御手段を更に備えることは、本発明の好ましい態様である。この構成により、画面を注視しなくても、制限スクロールと自由スクロールの切り替えを容易に行うことができる。また、本発明の表示制御装置において、前記経路線の表示制御が前記制限スクロールで、前記ドラッグ操作を所定の入力デバイスを用いて行う場合であって、現在表示されている表示倍率での前記経路線の傾き方向を示すベクトルを代表ベクトルとする場合、前記投影手段が、前記入力デバイスを介した前記ユーザの入力方向のベクトルと、所定の時間前の前記ユーザの入力方向のベクトルとの差分を取った差分方向ベクトルを前記代表ベクトルに投影させ、前記差分方向ベクトルから投影された投影ベクトルを差し引いたベクトルの成分の値が所定の値より大きい場合に、前記制限スクロールを、前記カーソルの移動を前記経路線上以外にも可能とさせる自由スクロールに切り替える切替手段を更に備えることは、本発明の好ましい態様である。この構成により、ユーザが初期に強くコントローラを倒して急カーブ上あがりのカーブをむかえても、さらに与えられた時間Δt内に相対的にコントローラを強く倒さない限り、経路から脱線しないため、安心してスクロールすることができる。また、本発明の表示制御装置において、前記切替手段は、前記経路線の表示制御が前記自由スクロールの場合であって、前記所定の入力デバイスを介した前記ドラッグ操作による前記カーソルの速度が所定の速度より遅く、かつ前記カーソルと前記ディスプレイ上に表示された前記経路線との距離が所定の距離より短い場合に、前記自由スクロールを前記制限スクロールに切り替えることは、本発明の好ましい態様である。この構成により、自由スクロールのモードから制限スクロールのモードへの切り替えを容易にすることができる。また、本発明の表示制御装置において、前記入力デバイスを介した前記ユーザの入力方向と、前記代表ベクトルの方向とが所定の関係にある場合に、前記入力デバイスに対して振動及び/又は反発力を与えるデバイス制御手段を更に備えることは、本発明の好ましい態様である。この構成により、経路の方向が変わったと誤脱線することなく感じることができる。また、本発明によれば、地図を表示するディスプレイ上での所定の経路を示す経路線を前記ディスプレイに表示し、ユーザによるスクロールのための前記ディスプレイ上でのドラッグ操作に応じて前記経路線を移動させ、前記ディスプレイに表示されていない前記経路線の他の部分を表示させる表示制御方法であって、前記ディスプレイ上でドラッグ操作されたときのドラッグ速度及び前記ドラッグ操作に基づいてドラッグされた方向を検出する検出ステップと、検出された前記方向のベクトルの大きさとして、検出された前記ドラッグ速度に基づいて、前記スクロールが開始された際の前記ディスプレイに表示された地点が前記スクロールにより移動した距離を算出する算出ステップと、前記ディスプレイ上での位置を指し示すカーソルが前記経路線上のみ移動可能とされる制限スクロールの場合、算出された前記距離分に相当する大きさを有する前記検出された方向のベクトルを、前記経路線に平行な方向のベクトルとして投影させる投影ステップと、投影されたベクトルの大きさの分だけ、かつ投影されたベクトルと逆方向に前記経路線を移動させて前記経路線を表示する表示制御ステップとを、有する表示制御方法が提供される。この構成により、辿るべき経路が画面の外にはみ出ず、経路に沿った追跡が正確にできる。また、本発明の表示制御方法において、現在表示されている表示倍率での前記経路線の傾き方向を示すベクトルを代表ベクトルとする場合、前記代表ベクトルに対して、前記ユーザの前記ドラッグ操作が所定の第1の操作であるか否かを判断する判断ステップと、前記所定の第1の操作であると判断された場合、前記制限スクロールによる表示制御を解除し、前記スクロールを、前記カーソルの移動を前記経路線上以外も可能とさせる自由スクロールに切り替える切替ステップとを更に有し、前記経路線の表示制御が前記自由スクロールの場合、前記代表ベクトルに対して、前記ユーザの前記ドラッグ操作が所定の第2の操作であるか否かを判断し、前記所定の第2の操作であると判断した場合、前記スクロールを、前記自由スクロールから前記制限スクロールに切り替えることは、本発明の好ましい態様である。この構成により、用途に合わせて用いることができる。また、本発明の表示制御方法において、前記代表ベクトルを算出する代表ベクトル算出ステップを更に備え、前記代表ベクトル算出ステップで、現在の前記経路線の表示制御が前記制限スクロールによるものである場合には、前記カーソルからの前記経路線上における所定の範囲内にある地点の座標情報及び前記カーソルのある地点の座標情報と、現在表示されている表示倍率の情報とを取得し、前記各地点における前記経路線を示す微小ベクトルに、前記表示倍率に応じた所定の関数値を掛け合わせて前記代表ベクトルを算出し、現在の前記経路線の表示制御が前記自由スクロールによるものである場合には、前記カーソルから最も近い位置にある前記経路線上の地点を基準点とし、前記基準点からの前記経路線上における所定の範囲内にある地点の座標情報及び前記基準点の座標情報と、現在表示されている表示倍率の情報とを取得し、前記各地点における前記経路線を示す微小ベクトルに、前記表示倍率に応じた所定の関数値を掛け合わせて前記代表ベクトルを算出することは、本発明の好ましい態様である。この構成により、適切なベクトルを算出することができる。また、本発明の表示制御方法において、前記所定の関数値が、窓関数による値及び/又は重み関数による値であることは、本発明の好ましい態様である。この構成により、代表ベクトルの効率的な算出処理を行うことができる。また、本発明の表示制御方法において、前記所定の第1の操作は、前記代表ベクトルに対して略垂直方向の向きにドラッグする操作であり、前記所定の第2の操作は、前記代表ベクトルに対して略平行方向の向きにドラッグする操作であることは、本発明の好ましい態様である。この構成により、制限スクロールと自由スクロールの切り替えを容易に行うことができる。また、本発明の表示制御方法において、前記経路線の表示制御が前記制限スクロールの場合で、前記ドラッグ操作を所定の入力デバイスを用いて行う場合、前記入力デバイスを介した前記ユーザの入力方向と、前記代表ベクトルの方向とが所定の関係にある場合に、前記入力デバイスに対して振動及び/又は反発力を与えるデバイス制御ステップを更に有することは、本発明の好ましい態様である。この構成により、画面を注視しなくても、制限スクロールと自由スクロールの切り替えを容易に行うことができる。また、本発明の表示制御方法において、前記経路線の表示制御が前記制限スクロールで、前記ドラッグ操作を所定の入力デバイスを用いて行う場合であって、現在表示されている表示倍率での前記経路線の傾き方向を示すベクトルを代表ベクトルとする場合、前記入力デバイスを介した前記ユーザの入力方向のベクトルと、所定の時間前の前記ユーザの入力方向のベクトルとの差分を取った差分方向ベクトルを前記代表ベクトルに投影させる投影ステップと、前記差分方向ベクトルから投影された投影ベクトルを差し引いたベクトルの成分の値が所定の値より大きい場合に、前記制限スクロールを、前記カーソルの移動を前記経路線上以外にも可能とさせる自由スクロールに切り替える切替ステップを更に有することは、本発明の好ましい態様である。この構成により、ユーザが初期に強くコントローラを倒して急カーブ上あがりのカーブをむかえても、さらに与えられた時間Δt内に相対的にコントローラを強く倒さない限り、経路から脱線しないため、安心してスクロールすることができる。また、本発明の表示制御方法において、前記経路線の表示制御が前記自由スクロールの場合であって、前記所定の入力デバイスを介した前記ドラッグ操作による前記カーソルの速度が所定の速度より遅く、かつ前記カーソルと前記ディスプレイ上に表示された前記経路線との距離が所定の距離より短い場合に、前記自由スクロールを前記制限スクロールに切り替えることは、本発明の好ましい態様である。この構成により、自由スクロールのモードから制限スクロールのモードへの切り替えを容易にすることができる。また、本発明の表示制御方法において、前記入力デバイスを介した前記ユーザの入力方向と、前記代表ベクトルの方向とが所定の関係にある場合に、前記入力デバイスに対して振動及び/又は反発力を与えるデバイス制御ステップを更に有することは、本発明の好ましい態様である。この構成により、経路の方向が変わったと誤脱線することなく感じることができる。本発明の表示制御装置及び表示制御方法は、上記構成を有し、辿るべき経路が画面の外にはみ出ず、経路に沿った追跡が正確にできる。すなわち、ユーザは、指のストローク、マウスのドラッグ、コントローラの入力などだけで終始、新たなボタンを押すなどの行為をすることなく様々な操作ができる。すなわち、地図空間や概念空間内を自由にスクロール自由スクロールできたり、経路や曲線上のみをスクロールする制限スクロールができたりする。また、それらの切り替え自由スクロールと制限スクロールとの切り替えも、曲線がレールのようなものでそこに画面が乗っているという直感的な解釈感覚を受け、レールに沿ってなぞったり、レールから外れようと垂直に動いたりして行うことができる。さらに、本発明でいうレールの形状とは、ユーザが任意に決める拡大、縮小値によって異なるため、あくまで画面に見えている形状をレールの現在の形状として計算される。また、このレールに沿って走る質感は、ハプティクデバイスなどに応用でき、レールから外れようとする場合は余計なボタンを押すなどの操作もなく、反発力のより大きくかかる方向に向けて入力デバイスに力を入れれば、レールからの解放が達成できるという極めて直感的な方法で行うことができる。<第1の実施の形態>以下、本発明の第1の実施の形態について述べる。ここで、本発明で用いられる言葉の定義を行う。経路や概念を示した線、線分、曲線をスクロールレールと呼ぶ。本発明では、地理空間、概念空間などの2次元及び3次元空間内を、タッチパネル、マウス、コントローラなどのデバイスを介したユーザの入力により移動できる。空間内を自由に移動できる場合を自由スクロール、前述のスクロールレール上のみに制限された形で移動できる場合を制限スクロールと呼ぶ。図1aは、ある地理空間内に経路が描かれている様子を示す。画面の中心にカーソルが描画されている。図1bは、タッチパネルなどでドラッグによりユーザの指が移動した分だけ、地理空間内を地図が動いている様子を示す。ユーザは、地理空間に描画されているスクロールレールとは無関係に自由にスクロールできるため、この場合、自由スクロールモード単に、自由スクロールとも言うとなる。スクロールには既存技術の弾くという操作が使われる。現在位置がスクロールするというのは、弾く前のドラッグしている間に一定時間ごとにドラッグによるスクロール速度ドラッグ速度とも言うをサンプリングしておき、指がタッチパネルから離れる直前でのドラッグによるスクロール速度をもって、そのままスクロールし続けることである。その後は、摩擦力などを設定しておき、ある程度進むと自動的にスクロールが止まるようにも設定できる。本発明が提案するもう1つのモードの制限スクロールについて図2a~図2fを用いて説明する。図2a~図2fでは、画面の中心のカーソルが地理空間に描かれた経路上にある。タッチパネルなどでドラッグにより指が移動したベクトルが、画面中心のカーソルのある経路上の点からの経路方向のベクトルへの投影された成分だけ移動することになる。図2aはユーザが操作する前の制限スクロールの初期の状態を示す。画面の中心はスクロールレールの上にある。図2bは、タッチパネル上のある一点をユーザが触れ、画面右上の方向にドラッグしようとしている状態を示す。図2cは、図2bのドラッグしようとしている右上の方向のベクトルをスクロールレールの方向ベクトルに投影した際のベクトルを示している。図2dは、図2bの状態から実際に指をドラッグさせた場合の指の新しい地点と、画面がスクロールした状態の様子を示している。これにより、ドラッグによるベクトルをスクロールレールに投影したベクトルの分だけ、逆方向に移動していることがわかる。図2eは、指を離した後もスクロールレールの上に沿って動き続ける様子を示す。図2fは、図2eに引き続き、スクロールレールの向きが変わってもスクロールレールに沿ってスクロールしていく様子を示す。以上により、単純に自由スクロール、制限スクロールでのそれぞれの動きについて述べた。次に、自由スクロールから制限スクロールへの切り替え、制限スクロールから自由スクロールへの切り替えについて説明する。そのために、まず、本発明で定義する代表ベクトルについて説明する。スクロールレール上のある一点を中心に、拡大、縮小拡大縮小値によりスクロールレールを画面の範囲で見た場合のスクロールレールのベクトルを代表ベクトルと言う。代表ベクトルの一例を図3aと図3cの場合と、図3bと図3dの場合の2つの例を用いて説明する。まず、図3aと図3cの場合について説明する。図3cでは、具体的に画面の中心点がスクロールレールの上に置かれている。画面の中心周辺のスクロールレールは右上がりのため、代表ベクトルも右上がりとなる。一方、図3bと図3dの場合は、図3aと図3cの場合と全く同じスクロールレールであり、その中心点も、図3cと図3dでは全く同じものとなる。唯一違うのは、図3dが図3cを拡大したものであることで拡大縮小値、その関係が図3aと図3bに示されている。そのため、代表ベクトルは、図3bと図3dの場合、画面の中心あたりのスクロールレールが右下がりのため、代表ベクトルも右下がりとなる。このように、代表ベクトルは、与えられたスクロールリスト、着目している位置、拡大縮小値に依存する。実際にどのように代表ベクトルが計算されるべきかについて細かく説明する。図4a~図4cは、経路や概念線を示すスクロールレールがどのように数学的に表されるかについて示す。図4aは、画面に表示されるスクロールレールの線、曲線を示す。図4bは、それらの線や曲線が、実際には線に沿った等間隔の距離に配置された多数の点からなることを示す。それぞれの点が、2次元の場合、3次元の場合に応じて座標を持つ。なお、実際に線をデータとして格納する場合、線の折れた部分のみの座標をデータとして持つのが主流であるが、ここでは、これらの点が等間隔の距離で配置されたデータで生成されたとして説明する。図4cは、図4bの各点が隣同士の座標の差分をとることで、多数の微小ベクトルで表現できることを示す。図4a~図4cで述べた、多数の微小ベクトルで表現されるスクロールリストが、どのように代表ベクトルとして計算されるかについて図5a~図5e、図6a~図6e、図7を用いて説明する。図5a~図5eでは図3aと図3cの場合について説明し、図6a~図6eでは図3bと図3dの場合について説明する。まず、図5a~図5eについて説明する。図5aは、スクロールレール、注目する点以下、注目点とも言う、注目する点の周辺を示す。図5bは、スクロールレールに沿った距離に応じて縦に並べられたスクロールレールの微小ベクトル群を示す。図5cは、微小ベクトルに掛ける窓関数を示す。図5dは、微小ベクトルに掛ける重み関数を示す。図5eは、図5aでのスクロールレールの代表ベクトルを示す。図5aではスクロールレールが描かれ、この場合は画面の中心である注目する点がスクロールレール上に存在する。スクロールレール上において、注目する点からスクロールレールに沿った距離に応じて、多数の微小ベクトルを縦に模式的に並べて図5bに表示されている。図5b、図5c、図5dにおいて、縦軸は、注目する点からスクロールレールに沿った符号をもった距離を意味する。スクロールレールが1つの曲線であり、その曲線上のある注目する点から、曲線に沿ってある方向に遠ざかっていくものを正の距離として縦軸の正の方向に、また前述と逆方向に遠ざかっていくものを負の距離として縦軸の負の方向に配置している。縦軸の0の部分が注目する点そのものとなる。それぞれの点に応じて模式的に、図5aで表示されるスクロールレール上に存在する多数の微小ベクトルを図5bに描画している。代表ベクトルとは、スクロールレール上の注目する点を中心として、拡大縮小値に対応して画面内で表示される範囲内での、スクロールレール全体の方向を代表して表現するものであるため、注目する点とある領域内のみの微小ベクトルを考慮したい。そのため、離れた位置にある微小ベクトルは考慮に入れないため、図5cに示したような窓関数で遠くに存在するものを削除することができる。つまり、図5bに示す各微小ベクトルに窓関数などを掛けることで、それぞれの微小ベクトルを加工できる。窓関数は信号処理に使われる一般的な関数であり、窓関数Wixは、x=0周辺では1を返し、x=0から正方向や負の方向に離れた位置では0を返す。なお、窓関数を数式1に示す。widthは窓の幅となる。窓関数の中心x=0は、図5aのスクロールレール上の注目する点、たいてい画面の中心位置となる。窓関数の幅widthは、図5aにおける空間でユーザが決める拡大縮小値に依存する。図5cと後述の図6cは同じ窓関数であるが、幅widthは図5cのほうが大きい。それは、図5a~図5eが図3aのスクロールレールに対応し、図6a~図6eが図3aを拡大した図3bのスクロールレールに対応しているからである。つまり、ユーザがスクロールレールを拡大すれば、拡大されたスクロールレールの小さな部分を見ているためwidthは小さくなり、縮小すればスクロールレールの大きな範囲を見ているためwidthが大きくなる。widthが大きくなると、図4cで示したような微小ベクトルの数が膨大に増えるため、ある周期によるサンプリングされた微小ベクトルのみを考慮に入れるなどの計算方法が可能である。さらに、注目する点の近傍のスクロールレール上のベクトルにウエイト重みを置きたい場合は、図5dに示すように、注目する点で最大の値1を返し、遠ざかるほど0に近くなる重み関数Wexをスクロールレール上の微小ベクトルに掛けて重みを変更することができる。重み関数Weは必要に応じて任意の関数を使うことができるが、ここでは例としてガウス関数を用い、それを数式2に示す。ここで、cは定数で、ガウス関数の幅と関連する。cの値は重みをどれだけ広げるかに依存する。これらの処理を隔てて、加工されたスクロールレール上の多数の微小ベクトルをすべて足し合わせたベクトルが図5eに示すような代表ベクトルとなる。図6a~図6eも、図5a~図5eと全く同様の方法で代表ベクトルを計算する。図6aは、スクロールレール、注目する点、注目する点の周辺を示す。図6bは、スクロールレールに沿った距離に応じて縦に並べられたスクロールレールの微小ベクトル群を示す。図6cは微小ベクトルに掛ける窓関数を示す。図6dは微小ベクトルに掛ける重み関数を示す。図6eは、図6aでのスクロールレールの代表ベクトルを示す。図5a~図5eと図6a~図6eでは、代表ベクトルを求めるためのスクロールレール上の位置が同じにもかかわらず、拡大縮小値が異なるため、全く異なる代表ベクトルが得られる。これは、代表ベクトルというものが、ユーザが画面に見えるスクロールレールの形状として定義されているため、画面の拡大縮小を行えば、見えるおおまかな形状も異なるので代表ベクトルも異なるのは当然となる。このユーザインターフェースの発想に立ったスクロールレールの見かけの形状を算出するところに本発明の特徴がある。この代表ベクトルを求めるための手順について図7を用いて説明する。代表ベクトルを決定するのに必要な現在のスクロールレール上の座標と拡大縮小値を取得するステップS701。代表ベクトルを決定するのに使うスクロールレール上の座標を窓関数の中心位置にもっていき、与えられた拡大縮小値によって窓関数の幅widthを変え、スクロールレールを構成する各微小ベクトルに窓関数を掛けるステップS702。代表ベクトルを決定するのに使うスクロールレール上の座標を重み関数の中心位置にもっていき、与えられた拡大縮小値によって重み関数の幅widthを変え、スクロールレールを構成する各微小ベクトルに重み関数を掛けるステップS703。これらの処理を施した各微小ベクトルを足し合わせて代表ベクトルを算出するステップS704。代表ベクトルの算出の仕方を数式3に示す。数式3で、スクロールレール上のある地点xにおける微小ベクトルをV微小ベクトルxとした。分母は、微小ベクトルの長さであり、規格化を行っている。以上で、スクロールレールの代表ベクトルについて説明した。次に、自由スクロールから制限スクロールに切り替える方法について図8a~図8e、図9を用いて説明する。図8aは、自由スクロールモードの画面とスクロールレールの状態を示す。自由スクロールモードのため、とりわけ注目点注目する点である画面の中心点がスクロールレール上にない。図8bは、自由スクロールにより、注目点がスクロールレール近傍に持ってこられた場合を示す。注目点と最も近いスクロールレール上の点を見つけ、その点から注目点までの距離をスクロールレールとの距離dと定義する。図8cは、さらに注目点がスクロールレールに近づいた場合を示す。ここで、注目点に最も近いスクロールレール上の点最も近い点と現在の拡大縮小値とから、スクロールレールの代表ベクトルが求まる。図8dに示すように、図8cで求まった代表ベクトルにほぼ平行に画面をドラッグさせることで、あたかも注目点をスクロールレール上に引っ掛けるようなスクロール制限モードに切り替えるためのジェスチャーを行う。図8eに示すように、代表ベクトルに平行な方向へのドラッグによるジェスチャーがうまくいけば、注目点がスクロールレールの上に吸着され、スクロールレール上に乗っかり制限スクロールモード単に、制限スクロールとも言うに切り替わる。図8a~図8eで説明した内容、すなわちどのように自由スクロールモードから制限スクロールモードに変わるかについて図9を用いて説明する。まず、ユーザから、タッチパネルやコントローラなどで座標の移動新しい位置への移動や拡大縮小値の変更リクエストを受け付けるステップS901。画面の中心点、もしくは任意に決められた画面内の注目点が、スクロールレールに近いか所定の距離であるかどうかを判断するステップS902。近いかどうかの判断は、注目点に最も近いスクロールレール上の点を探し、その点と注目点との距離が事前に決められた所定の閾値を超えたかどうかで行う。ステップS902で、スクロールレールが、画面内の注目点から所定の閾値より遠いと判断された場合は、そのまま自由スクロールモードとして、リクエストされた新しい地点へ移動し、新しい拡大縮小値で描画を行うステップS907。ステップS902で、スクロールレールから画面内の注目点までの距離が所定の閾値より小さい場合、ユーザが注目点をスクロールレール上に持っていき、制限スクロールモードに切り替えようとしている可能性がある。そのため、まず、先ほど求めた、注目点から一番近いスクロールレール上の点を仮のスクロールレール上の注目点として用いる。すなわち、注目点に最も近いスクロールレール上の点の座標を現在地とし、現時点での拡大縮小値を使って新たに代表ベクトルを計算するステップS903。代表ベクトルの求め方は図5a~図5e、図6a~図6eを用いて説明した。代表ベクトルと、ユーザの入力によるドラッグ方向のベクトルとの類似を調べるステップS904。具体的には、代表ベクトルに投影したユーザの入力によるドラッグ方向のベクトルの成分を求める。このベクトルの絶対値が大きいほど、スクロールレールの方向を意味する代表ベクトルと平行に近いことを意味する。ステップS904で求めた投影されたベクトルの長さ、つまり絶対値が事前に決められた所定の値より大きいか否かを判断しステップS905、大きいとき、ユーザがスクロールレールの方向とある程度同じ方向にドラッグしていると判断できる。ステップS902のスクロールレールから近い距離に画面内の注目点があることも考慮して、最終的にユーザが画面内の注目点をスクロールレールの近くまで持っていき、スクロールレールに平行に近い方向でドラッグさせていると判断できる。これは制限スクロールモードへの切り替えへのジェスチャーによるリクエストと判断して制限スクロールモードに切り替えるステップS906。具体的には、画面の注目点をスクロールレール上に吸着していくアニメーションなどを再生する。次に、制限スクロールから自由スクロールに切り替える方法について図10a~図10g、図11を用いて説明する。図10aは、制限スクロールモードにおける状態を示しており、注目の点がスクロールレール上にある。現在の拡大縮小値とスクロールレール上の注目の点の座標とから代表ベクトルが計算されている。図10bは、タッチパネルなどに指をタッチした様子を示す。図10cは、指でドラッグしようとしており、そのドラッグしようとする方向ベクトルが、代表ベクトルに投影された成分と、それに垂直な成分とに成分分解をされた様子を示す。図10dは、図10cの状態から、実際にドラッグを行って代表ベクトルに平行な成分分だけスクロールレールに沿って画面が移動した様子を示す。図10eは、図10dと同様にドラッグが行われたものの、代表ベクトルと垂直な軸に投影されたベクトル成分が強い様子を示す。事前に決められたベクトルの強さの閾値より大きい場合は、ユーザがスクロールレールから外れようという動きをしていると判断し、図10gに示すようなスクロールレールから注目の点が解き放たれ解除され、自由スクロールモードに切り替わる。さらなる工夫としては、切り替わりが、簡単に行われないようにするために、図10fに示すように、代表ベクトルと垂直な軸に平行に、正の方向と負の方向に繰り返し、何回か暴れるような動作をすると、自由スクロールに切り替わるようにするなどの条件を加えることも可能である。図10a~図10gで述べたような処理、すなわち制限スクロールから自由スクロールにいかに切り替わるかについて図11を用いて説明する。ユーザから、タッチパネルやコントローラなどで座標の移動や拡大縮小値の変更リクエストを受け付けるステップS1101。リクエストのあった座標、拡大縮小値から、代表ベクトルを計算するステップS1102。ユーザからの入力によるベクトルを、代表ベクトルと平行な軸への投影ベクトルと、それに垂直な軸への投影ベクトルとに分ける。なお、それぞれのベクトルをスクロールベクトル、ゆがみベクトルと呼ぶ。ユーザがタッチパネルに触れたままである、或いは、コントローラを傾けたままであるなど操作入力中であるか否かを判断しステップS1103、操作入力中である場合は、ユーザは制限スクロールから逃れようと入力を続けている可能性があるため、ステップS1104に移行する。逆に、ユーザがコントローラデバイスから手を離した場合は、ユーザは自由スクロールへ逃れようとしていないと判断し、ステップS1106に移行し、スクロールベクトルの強さの分だけ、スクロールレールに沿った制限されたスクロールで画面を移動させる。ステップS1104では、ゆがみベクトルが事前に決められた一定の値より大きいか否かを判断しステップS1104、大きいと判断した場合、ステップS1105に移行し、制限スクロールから自由スクロールに切り替えられる。一方、ゆがみベクトルが一定の値より小さい場合は、ステップS1106へ移行する。更なる工夫として、ステップS1104でのゆがみが大きくて、スクロールレールから離れ、自由スクロールに変わる新たな条件としてゆがみベクトルの強さを設定することができる。すなわち、絶対値が閾値より大きく、かつ正の方向と負の方向が切り替わってユーザの入力が行われるなどと設定することができる。これは、図10fで述べた、代表ベクトルと垂直の方向に正方向、負の方向に暴れて揺らすというジェスチャーが行われてはじめて自由スクロールに切り替われるという設定をしたことになる。このような設定すれば、スクロールレールから安易に注目の点が外れてしまうという誤動作をおきにくくすることが可能である。本発明では、図12a、図12bに示すような、スクロールレールが枝のように分岐した場合でも使える。代表ベクトルは、現在地周辺の分岐したすべての微小ベクトルの計算がされ、図12bのように不幸にして分岐点に注目の点がある場合は、スクロールモードの切り替えを行わせないなどの条件を課せばよい。次に、本発明に適用されるハプティック操作デバイス以下、ハプティックデバイス、デバイスとも言うについて説明する。ハプティックデバイスでは、ユーザの入力に対し、任意の方向に斥力、反発力、振動を発生させることができる。デバイスの例としては、図13aに示すようなスティック型デバイス、図13bに示すようなボタン型デバイスがある。本発明では、デバイスの形状は問わず、スクロールできる空間が2次元の場合は2次元の任意の方向への入力ができ、3次元の場合は3次元の任意の方向への入力ができ、何らかの入力に対する反発力、振動をもたらすハプティックデバイスを考える。仮に、図13cに示すように、代表ベクトルが右上がりになっている場合を考える。図13dは、代表ベクトルが右上がりの場合に、ユーザが任意の2次元の方向に入力した際の反発力Fを示す。図13eでは、コントロールデバイスに移動しようとユーザから入力がなされた場合を考える。入力の力ベクトルが、原点からx軸に対し、αの角度の方向のベクトルになされたとする。ここでは、力の強さは規格化され1とする。また、その時の規格化された代表ベクトルをCosθ、Sinθとすると、ユーザの入力ベクトルに対する反発力ベクトルFは数式4で表される。当然、代表ベクトルの方向角度θが、入力する力の方向角度αと同じであれば、数式4での反発力Fは0となる。これは、代表ベクトルと平行に近い方向に入力すればするほど反発力Fは0であり、逆に代表ベクトルに垂直な方向に入力すればするほど反発力Fは、入力しようとする方向と逆方向に斥力として大きくなる。これにより、ユーザは、画面を注視しなくても、反発力の少ない方向にスティックなどの入力デバイスを持っていけば、制限スクロールモードで、経路などのスクロールレールに沿って移動できる。また、自由スクロールモードに切り替えたい場合は、あえて反発力のある方向にスティックなどで力を入れれば、それが代表ベクトルと垂直に近い方向であるから、スクロールレールから外れ、自由スクロールモードに切り替えることができる。反発力ではなく、振動によるハプティックデバイスの場合は、数式4の絶対値をとり、その値の強さに応じて振動させるようにしてもよい。さらに、本発明を使った応用例として、制限スクロールから自由スクロールへの切り替えによって、制限スクロールでの機能を停止させたり再生させたりもできる。具体的には、例えば、制限スクロールモードになると、スクロールレールに沿って画面上の地図などが移動するアニメーション移動を自動的に開始させる自動スクロール機能があるとする。とりわけ、上述したハプティクデバイスの場合は、デバイスが勝手に動き、スクロールレールに沿って画面が自動的に移動スクロールし始める機能である。この自動スクロール機能を一時的に止めるには、ユーザはデバイスが勝手に動かないよう握り、また自動スクロール機能を停止させるには、自動的にスクロールしようとする代表べクトルの方向に対して垂直な方向にタッチパネルの指を移動ドラッグさせる、もしくはデバイスに反発力を感じながら移動させることでスクロールレールから離れ、制限スクロールから自由スクロールのモードになり、自動スクロール機能が停止する。ここで、本発明の実施の形態に係る表示制御装置の構成の一例について図14を用いて説明する。図14に示すように、表示制御装置1400は、検出手段1401、算出手段1402、投影手段1403、表示制御手段1404、判断手段1405、切替手段1406、代表ベクトル算出手段1407、デバイス制御手段1408から構成されている。検出手段1401は、ディスプレイ上でドラッグ操作されたときのドラッグ速度及びドラッグ操作に基づいてドラッグされた方向を検出する。このドラッグ速度は、上述したように、ドラッグして弾く際、弾く前にドラッグしている間に一定時間ごとにドラッグによるドラッグ速度をサンプリングしておき、指がタッチパネルから離れる直前でのドラッグによる速度をドラッグ速度とする。算出手段1402は、検出された方向のベクトルの大きさとして、検出されたドラッグ速度に基づいて、スクロールが開始された際のディスプレイに表示された地点がスクロールにより移動した距離を算出する。具体的には、図2cに示すドラッグ方向を示すベクトルの大きさを算出する。投影手段1403は、ディスプレイ上での位置を指し示すカーソルが経路線上のみ移動可能とされる制限スクロールの場合、算出された距離分に相当する大きさを有する検出された方向のベクトルを、経路線に平行な方向のベクトルとして投影させる。表示制御手段1404は、投影されたベクトルの大きさの分だけ、かつ投影されたベクトルと逆方向に経路線を移動させて経路線を表示する。判断手段1405は、代表ベクトルに対して、ユーザのドラッグ操作が所定の第1の操作であるか否かを判断する。なお、所定の第1の操作は、代表ベクトルに対して略垂直方向の向きにドラッグする操作である。切替手段1406は、所定の第1の操作であると判断された場合、制限スクロールによる表示制御を解除し、ユーザのスクロールを自由スクロールに切り替える。代表ベクトル算出手段1407は、制限スクロールによるものである場合には、カーソルからの経路線上における所定の範囲内にある地点の座標情報及びカーソルのある地点の座標情報と、現在表示されている表示倍率の情報とを取得し、各地点における経路線を示す微小ベクトルに、表示倍率に応じた所定の関数値を掛け合わせて代表ベクトルを算出し、自由スクロールによるものである場合には、カーソルから最も近い位置にある経路線上の地点を基準点とし、基準点からの経路線上における所定の範囲内にある地点の座標情報及び基準点の座標情報と、現在表示されている表示倍率の情報とを取得し、各地点における経路線を示す微小ベクトルに、表示倍率に応じた所定の関数値を掛け合わせて代表ベクトルを算出する。デバイス制御手段1408は、制限スクロールの場合で、ドラッグ操作を所定の入力デバイス図13に示すようなデバイスなどを用いて行う場合、入力デバイスを介したユーザの入力方向と、代表ベクトルの方向とが所定の関係にある場合に、入力デバイスに対して振動及び/又は反発力を与える。次に、本発明の実施の形態に係る表示制御装置による処理フローの一例について図15を用いて説明する。図15に示すように、検出手段1401は、ディスプレイ上でドラッグ操作されたときのドラッグ速度及びドラッグ操作に基づいてドラッグされた方向を検出するステップS1501。算出手段1402は、検出された方向のベクトルの大きさとして、検出されたドラッグ速度に基づいて、スクロールが開始された際のディスプレイに表示された地点がスクロールにより移動した距離を算出するステップS1502。投影手段1403は、ディスプレイ上での位置を指し示すカーソルが経路線上のみ移動可能とされる制限スクロールの場合、算出された距離分に相当する大きさを有する検出された方向のベクトルを、経路線に平行な方向のベクトルとして投影させるステップS1503。表示制御手段1404は、投影されたベクトルの大きさの分だけ、かつ投影されたベクトルと逆方向に経路線を移動させて経路線を表示するステップS1504。なお、表示制御装置による制限スクロールと自由スクロールとの間の切り替えの処理フロー、代表ベクトルの生成フローなどについては上述しているため省略する。<第2の実施の形態>第2の実施の形態では、第1の実施の形態における制限スクロールモードから自由スクロールモードへの切り替わり、すなわちスクロールレールから脱線すべきか否かの判定方法を発展させた判定方法と、第1の実施の形態より簡潔な自由スクロールモードから制限スクロールモードへの切り替わりの判定方法について説明する。まず、制限スクロールモードから自由スクロールモードへの切り替わりについて述べる。第2の実施の形態では、脱線判定の際に地図をスクロールする方向ベクトルそのものではなく、方向ベクトルの時間差分のベクトルを用いる。これにより、第2の実施の形態では、第1の実施の形態でカバーできなかったケース、すなわち経路の形状が大きく曲がっている際、曲がりきれずに誤ってスクロールレールから脱線して、ユーザの意図に反して自由スクロールになってしまうケースを防止する効果を狙う。第2の実施の形態の詳細を述べるにあたって、定義されるベクトルについて図16aから図19bを用いて説明する。まず、図16a、図16b、図17a、図17b、図18a、図18b、図19a、図19bでは、地図上でコントローラを操作する場合のコントローラの方向ベクトルの定義について述べる。図16aは、コントローラがゼロの位置にある状態を示す。ゼロの位置とは、コントローラに対して何らユーザから力が加わっていない状態でのコントローラの位置初期位置のことを言う。図16aにはコントローラの外観が示され、図16bには図16aのコントローラを真上から見たものが示され、コントローラの可動範囲が正方形で示され、コントローラの先先端を真上から投影した様子黒丸がコントローラの先を投影したものが示されている。この場合、コントローラには力が加わっていないので可動範囲の中心真ん中で静止している状態である。図17a、図17bには、図16bのゼロの位置からユーザが力を加えてコントローラを前前方に倒した状態が示されている。図17aにはコントローラが傾いている様子が示され、図17bにはコントローラの先の位置が前に移動している様子が示されている。図18a、図18bには、図17a、図17bとは逆の方向にコントローラが倒された様子が示され、図18aには図17aとは逆にコントローラが少し傾く様子が示され、図18bには可動範囲内でコントローラの先の投影が逆の方向に移動している様子が示されている。図19a、図19bには、図18a、図18bと同じ方向にコントローラが倒されているが、図18a、図18bよりさらにコントローラが倒された様子が示されている。ここで、第2の実施の形態では、ゼロの位置からどれだけコントローラを移動させたかを表す指標を差分方向ベクトルと呼び、以下の数式のように定義する。コントローラの方向ベクトルをXx、yとし、時間Δt以前でのコントローラの方向ベクトルをXΔt前xΔt前、yΔt前とすると、差分方向ベクトルは数式5のように定義され、条件式は数式6から数式9のように定義される。数式5:DX、XΔt前=x-xΔt前、y-yΔt前数式6:ifx≧0≧xΔt前ORx≦0≦xΔt前xΔt前=0、数式7:ifxΔt前≧x≧0OR0≧x≧xΔt前x=0、xΔt前=0、数式8:ify≧0≧yΔt前ORy≦0≦yΔt前yΔt前=0数式9:ifyΔt前≧y≧0OR0≧y≧yΔt前y=0、yΔt前=0差分方向ベクトルの直感的解釈は、コントローラを前述のゼロの位置中心からどれだけ外側に移動させたかx成分とy成分で調べた量となる。したがって、コントローラを正方形の可動範囲領域の外側から中心に戻しただけの場合は0ゼロとなり、中心に戻してさらに進めた場合は、中心からさらに進めた分だけのベクトルが加算されたものとなる。これを、具体的に図16a、図16b、図17a、図17b、図18a、図18b、図19a、図19bを用いて説明する。コントローラがゼロの位置である図16a、図16bの状態から前に倒れた図17a、図17bの状態へ変わった場合、差分方向ベクトルは図17bの方向ベクトルの値そのものとなる。図17a、図17bのようにコントローラが前に倒された状態から図18a、図18bのように後ろに倒された状態へ移った場合は、コントローラのゼロの位置からの移動量は、図17aに示すコントローラの位置から加算されるのではなく、中心の位置からの分のみが加算されるので、図18bに示す方向ベクトルそのものが差分方向ベクトルとなる。図18a、図18bに示す状態から図19a、図19bに示す状態にコントローラが移動した場合、差分方向ベクトルは図19bに示す方向ベクトルから図18bの方向ベクトルを引いた値となる。次に、第1の実施の形態で説明したハプティックコントローラ上記ハプティックデバイスに相当し、単にコントローラとも言うに加わる斥力上記反発力とも言うの発生について図20a~c、図21a~c、図22a~cを用いて説明する。第1の実施の形態で説明したように、代表ベクトルは、図20aに示されるような地図上の経路の形状にしたがって計算される。なお、第2の実施の形態における代表ベクトルの算出方法については、第1の実施の形態におけるものと同一であるため説明を省略する。図20bのように、コントローラを経路に沿って代表ベクトルに沿って平行に倒せば何ら斥力を受けることなく、地図が経路に沿ってスクロールされる。そのときのコントローラを真上から見た様子が図20cに示されている。図21aでは経路が右側に傾いているため、図21bのようにコントローラをそのまま前に倒すと右方向に斥力を感じるようになる。その様子が図21cに示されている。図22aは図21aと同一で経路が右に傾いており、図22bに示されるように経路に平行にコントローラを右に傾けて前に倒すと図22cのように斥力を受けることなく、経路の代表ベクトルに沿って地図をスクロールさせることができる。図23a~fでは、図20a~cの例をもとに斥力の計算方法について述べる。図23aは、図21aや図22aと同様に代表ベクトルが右上がりである。図23bでは、コントローラが前に倒され、方向ベクトルが前を向いている様子が示されている。図23cでは、コントロールの位置を表す方向ベクトルと経路の形状を表す代表ベクトルの向きを調べ、方向ベクトルを代表ベクトルと平行な成分と垂直な成分に分け、それぞれをスクロールベクトル、ゆがみベクトルと定義している様子が示されている。ゆがみベクトルは経路の方向に反してコントローラを動かそうとしているベクトルを意味し、そのベクトルの長さが、事前に決められたある一定の値よりも大きい場合には、ゆがみベクトルと逆の方向の斥力をハプティックコントローラに与える。これにより、経路から外れた方向にコントローラを移動させようとすると経路の両側に設置された壁にぶつかったような感覚を、触覚を通してユーザに与えることができる。この代表ベクトルと方向ベクトルから、ゆがみベクトルを計算して斥力を与える流れは第1の実施の形態で述べてあり、図24にも示されている。図23d、図23eは、第2の実施の形態で新しく導入する差分方向ベクトルと差分ゆがみベクトルの定義について説明するためのものである。これらは、後述するように、スクロールレールから脱線させるか、とどまらせるかの切り替え判定制限スクロール→自由スクロールの切り替え判定に用いられる値となる。図23d、図23e、図23fには、それぞれコントローラが2つずつ描画されている。それらは、ある瞬間のコントローラの状態と、それよりもΔt秒前のコントローラの状態とを示している。図23fは図23eの様子を拡大したものである。それぞれの場合のコントローラの位置をX、XΔt前とする。差分方向ベクトルは、コントローラの先端を真上から投影した位置Xと、Δt時間前の位置XΔt前との差として前述の数式5で定義される。さらに、差分ゆがみベクトルを求めるため、前述の数式5の差分方向ベクトルの代表ベクトルPへの投影を考え、代表ベクトルに平行な成分のベクトルSは数式10のように表される。数式10:S=DX、XΔt前P×Pここで、代表ベクトルPは規格化されており、はベクトルの内積を意味する。差分ゆがみベクトルは、投影されたベクトルの垂直成分なので数式11のように表される。数式11:DX、XΔt前-Sなお、差分ゆがみベクトルを求めるにあたって、上記では数式5のように最初にコントローラの位置の差をとって代表ベクトルに投影したが、2つのコントローラの位置を先に投影させてゆがみベクトルを求め、それぞれのゆがみベクトルを求めてから差分をとっても数式11と数学的には同じである。ここで、上記定義事項を踏まえて第2の実施の形態について説明する。図25a、図25bには、スクロールレール経路の形状が急激に変わる急カーブや折れ線のような経路の一例が示されている。このような経路において、ユーザがタッチパネルによるドラッグやコントローラで経路に沿って地図をスクロールしている場合に、突然の経路の形状経路の方向の変化に気づかず、同じ方向に沿って地図をスクロールさせて、ユーザの意図に反してそのまま経路から脱線離脱してしまう場合がある。経路の形状が突然変わった場合、当然、前述のような方法で斥力も突然発生するが、ユーザがそれ以前のスクロールでコントローラに力を入れすぎていた場合には、経路の突然の曲がり角で斥力を乗り越え、誤って経路から脱線してしまう。これは、例えば高速度の車で走っていて道が突然曲がっていた場合、斥力を感じても曲がりきれず意図に反して道路から逸脱してしまうものと同様である。ここで、第1の実施の形態では、経路から脱線すべきかどうか判定する際に、スクロールしようとする方向ベクトルの値と経路の形状を表す代表ベクトルの値を単純に比較している。これでは、上記のような問題が生じてしまう。これを防止するため、第2の実施の形態では、ユーザが地図をスクロールさせようとした方向ベクトルと、それと時間Δtの分だけ以前の方向ベクトルとの差分を取ったベクトルである差分方向ベクトルを計算し、経路の代表ベクトルと比較することで、経路から脱線すべきかを判定するため上記の誤判定を解決することができる。以下に、第2の実施の形態における方向ベクトルの時間差分差分方向ベクトルが、判定のよい標本となる理由について、ある瞬間の地点での判定の具体例を挙げて説明する。図26aと図26bに示される経路は全く同じ経路であり、両者とも地点Eではコントローラが同じ右倒れ状態となっている。しかし、両者の意図は異なる。図26aでは、地点Aからずっとコントローラが右に倒され、経路に沿って左から右へスクロールされてきた。ユーザは、不幸にして経路の形状が突然右方向から上方向に変わったのに気づかず、コントローラを相変わらず右に倒したままにし、地点Eを通過する瞬間が図26aには示されている。ユーザは経路に沿ってスクロールさせたいという意図がある。図26bでは、ユーザは地点Aから地点Dまで経路に沿ってスクロールさせてきた。しかし、ユーザは途中でスクロールをやめ、地点Dや地点Eで経路から離れて周辺を見たいと思った。そこで、ユーザはコントローラを一旦ゼロの位置に戻して経路から脱線させようと経路と垂直な方向、すなわち地点Eで上向きの経路の方向代表ベクトルの方向と垂直な右方向にコントローラを意図的に倒し、その瞬間が図26bには示されている。第1の実施の形態では現在地点例えば、地点Eにいる瞬間でのコントローラの状態を見るため、上記2つの例のどちらが経路から脱線しようとしているのか、あるいは経路に留まろうとしているのか区別することができない。地点Eでは、経路は上を向いているので代表ベクトルは上向きである。両者図26a、図26bとも、ユーザは右方向にスクロールさせている方向ベクトルが右方向であることから、第1の実施の形態では両者とも経路から脱線すべきと判定してしまう。その解決方法としては、地点Eでの瞬間ではなく地点Eに達するまでの過去の過程を見ることが必要となる。第2の実施の形態では、判別する地点でのコントローラやタッチパネルでスクロールさせようとしている方向ベクトルと、そこから時間Δt秒前の過去の方向ベクトルとの差分を取った差分方向ベクトルを計算することで解決できる。差分方向ベクトルが得られれば、判定する地点での代表ベクトルと比較して代表ベクトルと垂直な方向の成分差分ゆがみベクトルの成分を計算し、その成分の値がある閾値より大きい場合は、経路からの脱線をしようとしていると判断する。図26aの地点Dでは、地点Cと地点Dにおける差分方向ベクトルは0ゼロとなる。また、図26aの地点Eでは、地点Dと地点Eにおける差分方向ベクトルは0ゼロとなる。よって、脱線は行われない。一方、図26bの地点Dでは、地点Cと地点Dにおける差分方向ベクトルは数式6によりやはり0ゼロとなる。コントローラをゼロの位置に戻そうとしているだけであるためである。また、図26bの地点Eでは、地点Dと地点Eにおける差分方向ベクトルは、地点Dでコントローラをゼロの位置に戻してから地点Eで右方向に移動1だけ移動したため1となる。よって、脱線が地点Eで行われる。この時間Δt内での差分によって判断することで、ユーザが地点Aからどれだけ初期に強くコントローラを右に倒して急カーブ上あがりのカーブをむかえても、地点D、E周辺で、さらに与えられた時間Δt内に相対的に右にコントローラを強く倒さない限り、経路から脱線しないので安心してスクロールをさせることができる。もちろん、第1の実施の形態で述べたように、コントローラの場合は、コントローラの方向ベクトルのうち、経路における代表ベクトルと垂直な成分の分だけ上記で定義した斥力を感じるため、ユーザは経路の方向が変わったなと誤脱線することなく感じることができる。ユーザは、カーブ状の経路において斥力を感じながら経路の方向が変わり始めたと感じ、カーブに沿って地図をスクロールさせることができる。そこであえて、経路から脱線して自由スクロールモードに切り替えたい場合は、斥力の方向にさらに強くコントローラを倒すか、一度コントローラをゼロの位置の方へ戻してから斥力のある方向にコントローラを倒すことで切り替えができる。ここで、第2の実施の形態における制限スクロールから自由スクロールへの切り替えの判断を表示制御装置が行う際の一部のフローの一例を図27に示す。ここでは、コントローラによるドラッグ操作でスクロールする場合について説明するが、タッチパネルによるドラッグ操作でスクロールする場合でも同様に考えられる。なお、以下の各処理は、例えば図14に示される表示制御装置の各構成要素が適宜行うものである。図27に示すように、まず、表示制御装置は、コントローラの位置x、yとそれ以前時間Δt前のコントローラの位置xbefore、ybeforeを取得するステップS2701。すなわち、方向ベクトルをそれぞれ取得する。取得されたx、y、xbefore、ybeforeに上述した数式6から9を適用して差分方向ベクトルを計算するステップS2702。計算された差分方向ベクトルを代表ベクトルに投影させ、投影された投影ベクトルベクトルSを取得し、差分方向ベクトルから投影ベクトルを差し引いたベクトルを差分ゆがみベクトルとする。すなわち、計算された差分方向ベクトルの代表ベクトルに垂直な成分を差分ゆがみベクトルとするステップS2703。差分ゆがみベクトルの成分の値が一定の値より大きいか否かを判断するステップS2704。一定の値より大きい場合には自由スクロールへの切り替えリクエストにより切り替えが行われるステップS2705。図28では、表示制御装置による制限スクロールから自由スクロールへの切り替えのための全体フローの一例が示されている。ここでは、コントローラによるドラッグ操作でスクロールする場合について説明するが、タッチパネルによるドラッグ操作でスクロールする場合でも同様に考えられる。なお、以下の各処理は、例えば図14に示される表示制御装置の各構成要素が適宜行うものである。図28に示すように、表示制御装置は、新しい位置への移動、拡大縮小値の変更のリクエストを受け付けるステップS2801。受け付け後に、代表ベクトルが計算されるステップS2802。そして、コントローラの新たな位置を記録しステップS2803、斥力を計算し、計算された斥力をコントローラへ与えるための処理例えば、コントローラに対して斥力を与えるための制御信号などを生成して送信する処理を行うステップS2804。その後、制限スクロールから自由スクロールへの切り替えをするか否か判断するステップS2805:図27参照。切り替えるべきと判断されると、制限スクロールから自由スクロールに切り替えられるステップS2806。切り替えるべきでないと判断されると、スクロールのベクトルの強さの分だけスクロールレールに沿って地図を移動させるステップS2807。次に、逆に自由スクロールモードから制限スクロールモードへの簡単な切り替えについて説明する。第2の実施の形態では、図29aに示すように、地図をスクロールする際の注目点となるカーソルと近くにある経路との間の距離距離Lが、ある一定の値よりも小さく近く、かつ、カーソルがスクロールされる際の速度Vの絶対値|V|が、ある一定の速度より小さくなったときに自由スクロールモードから制限スクロールモードへ切り替えられる。これにより、ユーザが自由に地図をスクロールさせてカーソルを経路の近くに持っていき、その周辺でカーソルの速度を緩める若しくは止めるなどすると、カーソルが経路というレールに吸着され、経路に沿ってのみ移動する制限スクロールに切り替わる。カーソルから経路までの距離の計算は、図29bに示すように、経路上にある多数の標本点からカーソルまでの距離を測り、カーソルに一番近い経路点標本点を用いることで計算できる。なお、経路上の経路点の間隔は、表示されるピクセルの何倍かの値で固定されており、拡大縮小する経路の絶対的距離には依存しないようにしておく。ここで、第2の実施の形態における自由スクロールから制限スクロールへの切り替えの判断を表示制御装置が行う際のフローの一例を図30に示す。なお、以下の各処理は、例えば図14に示される表示制御装置の各構成要素が適宜行うものである。図30に示すように、表示制御装置は、スクロールがされたか否かを判断するステップS3001。スクロールされたと判断すると、地図のスクロールの速度の絶対値が、事前に決められたある一定の値所定の値より小さいか否かを判断するステップS3002。一定の値より小さいと判断されると、地図データから近傍のブロックエリアの経路データを読み取るステップS3003。現在の拡大縮小率に合わせて経路に複数の経路点標本点をとるステップS3004。そして、各経路点から現在のカーソルの位置との距離をとり、その距離が最小となる経路点を見つけるステップS3005。最小の距離が事前に決められたある値より小さいか否かを判断するステップS3006。小さいと判断されると、一番近い経路点にカーソルが吸着され、制限スクロールに切り替わるステップS3007。