(57)【要約】【課題】関数式をグラフ化表示するグラフ表示装置で隣り合う各描画点間が連続するグラフなのか不連続のグラフなのかを高速且つ正確に判別し、正しいグラフを描画表示する。【解決手段】入力関数式「ｙ＝ｆ（ｘ）」が、例えば双曲線関数の関数式［ｙ＝ｔａｎ（ｘ）］であって、そのｙ座標値がプラス無限大とマイナス無限大との間で不連続に変化する場合であっても、不連続グラフである可能性を数式処理（Ｓ４）によって判定すると共に（図６（Ａ））、その連続部分を数値処理（Ａ１〜Ａ７）によって高速描画し（図６（Ｂ））、またその不連続部分の各描画点間を数式処理によって正しく判断し（図６（Ｃ）〜（Ｅ））、正しい不連続グラフとして描画表示することができる（図６（Ｆ））。【選択図】      図６
2008033823.tif 000002
【特許請求の範囲】
【請求項１】
グラフ化すべき関数式を入力する式入力手段と、
グラフの表示範囲を設定する範囲設定手段と、
前記式入力手段により入力された関数式に対応するグラフが不連続のグラフとなる可能性を判定する不連続関数式判定手段と、
前記入力関数式の第１の変数について、前記範囲設定手段により設定された表示範囲の最小値から最大値に向けて予め設定された間隔置きの第１の変数値を前記入力関数式に代入し当該各第１の変数値にそれぞれ対応する第２の変数値を算出するグラフ描画点算出手段と、
前記不連続関数式判定手段により前記入力関数式が不連続のグラフとなる可能性があると判定された場合には、前記グラフ描画点算出手段により前記第１の変数値の設定間隔置きに算出される前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいか否かを判断する第２変数差判断手段と、
この第２変数差判断手段により前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいと判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値と今回の第２の変数値とに対応するグラフ描画点間の前記範囲設定手段により設定されたグラフの表示範囲上において当該グラフを不連続にして描画表示する不連続グラフ描画手段と、
前記不連続関数式判定手段により前記入力関数式が不連続のグラフとなる可能性がないと判定された場合、または前記第２変数差判断手段により前回の第２の変数値と今回の第２の変数値との差が予め設定された値以下と判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値と今回の第２の変数値とに対応するグラフ描画点間を前記範囲設定手段により設定されたグラフの表示範囲上で連続した線で描画表示する連続グラフ描画手段と、
を備えたことを特徴とするグラフ表示装置。
【請求項２】
前記不連続関数式判定手段は、
グラフ描画した際に不連続のグラフとなる可能性の有る複数種類の関数式を予め記憶する不連続関数式記憶手段を有し、
前記式入力手段により入力された関数式が前記不連続関数式記憶手段により記憶された種類の関数式である場合に、この入力された関数式に対応するグラフが不連続のグラフとなる可能性が有ると判定する、
ことを特徴とする請求項１に記載のグラフ表示装置。
【請求項３】
前記不連続関数式判定手段は、
前記式入力手段により入力された関数式をその第１の変数値を解とする形式の式に変換する式変換手段と、
この式変換手段により変換された前記第１の変数値を解とする形式の式において、定数項が含まれているかを判断する定数項判断手段とを有し、
この定数項判断手段により前記第１の変数値を解とする形式の式において定数項が含まれていると判断された場合に、前記入力関数式に対応するグラフが不連続のグラフとなる可能性が有ると判定する、
ことを特徴とする請求項１に記載のグラフ表示装置。
【請求項４】
前記不連続グラフ描画手段は、
前記第２変数差判断手段により前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいと判断された場合に、前回の第１の変数値と今回の第１の変数値との間における前記入力関数式の最小の第２の変数値と最大の第２の変数値とを算出する最小／最大値算出手段と、
この最小／最大値算出手段により算出された最小の第２の変数値に対応する第１の変数値と最大の第２の変数値に対応する第１の変数値との大小を判断する第１変数値大小判断手段と、
前記グラフ描画点算出手段により算出された前回の第２の変数値と、前記第１変数値大小判断手段により小さいと判断された第１の変数値に対応するところの前記最小または最大の第２の変数値とに対応するグラフ描画点間を、前記範囲設定手段により設定されたグラフの表示範囲上で連続した線で描画表示する前グラフ描画手段と、
前記第１変数値大小判断手段により大きいと判断された第１の変数値に対応するところの前記最小または最大の第２の変数値に対応するグラフ描画点を前記範囲設定手段により設定されたグラフの表示範囲上で前記前グラフ描画手段により描画されたグラフとは不連続にして描画表示する後グラフ描画手段とを有する、
ことを特徴とする請求項２または請求項３に記載のグラフ表示装置。
【請求項５】
前記不連続関数式判定手段は、
前記式入力手段により入力された関数式をその第１の変数値を解とする形式の式に変換する式変換手段と、
この式変換手段により前記入力関数式がその第１の変数値を解とする形式の式に変換されたか否かを判断する変換式判断手段とを有し、
この変換式判断手段により前記入力関数式がその第１の変数値を解とする形式の式に変換されないと判断された場合に、前記入力関数式に対応するグラフが不連続のグラフとなる可能性が有ると判定する、
ことを特徴とする請求項１に記載のグラフ表示装置。
【請求項６】
前記第２変数差判断手段は、前記不連続関数式判定手段により前記入力関数式が不連続のグラフとなる可能性があると判定された場合に、前記グラフ描画点算出手段により前記第１の変数値の設定間隔置きに算出される前回の第２の変数値に対応するグラフ描画ドット位置と今回の第２の変数値に対応するグラフ描画ドット位置との差が２ドット以上か否かを判断し、
前記不連続グラフ描画手段は、
前記第２変数差判断手段により前回の第２の変数値に対応するグラフ描画ドット位置と今回の第２の変数値に対応するグラフ描画ドット位置との差が２ドット以上と判断された場合に、今回の第２の変数値についてマイナス方向からの極限値とプラス方向からの極限値とを算出する極限値算出手段と、
この極限値算出手段により算出された今回の第２の変数値についてのマイナス方向からの極限値とプラス方向からの極限値とが同じか否かを判断する極限値判断手段と、
この極限値判断手段により今回の第２の変数値についてのマイナス方向からの極限値とプラス方向からの極限値とが異なると判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値に対応するグラフ描画点に対し今回の第２の変数値に対応するグラフ描画点を前記範囲設定手段により設定されたグラフの表示範囲上において不連続にして描画表示し、前記マイナス方向からの極限値とプラス方向からの極限値とが同じと判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値に対応するグラフ描画点に対し今回の第２の変数値に対応するグラフ描画点を前記範囲設定手段により設定されたグラフの表示範囲上において連続にして描画表示する、
ことを特徴とする請求項２または請求項５に記載のグラフ表示装置。
【請求項７】
グラフ化すべき関数式を入力する式入力手段と、グラフの表示範囲を設定する範囲設定手段とを備えたグラフ表示装置のコンピュータを制御するためのグラフ表示処理プログラムであって、
前記コンピュータを、
前記式入力手段により入力された関数式に対応するグラフが不連続のグラフとなる可能性を判定する不連続関数式判定手段、
前記入力関数式の第１の変数について、前記範囲設定手段により設定された表示範囲の最小値から最大値に向けて予め設定された間隔置きの第１の変数値を前記入力関数式に代入し当該各第１の変数値にそれぞれ対応する第２の変数値を算出するグラフ描画点算出手段、
前記不連続関数式判定手段により前記入力関数式が不連続のグラフとなる可能性があると判定された場合には、前記グラフ描画点算出手段により前記第１の変数値の設定間隔置きに算出される前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいか否かを判断する第２変数差判断手段、
この第２変数差判断手段により前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいと判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値と今回の第２の変数値とに対応するグラフ描画点間の前記範囲設定手段により設定されたグラフの表示範囲上において当該グラフを不連続にして描画表示する不連続グラフ描画手段、
前記不連続関数式判定手段により前記入力関数式が不連続のグラフとなる可能性がないと判定された場合、または前記第２変数差判断手段により前回の第２の変数値と今回の第２の変数値との差が予め設定された値以下と判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値と今回の第２の変数値とに対応するグラフ描画点間を前記範囲設定手段により設定されたグラフの表示範囲上で連続した線で描画表示する連続グラフ描画手段、
として機能させるようにしたコンピュータ読み込み可能なグラフ表示処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばキー入力された任意の関数式をグラフ化して表示するためのグラフ表示装置及びグラフ表示処理プログラムに関する。
【背景技術】
【０００２】
一般に、グラフ表示装置は、電子式計算機（グラフ関数電卓）等に搭載され、キー操作により入力された関数式をグラフ化して表示するものである。
【０００３】
例えばｙ＝２ｘ2なる関数式と、Ｘ座標及びＹ座標の座標レンジ（ｘmin，ｘmax／ｙmin，ｙmax）を入力してグラフの描画を指示すると、座標レンジを液晶表示画面のグラフ表示範囲（Ｎ×Ｍドット）に割り当て、Ｘ方向の各表示ドット（１，２，…，Ｎ）に対応する座標値（ｘ1，ｘ2，…，ｘN）を前記関数式の変数ｘに代入して各対応する変数ｙの座標値（ｙ1，ｙ2，…，ｙN）を計算して求めることにより、そのｘｙ座標値（ｘ1，ｙ1、ｘ2，ｙ2、…、ｘN，ｙN）に対応する表示ドットを点灯させグラフの描画表示を行う。
【０００４】
しかし、このようにグラフ表示範囲におけるＸ方向の各表示ドット毎に、そのｘ座標値に対応するｙ座標値を計算してグラフの描画を行ったのでは、グラフの描画曲線はなめらかになるものの、反面、その描画処理に時間が掛かることになり、実際には、Ｘ方向の一定間隔置きの表示ドット毎に、そのｘ座標値に対応するｙ座標値を求め、これにより得られた各描画点間を線で繋ぐ表示ドットを点灯させることで、迅速なグラフの描画表示処理を行っている。
【０００５】
図１１は、従来のグラフ表示装置（グラフ関数電卓）によるグラフデータの描画表示状態を示す図である。
【０００６】
前記グラフデータの描画間隔がＸ方向の一定間隔置きに定められている場合に、例えば図１１（Ａ）に示すように、Ｘ方向に隣り合うグラフの描画点間でそのｙ座標値が大きく変化すると、その区間におけるグラフが、図１１（Ｂ）に示すように連続であるのか、又は、図１１（Ｃ）に示すように不連続であるのかを判別することができず、グラフ化すべき関数式に応じた正しいグラフが描画できない。
【０００７】
そこで、Ｘ方向に隣り合うグラフの描画点間でのｙ座標値の差が許容値以下であるか、または許容値より大きくても前回ｘ座標値ｘn-1と今回ｘ座標値ｘnとの中間のｘ座標値をグラフ関数式ｙ＝ｆ（ｘ）に代入して得た中間のｙ座標値が前回ｙ座標値ｙn-1〜今回ｙ座標値ｙn間にある場合には、前回描画点ｘn-1，ｙn-1と今回描画点ｘn，ｙn間を連続とするグラフ描画処理を行い、また一方、同グラフの描画点間でのｙ座標値の差が許容値より大きく且つその中間のｘ座標値をグラフ関数式ｙ＝ｆ（ｘ）に代入して得た中間のｙ座標値が前回ｙ座標値ｙn-1〜今回ｙ座標値ｙn間にない場合には、前回描画点ｘn-1，ｙn-1と今回描画点ｘn，ｙn間を不連続とするグラフ描画処理を行うことで、隣り合う各描画点間の連続／不連続を判別してグラフを描画表示できるようにしたグラフ表示装置が考えられている（例えば、特許文献１参照。）。
【特許文献１】特開２００１−１８８８６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のグラフ表示装置のように、隣り合う各描画点間の中間値を算出してその連続／不連続を判別しグラフ描画表示するものでも、そのような機能を持たないさらに従来のグラフ表示装置に較べれば大きく改善されているものの、この種の電子式計算機（グラフ関数電卓）では、有限桁計算における演算誤差を避けることができないため、前記各描画点間の中間値の算出においてこの演算誤差が影響した場合、やはりその連続／不連続を正しく判別してグラフ描画することができない。
【０００９】
すなわち、例えば図１２に示すように、双曲線関数のグラフ関数式［ｙ＝ｔａｎ（ｘ）］のグラフ描画処理において、そのｙ座標値がプラス無限大とマイナス無限大との間で変化する各描画点間を不正な縦線ａ１〜ａ４で結線して連続グラフとしてしまったり、また例えば図１３に示すように、整数化関数のグラフ関数式［ｙ＝ｉｎｔ（ｘ）］のグラフ描画処理において、そのｙ座標値が小量でも階段状に変化する各描画点間を不正な縦線ｂ１〜ｂ６で結線して連続グラフとしてしまったりするなど、グラフ化すべき関数式に応じた正しいグラフを描画表示することができない場合がある。
【００１０】
図１２は、従来のグラフ表示装置（グラフ関数電卓）により双曲線関数［ｙ＝ｔａｎ（ｘ）］のグラフデータを描画表示した場合の不正なグラフ表示状態を示す図である。
【００１１】
図１３は、従来のグラフ表示装置（グラフ関数電卓）により整数化関数［ｙ＝ｉｎｔ（ｘ）］のグラフデータを描画表示した場合の不正なグラフ表示状態を示す図である。
【００１２】
本発明は、このような課題に鑑みなされたもので、隣り合う各描画点間が連続するグラフなのか、不連続のグラフなのかを高速且つ正確に判別し、正しいグラフを描画表示することが可能になるグラフ表示装置及びグラフ表示処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
請求項１に記載のグラフ表示装置は、グラフ化すべき関数式を入力する式入力手段と、グラフの表示範囲を設定する範囲設定手段と、前記式入力手段により入力された関数式に対応するグラフが不連続のグラフとなる可能性を判定する不連続関数式判定手段と、前記入力関数式の第１の変数について、前記範囲設定手段により設定された表示範囲の最小値から最大値に向けて予め設定された間隔置きの第１の変数値を前記入力関数式に代入し当該各第１の変数値にそれぞれ対応する第２の変数値を算出するグラフ描画点算出手段と、前記不連続関数式判定手段により前記入力関数式が不連続のグラフとなる可能性があると判定された場合には、前記グラフ描画点算出手段により前記第１の変数値の設定間隔置きに算出される前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいか否かを判断する第２変数差判断手段と、この第２変数差判断手段により前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいと判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値と今回の第２の変数値とに対応するグラフ描画点間の前記範囲設定手段により設定されたグラフの表示範囲上において当該グラフを不連続にして描画表示する不連続グラフ描画手段と、前記不連続関数式判定手段により前記入力関数式が不連続のグラフとなる可能性がないと判定された場合、または前記第２変数差判断手段により前回の第２の変数値と今回の第２の変数値との差が予め設定された値以下と判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値と今回の第２の変数値とに対応するグラフ描画点間を前記範囲設定手段により設定されたグラフの表示範囲上で連続した線で描画表示する連続グラフ描画手段とを備えたことを特徴としている。
【００１４】
請求項２に記載のグラフ表示装置は、前記請求項１に記載のグラフ表示装置において、前記不連続関数式判定手段は、グラフ描画した際に不連続のグラフとなる可能性の有る複数種類の関数式を予め記憶する不連続関数式記憶手段を有し、前記式入力手段により入力された関数式が前記不連続関数式記憶手段により記憶された種類の関数式である場合に、この入力された関数式に対応するグラフが不連続のグラフとなる可能性が有ると判定することを特徴としている。
【００１５】
請求項３に記載のグラフ表示装置は、前記請求項１に記載のグラフ表示装置において、前記不連続関数式判定手段は、前記式入力手段により入力された関数式をその第１の変数値を解とする形式の式に変換する式変換手段と、この式変換手段により変換された前記第１の変数値を解とする形式の式において、定数項が含まれているかを判断する定数項判断手段とを有し、この定数項判断手段により前記第１の変数値を解とする形式の式において定数項が含まれていると判断された場合に、前記入力関数式に対応するグラフが不連続のグラフとなる可能性が有ると判定することを特徴としている。
【００１６】
請求項４に記載のグラフ表示装置は、前記請求項２または請求項３に記載のグラフ表示装置において、前記不連続グラフ描画手段は、前記第２変数差判断手段により前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいと判断された場合に、前回の第１の変数値と今回の第１の変数値との間における前記入力関数式の最小の第２の変数値と最大の第２の変数値とを算出する最小／最大値算出手段と、この最小／最大値算出手段により算出された最小の第２の変数値に対応する第１の変数値と最大の第２の変数値に対応する第１の変数値との大小を判断する第１変数値大小判断手段と、前記グラフ描画点算出手段により算出された前回の第２の変数値と、前記第１変数値大小判断手段により小さいと判断された第１の変数値に対応するところの前記最小または最大の第２の変数値とに対応するグラフ描画点間を、前記範囲設定手段により設定されたグラフの表示範囲上で連続した線で描画表示する前グラフ描画手段と、前記第１変数値大小判断手段により大きいと判断された第１の変数値に対応するところの前記最小または最大の第２の変数値に対応するグラフ描画点を前記範囲設定手段により設定されたグラフの表示範囲上で前記前グラフ描画手段により描画されたグラフとは不連続にして描画表示する後グラフ描画手段とを有することを特徴としている。
【００１７】
請求項５に記載のグラフ表示装置は、前記請求項１に記載のグラフ表示装置において、前記不連続関数式判定手段は、前記式入力手段により入力された関数式をその第１の変数値を解とする形式の式に変換する式変換手段と、この式変換手段により前記入力関数式がその第１の変数値を解とする形式の式に変換されたか否かを判断する変換式判断手段とを有し、この変換式判断手段により前記入力関数式がその第１の変数値を解とする形式の式に変換されないと判断された場合に、前記入力関数式に対応するグラフが不連続のグラフとなる可能性が有ると判定することを特徴としている。
【００１８】
請求項６に記載のグラフ表示装置は、前記請求項２または請求項５に記載のグラフ表示装置において、前記第２変数差判断手段は、前記不連続関数式判定手段により前記入力関数式が不連続のグラフとなる可能性があると判定された場合に、前記グラフ描画点算出手段により前記第１の変数値の設定間隔置きに算出される前回の第２の変数値に対応するグラフ描画ドット位置と今回の第２の変数値に対応するグラフ描画ドット位置との差が２ドット以上か否かを判断し、前記不連続グラフ描画手段は、前記第２変数差判断手段により前回の第２の変数値に対応するグラフ描画ドット位置と今回の第２の変数値に対応するグラフ描画ドット位置との差が２ドット以上と判断された場合に、今回の第２の変数値についてマイナス方向からの極限値とプラス方向からの極限値とを算出する極限値算出手段と、この極限値算出手段により算出された今回の第２の変数値についてのマイナス方向からの極限値とプラス方向からの極限値とが同じか否かを判断する極限値判断手段と、この極限値判断手段により今回の第２の変数値についてのマイナス方向からの極限値とプラス方向からの極限値とが異なると判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値に対応するグラフ描画点に対し今回の第２の変数値に対応するグラフ描画点を前記範囲設定手段により設定されたグラフの表示範囲上において不連続にして描画表示し、前記マイナス方向からの極限値とプラス方向からの極限値とが同じと判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値に対応するグラフ描画点に対し今回の第２の変数値に対応するグラフ描画点を前記範囲設定手段により設定されたグラフの表示範囲上において連続にして描画表示することを特徴としている。
【発明の効果】
【００１９】
本発明の請求項１（請求項７）に記載のグラフ表示装置（グラフ表示処理プログラム）によれば、不連続関数式判定手段により入力関数式が不連続のグラフとなる可能性があると判定された場合には、グラフ描画点算出手段により第１の変数値の設定間隔置きに算出される前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいか否かを判断し、この第２変数差判断により前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいと判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値と今回の第２の変数値とに対応するグラフ描画点間のグラフ表示範囲上において当該グラフを不連続にして描画表示し、また不連続関数式判定手段により入力関数式が不連続のグラフとなる可能性がないと判定された場合、または前記前回の第２の変数値と今回の第２の変数値との差が予め設定された値以下と判断された場合には、前記グラフ描画点算出手段により算出された前回の第２の変数値と今回の第２の変数値とに対応するグラフ描画点間を前記グラフ表示範囲上で連続した線で描画表示するので、グラフ化すべき関数式の入力された段階で不連続グラフとなる可能性について判定でき、この不連続グラフの可能性のある入力関数式についてだけ不連続グラフの描画処理により正しい不連続のグラフ描画表示を行うことができる。
【００２０】
本発明の請求項２に記載のグラフ表示装置によれば、前記請求項１に記載のグラフ表示装置において、不連続関数式判定手段では、グラフ描画した際に不連続のグラフとなる可能性の有る複数種類の関数式を予め記憶し、式入力手段により入力された関数式が前記不連続関数式として予め記憶された種類の関数式である場合に、この入力された関数式に対応するグラフが不連続のグラフとなる可能性が有ると判定するので、グラフ化すべき関数式の入力された段階でより高速且つ正確に不連続グラフとなる可能性について判定することができる。
【００２１】
本発明の請求項３に記載のグラフ表示装置によれば、前記請求項１に記載のグラフ表示装置において、不連続関数式判定手段では、式入力手段により入力された関数式をその第１の変数値を解とする形式の式に変換し、この変換された第１の変数値を解とする形式の式において、定数項が含まれているかを判断して、入力関数式に対応するグラフが不連続のグラフとなる可能性が有ると判定するので、グラフ化すべき関数式が不連続グラフとなる可能性のある関数式であることを数式処理によって正しく判定することができる。
【００２２】
本発明の請求項４に記載のグラフ表示装置によれば、前記請求項２または請求項３に記載のグラフ表示装置において、不連続グラフ描画手段では、第２変数差判断手段により前回の第２の変数値と今回の第２の変数値との差が予め設定された値より大きいと判断された場合に、前回の第１の変数値と今回の第１の変数値との間における入力関数式の最小の第２の変数値と最大の第２の変数値とを算出し、この算出された最小の第２の変数値に対応する第１の変数値と最大の第２の変数値に対応する第１の変数値との大小を判断する。そしてグラフ描画点算出手段により算出された前回の第２の変数値と、前記大小判断により小さいと判断された第１の変数値に対応するところの前記最小または最大の第２の変数値とに対応するグラフ描画点間を、設定グラフ表示範囲上で連続した線で前描画表示し、また前記大小判断手段により大きいと判断された第１の変数値に対応するところの前記最小または最大の第２の変数値に対応するグラフ描画点を前記前描画表示されたグラフとは不連続にして後描画表示するので、入力関数式「ｙ＝ｆ（ｘ）」が例えば双曲線関数の関数式［ｙ＝ｔａｎ（ｘ）］である場合など、正しい不連続グラフとして描画表示することができる。
【００２３】
本発明の請求項５に記載のグラフ表示装置によれば、前記請求項１に記載のグラフ表示装置において、不連続関数式判定手段では、式入力手段により入力された関数式をその第１の変数値を解とする形式の式に変換処理し、この式変換により入力関数式がその第１の変数値を解とする形式の式に変換されないと判断された場合に、入力関数式に対応するグラフが不連続のグラフとなる可能性が有ると判定するので、グラフ化すべき関数式が不連続グラフとなる可能性のある例えばｉｎｔ（ｘ）関数の関数式であることを数式処理によって正しく判定することができる。
【００２４】
本発明の請求項６に記載のグラフ表示装置によれば、前記請求項２または請求項５に記載のグラフ表示装置において、不連続グラフ描画手段では、第２変数差判断手段により前回の第２の変数値に対応するグラフ描画ドット位置と今回の第２の変数値に対応するグラフ描画ドット位置との差が２ドット以上と判断された場合に、今回の第２の変数値についてマイナス方向からの極限値とプラス方向からの極限値とを算出し、この極限値算出された今回の第２の変数値についてのマイナス方向からの極限値とプラス方向からの極限値とが同じか否かを判断する。そしてこの極限値判断手段により今回の第２の変数値についてのマイナス方向からの極限値とプラス方向からの極限値とが異なると判断された場合には、グラフ描画点算出手段により算出された前回の第２の変数値に対応するグラフ描画点に対し今回の第２の変数値に対応するグラフ描画点を設定グラフ表示範囲上において不連続にして描画表示し、前記マイナス方向からの極限値とプラス方向からの極限値とが同じと判断された場合には、グラフ描画点算出手段により算出された前回の第２の変数値に対応するグラフ描画点に対し今回の第２の変数値に対応するグラフ描画点を設定グラフ表示範囲上において連続にして描画表示するので、入力関数式「ｙ＝ｆ（ｘ）」が整数化関数の関数式［ｙ＝ｉｎｔ（ｘ）］である場合でも、正しい不連続グラフとして描画表示することができる。
【００２５】
よって本発明によれば、隣り合う各描画点間が連続するグラフなのか、不連続のグラフなのかを高速且つ正確に判別し、正しいグラフを描画表示することが可能になるグラフ表示装置及びグラフ表示処理プログラムを提供できる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して本発明の実施の形態について説明する。
【００２７】
（第１実施形態）
図１は、本発明のグラフ表示装置の実施形態に係るグラフ表示機能を備えた電子計算装置（グラフ関数電卓）の電子回路の構成を示すブロック図である。
【００２８】
この電子計算装置は、コンピュータ等からなる制御部（ＣＰＵ）１１を備えている。
【００２９】
制御部（ＣＰＵ）１１は、キー入力部１２から入力されるキー入力データや、液晶表示部１３の表示画面上に重ねて設けられたタブレット１４から位置検出回路２０を介して入力されるタッチ位置データに応じて、ＲＯＭ１５に予め記憶されているシステムプログラムを起動させ、あるいは外部記憶媒体１６に予め記憶されている計算装置制御用プログラムを記憶媒体読み取り部１７により読み取らせて起動させ、あるいは通信制御部１８によって他のコンピュータ端末から通信ネットワークＮを介して受信された計算装置制御用プログラムを起動させ、ＲＡＭ１９をワークメモリとして回路各部の動作制御を行なうものである。
【００３０】
この制御部（ＣＰＵ）１１には、前記キー入力部１２、液晶表示部１３、タブレット１４、位置検出回路２０、ＲＯＭ１５、ＲＡＭ１９、記録媒体読み取り部１７、通信制御部１８が接続され、また、液晶表示部１３が表示駆動回路２１を介して接続される。
【００３１】
図２は、前記電子計算装置のキー入力部１２に備えられる各種のキーの配列例を示す図である。
【００３２】
キー入力部１２には、数値・記号キー１２ａ、関数・演算子キー１２ｂ、「モード」キー１２ｃ、「グラフ」キー１２ｄ、「実行」キー１２ｅ、「取消」キー１２ｆ、カーソルキー１２ｇ等が備えられる。
【００３３】
数値・記号キー１２ａは、数字，記号などの個々のキーを配列した数値・記号の入力用キー群からなる。
【００３４】
関数・演算子キー１２ｂは、演算式や関数式を入力する際に操作される各種の関数記号キーや「＋」「−」「×」「÷」「＝」などの演算子キーからなる。
【００３５】
「モード」キー１２ｃは、四則演算等の任意の演算式を入力して演算処理を行なう演算モード、任意の関数式を入力して対応するグラフの描画処理を行なうグラフモード、任意のプログラムを入力して対応する計算処理を行うプログラムモード等の各種の動作モードの選択設定メニューを表示させる際に操作される。
【００３６】
「グラフ」キー１２ｄは、前記グラフモードにおいて入力された関数式に対応するグラフの描画表示を指示する際に操作される。
【００３７】
「実行」キー１２ｅは、選択あるいは入力されたデータの確定や処理機能の実行を指示する際に操作される。
【００３８】
「取消」キー１２ｆは、その直前に行われた処理を取り消す際に操作される。
【００３９】
カーソルキー「↑」「↓」「←」「→」１２ｇは、それぞれ表示されたデータの選択，送り操作や、カーソルの移動操作を行なう際等に操作される。
【００４０】
タブレット１４は、液晶表示部１３の表示画面上に重ねて設けられ、タッチされた位置に応じた電圧信号を発生するもので、このタブレット１４から出力されるタッチ位置に応じた電圧信号に基づき、位置検出回路２０により表示画面に対応させた座標が検出され、このタッチ位置座標に応じて制御部（ＣＰＵ）１１により操作の内容が判断される。
【００４１】
ＲＯＭ１５には、本電子計算装置の電子回路における全体の処理を司るシステムプログラムデータが予め記憶されると共に、演算モード処理、グラフモード処理、プログラムモード処理等、前記動作モードの選択設定メニュー画面において設定可能な各種の動作モードに対応した制御プログラムデータも予め記憶される。
【００４２】
図３は、前記電子計算装置のＲＡＭ１９に確保される主要なデータメモリの構成を示す図である。
【００４３】
ＲＡＭ１９には、表示データメモリ１９ａ、入力式メモリ１９ｂ、座標レンジメモリ１９ｃ、今回座標（ｘn，ｙn）メモリ１９ｄ、前回座標（ｘn-1，ｙn-1）メモリ１９ｅ、座標計算カウンタ値［ｎ］メモリ１９ｆ、ｘ間隔規定値（ｈ）メモリ１９ｇ、ｆMin(ｘn-1〜ｘn)計算値メモリ１９ｈ、ｆMax(ｘn-1〜ｘn)計算値メモリ１９ｉ、グラフデータメモリ１９ｊ、及びワークエリア１９ｋ等の各種のデータメモリが備えられる。
【００４４】
表示データメモリ１９ａには、前記各種の動作モードにおいて液晶表示部１３に表示すべき表示データがビットマップのパターンデータとして展開されて記憶される。
【００４５】
入力式メモリ１９ｂには、キー入力された任意の関数式（ｙ＝ｆ（ｘ））や任意の演算式が記憶される。
【００４６】
座標レンジメモリ１９ｃには、前記入力式メモリ１９ｂに記憶された関数式（ｙ＝ｆ（ｘ））をグラフ化すべき座標レンジ（ｘmin，ｘmax，ｙmin，ｙmax）が記憶される。
【００４７】
なお、この座標レンジ（ｘmin，ｘmax，ｙmin，ｙmax）は、液晶表示部（Ｎ×Ｍ表示ドット）１３におけるＸ軸方向及びＹ軸方向それぞれの表示ドット数（分解能）に割り付けられることで、個々の表示ドットの座標が定められ、グラフの描画処理が制御される。
【００４８】
今回座標（ｘn，ｙn）メモリ１９ｄには、前記入力式メモリ１９ｂに記憶された関数式（ｙ＝ｆ（ｘ））に対応するグラフの描画表示に際し、ｘ間隔規定値メモリ１９ｇに記憶されるＸ方向の規定の描画ドット間隔（ｈ）毎にそのｘ座標値を前記関数式（ｙ＝ｆ（ｘ））の変数（ｘ）に代入して算出されるｙ座標値に基づき得られる今回の描画座標データ（ｘn，ｙn）が記憶される。
【００４９】
前回座標（ｘn-1，ｙn-1）メモリ１９ｅには、前記今回のグラフ描画座標データ（ｘn，ｙn）の算出に際し、前記今回座標メモリ１９ｄにそれまで記憶されていた描画座標データ（ｘn，ｙn）が前回の描画座標データ（ｘn-1，ｙn-1）として記憶される。
【００５０】
座標計算カウンタ値（ｎ）メモリ１９ｆには、グラフ描画点の座標（ｘn，ｙn）を規定の描画ドット間隔（ｈ）毎に計算する回数ｎが順次インクリメント（ｎ＝Ｎ＋１）されたカウンタ値として記憶される。
【００５１】
ｘ間隔規定値（ｈ）メモリ１９ｇには、グラフ描画座標の算出をＸ方向の一定間隔毎に行うための規定の描画ドット間隔（ｈ）が記憶される。
【００５２】
ｆMin(ｘn-1〜ｘn)計算値メモリ１９ｈには、前回描画座標データ（ｘn-1，ｙn-1）のｙ座標値（ｙn-1）と今回描画座標データ（ｘn，ｙn）のｙ座標値（ｙn）との差（ｙn−ｙn-1）がｙ座標レンジ（ｙmin〜ｙmax）より大きくなった場合に、前記入力関数式（ｙ＝ｆ（ｘ））を用いて、その前回ｘ座標（ｘn-1）と今回ｘ座標（ｘn）間(ｘn-1〜ｘn)での最小のｙ座標値（ｙmin(ｘn-1〜ｘn)）を算出し、この最小ｙ座標値（ｙmin(ｘn-1〜ｘn):Min Value）及びそのときのｘ座標値（ｘ(ｙmin))が記憶される。
【００５３】
ｆMax(ｘn-1〜ｘn)計算値メモリ１９ｉには、前回描画座標データ（ｘn-1，ｙn-1）のｙ座標値（ｙn-1）と今回描画座標データ（ｘn，ｙn）のｙ座標値（ｙn）との差（ｙn−ｙn-1）がｙ座標レンジ（ｙmin〜ｙmax）より大きくなった場合に、前記入力関数式（ｙ＝ｆ（ｘ））を用いて、その前回ｘ座標（ｘn-1）と今回ｘ座標（ｘn）間(ｘn-1〜ｘn)での最大のｙ座標値（ｙmax(ｘn-1〜ｘn)）を算出し、この最大ｙ座標値（ｙmax(ｘn-1〜ｘn):Max Value）及びそのときのｘ座標値（ｘ(ｙmax))が記憶される。
【００５４】
グラフデータメモリ１９ｊには、前記今回座標メモリ１９ｄに順次算出されて記憶される今回の描画座標データ（ｘn，ｙn）に対応して描画されるグラフデータが、前記液晶表示部１３上のグラフ表示範囲に対応させたビットマップデータとして記憶される。
【００５５】
ワークエリア１９ｋには、各種動作モードの制御処理に伴ない制御部（ＣＰＵ）１１により入出力されるデータが一時的に記憶される。
【００５６】
次に、前記構成による電子計算装置の第１実施形態のグラフ表示機能について説明する。
【００５７】
図４は、前記電子計算装置のグラフモードにおいて機能する第１実施形態のグラフ表示処理を示すフローチャートである。
【００５８】
キー入力部１２の「モード」キー１２ｃの操作により、液晶表示部１３に対し動作モードの選択設定メニューが表示された状態で、カーソルキー１２ｇの操作により［グラフ］のアイコンが選択されて反転表示され、「実行」キー１２ｅが操作されると、制御部（ＣＰＵ）１１の動作モードがグラフモードに設定されると共に、ＲＯＭ１５に予め記憶されているグラフモード処理プログラムが起動され、液晶表示部１３に対しグラフを描画するための関数式の入力画面が初期表示される。
【００５９】
この関数式の入力画面にあって、キー入力部１２の数値・記号キー１２ａ及び関数・演算子キー１２ｂを選択的に操作してグラフ化表示したい任意の関数式「ｙ＝ｆ（ｘ）」及びそのＸＹ座標レンジ（ｘmin，ｘmax，ｙmin，ｙmax）が入力されると、この入力された関数式及び座標レンジはＲＡＭ１９内の入力式メモリ１９ｂ及び座標レンジメモリ１９ｃにそれぞれ記憶される。
【００６０】
この際、前記座標レンジメモリ１９ｃに記憶されたＸＹ座標レンジ（ｘmin〜ｘmax、ｙmin〜ｙmax）と液晶表示部１３における表示分解能（Ｎ×Ｍ表示ドット）とに基づいて、各表示ドット毎の座標が算出されて定められ、以降のグラフ描画処理が制御される。
【００６１】
そして、キー入力部１２における「グラフ」キー１２ｄが操作されて前記入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフの描画表示が指示されると（ステップＳ１）、ＲＡＭ１９内の今回座標メモリ１９ｄ、前回座標メモリ１９ｅ、座標計算カウンタ（ｎ）メモリ１９ｆ、ｆMin(ｘn-1〜ｘn)計算値メモリ１９ｈ、及びｆMax(ｘn-1〜ｘn)計算値メモリ１９ｉがクリアされて初期化された後、まず、前記入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフの不連続点や線形性などの特徴を判定するために、数式処理機能によって当該入力関数式「ｙ＝ｆ（ｘ）」を“ｘ＝ｇ（ｙ）”の形式に変換して解を求める演算処理が実行される（ステップＳ２）。
【００６２】
ここで、前記入力関数式「ｙ＝ｆ（ｘ）」が“ｘ＝ｇ（ｙ）”の形式に変換されて解が得られたか否かが判断される（ステップＳ３）。
【００６３】
そして、前記入力関数式「ｙ＝ｆ（ｘ）」が“ｘ＝ｇ（ｙ）”の形式に変換されて解が得られたと判断された場合には（ステップＳ３（ｙｅｓ））、この“ｘ＝ｇ（ｙ）”の形式で得られた解に周期関数になる定数の要素“const＊ｎ”が“ｘ＝ｇ（ｙ）＋const＊ｎ”として含まれているか否かが判断される（ステップＳ４）。
【００６４】
“ｘ＝ｇ（ｙ）”の形式で得られた解に周期関数になる定数の要素“const＊ｎ”が“ｘ＝ｇ（ｙ）＋const＊ｎ”として含まれていると判断された場合には（ステップＳ４（ｙｅｓ））、前記入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフは不連続グラフになる可能性が高いと判断されるので、図５における不連続処理Ａに移行されてグラフ描画処理が開始される（ステップＳＡ）。
【００６５】
図５は、前記電子計算装置のグラフ表示処理に伴う不連続処理Ａを示すフローチャートである。
【００６６】
図６は、前記電子計算装置のグラフ表示処理における不連続処理Ａに伴う不連続グラフの具体的描画処理例を説明する図である。
【００６７】
まず、座標計算カウンタ（ｎ）メモリ１９ｆに記憶されるグラフ描画点の座標計算（回数）カウンタｎに初期値“１”がセットされる（ステップＡ１）。
【００６８】
すると、Ｘ座標レンジの最小座標ｘminが今回ｘ座標値（ｘn）として前記関数式「ｙ＝ｆ（ｘ）」に代入され対応する今回ｙ座標値（ｙn）が算出されると共に、今回（１点目）の描画座標データ（ｘn，ｙn）として今回座標メモリ１９ｄに記憶される。そして、この今回（１点目）の描画座標データ（ｘn，ｙn）に対応する表示ドットがグラフデータメモリ１９ｊに書き込まれ、液晶表示部１３の座標上に表示される（ステップＡ３）。
【００６９】
この際、前記今回座標メモリ１９ｄに記憶されている今回の描画座標データ（ｘn，ｙn）が前回の描画座標データ（ｘn-1，ｙn-1）として前回座標メモリ１９ｅに書き換えられて記憶される。
【００７０】
続いて、グラフ描画点の座標計算（回数）カウンタｎが“＋１”されて“２”にセットされる（ステップＡ４）。
【００７１】
すると、前回ｘ座標値（ｘ-1）に対してｘ間隔規定値メモリ１９ｇに記憶されている規定の描画ドット間隔（ｈ）が加算され、新たな今回ｘ座標値（ｘn）として更新記憶されると共に、この更新された今回ｘ座標値（ｘn）が前記同様に関数式「ｙ＝ｆ（ｘ）」に代入され対応する今回ｙ座標値（ｙn）が算出され、今回（２点目）の描画座標データ（ｘn，ｙn）として今回座標メモリ１９ｄに記憶される（ステップＡ５）。
【００７２】
そして、この算出された今回（２点目）のｙ座標値（ｙn）と前回座標値メモリ１９ｅに記憶されている前回（１点目）のｙ座標値（ｙn-1）との差（ｙn−ｙn-1）の大きさが、前記座標レンジメモリ１９ｃに記憶設定されたｙ座標レンジ（ｙmin，ｙmax）の最大−最小差（ｙmax−ｙmin）よりも大きいか否か判断され（ステップＡ６）、当該ｙ座標レンジ（ｙmin，ｙmax）の最大−最小差（ｙmax−ｙmin）以内であると判断された場合には、前記今回座標メモリ１９ｄに記憶された今回（２点目）の描画座標データ（ｘn，ｙn）に対応する表示ドットがグラフデータメモリ１９ｊに書き込まれると共に、前回座標メモリ１９ｅに記憶されている前回（１点目）の描画座標データ（ｘn-1，ｙn-1）に対応する表示ドットとの間が線により連続描画（結線）され、液晶表示部１３の座標上に表示される（ステップＡ６（ｎｏ）→Ａ７）。
【００７３】
すると、前記同様に今回座標メモリ１９ｄに記憶されている今回（２点目）の描画座標データ（ｘn，ｙn）が前回の描画座標データ（ｘn-1，ｙn-1）として前回座標メモリ１９ｅに書き換えられて記憶された後、座標計算（回数）カウンタｎがさらに“＋１”されて“３”にセットされ（ステップＡ４）、前回（２点目）のｘ座標値（ｘn-1）に対してｘ間隔規定値メモリ１９ｇに記憶されている規定の描画ドット間隔（ｈ）が加算され、新たな今回（３点目）のｘ座標値（ｘn）として更新記憶される。
【００７４】
このように、ステップＡ６において、前記ｘ間隔規定値（ｈ）置きの今回ｘ座標値（ｘn）に応じて算出される今回ｙ座標値（ｙn）と前回の描画座標データ（ｘn-1，ｙn-1）における前回ｙ座標値（ｙn-1）との差（ｙn−ｙn-1）が、ｙ座標レンジ（ｙmin，ｙmax）の最大−最小差（ｙmax−ｙmin）以内であると判断される状態では、前記ステップＡ４〜Ａ７の処理が繰り返し実行され、順次算出される今回の描画座標（ｘn，ｙn）と前回の描画座標（ｘn-1，ｙn-1）間を連続とする（結ぶ）グラフ描画処理によって、前記入力された関数式「ｙ＝ｆ（ｘ）」に対応するグラフデータの描画表示が進められる。
【００７５】
一方、前記ステップＡ５，Ａ６において、算出された今回ｙ座標値（ｙn）と前回座標値メモリ１９ｅに記憶されている前回ｙ座標値（ｙn-1）との差（ｙn−ｙn-1）が、ｙ座標レンジ（ｙmin，ｙmax）の最大−最小差（ｙmax−ｙmin）よりも大きいと判断された場合には、ステップＡ８〜Ａ１４の処理に進み、グラフ不連続対応の描画処理が実行される（ステップＡ６→Ａ８）。
【００７６】
まず、数式処理コマンド“ｆMin”“ｆMax”を用いて、前回のｘ座標値（ｘn-1）と今回のｘ座標値（ｘn）との範囲内（ｘn-1〜ｘn）で、前記入力関数式「ｙ＝ｆ（ｘ）」に従った最小のｙ座標値（ｙmin(ｘn-1〜ｘn):Min Value）が算出されると共に、そのときのｘ座標値（ｘ(ｙmin))が読み込まれ、ｆMin(ｘn-1〜ｘn)計算値メモリ１９ｈに記憶される（ステップＡ８）。
【００７７】
また、同ｘ座標値範囲内（ｘn-1〜ｘn）で、前記入力関数式「ｙ＝ｆ（ｘ）」に従った最大のｙ座標値（ｙmax(ｘn-1〜ｘn):Max Value）が算出されると共に、そのときのｘ座標値（ｘ(ｙmax))が読み込まれ、ｆMax(ｘn-1〜ｘn)計算値メモリ１９ｉに記憶される（ステップＡ９）。
【００７８】
すると、前記ｆMin(ｘn-1〜ｘn)計算値メモリ１９ｈに記憶された、前記前回〜今回間ｘ座標値範囲内（ｘn-1〜ｘn）での最小ｙ座標値（ｙmin(ｘn-1〜ｘn):Min Value）が算出されたところのｘ座標値（ｘ(ｙmin))と、同最大ｙ座標値（ｙmax(ｘn-1〜ｘn):Max Value）が算出されたところのｘ座標値（ｘ(ｙmax))とが大小比較され、そのグラフ描画点の前後位置関係が判断される（ステップＡ１０）。
【００７９】
ここで、前記前回〜今回間ｘ座標値範囲内（ｘn-1〜ｘn）での最小ｙ座標値（ｙmin(ｘn-1〜ｘn):Min Value）が得られたところのｘ座標値（ｘ(ｙmin))よりも、同最大ｙ座標値（ｙmax(ｘn-1〜ｘn):Max Value）が得られたところのｘ座標値（ｘ(ｙmax))の方が小さく、グラフ描画座標上手前の位置にあると判断された場合には（ステップＡ１０（ｙｅｓ））、当該最大ｙ座標値（ｙmax(ｘn-1〜ｘn):Max Value）とそのｘ座標値（ｘ(ｙmax))が今回の描画座標データ（ｘn，ｙn）として今回座標メモリ１９ｄに記憶され、この今回描画座標データ（ｘn，ｙn）に対応する表示ドットがグラフデータメモリ１９ｊに書き込まれると共に、前回座標メモリ１９ｅに記憶されている前回の描画座標データ（ｘn-1，ｙn-1）に対応する表示ドットとの間が線により連続描画（結線）され、液晶表示部１３の座標上に表示される（ステップＡ１１）。
【００８０】
そして次に、前記最小ｙ座標値（ｙmin(ｘn-1〜ｘn):Min Value）とそのｘ座標値（ｘ(ｙmin))が新たな今回の描画座標データ（ｘn，ｙn）として今回座標メモリ１９ｄに記憶され、この今回描画座標データ（ｘn，ｙn）に対応する表示ドットがグラフデータメモリ１９ｊに書き込まれ、例えば図５（Ａ）に示すように、前記ステップＡ１１にて描画された最大ｙ座標値（ｙmax(ｘn-1〜ｘn):Max Value）とそのｘ座標値（ｘ(ｙmax))に対応するところの表示ドットとは結線せずに液晶表示部１３の座標上に表示される（ステップＡ１２）。
【００８１】
また、前記ステップＡ１０において、前回〜今回間ｘ座標値範囲内（ｘn-1〜ｘn）での最大ｙ座標値（ｙmax(ｘn-1〜ｘn):Max Value）が得られたところのｘ座標値（ｘ(ｙmax))よりも、同最小ｙ座標値（ｙmin(ｘn-1〜ｘn):Min Value）が得られたところのｘ座標値（ｘ(ｙmin))の方が小さく、グラフ描画座標上手前の位置にあると判断された場合には（ステップＡ１０（ｎｏ））、当該最小ｙ座標値（ｙmin(ｘn-1〜ｘn):Min Value）とそのｘ座標値（ｘ(ｙmin))が今回の描画座標データ（ｘn，ｙn）として今回座標メモリ１９ｄに記憶され、この今回描画座標データ（ｘn，ｙn）に対応する表示ドットがグラフデータメモリ１９ｊに書き込まれると共に、前回座標メモリ１９ｅに記憶されている前回の描画座標データ（ｘn-1，ｙn-1）に対応する表示ドットとの間が線により連続描画（結線）され、液晶表示部１３の座標上に表示される（ステップＡ１３）。
【００８２】
そして次に、前記最大ｙ座標値（ｙmax(ｘn-1〜ｘn):Max Value）とそのｘ座標値（ｘ(ｙmax))が新たな今回の描画座標データ（ｘn，ｙn）として今回座標メモリ１９ｄに記憶され、この今回描画座標データ（ｘn，ｙn）に対応する表示ドットがグラフデータメモリ１９ｊに書き込まれ、例えば図５（Ｂ）に示すように、前記ステップＡ１３にて描画された最小ｙ座標値（ｙmin(ｘn-1〜ｘn):Min Value）とそのｘ座標値（ｘ(ｙmin))に対応するところの表示ドットとは結線せずに液晶表示部１３の座標上に表示される（ステップＡ１４）。
【００８３】
この後、前記ステップＡ４以降のグラフ描画処理が前記同様に繰り返されることで、Ｘ座標レンジの最大座標ｘmaxに到達するまでの各今回ｙ座標値（ｙn）が算出されてグラフ描画表示され、前記一連の不連続処理Ａを経たグラフ表示処理が終了される（ステップＡ１５（ｙｅｓ））。
【００８４】
これにより、前記入力関数式「ｙ＝ｆ（ｘ）」が、例えば図６に示すように、双曲線関数の関数式［ｙ＝ｔａｎ（ｘ）］であって、そのｙ座標値がプラス無限大とマイナス無限大との間で不連続に変化する場合であっても、不連続グラフである可能性を前記数式処理（ステップＳ２〜Ｓ４）によって判定すると共に（図６（Ａ）参照）、その連続部分を前記数値処理（ステップＡ１〜Ａ７）によって高速描画し（図６（Ｂ）参照）、またその不連続部分の各描画点間を前記数式処理（ステップＡ６→Ａ８〜Ａ１４）によって正しく判断し（図６（Ｃ）〜（Ｅ）参照）、正しい不連続グラフとして描画表示することができる（図６（Ｆ）参照）。
【００８５】
一方、前記ステップＳ４において、“ｘ＝ｇ（ｙ）”の形式で得られた解に周期関数になる定数の要素“const＊ｎ”が含まれていないと判断された場合には（ステップＳ４（ｎｏ））、前記入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフは不連続グラフにならないと判断され、通常のグラフ描画処理によってグラフの描画表示が実行される（ステップＳＣ）。
【００８６】
すなわち、この通常グラフ描画処理（ステップＳＣ）では、前記座標レンジメモリ１９ｃに記憶設定されたｘ座標レンジ（ｘmin，ｘmax）の範囲において、前記ｘ間隔規定値（ｈ）メモリ１９ｆに記憶設定された規定の描画ドット間隔（ｈ）毎に、当該描画ドットに対応する今回のｘ座標値（ｘn）を前記入力関数式「ｙ＝ｆ（ｘ）」に代入した今回のｙ座標値（ｙn）が算出される。そして順次算出されて今回座標メモリ１９ｄに更新記憶される今回の描画座標データ（ｘn，ｙn）に対応する表示ドットがグラフデータメモリ１９ｊに書き込まれると共に、前回座標メモリ１９ｅに更新記憶される前回の描画座標データ（ｘn-1，ｙn-1）に対応する表示ドットとの間が線により連続描画（結線）されることにより、液晶表示部１３の座標上に表示されて、前記入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフデータの描画表示が進められる。
【００８７】
一方、前記ステップＳ２，Ｓ３において、前記入力関数式「ｙ＝ｆ（ｘ）」が“ｘ＝ｇ（ｙ）”の形式として解が得られないと判断された場合には（ステップＳ３（ｎｏ））、値の取りうる条件によって不連続グラフとなる、例えば整数化関数の関数式［ｙ＝ｉｎｔ（ｘ）］であると判定され、図７における不連続処理Ｂに移行されてグラフ描画処理が開始される（ステップＳＢ）。
【００８８】
図７は、前記電子計算装置のグラフ表示処理に伴う不連続処理Ｂを示すフローチャートである。
【００８９】
図８は、前記電子計算装置のグラフ表示処理における不連続処理Ｂに伴う不連続グラフの具体的描画処理例を説明する図である。
【００９０】
この不連続処理ＢにおけるステップＢ１〜Ｂ５，Ｂ７での処理は、前記不連続処理ＡにおけるステップＡ１〜Ａ５，Ａ７での処理と同様であり、ステップＢ６での条件が成立しない状態では、座標計算（回数）カウンタｎのカウントアップに従い順次算出される今回の描画座標（ｘn，ｙn）と前回の描画座標（ｘn-1，ｙn-1）間を連続とする（結ぶ）数値処理でのグラフ描画処理によって、入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフデータの描画表示が進められる。
【００９１】
そして、ステップＢ６では、ｘ間隔規定値（ｈ）置きの今回ｘ座標値（ｘn）に応じて算出される今回ｙ座標値（ｙn）に対応した表示画面上でのｙドット位置と前回の描画座標データ（ｘn-1，ｙn-1）における前回ｙ座標値（ｙn-1）に対応した表示画面上でのｙドット位置との差が、２ドット以上に離れるか否かが判断される。
【００９２】
このステップＢ６において、算出された今回ｙ座標値（ｙn）に対応した表示画面上でのｙドット位置と前回ｙ座標値（ｙn-1）に対応した表示画面上でのｙドット位置との差が、２ドット以上に離れると判断された場合には、入力関数式「ｙ＝ｆ（ｘ）」はｉｎｔ関数［ｙ＝ｉｎｔ（ｘ）］であると判定してステップＢ８〜Ｂ１３の処理に進み、グラフ不連続対応の描画処理が実行される（ステップＢ６→Ｂ８）。
【００９３】
まず、入力関数式「ｙ＝ｆ（ｘ）」がｉｎｔ関数［ｙ＝ｉｎｔ（ｘ）］であることから、不連続点の可能性がある今回ｘ座標値（ｘn）に対応する整数点［ｉｎｔ（ｘn）］が算出され、ワークエリア１９ｋのレジスタ“ａ”に格納される（ステップＢ８）。
【００９４】
そして、レジスタ“ａ”に格納された今回ｘ座標値（ｘn）に対応する整数点［ｉｎｔ（ｘn）］について、ｘ値を負の方向から近付ける数式処理での極限計算（ｌｉｍ（ｉｎｔ（ｘ）；ｘ→a-）が実行され、その解がワークエリア１９ｋのレジスタ“ｂ”に格納される（ステップＢ９）。
【００９５】
また逆に、前記レジスタ“ａ”に格納された今回ｘ座標値（ｘn）に対応する整数点［ｉｎｔ（ｘn）］について、ｘ値を正の方向から近付ける数式処理での極限計算（ｌｉｍ（ｉｎｔ（ｘ）；ｘ→a+）が実行され、その解がワークエリア１９ｋのレジスタ“ｃ”に格納される（ステップＢ１０）。
【００９６】
すると、前記レジスタ“ｂ”に格納された今回整数点［ｉｎｔ（ｘn）］についての負の方向からの極限計算の解と前記レジスタ“ｃ”に格納された今回整数点［ｉｎｔ（ｘn）］についての正の方向からの極限計算の解とが異なる値であるか否か、つまり今回ｘ座標値（ｘn）に対応する描画座標（ｘn，ｙn）が不連続点であるか否かが判断される（ステップＢ１１）。
【００９７】
ここで、前記“ｂ”値と“ｃ”値とが異なる値である、つまり今回ｘ座標値（ｘn）に対応する描画座標（ｘn，ｙn）が不連続点であると判断された場合には（ステップＢ１１（ｙｅｓ））、この今回描画座標データ（ｘn，ｙn）に対応する表示ドットがグラフデータメモリ１９ｊに書き込まれ、前回描画座標データ（ｘn-1，ｙn-1）に対応するところの表示ドットとは結線せずに液晶表示部１３の座標上に表示される（ステップＢ１２）。
【００９８】
一方、前記“ｂ”値と“ｃ”値とが同じ値である、つまり今回ｘ座標値（ｘn）に対応する描画座標（ｘn，ｙn）が連続点であると判断された場合には（ステップＢ１１（ｎｏ））、この今回描画座標データ（ｘn，ｙn）に対応する表示ドットがグラフデータメモリ１９ｊに書き込まれ、前回描画座標データ（ｘn-1，ｙn-1）に対応するところの表示ドットとの間が線により連続描画（結線）され、液晶表示部１３の座標上に表示される（ステップＢ１３）。
【００９９】
この後、前記ステップＢ４以降のグラフ描画処理が前記同様に繰り返されることで、Ｘ座標レンジの最大座標ｘmaxに到達するまでの各今回ｙ座標値（ｙn）が算出されてグラフ描画表示され、前記一連の不連続処理Ｂを経たグラフ表示処理が終了される（ステップＢ１４（ｙｅｓ））。
【０１００】
これにより、前記入力関数式「ｙ＝ｆ（ｘ）」が、例えば図８に示すように、整数化関数の関数式［ｙ＝ｉｎｔ（ｘ）］であって、そのｙ座標値が階段状に不連続に変化する場合であっても、不連続グラフである可能性を前記数式処理（ステップＳ２，Ｓ３）によって判定すると共に（図８（Ａ）参照）、その連続部分を前記数値処理（ステップＢ１〜Ｂ７）によって高速描画し（図８（Ｂ）参照）、またその不連続部分の各描画点間を前記数式処理（ステップＢ６→Ｂ８〜Ｂ１２）によって正しく判断し（図６（Ｃ）（Ｄ１）（Ｄ２）参照）、正しい不連続グラフとして描画表示することができる（図６（Ｅ）参照）。
【０１０１】
したがって、前記構成による電子計算装置の第１実施形態のグラフ表示機能によれば、入力関数式「ｙ＝ｆ（ｘ）」を数式処理により“ｘ＝ｇ（ｙ）”の形式に変換して解を求めた際に、その解に周期関数になる定数の要素“const＊ｎ”が“ｘ＝ｇ（ｙ）＋const＊ｎ”として含まれていると判断された場合には、入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフは不連続グラフになる可能性が高いと判定する。そして、数値処理によって各ｘ座標値に対応するｙ座標値を算出して連続グラフ描画する過程において、今回ｘ座標値（ｘn）に対応するｙ座標値（ｙn）が前回ｘ座標値（ｘn-1）に対応するｙ座標値（ｙn-1）と所定の座標幅を超えて離れていると判断された場合には、前回ｘ座標値（ｘn-1）と今回ｘ座標値（ｘn）との間での最小のｙ座標値（ｙmin(ｘn-1〜ｘn):Min Value）とそのときのｘ座標値（ｘ(ｙmin))および最大のｙ座標値（ｙmax(ｘn-1〜ｘn):Max Value）とそのときのｘ座標値（ｘ(ｙmax))を数式処理により求め、ここで得られた２つの描画座標点である（ｘ(ｙmin)，ｙmin(ｘn-1〜ｘn)）と（ｘ(ｙmax)，ｙmax(ｘn-1〜ｘn)）とを結線せずに描画表示するので、入力関数式「ｙ＝ｆ（ｘ）」が例えば双曲線関数の関数式［ｙ＝ｔａｎ（ｘ）］である場合など、正しい不連続グラフとして描画表示することができる。
【０１０２】
また、前記構成による電子計算装置の第１実施形態のグラフ表示機能によれば、入力関数式「ｙ＝ｆ（ｘ）」を数式処理により“ｘ＝ｇ（ｙ）”の形式に変換した解が求まらない場合には、値の取りうる条件によって不連続グラフとなる整数化関数の関数式［ｙ＝ｉｎｔ（ｘ）］であると判定する。そして、数値処理によって各ｘ座標値に対応するｙ座標値を算出して連続グラフ描画する過程において、今回ｘ座標値（ｘn）に対応するｙ座標値（ｙn）の表示ｙドット位置と前回ｘ座標値（ｘn-1）に対応するｙ座標値（ｙn-1）の表示ｙドット位置とがｙ方向に２ドット以上離れていると判断された場合には、不連続点の可能性がある今回ｘ座標値（ｘn）に対応する整数点［ｉｎｔ（ｘn）］について、負の方向から近付ける数式処理での極限計算（ｌｉｍ（ｉｎｔ（ｘ）；ｘ→a-）と、正の方向から近付ける数式処理での極限計算（ｌｉｍ（ｉｎｔ（ｘ）；ｘ→a+）とを実行し、各極限計算結果の値が異なる値である場合は、今回ｘ座標値（ｘn）に対応する描画座標（ｘn，ｙn）が不連続点であると判断し、前回描画座標データ（ｘn-1，ｙn-1）に対応するところの表示ドットとは結線せずに描画表示するので、入力関数式「ｙ＝ｆ（ｘ）」が整数化関数の関数式［ｙ＝ｉｎｔ（ｘ）］である場合でも、正しい不連続グラフとして描画表示することができる。
【０１０３】
なお、前記第１実施形態では、入力関数式「ｙ＝ｆ（ｘ）」を“ｘ＝ｇ（ｙ）”の形式に変換して解を求める数式処理を行うことに基づき、当該入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフが不連続グラフになる可能性が高いと判定し、対応する不連続処理Ａまたは不連続処理Ｂに移行して正しい不連続グラフを描画表示する構成としたが、次の第２実施形態にて説明するように、予め不連続グラフとなる関数式のテーブル（不連続関数テーブル）を用意しておき、入力された関数式「ｙ＝ｆ（ｘ）」がその不連続関数テーブルに存在する種類の関数式である場合に、前記不連続処理ＡやＢに移行して正しい不連続グラフを描画表示する構成としてもよい。
【０１０４】
（第２実施形態）
図９は、本発明の第２実施形態の電子計算装置にてＲＡＭ１９に記憶保持される不連続関数テーブルＡ，Ｂを示す図である。
【０１０５】
図９（Ａ）に示すように、不連続関数テーブル（Ａ）１９ｍには、［ｙ＝ｔａｎ（ｘ）］［ｙ＝１／（ｘ−ａ）］…など、例えばマイナス無限大方向とプラス無限大方向とで不連続グラフとなる可能性のある関数式が記憶される。
【０１０６】
図９（Ｂ）に示すように、不連続関数テーブル（Ｂ）１９ｎには、［ｙ＝ａ＊ｉｎｔ（ｘ）］…など、例えばあるｘ座標値（ｘn）に対する前後のｙ座標値（ｙn-1）（ｙn）が階段状に不連続グラフとなる可能性のある関数式が記憶される。
【０１０７】
図１０は、前記第２実施形態の電子計算装置のグラフモードにおいて機能するグラフ表示処理を示すフローチャートである。
【０１０８】
この第２実施形態のグラフ表示処理において、前記図４を参照して説明した第１実施形態のグラフ表示処理と異なる処理ステップは、ステップＳ１１〜Ｓ１３に掛けての不連続グラフとなる可能性のある入力関数式であるか否かを判断処理するステップである。
【０１０９】
まずグラフ化すべき任意の関数式「ｙ＝ｆ（ｘ）」が入力されると共に、キー入力部１２における「グラフ」キー１２ｄが操作されて前記入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフの描画表示が指示されると（ステップＳ１１）、当該入力関数式「ｙ＝ｆ（ｘ）」がＲＡＭ１９内の不連続関数テーブル（Ａ）１９ｍ（図９（Ａ）参照）に予め記憶されている種類の関数式であるか否かが判断される（ステップＳ１２）。
【０１１０】
ここで、前記入力関数式「ｙ＝ｆ（ｘ）」が不連続関数テーブル（Ａ）１９ｍに記憶されている種類の関数式であると判断された場合には（ステップＳ１２（ｙｅｓ））、前記図５，図６を参照して説明した不連続処理Ａに移行されることで（ステップＳＡ（Ａ１〜Ａ１５））、入力関数式「ｙ＝ｆ（ｘ）」が例えば双曲線関数の関数式［ｙ＝ｔａｎ（ｘ）］である場合など、正しい不連続グラフとして描画表示することができる。
【０１１１】
また、前記入力関数式「ｙ＝ｆ（ｘ）」が不連続関数テーブル（Ａ）１９ｍに記憶されている種類の関数式ではないと判断された場合には（ステップＳ１２（ｎｏ））、さらに、当該入力関数式「ｙ＝ｆ（ｘ）」がＲＡＭ１９内の不連続関数テーブル（Ｂ）１９ｎ（図９（Ｂ）参照）に予め記憶されている種類の関数式であるか否かが判断される（ステップＳ１３）。
【０１１２】
ここで、前記入力関数式「ｙ＝ｆ（ｘ）」が不連続関数テーブル（Ａ）１９ｎに記憶されている種類の関数式であると判断された場合には（ステップＳ１３（ｙｅｓ））、前記図７，図８を参照して説明した不連続処理Ｂに移行されることで（ステップＳＢ（Ｂ１〜Ａ１４））、入力関数式「ｙ＝ｆ（ｘ）」が例えば整数化関数の関数式［ｙ＝ｉｎｔ（ｘ）］である場合でも、正しい不連続グラフとして描画表示することができる。
【０１１３】
なお、前記入力関数式「ｙ＝ｆ（ｘ）」が、不連続関数テーブル（Ａ）１９ｍに記憶されている種類の関数式でも、不連続関数テーブル（Ｂ）１９ｎに記憶されている種類の関数式でもないと判断された場合には（ステップＳ１２（ｎｏ）→Ｓ１３（ｎｏ））、前記入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフは不連続グラフにならないと判断され、前述同様の通常のグラフ描画処理によってグラフの描画表示が実行される（ステップＳＣ）。
【０１１４】
したがって、前記構成による電子計算装置の第２実施形態のグラフ表示機能によれば、グラフ描画に際し不連続グラフになる可能性の高い種類の関数式を予め記憶させた不連続関数テーブル１９ｍ，１９ｎをＲＡＭ１９に用意する。そして、入力関数式「ｙ＝ｆ（ｘ）」が前記不連続関数テーブル１９ｍ，１９ｎに記憶されている種類の関数式であると判断された場合には、当該入力関数式「ｙ＝ｆ（ｘ）」に対応するグラフは不連続グラフになる可能性が高いと判定し、その関数式の種類に応じて前記不連続処理Ａまたは不連続処理Ｂを実行することにより、正しい不連続グラフとして描画表示することができる。
【０１１５】
なお、前記各実施形態において記載した電子計算装置（グラフ関数電卓）による各処理の手法、すなわち、図４のフローチャートに示す第１実施形態のグラフ表示処理、図５のフローチャートに示すグラフ表示処理に伴う不連続処理Ａ、図７のフローチャートに示すグラフ表示処理に伴う不連続処理Ｂ、図１０のフローチャートに示す第２実施形態のグラフ表示処理での各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記憶媒体１６に格納して配布することができる。そして、コンピュータは、この外部記憶媒体１６に記憶されたプログラムを記憶媒体読み取り部１７によって読み込み、この読み込んだプログラムによって動作が制御されることにより、前記各実施形態において説明したグラフ表示機能を実現し、前述した手法による同様の処理を実行することができる。
【０１１６】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワークＮ上を伝送させることができ、このネットワークＮに接続されたコンピュータ端末の通信制御部１８によって前記のプログラムデータを取り込み、前述したグラフ表示の処理機能を実現することもできる。
【０１１７】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【図面の簡単な説明】
【０１１８】
【図１】本発明のグラフ表示装置の実施形態に係るグラフ表示機能を備えた電子計算装置（グラフ関数電卓）の電子回路の構成を示すブロック図。
【図２】前記電子計算装置のキー入力部１２に備えられる各種のキーの配列例を示す図。
【図３】前記電子計算装置のＲＡＭ１９に確保される主要なデータメモリの構成を示す図。
【図４】前記電子計算装置のグラフモードにおいて機能する第１実施形態のグラフ表示処理を示すフローチャート。
【図５】前記電子計算装置のグラフ表示処理に伴う不連続処理Ａを示すフローチャート。
【図６】前記電子計算装置のグラフ表示処理における不連続処理Ａに伴う不連続グラフの具体的描画処理例を説明する図。
【図７】前記電子計算装置のグラフ表示処理に伴う不連続処理Ｂを示すフローチャート。
【図８】前記電子計算装置のグラフ表示処理における不連続処理Ｂに伴う不連続グラフの具体的描画処理例を説明する図。
【図９】本発明の第２実施形態の電子計算装置にてＲＡＭ１９に記憶保持される不連続関数テーブルＡ，Ｂを示す図。
【図１０】前記第２実施形態の電子計算装置のグラフモードにおいて機能するグラフ表示処理を示すフローチャート。
【図１１】従来のグラフ表示装置（グラフ関数電卓）によるグラフデータの描画表示状態を示す図。
【図１２】従来のグラフ表示装置（グラフ関数電卓）により双曲線関数［ｙ＝ｔａｎ（ｘ）］のグラフデータを描画表示した場合の不正なグラフ表示状態を示す図。
【図１３】従来のグラフ表示装置（グラフ関数電卓）により整数化関数［ｙ＝ｉｎｔ（ｘ）］のグラフデータを描画表示した場合の不正なグラフ表示状態を示す図。
【符号の説明】
【０１１９】
１１  …制御部（ＣＰＵ）
１２  …キー入力部
１２ａ…数値・記号キー
１２ｂ…関数・演算子キー
１２ｃ…「モード」キー
１２ｄ…「グラフ」キー
１２ｅ…「実行」キー
１２ｆ…「取消」キー
１２ｇ…カーソルキー
１３  …液晶表示部
１４  …タブレット
１５  …ＲＯＭ
１６  …外部記憶媒体
１７  …記憶媒体読み取り部
１８  …通信制御部
１９  …ＲＡＭ
１９ａ…表示データメモリ
１９ｂ…入力式メモリ
１９ｃ…座標レンジメモリ
１９ｄ…今回座標メモリ
１９ｅ…前回座標メモリ
１９ｆ…座標計算カウンタメモリ
１９ｇ…ｘ間隔規定値メモリ
１９ｈ…ｆMin計算値メモリ
１９ｉ…ｆMax計算値メモリ
１９ｊ…グラフデータメモリ
１９ｋ…ワークエリア
１９ｍ…不連続関数テーブルＡ
１９ｎ…不連続関数テーブルＢ
２０  …位置検出回路
２１  …表示駆動回路
Ｎ  …通信ネットワーク
【図１】
2008033823.tif 000003
【図２】
2008033823.tif 000004
【図３】
2008033823.tif 000005
【図４】
2008033823.tif 000006
【図５】
2008033823.tif 000007
【図６】
2008033823.tif 000008
【図７】
2008033823.tif 000009
【図８】
2008033823.tif 000010
【図９】
2008033823.tif 000011
【図１０】
2008033823.tif 000012
【図１１】
2008033823.tif 000013
【図１２】
2008033823.tif 000014
【図１３】
2008033823.tif 000015