(57)【特許請求の範囲】
【請求項１】
グラフ式を入力する入力手段と、
グラフの表示画面の表示範囲を設定する表示範囲設定手段と、
前記入力手段により入力されたグラフ式に基づいてグラフを描画するグラフ描画手段と、
このグラフ描画手段により描画されるグラフが前記表示範囲設定手段で設定された表示範囲外となる場合に、前記入力手段により入力されたグラフ式から極を算出する算出手段と、
前記グラフ描画手段により描画されるグラフが前記表示範囲設定手段で設定された表示範囲外となる場合に、前記算出手段で算出された極が位置する方向を示す方向マークを表示させ、極が複数ある場合は、画面中央に最も近い極の位置を示すように前記方向マークを表示させるマーク表示制御手段と、
を備えることを特徴とするグラフ表示制御装置。
【請求項２】
コンピュータを、
グラフ式を入力する入力手段と、
グラフの表示画面の表示範囲を設定する表示範囲設定手段と、
前記入力手段により入力されたグラフ式に基づいてグラフを描画するグラフ描画手段と、
このグラフ描画手段により描画されるグラフが前記表示範囲設定手段で設定された表示範囲外となる場合に、前記入力手段により入力されたグラフ式から極を算出する算出手段と、
前記グラフ描画手段により描画されるグラフが前記表示範囲設定手段で設定された表示範囲外となる場合に、前記算出手段で算出された極が位置する方向を示す方向マークを表示させ、極が複数ある場合は、画面中央に最も近い極の位置を示すように前記方向マークを表示させるマーク表示制御手段と、
して機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はグラフ表示制御装置、及び記憶媒体に係り、詳細には、関数式に対応するグラフを描画するグラフ表示制御装置、及び記憶媒体に関する。
【０００２】
【従来の技術】
従来より、グラフ作成表示機能を備えたグラフ関数電卓が教育の現場やエンジニアの技術計算用に利用されている。グラフ関数電卓は様々な関数演算プログラムを内蔵しており、入力された式に基づくグラフ作成表示、入力された数表に基づくグラフ作成表示等が可能である。
【０００３】
また、プログラム機能、統計計算機能、数式処理機能等も備え、プログラム機能を利用した複雑なくり返し演算や、統計計算機能を利用したデータ解析、数式処理機能を利用した数式の演算や簡略化等の処理が可能となり、数学のみならず物理や化学の分野でも学習効果を発揮する
【０００４】
図４を参照して従来のグラフ描画について説明する。図４に示すように、グラフ関数電卓では、グラフ表示画面４０の左下座標が（Ｘmin，Ｙmin）、右上座標が（Ｘmax，Ｙmax）と設定されている。あるいはこの範囲はユーザによって変更可能である。図４（ａ）に示すように、式ｙ＝ｆ（ｘ）がＸmin≦ｘ≦ＸmaxでＹmin≦ｙ≦Ｙmaxの範囲にある場合は、表示画面４０内にｙ＝ｆ（ｘ）のグラフＧ１０、Ｘ軸４ｘ、及びＹ軸４ｙが描画される。
【０００５】
一方、式ｙ＝ｆ（ｘ）がＸmin≦ｘ≦Ｘmaxでｙ＜ＹminまたはＹmax＜ｙの範囲にある場合は、図４（ｂ）に示すように、表示画面４０にｙ＝ｆ（ｘ）のグラフＧ１０は描画されず、Ｘ軸４ｘ及びＹ軸４ｙのみが描画される。
【０００６】
【発明が解決しようとする課題】
上述のように、表示画面４０の範囲外にグラフＧ１０がある場合は画面内に表示されない。この場合はグラフＧ１０が表示画面の上下左右どちらの位置にあるのか一見して分からないため、ユーザはグラフＧ１０を画面内に表示させるためにカーソルキーを使って表示範囲を移動（スクロール）させたり、範囲の設定を変更するなどしてグラフを探す必要があり、操作が煩雑であった。
【０００７】
本発明の課題は、グラフが表示画面外にある場合に、容易な操作でグラフを画面内に表示させることができるグラフ表示制御装置、及び記憶媒体を提供することである。
【０００８】
【課題を解決するための手段】
本発明に係るグラフ表示装置は、グラフ式を入力する入力手段と、グラフの表示画面の表示範囲を設定する表示範囲設定手段と、前記入力手段により入力されたグラフ式に基づいてグラフを描画するグラフ描画手段と、このグラフ描画手段により描画されるグラフが前記表示範囲設定手段で設定された表示範囲外となる場合に、前記入力手段により入力されたグラフ式から極を算出する算出手段と、前記グラフ描画手段により描画されるグラフが前記表示範囲設定手段で設定された表示範囲外となる場合に、前記算出手段で算出された極が位置する方向を示す方向マークを表示させ、極が複数ある場合は、画面中央に最も近い極の位置を示すように前記方向マークを表示させるマーク表示制御手段と、を備えることを特徴とする。
【０００９】
本発明によれば、入力されたグラフ式についてグラフ描画する場合に、グラフが設定された表示範囲外になる場合は、グラフの極の位置を示す方向マークが表示され、極が複数ある場合は、画面中央に最も近い極の位置を示すように前記方向マークを表示させるので、グラフのある方向を特定して的確にスクロール方向を示すことができる。
【００１７】
【発明の実施の形態】
以下、図を参照して本発明に係るグラフ表示制御装置の一実施の形態である計算装置１を詳細に説明する。本発明は例えば関数演算機能を有する小型電子計算機（いわゆる関数電卓）やパーソナルコンピュータ等に適用される。
【００１８】
まず構成を説明する。
図１は本実施の形態の計算装置１の構成を示すブロック図である。
図１に示すように、計算装置１はＣＰＵ（Central Processing Unit）２、入力部３、表示部４、表示駆動回路５、ＲＡＭ（Random Access Memory）６、ＲＯＭ（Read Only Memory）７、記憶装置８、及び記憶媒体９によって構成されている。
【００１９】
ＣＰＵ２は、入力部３を介して入力される指示に基づいて、ＲＯＭ７または記憶装置８から所定のプログラムを読み出してＲＡＭ６に一時格納し、当該プログラムに基づく各種処理を実行して計算装置１の各部を集中制御する。すなわち、ＣＰＵ２は、前記読み出した所定プログラムに基づいて各種処理を実行し、その処理結果をＲＡＭ６内のワークメモリに格納するとともに、表示駆動回路５により表示データを生成し、表示部４に表示させる。また、入力部３を介して入力される指示に基づいて、前記処理結果を記憶装置８を介して記憶媒体９に保存させる。
【００２０】
本実施の形態の計算装置１においてグラフを描画する場合、ＣＰＵ２はＲＯＭ７または記憶装置８に記憶されているグラフ描画処理プログラムに基づいて後述するグラフ描画処理（図２参照）を実行する。
【００２１】
グラフ描画処理（図２参照）において、ＣＰＵ２は描画するグラフ表示画面４１の範囲（レンジ）の設定を受け付ける。また、グラフの式（以下、グラフ式と呼ぶ。）の入力を受け付け、入力されたグラフ式に対応するグラフをレンジの設定されたグラフ表示画面４１に描画する。このとき、グラフが表示画面内に入るか否かを判定し、表示画面に入らない場合は、グラフを表示画面内に誘導するため、どちら側にスクロールすればよいかを示すスクロールマークを表示する（図３の４ａ〜４ｄ参照）。本発明では表示画面中央に一番近いグラフの極を検索し、その極を指し示すように、スクロールマークを表示する方法をとる。グラフの極を探すには、グラフ式をｙ＝ｆ（ｘ）とした場合、導関数ｄｙ／ｄｘ＝ｆ’（ｘ）＝０となる点（Ｘｐ，Ｙｐ）を探せばよい。
【００２２】
入力部３は、テンキー３ａ、文字キー、各種関数キー３ｋ、各種演算子キー３ｂ群から構成されるデータ入力キー、カーソルやトレースポインタを移動させる際に操作されるカーソルキー「←」、「→」、「↑」、「↓」３ｃ〜３ｆ、選択を確定したり、演算を実行させる際に操作される「ＥＸＥ」キー３ｇ、実行中の処理を終了または中止する際に操作される「ＥＳＣ」キー３ｈ、グラフを描画する際に操作される「ＤＲＡＷ」キー３ｉ、「ＳＨＩＦＴ」キー３ｊ等の各種キー群によって構成され、押下されたキーの押下信号をＣＰＵ２に出力する。
【００２３】
表示部４は、ＬＣＤ（Liquid Crystal Display）等により構成され、表示駆動回路５から入力される駆動信号に基づく各種表示を行う。表示駆動回路５は、ＣＰＵ２から入力される表示データに基づく駆動信号を生成して、表示部４の表示制御を行う。
【００２４】
ＲＡＭ６は、計算装置１において指定されたアプリケーションプログラム、入力指示、入力データ、及び処理結果等を一時格納するワークメモリを有する。
【００２５】
ＲＯＭ７は、本実施の形態の計算装置１に対応する基本プログラム、及び当該基本プログラムに対応するアプリケーションプログラムを複数記憶している。すなわち、計算装置１の電源がＯＮ状態にされた際に実行する初期表示プログラム、メニュー選択プログラム、各種関数演算プログラム、統計演算処理プログラム、及びグラフ描画プログラム等の書き換え不要な基本プログラムの他、本実施の形態の計算装置１において実行する処理プログラムを格納している。
【００２６】
記憶装置８は、プログラムやデータ等が予め記憶されている記憶媒体９を有しており、この記憶媒体９は磁気的、光学的記憶媒体、若しくは半導体メモリで構成されている。この記憶媒体９は記憶装置８に固定的に設けたもの、若しくは着脱自在に装着するものであり、この記憶媒体９には上記基本プログラム、当該計算装置１に対応する各種処理に対応したアプリケーションプログラム、及び当該各種処理プログラムで処理されたデータ等を記憶する。
【００２７】
また、この記憶媒体９に記憶するプログラム、データ等は、その一部若しくは全部をサーバやクライアント等の他の機器からネットワーク回線等の伝送媒体を介して伝送制御部（図示省略）から受信して記憶する構成にしてもよく、更に、記憶媒体９はネットワーク上に構築されたサーバの記憶媒体であってもよい。更に、前記プログラムをネットワーク回線等の伝送媒体を介してサーバやクライアントへ伝送してこれらの機器にインストールするように構成してもよい。
【００２８】
次に、動作を説明する。
図２はグラフ描画処理を説明するフローチャートであり、図３はグラフ表示画面４１に表示されるスクロールマークの表示例である。
【００２９】
ここで、このフローチャートに含まれる各機能を実現するためのプログラムは、読み取り可能なプログラムコードの形態でＲＯＭ７または記憶媒体９に格納されており、ＣＰＵ２はこのプログラムコードにしたがった動作を逐次実行する。
また、ＣＰＵ２は伝送媒体を介して伝送されてきた上述のプログラムコードにしたがった動作を逐次実行することもできる。すなわち、記憶媒体９の他、伝送媒体を介して外部供給されたプログラム／データを利用してこの実施形態特有の動作を実行することもできる。
【００３０】
まず、メニュー画面（図示省略）においてグラフ描画機能が選択され、実行指示が入力されると、ＣＰＵ２は範囲設定画面（図示省略）を表示部４に表示し、グラフ表示画面４１の表示範囲（レンジ）として左下座標（Ｘmin，Ｙmin）及び右上座標（Ｘmax，Ｙmax）の設定を受け付ける（ステップＳ１）。次に、グラフ式を入力するため、グラフ式入力画面（図示省略）を表示する。そして任意のグラフ式の入力を受け付ける（ステップＳ２）。
【００３１】
このように、グラフ表示画面４１の範囲が設定され、グラフ式ｙ＝ｆ（ｘ）が入力された後、入力部３の「ＥＸＥ」キー３ｇが押下されるとＲＡＭ６に入力したグラフ式を格納する。その後、入力部３の「ＤＲＡＷ」キー３ｉが押下され、グラフ描画指示が入力されると、ＣＰＵ２は設定された範囲のグラフ表示画面４１を表示部４に表示するとともに、当該グラフ表示画面４１に対するグラフ描画を行う。グラフ表示画面４１にはグラフの他、Ｘ軸４ｘ及びＹ軸４ｙも表示される（ステップＳ３）。
【００３２】
その後、ＣＰＵ２は表示範囲内（Ｘmin≦Ｘ≦ＸmaxかつＹmin≦Ｙ≦Ｙmax）にグラフがあるか否かを判断する。つまり、グラフ式によって得られる座標（Ｘ，Ｙ）がＸmin≦Ｘ≦ＸmaxでＹ＜ＹminまたはＹmax＜Ｙの範囲にあるならば、グラフは範囲外にあると判断する。グラフが範囲内にない場合は（ステップＳ４；範囲外）、範囲内への誘導を促すためのスクロールマークを表示するためにステップＳ５以降の処理を実行する。ひとつでもＹmin≦Ｙ≦Ｙmaxとなる点（Ｘ，Ｙ）があった場合は範囲内にグラフがあるとして（ステップＳ４；範囲内）、そのまま処理を終了する。グラフ表示画面４１にはグラフが描画される。
【００３３】
グラフが範囲内にない場合は、グラフ表示画面４１内の上側にグラフがあるか（Ｙ＞Ｙmax）、下側にグラフがあるか（Ｙ＜Ｙmin）の情報を一旦ＲＡＭ６に格納し、ＣＰＵ２はグラフ式の極を求める。すなわち、グラフ式ｙ＝ｆ（ｘ）の微分値ｙ’＝ｆ’（ｘ）＝０となる点を求める（ステップＳ５）。そして、極の有無及び個数を調べる（ステップＳ６）。ここで、極を検索する範囲を、例えばグラフ表示画面４１のＸ方向の幅ＸＬ＝Ｘmax−Ｘminを基準に、Ｘの範囲を左右に２倍した範囲、すなわち、（Ｘmin−２ＸＬ）≦Ｘ≦（Ｘmax＋２ＸＬ）と設定する。この範囲内でｙ’＝ｆ’（ｘ）＝０となる点を全て求める。なお、この処理内では周知の微分演算方法及び極を求める演算方法を用いることとし、その詳細についての説明を省略する。
【００３４】
極が求められなかった場合は（ステップＳ６；極なし）、ｙ＝ｆ（ｘ）のグラフは検索範囲内で単純増加または単純減少のグラフであるので、ＲＡＭ６に記憶した上側にグラフがあるか、下側にグラフがあるかの情報により、上範囲外（Ｙ＞Ｙmax）か下範囲外（Ｙ＜Ｙmin）かを判断する（ステップＳ７）。グラフ表示画面４１の上側にグラフがある場合（ステップＳ７；Ｙ＞Ｙmax）は、グラフ表示画面４１を上側にスクロールするように指示する「↑」のスクロールマークをグラフ表示画面４１の一部、例えば右肩部に追加表示する（ステップＳ８）。グラフ表示画面４１の下側にグラフがある場合（ステップＳ７；Ｙ＜Ｙmin）は、グラフ表示画面４１を下側にスクロールするように指示する「↓」のスクロールマークを追加表示する（ステップＳ９）。
【００３５】
極が１個ある場合は（ステップＳ６；極１コ）、極の座標Ｍ（Ｘｐ，Ｙｐ）を求める（ステップＳ１０）。そして、極のＹ座標Ｙｐがグラフ表示画面４１の上側にあるか（Ｙｐ＞Ｙmax）、下側にあるか（Ｙｐ＜Ｙmin）を判断する（ステップＳ１１）。
【００３６】
グラフ表示画面４１の上側に極のＹ座標Ｙｐがある場合（ステップＳ１１；Ｙｐ＞Ｙmax）は、グラフ表示画面４１を上側にスクロールするように指示する「↑」のスクロールマークを表示する（ステップＳ１２）。グラフ表示画面４１の下側に極のＹ座標Ｙｐがある場合（ステップＳ１１；Ｙｐ＜Ｙmin）は、グラフ表示画面４１を下側にスクロールするように指示する「↓」のスクロールマークを表示する（ステップＳ１３）。極のＹ座標ＹｐがＹmin≦Ｙｐ≦Ｙmaxの範囲にある場合は（ステップＳ１１；Ｙmin≦Ｙｐ≦Ｙmax）、そのままステップＳ１４へ移行する。
【００３７】
ステップＳ１４では、極のＸ座標Ｘｐがグラフ表示画面４１の右側にあるか（Ｘｐ＞Ｘmax）、左側にあるか（Ｘｐ＜Ｘmin）を判断する（ステップＳ１４）。
グラフ表示画面４１の右側に極のＸ座標Ｘｐがある場合（ステップＳ１４；Ｘｐ＞Ｘmax）は、グラフ表示画面４１を右側にスクロールするように指示する「→」のスクロールマークを表示する（ステップＳ１５）。グラフ表示画面４１の左側に極のＸ座標Ｘｐがある場合（ステップＳ１１；Ｘｐ＜Ｘmin）は、グラフ表示画面４１を左側にスクロールするように指示する「←」のスクロールマークを表示する（ステップＳ１６）。極のＸ座標ＸｐがＸmin≦Ｘｐ≦Ｘmaxの範囲にある場合は（ステップＳ１４；Ｘmin≦Ｘｐ≦Ｘmax）、そのまま処理を終了する。
【００３８】
また、ステップＳ６において極が複数あると判断された場合は（ステップＳ６；極複数）、それぞれの極Ｍ１，Ｍ２，Ｍ３，・・・の座標と画面中央の座標
（Ｘ０，Ｙ０）
＝（Ｘmin＋（Ｘmax−Ｘmin）／２，Ｙmin＋（Ｙmax−Ｙmin）／２）
との距離Ｌ１，Ｌ２，Ｌ３，・・・を算出し（ステップＳ１７）、距離が一番近い極を選択し、その座標Ｍ（Ｘｐ，Ｙｐ）を求める（ステップＳ１８）。各極の座標を（Ｘｐ１，Ｙｐ１），・・・（Ｘｐｎ，Ｙｐｎ）とすると、グラフ表示画面４１中央の座標（Ｘ０，Ｙ０）との距離Ｌｎは、次式（１）から求められる。
【００３９】
Ｌｎ2＝（Ｘｐｎ−Ｘ０）2＋（Ｙｐｎ−Ｙ０）2・・・（１）
【００４０】
その後、ステップＳ１１〜ステップＳ１６の処理と同様に、選択した極の位置を指し示すようにスクロールマークをグラフ表示画面４１の一部に表示する。
【００４１】
図３にスクロールマークの具体的な表示例を示す。
グラフを描画した際にグラフ表示画面４１にＸ軸４ｘ及びＹ軸４ｙのみ描画され、グラフが画面外にある場合は、まず所定の検索範囲内で極を検索し、その座標を求める。
図３（ａ）に示すように、極が１個であり、その極Ｍ（Ｘｐ，Ｙｐ）の位置が
Ｘｐ＜Ｘmin，Ｙmin≦Ｙｐ≦Ｙmax
の場合は、図２のフローチャートのステップＳ１０→ステップＳ１１（Ｙmin≦Ｙｐ≦Ｙmax）→ステップＳ１４（Ｘｐ＜Ｘmin）→ステップＳ１６の処理によって、左への移動を促す「←」のスクロールマーク４ａを表示画面右肩部に表示する。
【００４２】
図３（ｂ）に示すように、極が１個であり、その極Ｍ（Ｘｐ，Ｙｐ）の位置が
Ｘｐ＞Ｘmax，Ｙｐ＜Ｙmin
の場合は、図２のフローチャートのステップＳ１０→ステップＳ１１（Ｙｐ＜Ｙmin）→ステップＳ１３の処理によって、下への移動を促す「↓」のスクロールマーク４ｃを表示画面右肩部に表示する。また、ステップＳ１４（Ｘｐ＞Ｘmax）→ステップＳ１５の処理によって、右への移動を促す「→」のスクロールマーク４ｂを表示画面右肩部に追加表示する。
【００４３】
また、図３（ｃ）に示すようにグラフに極が複数ある場合は、ステップＳ１７の処理によって各極Ｍ１，Ｍ２，Ｍ３と画面中央の座標（Ｘ０，Ｙ０）との距離Ｌ１，Ｌ２，Ｌ３を算出し、ステップＳ１８の処理によって距離が一番短い極の座標を求める。図３（ｃ）に示す例では、Ｌ１＞Ｌ２＞Ｌ３であるので、極Ｍ３までの距離Ｌ３が最短である。ＣＰＵ２は極Ｍ３の座標（Ｘｐ３，Ｙｐ３）を求める。そして、極Ｍ３（Ｘｐ３，Ｙｐ３）の位置が、
Ｘmin≦Ｘｐ３≦Ｘmax，Ｙｐ３＞Ｙmax
と判断すると、図２のフローチャートのステップＳ１１（Ｙｐ＞Ｙmax）→ステップＳ１２によって上への移動を促す「↑」のスクロールマーク４ｄを表示画面右肩部に表示する。
【００４４】
このようにグラフ表示画面４１に表示されるスクロールマークに従って、入力部３のカーソルキー３ｃ〜３ｆを押下操作すると、その方向にグラフ表示画面４１をスクロールし、表示されなかったグラフをグラフ表示画面４１内に表示させることができる。
【００４５】
以上説明したように、計算装置１はグラフを描画する際に、グラフが表示範囲外にある場合、そのグラフの極を検索してその座標と表示範囲とを比較し、ユーザによるスクロール操作を促す表示を行う。極がない場合は、検索範囲内で単調減少または単調増加のグラフであり、グラフのｙ座標が表示範囲の上側にあるか下側にあるかを判断し、上または下へのスクロールを促す表示を行う。また、極が複数ある場合は画面中央の座標と各極との距離を算出し、最短距離にある極の座標について表示範囲と比較する。
【００４６】
従って、グラフが表示範囲外にある場合に、ユーザにカーソルキー３ｃ〜３ｆによるスクロール操作を促す「↑」、「↓」、「→」、「←」のスクロールマーク４ａ〜４ｄを表示するようにしたことにより、グラフを画面内に表示させるにはどの方向にスクロールさせればよいかを瞬時に理解させることができる。またグラフ表示画面４１内に誘導させる基準として、画面中央座標に一番近い極を選択するようにしたので、必要最小限のキー操作でグラフを画面内に表示させることができる。
【００４７】
なお、上述の実施の形態ではスクロールマークを「↑」、「↓」、「→」、「←」としてカーソルキー３ｃ〜３ｆの操作による４方向への移動を促すマークとしたが、本発明はこれに限定されるものではなく、例えば、「１」〜「９」をテンキー配列で表示し、入力部３のテンキー３ａの操作によって、上下左右に加え、斜め右上、斜め右下、斜め左上、斜め左下の８方向にスクロールを促すようにしてもよい。
【００４８】
また、上述の実施の形態では、極の検索範囲をグラフ表示画面４１のＸ方向の幅ＸＬを左右に２倍に広げた範囲としたが、これに限定されるものではなく、任意の範囲に変更可能である。
【００４９】
【発明の効果】
請求項１及び２記載の発明によれば、グラフが表示画面外にある場合に、グラフの極の位置を示すように方向マークを表示させ、極が複数ある場合は、画面中央に最も近い極の位置を示すように前記方向マークを表示させるので、ユーザはどちらの方向にスクロールすればよいか確認でき、容易な操作でグラフを表示画面内に表示さる。
【図面の簡単な説明】
【図１】本発明に係るグラフ表示制御装置の一実施の形態である計算装置１の構成を示すブロック図である。
【図２】グラフ描画処理を説明するフローチャートである。
【図３】グラフ表示画面４１に表示されるスクロールマークの表示例である。
【図４】従来の関数電卓におけるグラフ描画を説明する図である。
【符号の説明】
１    計算装置
２    ＣＰＵ
３    入力部
４    表示部
４ａ    「←」のスクロールマーク
４ｂ    「→」のスクロールマーク
４ｃ    「↓」のスクロールマーク
４ｄ    「↑」のスクロールマーク
４ｘ    Ｘ軸
４ｙ    Ｙ軸
４１    グラフ表示画面
５    表示駆動回路
６    ＲＡＭ
７    ＲＯＭ
８    記憶装置
９    記憶媒体
【図１】
0004547774.tif 000002
【図２】
0004547774.tif 000003
【図３】
0004547774.tif 000004
【図４】
0004547774.tif 000005