JP7235138B2 - 情報処理装置、データ生成装置、グラフ描画システム、及びプログラム - Google Patents

情報処理装置、データ生成装置、グラフ描画システム、及びプログラム Download PDF

Info

Publication number
JP7235138B2
JP7235138B2 JP2022000585A JP2022000585A JP7235138B2 JP 7235138 B2 JP7235138 B2 JP 7235138B2 JP 2022000585 A JP2022000585 A JP 2022000585A JP 2022000585 A JP2022000585 A JP 2022000585A JP 7235138 B2 JP7235138 B2 JP 7235138B2
Authority
JP
Japan
Prior art keywords
graph
points
information
point information
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022000585A
Other languages
English (en)
Other versions
JP2022044630A (ja
Inventor
博和 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2017183635A external-priority patent/JP7006081B2/ja
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2022000585A priority Critical patent/JP7235138B2/ja
Publication of JP2022044630A publication Critical patent/JP2022044630A/ja
Application granted granted Critical
Publication of JP7235138B2 publication Critical patent/JP7235138B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Calculators And Similar Devices (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Description

本発明は、情報処理装置、データ生成装置、グラフ描画システム、及びプログラムに関する。
ユーザが入力した数式に対応するグラフを表示画面に描画する機能であるグラフ描画機能を有する関数電卓が知られている。例えば特許文献1には、異なる種類のグラフを表示画面上で重ね合わせられる関数電卓について開示されている。
また、インターネット環境には、上述のようなグラフ描画機能を実現するためのWebサイトが存在している。インターネット環境下にある例えばパーソナルコンピュータ(PC)、タブレット型の情報端末等といった端末は、このようなWebサイトにアクセスして、次のような動作を行う。すなわち、端末は、表示画面に数式入力画面を表示する。ユーザがこの数式入力画面に関数を入力してグラフ描画を実行させるボタンを押したとき、端末は、表示画面に入力した関数に対応するグラフを描画する。
このようなグラフの描画方法の1つとして、所定の刻み幅で順に変更した値を、対象とする関数に代入することで、プロット点の座標を求め、これらの点を線で結ぶ方法が考えられる。しかしながら、このような方法では、本来不連続であるべき点と点との間が線で結ばれることがある。すなわち、不連続点を含むグラフを正確に描画できないことがある。
特開昭63-103354号公報
本発明は、不連続点があるグラフをも正確に描画することができる、情報処理装置、データ生成装置、グラフ描画システム、及びプログラムを提供することを目的とする。
本発明の一態様によれば、表示装置を有する情報処理装置は、関数の情報を含む計算問合せデータを送信する計算問合せデータ送信部と、前記計算問合せデータに基づいて算出された前記関数に対応するグラフを描画するための描画点情報を取得する描画点情報受信部と、前記描画点情報に基づいて、前記関数に対応するグラフを描画して前記表示装置に示すグラフ描画部と、を有し、前記描画点情報は、不連続点を含む前記グラフを構成する前記関数が表す複数の描画点のうち互いに結線する前記描画点がグループ化されたデータ構造を有し、前記グラフ描画部は、前記描画点情報に基づいて、前記複数の描画点のうち、グループ化された描画点同士が結線され、グループ化されていない描画点同士が結線されないように前記グラフを描画する
本発明によれば、不連続点があるグラフをも正確に描画することができる、情報処理装置、データ生成装置、グラフ描画システム、及びプログラムを提供できる。
図1は、一実施形態に係るグラフ描画システムの構成例の概略を示すブロック図である。 図2は、一実施形態のグラフ描画機能に係るユーザ端末による処理の一例の概略を示すフローチャートである。 図3は、第1の実施形態のグラフ描画機能に係る演算サーバによる処理の一例の概略を示すフローチャートである。 図4は、関数グラフ描画機能に係る表示画面の一例の概略を示す図である。 図5は、比較例に係るグラフの一例を示す図である。 図6は、第2の実施形態に係るユーザ端末によるグラフ操作処理の一例の概略を示すフローチャートである。 図7は、拡大操作が行われたときについて説明するための図である。 図8は、縮小操作が行われたときについて説明するための図である。 図9は、第3の実施形態に係る演算サーバによる処理の一例の概略を示すフローチャートである。
[第1の実施形態]
〈グラフ描画システム構成〉
本発明の第1の実施形態について図面を参照して説明する。図1は、本実施形態に係るグラフ描画システム1の構成例の概略を示す図である。本実施形態に係るグラフ描画システム1は、ユーザ端末10と、演算サーバ20とWebサーバ32とを含む。ユーザ端末10とWebサーバ32とは、例えばインターネット30といったネットワークを介して接続されている。Webサーバ32と演算サーバ20とは接続されている。なお、このグラフ描画システム1には、何台のユーザ端末10が接続されてもよい。
Webサーバ32上には、関数電卓Webアプリケーションのバッグエンドサーバが存在し、関数電卓Webアプリケーションの実現に必要な処理を担っている。Webサーバ32のさらに背後には、関数電卓の演算サーバ20が存在している。演算サーバ20の演算エンジンには、Webサーバ32のバッグエンドサーバからのみアクセスでき、外部からは直接アクセスできないようになっており、演算エンジンは秘匿されている。
ユーザ端末10は、例えばパーソナルコンピュータ(PC)、タブレット型の情報端末、スマートフォン等といった装置である。ユーザ端末10では、ウェブブラウザが動作する。ユーザ端末10は、ウェブブラウザを用いて、Webサーバ32を介して演算サーバ20にアクセスする。Webサーバ32にアクセスしたウェブブラウザは、関連データをダウンロードし,関数電卓Webアプリケーションを実行し、各種表示を行う。関数電卓Webアプリケーションの機能の一つとして、関数グラフ描画機能が存在する。関数グラフ描画機能の実行においては、ユーザは、グラフを描画したい数式を、ユーザ端末10のウェブブラウザ上に入力する。ユーザ端末10は、入力された数式を演算サーバ20に送信する。演算サーバ20は、受け取った数式に対応するグラフを描画するためのデータを描画点情報として作成し、当該データをユーザ端末10に送信する。このように、関数電卓Webアプリケーションにおいて、グラフ描画点の計算を含む各種演算処理は、演算サーバ20にて実施される。データを受け取ったユーザ端末10は、当該データに基づいて、ウェブブラウザ上でグラフを描画し、グラフの提示を行う。
ユーザ端末10は、図1に示すように、バスライン19を介して互いに接続されたcentral processing unit(CPU)11と、read only memory(ROM)12と、random access memory(RAM)13と、ストレージ14と、入力装置15と、表示装置16と、通信装置17とを備える。CPU11は、各種信号処理等を行う。ROM12は、BIOS等を記録している。RAM13は、CPU11の主記憶装置として機能する。RAM13には、例えば、dynamic RAM(DRAM)、static RAM(SRAM)等が用いられ得る。ストレージ14には、例えば、hard disk drive(HDD)、solid state drive(SSD)等が用いられる。ストレージ14には、CPU11で用いられるプログラム、パラメータ等各種情報が記録されている。RAM13及びストレージ14は、これに限らず各種記憶装置に置換され得る。入力装置15は、例えばキーボード、マウス、タッチパネル等である。表示装置16は、例えば液晶ディスプレ等である。通信装置17は、ユーザ端末10の外部の機器と通信を行う際に用いられる。通信装置17は、例えばインターネットに接続する。
演算サーバ20は、図1に示すように、バスライン29を介して互いに接続されたCPU21と、ROM22と、RAM23と、ストレージ24と、通信装置25とを備える。CPU11は、各種信号処理等を行う。ROM12は、CPU11の動作に用いられる情報を記録している。RAM13は、CPU11の主記憶装置として機能する。ストレージ14には、CPU11で用いられるプログラム、パラメータ等各種情報が記録されている。また、ストレージ14には、各種演算結果等も記録される。通信装置25は、Webサーバ32との通信に用いられる。
〈グラフ描画システムの動作〉
本実施形態に係るグラフ描画システム1の動作について図面を参照して説明する。図2は、関数電卓Webアプリケーションの関数グラフ描画機能に係るユーザ端末10の動作の一例の概略を示す。図3は、関数電卓Webアプリケーションの関数グラフ描画機能に係る演算サーバ20の動作の一例の概略を示す。図2及び図3を参照して、関数グラフ描画機能に係るユーザ端末10及び演算サーバ20の動作について説明する。
図2は、ウェブブラウザで本実施形態に係る関数電卓Webアプリケーションのウェブサイトにアクセスし、関数グラフ描画機能に係るウェブページを選択し、当該ウェブページを表示したときに行われる処理である。
ステップS101において、ユーザ端末10は、入力装置15への入力を取得し、ブラウザ上の入力フォームへの入力を特定する。ユーザ端末10は、入力データをメモリ記憶させながら、表示装置16上の入力フォームの表示を更新する。
本実施形態に係る関数グラフ描画機能に係る表示画面の一例を図4に示す。関数グラフ描画機能に係る表示画面100は、入力フォーム110と、操作ボタン120と、グラフ描画エリア130とを含む。関数グラフ描画機能の開始時には、入力フォーム110は空欄であり、グラフ描画エリア130にグラフは描画されていない。
入力フォーム110は、グラフを描画したい関数が入力される関数フォーム112と、グラフの表示範囲の最小値が入力される最小値フォーム114と、グラフの表示範囲の最大値が入力される最大値フォーム115と、グラフをプロットするときの点数が入力される分割数フォーム118とを含む。この点数が大きい程、グラフの表示範囲に対するプロット点の刻み幅は小さくなる。ステップS101の処理では、入力フォーム110への入力が取得される。
操作ボタン120は、クリアボタン121と、グラフボタン122とを含む。クリアボタン121は、入力フォーム110への入力をクリアするボタンである。グラフボタン122は、入力フォーム110に入力した関数及び値等を計算問合せデータとして演算サーバ20宛に送信し、グラフを描画するためのデータである描画点情報を演算サーバ20に要求する際に選択されるボタンである。
グラフボタン122を押して演算サーバ20からグラフを描画するためのデータである描画点情報を受信すると、ユーザ端末10のウェブブラウザは、描画点情報に基づいてグラフ描画エリア130にグラフを描画する。
ステップS102において、ユーザ端末10は、入力が完了したか否か、すなわち、グラフボタン122が押されたか否かを判定する。グラフボタン122が押されていないとき、処理はステップS101に戻り、入力フォーム110への入力の取得を繰り返す。一方、入力フォームへの入力が完了してグラフボタン122が押されたとき、処理はステップS103に進む。
ステップS103において、ユーザ端末10は、グラフを描画するための描画点情報を要求するための計算問合せデータを、演算サーバ20宛に送信する。計算問合せデータは、入力フォーム110に入力された関数及び値の情報を含む。
計算問合せデータに含まれる情報の一例を次に示す。この例は、図4に示すように、関数がf(x)=1/xであり、描画範囲が-5≦x≦5、-5≦y≦5であり、-5≦x≦5の範囲を200点に分割、すなわち、x軸方向に0.05刻みでグラフを描く場合の例である。
-----
{
"type":"plot",
"expression":"1/x",
"graphType":"y=",
"xmin":-5,
"xmax":5,
"xstep":0.05,
"ymin":-5,
"ymax":5,
"ystep":null
}
-----
ここで、各パラメータは以下の内容を示す。
type:計算APIの中でどのようなデータを取得したいかを指定
expression:グラフ関数式(文字列)
graphType:数式が不等式かを判別する種別 (y=, y>, y>=, y<, y<=)
xmin:グラフ領域のx座標の最小値
xmax:グラフ領域のx座標の最大値
xstep:xy座標のx方向の計算ステップ値
ymin:グラフ領域のy座標の最小値
ymax:グラフ領域のy座標の最大値
ystep:xy座標のy方向の計算ステップ値
以上のような情報を含む計算問合せデータを受信した演算サーバ20は、図3にその概略を示す動作を実行する。すなわち、ステップS201において、演算サーバ20は、計算問合せデータを受け取る。ステップS202において、演算サーバ20は、受信した計算問合せデータに含まれる、入力フォーム110に入力された関数、グラフの表示範囲、計算の刻み幅等に基づいて、グラフを描画するための点である描画点の座標を求める計算を行う。例えば、演算サーバ20はxの値を変数として、xの値を刻み幅毎に変更しながら関数に代入し、複数の描画点の座標を算出する。
ステップS203において、演算サーバ20は、グラフを描画するための複数の描画点のうち各隣り合う点について、線で結んでよい点である連続点であるか、線で結んではいけない点である不連続点であるかを判定する不連続点判定を行う。不連続点判定は、例えば微分計算を含む方法など種々の方法で行われ得る。演算サーバ20が不連続点を含み得る基本関数の情報を予め有しており、不連続点の判定はその情報を参照して行われてもよい。例えば、演算サーバ20は、y=1/x、y=tan(x)等といった関数は、不連続点を含み得るという情報を予め有していてもよい。不連続点判定の判定結果は、連続可否情報として取り扱われる。ステップS204において、演算サーバ20は、複数の描画点と連続可否情報とを含み、それに基づいてユーザ端末10でグラフを描画することができるような描画点情報を作成する。ステップS205において、演算サーバ20は、作成した描画点情報をユーザ端末10に返信する。
描画点情報の一例を次に示す。この例は、上述の計算問合せデータに対する描画点情報の例である。
-----
{
"d":{
"plot":[
[
[-5.00,-0.20000]
[-4.95,-0.20202]
[-4.90,-0.20408]
[-4.85,-0.20619]
[-4.80,-0.20833]

[-0.25,-4.00000]
[-0.20,-5.00000]
[-0.15,-6.66667]
[-0.10,-10.00000]
[-0.05,-20.00000]
],
[
[0.05,20.00000]
[0.10,10.00000]
[0.15,6.66667]
[0.20,5.00000]
[0.25,4.00000]

[4.80,0.20833]
[4.85,0.20619]
[4.90,0.20408]
[4.95,0.20202]
[5.00,0.20000]
]
]
}
}
-----
ここで、「"plot":[]」は、三次元配列によって表現された、関数に係るグラフを表すデータである。第1次元は、グラフにおいて連続する線を要素として順に示す配列である。例えばf(x)=1/xのように、不連続点を含むグラフでは要素数が複数となる。第2次は、グラフにおいて連続する線に係る描画点の座標を要素として順に示す配列である。第3次元は、第1要素をx座標とし、第2要素をy座標とする配列である。このように、第3次元の情報は、描画点の座標を示す。第2次元の情報は、描画点の座標のうち、互いに結線する描画点を順に示す。第1次元の情報は、第2次元の情報を列挙したものである。このように描画点情報は、多次元配列構造を含む。このように、描画点情報では、複数の描画点のうち互いに結線する描画点がグループ化されている。このような多次元配列構造によれば、データは、簡易な形式で描画点の座標の情報と連続可否情報とを含むことができる。
例えば、
"plot":[
[
[x1, y1]
[x2, y2]
]
[
[x3, y3]
[x4, y4]
]
]
というデータを演算サーバ20から受信したとき、ユーザ端末10の関数電卓Webアプリケーションは、以下のグラフを描画する。すなわち、ユーザ端末10は、座標(x1, y1)を描画点P1とし、座標(x2, y2)を描画点P2とし、座標(x3, y3)を描画点P3とし、座標(x4, y4)を描画点P4とする。ユーザ端末10は、描画点P1と描画点P2とを結線し、描画点P3と描画点P4とを結線し、描画点P2と描画点P3とを結線しないようにしてグラフを描画する。
上述のデータ形式の例は、JSON(JavaScript Object Notation)(JavaScriptは登録商標)を用いた例であるが、データ形式はこれに限らない。描画点情報は、グラフの描画点の座標と、描画点同士を結線するか否かを指定する連続可否情報とを含む形式であれば、どのような形式のデータが用いられてもよい。
以上のような描画点情報を受け取るユーザ端末は、以下の動作を行う。すなわち、ステップS104において、ユーザ端末10は、演算サーバ20による演算結果である描画点情報が演算サーバ20から届いたか否かを判定する。データが届いていないとき、ステップS104の処理を繰り返して、演算サーバから描画点情報が届くまで待機する。描画点情報を受信したとき、処理はステップS105に進む。ステップS105において、ユーザ端末10は、描画点情報を受信する。ステップS106において、ユーザ端末10は、受信した描画点情報に基づいて、ウェブブラウザ上にグラフを描画する。その結果、例えば図4のグラフ描画エリア130のように、リクエストした関数のグラフが描画される。
本実施形態に係る演算サーバ20は、不連続点判定を行い、不連続点が存在する場合には、それを考慮した描画点情報を作成する。その結果、図4に示すように正しいグラフが描画される。
以上のように、ユーザ端末10のCPU11、通信装置17等は、入力された関数の情報を含む計算問合せデータを演算サーバ20宛に送信する計算問合せデータ送信部、関数に対応するグラフを描画するための描画点情報を演算サーバ20から取得する描画点情報受信部、及び、描画点情報に基づいて関数に対応するグラフを描画して表示装置16に示すグラフ描画部として機能する。また、演算サーバ20のCPU21、通信装置25等は、ユーザ端末10から計算問合せデータを取得する計算問合せデータ受信部、計算問合せデータに基づいて表示装置16のグラフ描画エリア130における関数が表す複数の描画点の座標と互いに隣り合う2つの描画点を結線するか否かを指定する連続可否情報とを含む描画点情報を算出する演算部、及び、算出した描画点情報をユーザ端末10に送信する描画点情報送信部として機能する。
例えば、不連続点判定が行われずに、描画点情報にプロットすべき点の座標情報が列挙される場合を考える。すなわち、例えば下記のような連続可否情報が含まれない描画点情報を考える。
-----
{
"d":{
"plot":[
[
[-5.00,-0.20000]
[-4.95,-0.20202]
[-4.90,-0.20408]
[-4.85,-0.20619]
[-4.80,-0.20833]

[4.80,0.20833]
[4.85,0.20619]
[4.90,0.20408]
[4.95,0.20202]
[5.00,0.20000]
]
]
}
}
-----
このような描画点情報に基づいてグラフ描画エリア130に描画されるグラフは、図5に示すようになる。すなわち、数学的に正しいグラフが描画されない。描画点情報を受け取り、グラフを描画するユーザ端末側では、描画点情報に基づく描画が正しいのか否かを判定することは困難である。
本実施形態に係る演算サーバ20は、特に例えばy=1/x、y=tan(x)等といった不連続点を含むグラフの描画において、正しいグラフを描画するための描画点情報を作成できる。特に、不連続点で±∞に発散するような関数のグラフの描画において、数学的に正しいグラフを描画するための描画点情報を作成できる。その結果、ユーザ端末は数学的に正しいグラフを描画することができる。
本実施形態に係るグラフ描画システム1では、演算サーバ20がインターネット30に対してWebサーバ32の背後に存在しているので、演算サーバ20で行う演算アルゴリズムをユーザ端末10に対して秘匿可能である。すなわち、関数電卓Webアプリケーションの提供者は、開発した高度な演算アルゴリズムを他者に対して秘密にすることができる。
また、ユーザ端末10は、演算を行わずに演算結果のデータに基づいてグラフの描画のみを行うため、ユーザ端末10の処理の負荷は比較的軽い。一方で、処理能力が高い演算サーバ20を用いることで、ユーザ端末10は、複雑な演算の結果を示すことができる。
[第2の実施形態]
第2の実施形態について説明する。ここでは、第1の実施形態との相違点について説明し、同一の部分については、同一の符号を付してその説明を省略する。本実施形態では、ユーザは、グラフ描画エリア130を操作することで、グラフ描画エリア130にグラフとして表示する範囲を変更することができる。このとき、ユーザ端末10は、演算サーバ20に再計算を行わせて再び描画点情報を受け取る必要があるか否かを判定し、必要な場合のみ計算問合せデータを再送信する。
本実施形態に係るユーザ端末10において、グラフ描画エリア130を操作することでグラフとして表示する範囲を変更するグラフ操作が行われたときの動作を、図6に示すフローチャートを参照して説明する。
ステップS301において、ユーザ端末10は、グラフ描画エリア130に対して行われた操作を取得する。グラフ描画エリア130に対する操作は、例えば次のようにして行われる。すなわち、一例として、ユーザ端末10が入力装置15として表示装置16に設けられたタッチパネルを備えているときを考える。グラフ描画エリア130において、ピンチアウト又はピンチインの操作がされたとき、グラフ描画エリア130の実寸法をそのままに、座標の表示範囲を狭くして表示を拡大したり、座標の表示範囲を広くして表示を縮小したりといった動作が行われる。例えば、図4に示す状態で、グラフ描画エリア130に対してピンチアウト操作が行われたとき、グラフ描画エリア130の表示は図7に示すような拡大された表示になるものとする。また、タッチパネル上でドラッグ操作が行われたとき、表示範囲を縦軸、横軸又はその両方(斜め)の方向に、プラス方向又はマイナス方向に移動させる動作が行われる。
このような操作は、タッチパネルによって行われなくてもよい。例えば、マウスを用いても同様の操作が行われ得る。また、表示画面100に拡大ボタン、縮小ボタン、上下左右への移動ボタン等が設けられ、これらボタンが選択されたとき、拡大、縮小、上下左右への移動が行われてもよい。
ステップS302において、ユーザ端末10は、ステップS301で取得した操作に対する表示変更を行うにあたってデータが不足しているか否かを判定する。
例えば図4に示す状態で拡大操作が行われ、図7に示すような表示を行うとき、図4に示すグラフを描画したときのデータを用いて図7に示す表示を行うことができる。このような場合には、データは不足していないと判定される。ただし、拡大率が大きくなり過ぎたとき、滑らかなグラフを描画することができなくなる。滑らかなグラフを描画できない場合には、データが不足であると判定される。
また、縮小操作が行われたとき、データを補充しないと図8に示すようなグラフになってしまうので、データが不足であると判定される。また、例えば現在描画されているグラフを延長する方向に表示領域を移動させるとき、データが不足であると判定される。
データが不足していないと判定されたとき、処理はステップS306に進む。一方、データが不足していると判定されたとき、処理はステップS303に進む。
ステップS303において、ユーザ端末10は、ステップS103と同様に、計算問合せデータを演算サーバ20宛に再送信し、グラフを描画するためのデータを要求する。この際、指定する関数に変更はないが、描画範囲がユーザのグラフ操作に応じて変更される。ユーザ端末10の計算問合せデータ送信に応じて、演算サーバ20は、グラフを描画するための演算を行って描画点情報を作成し、ユーザ端末10に描画点情報を返信する。
ステップS304において、ユーザ端末10は、演算サーバ20の演算結果である描画点情報を受信したか否かを判定し、受信するまで待機する。描画点情報を受信したとき、処理はステップS305に進む。ステップS305において、ユーザ端末10は、描画点情報を受信する。その後、処理はステップS306に進む。
ステップS306において、ユーザ端末10は、ウェブブラウザ上にグラフを再描画する。その際、ステップS302でデータが不足していないと判定されたときには、ユーザ端末10が既に有しているデータを用いてグラフの再描画が行われる。ステップS302でデータが不足していると判定されたときには、ステップS305で受信した再計算で得られた描画点情報を用いてグラフの再描画が行われる。
このように、CPU11、通信装置17等は、表示装置16に描画されたグラフを平行移動、拡大又は縮小させるためのグラフ操作を取得する操作取得部、及び、グラフ操作に応じたグラフを再描画するにあたって、新たな描画点情報が必要であるために計算問合せデータを演算サーバ20に再送信するか否かを判定する再送信判定部として機能する。
本実施形態によれば、ユーザのグラフ操作に応じてグラフの再描画が行われる際に、グラフ描画のためのデータが不足しているか否かの判定がまず行われ、データが不足しているときのみ演算サーバ20に再計算がリクエストされる。データが不足していないと判定されたときには再計算が求められないので、ユーザ端末10と演算サーバ20との通信量が低減される。また、このとき演算サーバ20の演算量が低減される。
[第3の実施形態]
第3の実施形態について説明する。ここでは、第1の実施形態との相違点について説明し、同一の部分については、同一の符号を付してその説明を省略する。本実施形態では、演算サーバ20は、ユーザ端末10からの計算問合せデータごとに演算結果である描画点情報をストレージ24に蓄積する。すなわち、ストレージ24には、計算問合せデータと描画点情報との組み合わせが蓄積される。演算サーバ20は、ユーザ端末10から同一の計算問合せデータを受信したとき、ストレージ24に保存された描画点情報を読み出し、ユーザ端末10に送信する。このとき、演算サーバ20は、再計算を行わない。
本実施形態に係る演算サーバ20の動作について、図9に示すフローチャートを参照して説明する。
ステップS401において、演算サーバ20は、計算問合せデータを受け取る。ステップS402において、演算サーバ20は、過去に計算してストレージ24に蓄積されている描画点情報を検索し、今回求められたデータについて、利用可能なデータがあるか否かを判定する。利用可能なデータがあるとき、処理はステップS403に進む。ステップS403において、演算サーバ20は、再利用可能なデータをストレージ24から読み出し、ユーザ端末10宛に送信する描画点情報として準備する。その後、処理はステップS407に進む。
ステップS402において、利用可能なデータがないと判定されたとき、処理はステップS404に進む。ステップS404において、演算サーバ20は、ステップS202と同様に、受信した計算問合せデータに基づいて、グラフを描画するための描画点の座標を求める計算を行う。ステップS405において、演算サーバ20は、ステップS203と同様に、不連続点判定を行う。ステップS406において、演算サーバ20は、ステップS204と同様に、ユーザ端末10でグラフを描画することができるような描画点情報を作成し、ユーザ端末10宛に送信する描画点情報として準備する。また、演算サーバ20は、描画点情報をストレージ24に蓄積する。
ステップS407において、演算サーバ20は、ステップS403又はステップS406で準備された描画点情報を、ユーザ端末10宛に送信する。
本実施形態によれば、演算サーバ20は、蓄積された描画点情報を検索し、再利用できる描画点情報がストレージ24に記録されているときには、再計算を行わずに、記録されている描画点情報を再利用する。そのため、演算サーバ20の演算量が削減される。
なお、第2の実施形態に係る技術と第3の実施形態に係る技術とは、同時に用いられてもよい。同時に用いられれば両方の利点が同時に得られる。
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]
入力装置と表示装置とを有し、関数の情報が入力されるユーザ端末と、
ネットワークを介して前記ユーザ端末に接続されている演算サーバと
を備え、
前記ユーザ端末は、
入力された前記関数の情報を含む計算問合せデータを前記演算サーバ宛に送信する計算問合せデータ送信部と、
前記関数に対応するグラフを描画するための描画点情報を前記演算サーバから取得する描画点情報受信部と、
前記描画点情報に基づいて、前記関数に対応するグラフを描画して前記表示装置に示すグラフ描画部と
を有し、
前記演算サーバは、
前記ユーザ端末から前記計算問合せデータを取得する計算問合せデータ受信部と、
前記計算問合せデータに基づいて、前記表示装置のグラフ描画エリアにおける前記関数が表す複数の描画点の座標と、互いに隣り合う2つの前記描画点を結線するか否かを指定する連続可否情報とを含む前記描画点情報を算出する演算部と、
算出した前記描画点情報を前記ユーザ端末に送信する描画点情報送信部と
を有する、
グラフ描画システム。
[2]
前記連続可否情報は、前記複数の描画点のうち、互いに結線する前記描画点をグループ化する情報を含む、[1]に記載のグラフ描画システム。
[3]
前記描画点情報は、
前記描画点の座標を示す第3次元の情報と、
前記描画点の座標のうち、互いに結線する前記描画点を順に示す第2次元の情報と、
前記第2次元の情報を列挙した第1次元の情報と
を含む多次元配列構造を有する、[1]に記載のグラフ描画システム。
[4]
前記計算問合せデータは、前記関数に係る情報と前記関数の変数の刻み幅に係る情報とを含み、
前記演算部は、前記変数を前記刻み幅毎に変更しながら前記関数に代入することで前記複数の描画点の座標を算出し、前記複数の描画点の各々に対する不連続点判定を行って前記連続可否情報を決定し、前記描画点情報を算出する、
[1]乃至[3]のうち何れか一に記載のグラフ描画システム。
[5]
前記ユーザ端末は、前記表示装置に描画された前記グラフを移動、拡大又は縮小させるためのグラフ操作を取得する操作取得部と、
前記グラフ操作に応じた前記グラフを再描画するにあたって、新たな前記描画点情報が必要であるために前記計算問合せデータを前記演算サーバに再送信するか否かを判定する再送信判定部と、
をさらに備え、
前記再送信判定部で前記再送信が必要であると判定したとき、前記計算問合せデータ送信部は、前記計算問合せデータを前記演算サーバ宛に再送信し、
前記再送信判定部で前記再送信が必要でないと判定したとき、前記グラフ描画部は、既に有している前記描画点情報に基づいて、前記グラフ操作に応じた前記グラフを再描画する、
[1]乃至[4]のうち何れか一に記載のグラフ描画システム。
[6]
前記演算サーバは、ストレージをさらに備え、
前記演算部は、前記計算問合せデータと前記描画点情報との組み合わせを前記ストレージに蓄積させ、前記ユーザ端末から取得した前記計算問合せデータと前記ストレージに蓄積されている情報とを比較して、前記描画点情報を再び算出する必要があるか否かを判定し、
前記演算部が再び算出する必要があると判定したとき、前記演算部は前記ユーザ端末から取得した前記計算問合せデータに基づいて前記描画点情報を再び算出し、前記描画点情報送信部は算出した前記描画点情報を前記ユーザ端末に送信し、
前記演算部が再び算出する必要がないと判定したとき、前記描画点情報送信部は前記ストレージに蓄積されている前記描画点情報を前記ユーザ端末に送信する、
[1]乃至[5]のうち何れか一に記載のグラフ描画システム。
[7]
入力装置と表示装置とを有するユーザ端末において関数の情報が入力された場合に、前記ユーザ端末から、ネットワークを介して、前記関数の情報を含む計算問合せデータを取得する計算問合せデータ受信部と、
前記計算問合せデータに基づいて、前記表示装置のグラフ描画エリアにおける前記関数が表す複数の描画点の座標と、互いに隣り合う2つの前記描画点を結線するか否かを指定する連続可否情報とを含む描画点情報を算出する演算部と、
前記算出した前記描画点情報を前記ユーザ端末に送信する描画点情報送信部と
を備える演算サーバ。
[8]
入力装置と表示装置とを有し、関数の情報が入力されるユーザ端末と、
ネットワークを介して前記ユーザ端末に接続されている演算サーバと
を備えるグラフ描画システムの制御方法であって、
前記ユーザ端末に、
入力された前記関数の情報を含む計算問合せデータを前記演算サーバ宛に送信させることと、
前記関数に対応するグラフを描画するための描画点情報を前記演算サーバから取得させることと、
前記描画点情報に基づいて、前記関数に対応するグラフを描画して前記表示装置に表示させることと、
前記演算サーバに、
前記ユーザ端末から前記計算問合せデータを取得させることと、
前記計算問合せデータに基づいて、前記表示装置のグラフ描画エリアにおける前記関数が表す複数の描画点の座標と、互いに隣り合う2つの前記描画点を結線するか否かを指定する連続可否情報とを含む前記描画点情報を算出させることと、
算出した前記描画点情報を前記ユーザ端末に送信させることと
を行わせるグラフ描画システムの制御方法。
[9]
入力装置と表示装置とを有するユーザ端末において関数の情報が入力された場合に、前記ユーザ端末から、ネットワークを介して、前記関数の情報を含む計算問合せデータを取得することと、
前記計算問合せデータに基づいて、前記表示装置のグラフ描画エリアにおける前記関数が表す複数の描画点の座標と、互いに隣り合う2つの前記描画点を結線するか否かを指定する連続可否情報とを含む描画点情報を算出することと、
前記算出した前記描画点情報を前記ユーザ端末に送信することと
を演算サーバに行わせるプログラム。
1…グラフ描画システム、10…ユーザ端末、11…CPU、12…ROM、13…RAM、14…ストレージ、15…入力装置、16…表示装置、17…通信装置、19…バスライン、20…演算サーバ、24…ストレージ、25…通信装置、29…バスライン、30…インターネット、32…Webサーバ、100…表示画面、110…入力フォーム、112…関数フォーム、114…最小値フォーム、115…最大値フォーム、118…分割数フォーム、120…操作ボタン、121…クリアボタン、122…グラフボタン、130…グラフ描画エリア。

Claims (6)

  1. 表示装置を有する情報処理装置であって
    関数の情報を含む計算問合せデータを送信する計算問合せデータ送信部と、
    前記計算問合せデータに基づいて算出された前記関数に対応するグラフを描画するための描画点情報を取得する描画点情報受信部と、
    前記描画点情報に基づいて、前記関数に対応するグラフを描画して前記表示装置に示すグラフ描画部と、
    を有し、
    前記描画点情報は、不連続点を含む前記グラフを構成する前記関数が表す複数の描画点のうち互いに結線する前記描画点がグループ化されたデータ構造を有し、
    前記グラフ描画部は、前記描画点情報に基づいて、前記複数の描画点のうち、グループ化された描画点同士が結線され、グループ化されていない描画点同士が結線されないように前記グラフを描画する、
    ことを特徴とする情報処理装置。
  2. 前記描画点情報は、
    前記描画点の座標を示す第3次元の情報と、
    前記描画点の座標のうち、互いに結線する前記描画点を順に示す第2次元の情報と、
    前記第2次元の情報を列挙した第1次元の情報と
    を含む多次元配列構造を有する、請求項1に記載の情報処理装置
  3. 関数の情報を含む計算問合せデータに基づいて前記関数に対応するグラフを描画するための描画点情報を生成するデータ生成装置であって、
    前記描画点情報は、不連続点を含む前記グラフを構成する複数の描画点のうち互いに結線する2つ以上の前記描画点がグループ化された構造化データを含む、
    ことを特徴とするデータ生成装置。
  4. 表示装置を有する情報処理装置と、
    ネットワークを介して前記情報処理装置に接続されている演算装置と
    を備え、
    前記情報処理装置は、
    関数の情報を含む計算問合せデータを前記演算装置宛に送信する計算問合せデータ送信部と、
    前記関数に対応するグラフを描画するための描画点情報を前記演算装置から取得する描画点情報受信部と、
    前記描画点情報に基づいて、前記関数に対応するグラフを描画して前記表示装置に示すグラフ描画部と
    を有し、
    前記演算装置は、
    前記情報処理装置から前記計算問合せデータを取得する計算問合せデータ受信部と、
    前記計算問合せデータに基づいて、不連続点を含む前記グラフを構成する前記関数が表す複数の描画点のうち互いに結線する前記描画点がグループ化されたデータ構造を有する前記描画点情報を算出する演算部と、
    を有し、
    前記グラフ描画部は、前記描画点情報に基づいて、前記複数の描画点のうち、グループ化された描画点同士が結線され、グループ化されていない描画点同士が結線されないように前記グラフを描画する、
    グラフ描画システム。
  5. 表示装置を有する情報処理装置のコンピュータに
    関数の情報を含む計算問合せデータを送信するステップと、
    前記計算問合せデータに基づいて算出された前記関数に対応するグラフを描画するための描画点情報を取得するステップと、
    前記描画点情報に基づいて、前記関数に対応するグラフを描画して前記表示装置に示すステップと
    を実行させ、
    前記描画点情報は、不連続点を含む前記グラフを構成する前記関数が表す複数の描画点のうち互いに結線する前記描画点がグループ化されたデータ構造を有し、
    前記関数に対応するグラフを描画して前記表示装置に示すステップにおいて、前記複数の描画点のうち、グループ化された描画点同士が結線され、グループ化されていない描画点同士が結線されないように前記グラフを描画する、
    ことを特徴とするプログラム。
  6. 関数の情報を含む計算問合せデータに基づいて前記関数に対応するグラフを描画するための描画点情報を生成するデータ生成装置のコンピュータに、
    不連続点を含む前記グラフを構成する複数の描画点のうち互いに結線する2つ以上の前記描画点がグループ化された構造化データを含む前記描画点情報を生成させる、
    ことを特徴とするプログラム。
JP2022000585A 2017-09-25 2022-01-05 情報処理装置、データ生成装置、グラフ描画システム、及びプログラム Active JP7235138B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022000585A JP7235138B2 (ja) 2017-09-25 2022-01-05 情報処理装置、データ生成装置、グラフ描画システム、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017183635A JP7006081B2 (ja) 2017-09-25 2017-09-25 グラフ描画システム、演算サーバ、グラフ描画システムの制御方法、及び演算サーバのためのプログラム
JP2022000585A JP7235138B2 (ja) 2017-09-25 2022-01-05 情報処理装置、データ生成装置、グラフ描画システム、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017183635A Division JP7006081B2 (ja) 2017-09-25 2017-09-25 グラフ描画システム、演算サーバ、グラフ描画システムの制御方法、及び演算サーバのためのプログラム

Publications (2)

Publication Number Publication Date
JP2022044630A JP2022044630A (ja) 2022-03-17
JP7235138B2 true JP7235138B2 (ja) 2023-03-08

Family

ID=87699531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022000585A Active JP7235138B2 (ja) 2017-09-25 2022-01-05 情報処理装置、データ生成装置、グラフ描画システム、及びプログラム

Country Status (1)

Country Link
JP (1) JP7235138B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233339A (ja) 2006-01-31 2007-09-13 Canon Inc 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP2008033823A (ja) 2006-07-31 2008-02-14 Casio Comput Co Ltd グラフ表示装置及びグラフ表示処理プログラム
JP2014241030A (ja) 2013-06-11 2014-12-25 カシオ計算機株式会社 グラフ表示装置およびプログラムおよびサーバ装置
JP2016062504A (ja) 2014-09-19 2016-04-25 カシオ計算機株式会社 数式処理装置、計算サーバおよびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06174484A (ja) * 1992-12-08 1994-06-24 Alpine Electron Inc 車載ナビゲータの地図描画方法
JPH07225851A (ja) * 1994-02-08 1995-08-22 Toshin Kogyo:Kk 図形文字処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233339A (ja) 2006-01-31 2007-09-13 Canon Inc 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP2008033823A (ja) 2006-07-31 2008-02-14 Casio Comput Co Ltd グラフ表示装置及びグラフ表示処理プログラム
JP2014241030A (ja) 2013-06-11 2014-12-25 カシオ計算機株式会社 グラフ表示装置およびプログラムおよびサーバ装置
JP2016062504A (ja) 2014-09-19 2016-04-25 カシオ計算機株式会社 数式処理装置、計算サーバおよびプログラム

Also Published As

Publication number Publication date
JP2022044630A (ja) 2022-03-17

Similar Documents

Publication Publication Date Title
CN112667330B (zh) 一种页面显示方法及计算机设备
US20100079459A1 (en) method and system for generating and displaying an interactive dynamic graph view of multiply connected objects
US10796466B2 (en) Graph drawing method, graph drawing system, server apparatus, graph drawing apparatus, and recording medium
US8872848B1 (en) Rendering vector data as tiles
JP2018049495A (ja) 計算装置、計算装置のグラフ表示方法、及びプログラム
JP7006081B2 (ja) グラフ描画システム、演算サーバ、グラフ描画システムの制御方法、及び演算サーバのためのプログラム
US10970892B2 (en) Electronic apparatus for drawing figure based on function data stored in advance or based on drawing data received from server depending on type of figure to be drawn, and information processing method, system, and medium for same
EP3842763B1 (en) Method for displaying electronic map, corresponding electronic device, corresponding readable storage medium and corresponding computer program product
CN117194828B (zh) React中Table滚动分页方法、装置及电子设备
WO2024160268A1 (zh) 页面渲染方法、装置、设备及存储介质
JP7235138B2 (ja) 情報処理装置、データ生成装置、グラフ描画システム、及びプログラム
WO2011001952A1 (ja) 電子関数グラフ表示装置、座標取得装置、電子関数グラフ表示方法、座標取得方法、及びプログラム
JP7047562B2 (ja) プログラム、情報処理方法、情報端末及び情報処理システム
CN111338827B (zh) 表格数据的粘贴方法、装置以及电子设备
JP2010092103A (ja) Webページ表示方法、サーバ装置、及びプログラム
JP7521218B2 (ja) プログラム、情報処理方法、情報処理装置、及び情報処理システム
JP2017059067A (ja) クライアント装置、および、データ表示プログラム
CN113506356B (zh) 面积图的绘制方法、装置、可读介质和电子设备
US11295499B1 (en) Generating nested repetitions for display using multiple rendering techniques
JP7525007B2 (ja) プログラム、情報処理方法、情報端末及び情報処理システム
CN116775174A (zh) 一种基于用户界面框架的处理方法、装置、设备及介质
JP7294484B2 (ja) プログラム、情報処理方法及び情報端末
JP5193969B2 (ja) 異なる地図を同時に表示する地図表示装置及び方法
JP7315042B2 (ja) グラフ描画方法、グラフ描画装置及びコンピュータプログラム
Tushnytskyy et al. Effective Dynamic Interactive Component of Time-Varying Data Visualization

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220203

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230206

R150 Certificate of patent or registration of utility model

Ref document number: 7235138

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150