JP7052518B2 - プログラム、情報処理方法及び情報端末 - Google Patents

プログラム、情報処理方法及び情報端末 Download PDF

Info

Publication number
JP7052518B2
JP7052518B2 JP2018079446A JP2018079446A JP7052518B2 JP 7052518 B2 JP7052518 B2 JP 7052518B2 JP 2018079446 A JP2018079446 A JP 2018079446A JP 2018079446 A JP2018079446 A JP 2018079446A JP 7052518 B2 JP7052518 B2 JP 7052518B2
Authority
JP
Japan
Prior art keywords
information terminal
type
calculation
server
terminal
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
JP2018079446A
Other languages
English (en)
Other versions
JP2019185687A (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
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2018079446A priority Critical patent/JP7052518B2/ja
Priority to US16/376,276 priority patent/US10970892B2/en
Priority to CN201910306627.2A priority patent/CN110389694B/zh
Publication of JP2019185687A publication Critical patent/JP2019185687A/ja
Application granted granted Critical
Publication of JP7052518B2 publication Critical patent/JP7052518B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally

Description

本発明は、プログラム、情報処理方法及び情報端末に関する。
ウェブブラウザ上で利用可能なグラフ描画アプリケーションが知られている。例えば、非特許文献1は、ウェブブラウザ上で動作する次のようなアプリケーションについて開示する。このアプリケーションでは、ユーザが式リストに入力した数式に基づいて演算が行われ、演算の結果に基づくグラフがウェブブラウザ上に描画される。
Desmos,desmos ユーザーガイド,堀川由人 訳[online],[平成30年4月16日検索]、インターネット<URL:https://desmos.s3.amazonaws.com/Desmos_User_Guide_JA.pdf>
上述のようなアプリケーションでは、滑らかな動作が求められる。本発明は、滑らかに動作するアプリケーションを提供することを目的とする。
本発明の一態様によれば、プログラムは、サーバと通信する情報端末のコンピューターに、図形に関する処理の指示を取得することと、前記図形に関する処理に関係する演算を前記情報端末が行えるか否かを判定することと、前記演算を前記情報端末が行えるときには、前記演算を行って、前記図形に関する処理を実行することと、前記演算を前記情報端末が行えないときには、前記図形に関する処理の関連データを前記サーバ宛に送信し、当該関連データに基づいて前記サーバが処理した結果の演算データを前記サーバから受信して前記図形に関する処理を実行することとを実行させるためのプログラムであって、前記情報端末のコンピューターに、第1の関数タイプに関係する演算を前記情報端末が行えない第1のオブジェクトタイプに関係する演算と判定することと、前記第1の関数タイプ以外の関数タイプである第2の関数タイプ及び幾何学タイプに関係する演算を前記情報端末が行える第2のオブジェクトタイプに関係する演算と判定することとを実行させる
図1は、一実施形態に係るシステムの構成例の概略を示すブロック図である。 図2は、一実施形態に係る端末の動作の一部についての例の概略を示すフローチャートである。 図3は、一実施形態に係る描画処理の一例の概略を示すフローチャートである。 図4は、一実施形態に係る変更処理の一例の概略を示すフローチャートである。 図5は、一実施形態に係る交点算出処理の一例の概略を示すフローチャートである。 図6Aは、端末に表示されるグラフ付箋に関する画面の一例を示す図である。 図6Bは、端末に表示されるグラフ付箋に関する画面の一例を示す図である。 図7Aは、端末に表示される幾何付箋に関する画面の一例を示す図である。 図7Bは、端末に表示される幾何付箋に関する画面の一例を示す図である。
本発明の一実施形態について図面を参照して説明する。本実施形態は、学校教育の場等で用いられるウェブを利用したアプリケーションに関する。本実施形態のアプリケーションは、特に数学教育で用いられる。
[システムの構成]
図1は、本実施形態に係るシステム1の構成例の概略を示す図である。システム1は、クライアントとしての端末10と、Webサーバ20と、演算サーバ30とを含む。端末10は、例えばパーソナルコンピュータ(PC)、タブレット型の情報端末、スマートフォン等といった各種の情報端末である。各端末では、ウェブブラウザが動作する。各端末は、ウェブブラウザを用いて、インターネットといったネットワーク50を介して演算サーバ30に接続されたWebサーバ20にアクセスし、ウェブアプリケーションを実行する。
図1には、1台の端末10が示されているが、システム1に含まれる端末の台数は何台であってもよい。何台の端末がウェブアプリケーションを実行してもよい。
端末10は、図1に示すように、バスライン19を介して互いに接続されたCentral Processing Unit(CPU)11と、Read Only Memory(ROM)12と、Random Access Memory(RAM)13と、ストレージ14と、入力装置15と、表示装置16と、通信装置17とを備える。CPU11は、各種信号処理等を行う。CPUに代えて又はCPUと共に、Application Specific Integrated Circuit(ASIC)、Field Programmable Gate Array(FPGA)、又はGraphics Processing Unit(GPU)等の各種集積回路が用いられてもよい。すなわち、端末10では、各種プロセッサが用いられ得る。ROM12は、起動プログラム等を記録している。RAM13は、CPU11の主記憶装置として機能する。RAM13には、例えば、Dynamic RAM(DRAM)、Static RAM(SRAM)等が用いられ得る。ストレージ14には、例えば、Hard Disk Drive(HDD)、Solid State Drive(SSD)、Embedded Multi Media Card(eMMC)等が用いられる。ストレージ14には、CPU11で用いられるプログラム、パラメータ等各種情報が記録されている。RAM13及びストレージ14は、これに限らず各種記憶装置に置換され得る。入力装置15は、例えばキーボード、マウス、タッチパネル等である。表示装置16は、例えば液晶ディスプレイ、有機ELディスプレイ等である。通信装置17は、端末10の外部の機器と通信を行う際に用いられる。通信装置17は、例えばインターネットといったネットワーク50に接続する。
Webサーバ20上には、ウェブアプリケーションのバッグエンドサーバが存在する。Webサーバ20は、ウェブアプリケーションの実現に必要な処理を担っている。Webサーバ20のさらに背後には、各種関数の演算を実行する演算サーバ30が存在している。演算サーバ30の演算エンジンには、Webサーバ20のバッグエンドサーバからのみアクセスでき、外部からは直接アクセスできないようになっており、演算エンジンは秘匿されている。
演算サーバ30は、図1に示すように、バスライン39を介して互いに接続されたプロセッサ31と、ROM32と、RAM33と、ストレージ34と、通信装置35とを備える情報処理装置である。プロセッサ31は、各種信号処理等を行う。ROM32は、プロセッサ31の動作に用いられる情報を記録している。RAM33は、プロセッサ31の主記憶装置として機能する。ストレージ34には、各種記録媒体が用いられ得る。ストレージ34には、プロセッサ31で用いられるプログラム、パラメータ等各種情報が記録されている。
本実施形態では、入力と表示とは、「付箋」と呼ぶ小さな枠を持つ表示領域の組み合わせを用いて行われる。付箋には複数の種類が存在する。後述するが、端末10の表示装置16に表示される画面例を示す図6A及び図7Aには、数式付箋110、グラフ付箋120、幾何付箋205等が示されている。数式付箋110は、関数を表す数式が入力される付箋である。グラフ付箋120は、グラフが描画される付箋である。グラフ付箋120には、例えば数式付箋110に入力された式に関するグラフが表示される。数式付箋110とグラフ付箋120とのように互いに関連がある付箋は、紐119と呼ばれる線で結びつけられている。幾何付箋205は、図形等を描く際に用いられる付箋である。
[システムの動作]
本実施形態に係るシステム1は、多くの機能を有している。そのうちいくつかの例について説明する。各機能は、端末10、Webサーバ20及び演算サーバ30が協働することで実現される。例えば、ウェブブラウザが動作する端末10がWebサーバ20にアクセスしたとき、端末10はWebサーバ20からプログラムを取得する。端末10は、ウェブブラウザ上でこのプログラムを実行する。端末10は、ユーザが端末10の入力装置15を操作してウェブブラウザ上に入力した情報に基づいて、各種演算及び表示を行う。端末10は、演算サーバ30による演算が必要なとき、当該演算に必要な情報を、Webサーバ20を介して演算サーバ30へ送信する。演算サーバ30は、端末10から取得した情報に基づいて各種演算を行う。演算サーバ30は、演算結果を、Webサーバ20を介して端末10宛に送信する。端末10は、演算サーバ30から取得した情報に基づいて、表示装置16に各種画像を表示する。
本実施形態に係る端末10の動作について、図2乃至5に示すフローチャートを参照して説明する。説明にあたって、図6A及び図6Bに示すグラフ付箋120に関連する画面例、及び図7A及び図7Bに示す幾何付箋205に関連する画面例を適宜に参照する。
図2は、端末10の動作の一部についての例の概略を示すフローチャートである。
ステップS101において、端末10は、付箋作成の指示が入力されたか否かを判定する。付箋作成の指示が入力されていないとき、処理はステップS103に進む。付箋作成の指示が入力されたとき、処理はステップS102に進む。
ステップS102において、端末10は、付箋の作成に関する処理を行う。その後、処理はステップS103に進む。
例えば、図6Aに画面101を示す場合のように、グラフ付箋120にグラフを描画させるにあたっては、描画するグラフに関する数式を入力するために、数式付箋110を作成する。すなわち、端末10は、数式付箋110の設定に関する内部処理を行い、表示装置16に数式付箋110を表示させる。
例えば、図7Aに画面201を示す場合のように、幾何学図形等を描画するにあたっては、幾何学図形等を描画するための幾何付箋205を作成する。すなわち、端末10は、幾何付箋205の設定に関する内部処理を行い、表示装置16に幾何付箋205を表示させる。幾何付箋205の図形表示エリア207には、座標系が設定され、既定の、又は、ユーザ操作に応じて設定された座標範囲が割り当てられている。既定の設定では、座標を示すための座標軸(x軸、y軸)及び座標目盛りは非表示である。
ステップS103において、端末10は、グラフ又は図形などの描画に関する指示が入力されたか否かを判定する。グラフ又は図形などの描画に関する指示が入力されていないとき、処理はステップS105に進む。グラフ又は図形などの描画に関する指示が入力されたとき、処理はステップS104に進む。
ステップS104において、端末10は、描画処理を行う。描画処理について、図3に示すフローチャートを参照して説明する。
ステップS201において、端末10は、描画に関して入力された指示を取得する。例えば、図6Aに示すように、グラフ付箋120にグラフを描画させるとき、数式付箋110に数式が入力され、その後、描画実行の指示が入力される。数式付箋110は、入力される式の数に応じて追加される複数の付箋を含む。図6Aに示す例では、数式付箋110は、第1の数式付箋111、第2の数式付箋112及び第3の数式付箋113の3つの付箋を含む。第1の数式付箋111に「y=sin(x)」という数式が入力され、描画実行の指示が入力されたとき、後述するように、グラフ付箋120のグラフ領域121に、「y=sin(x)」を表す第1のグラフ131が表示される。同様に、第2の数式付箋112に「y=x+1」という数式が入力され、描画実行の指示が入力されたとき、グラフ領域121に、「y=x+1」を表す第2のグラフ132が表示される。第3の数式付箋113に「y=x2」という数式が入力され、描画実行の指示が入力されたとき、グラフ領域121に、「y=x2」を表す第3のグラフ133が表示される。グラフ付箋120のグラフ領域121には、座標系が設定され、既定の、又は、ユーザ操作に応じて設定された座標範囲が割り当てられる。
例えば、図7Aに示すように、幾何付箋205の図形表示エリア207に図形が描画されるとき、例えば次のように指示が入力される。幾何付箋205が選択されたとき、画面201には、描画メニュー280と、幾何メニュー290とが表示される。描画メニュー280は、図形表示エリア207に図形を描画するための種々のアイコンを含む。幾何メニュー290は、カテゴリエリア291と表示エリア292とを含む。カテゴリエリア291は、Adjustmentアイコン296、Measurementアイコン297及びConstructアイコン298を含む。Adjustmentアイコン296が選択されたとき、図形を調整するためのメニューのアイコンが表示エリア292に表示される。Measurementアイコン297が選択されたとき、図形の面積、長さ、傾き等の各種特徴量を測定するためのメニューのアイコンが表示エリア292に表示される。Constructアイコン298が選択されたとき、図形の中点、垂線、交点等を表示するためのメニューのアイコンが表示エリア292に表示される。
図形表示エリア207に図形を描画したいユーザは、描画メニュー280から描画したい図形に応じたアイコンを選択する。描画メニュー340は、円を描画するための円アイコン281と、多角形を描画するための多角形アイコン282と、その他のアイコンとを含む。ユーザは、これらのアイコンの中から作図したい図形のアイコンを選択し、操作する。
多角形を描画するための多角形アイコン282が選択されて、三角形が描画される場合の例を示す。後述するように、ユーザが第1の点211を特定すると、「A」と表示された点が描画される。続いてユーザが第2の点212を特定すると、「B」と表示された点が描画され、併せて第1の辺214が描画される。続いてユーザが第3の点213を特定すると、「C」と表示された点が描画され、併せて第2の辺215が描画される。続いて第1の点211を特定すると、第3の辺216が描画される。その結果、幾何付箋205の図形表示エリア207には、三角形219が描画される。
円を描画するための円アイコン281が選択されて、円が描画される場合の例を示す。ユーザが中心点221を特定すると、「D」と表示された点が描画される。続いてユーザが、描きたい円の一点を特定することで半径を特定すると、中心点221を中心とする第1の円222が描画される。半径を示す直線223及び半径を示す値224が表示されてもよい。
また、多角形アイコン282を選択して表示されるアイコンの中から関数アイコンを選択することで、関数入力用の枠が表示され、ここに関数を入力することで、関数を表す図形も描画され得る。例えば、関数入力用の枠に三角関数が入力されたとき、サインカーブ231が描画される。
ステップS201では、端末10は、上述のような描画に関するユーザの指示を取得する。端末10は、取得した入力に基づいて、各種処理を行う。
ステップS202において、端末10は、描画の指示がされた図形の描画タイプは、関数タイプか幾何学タイプかを判定する。例えば、グラフ付箋に描画されるグラフは関数タイプである。幾何付箋205の図形表示エリア207に描画される図形のうち、関数の入力によって描画される図形も関数タイプである。図形表示エリア207に描画されるその他の図形は、幾何学タイプである。
ステップS202で関数タイプであると判定されたとき、処理はステップS203に進む。ステップS203において、端末10は、描画の指示がされた図形の関数タイプが、第1のタイプであるか第2のタイプであるかを判定する。
第1のタイプとは、図形を描画するにあたって、描画点の座標を演算サーバ30による演算で求める必要がある図形である。例えば、三角関数、微分又は積分を含む関数、フーリエ変換を含む関数などが第1のタイプに含まれる。
第2のタイプとは、図形を描画するにあたって、描画点を端末10で算出できる図形である。例えば、次のような関数が、端末10で動作するプログラムに用意されている。
一次関数の場合、例えば次のような関数が用意されている。
ax+by+c=0
y=ax+b
y=a+bx
x=ay+b
x=a+by
ここで、a、b、cは、任意の値である。
円錐曲線の場合、例えば次のような関数が用意されている。
x=A(y-K)2+H
x=Ay2+By+C
y=A(x-H)2+K
y=Ax2+Bx+C
(x-H)2+(y-K)2=R2
Ax2+Ay2+Bx+Cy+D=0
(x-H)2/A2+(y-K)2/B2=1
(x-H)2/A2-(y-K)2/B2=1
(y-K)2/A2-(x-H)2/B2=1
Ax2+Bxy+Cy2+Dx+Ey+F=0
ここで、A、B、C、D、E、F、H、Kは、任意の値である。
ステップS203において、関数タイプが第1のタイプであると判定されたとき、処理はステップS204に進む。ステップS204において、端末10は、当該図形のオブジェクトタイプフラグを第1のタイプに設定する。
ステップS205において、端末10は、描画すべき図形に関係する関数、係数及び定数、座標エリア、各種設定等を決定し、記憶する。ステップS206において、端末10は、決定した関数、係数及び定数、座標エリア、各種設定等の情報を、Webサーバ20を介して演算サーバ30宛に送信する。この際に送信される情報のデータ形式は、Webサーバ20から提供されて端末10で実行されているプログラムに応じる。
演算サーバ30は、端末10から送信された関数、係数及び定数、座標エリア、各種設定等の情報を、Webサーバ20を介して取得する。演算サーバ30は、取得した情報に基づいて、図形を描画するための演算を行う。演算サーバ30は、端末10で図形を描画するにあたって必要な、描画点の座標を算出する。演算サーバ30は、描画点の座標の情報を、Webサーバ20を介して端末10宛に送信する。この際送信されるデータ形式は、Webサーバ20から提供されて端末10で実行されているプログラムに応じる。
ステップS207において、端末10は、描画点の座標データを受信する。ステップS208において、端末10は、描画点の座標の情報に基づいて、図形を描画する。図形の描画後、描画処理は終了する。
ステップS202において、描画タイプが幾何学タイプであると判定されたとき、処理はステップS209に進む。また、ステップS203において、関数タイプが第2タイプであると判定されたとき、処理はステップS209に進む。
ステップS209において、端末10は、当該図形のオブジェクトタイプフラグを第2のタイプに設定する。ステップS210において、端末10は、描画すべき図形に関係する関数、係数及び定数、座標エリア、各種設定等を決定し、記憶する。ステップS211において、端末10は、決定した関数、係数及び定数、座標エリア、各種設定等の情報に基づいて、図形を描画するための演算を行う。端末10は、図形を描画するにあたって必要な、描画点の座標を算出する。その後、処理はステップS208に進む。すなわち、ステップS208において、端末10は、描画点の座標の情報に基づいて、図形を描画する。図形の描画後、描画処理は終了する。
例えば、図6Aに示す例で、第1の数式付箋111への入力が確定され、第1の数式付箋111に入力された関数を表すグラフの描画が指示されたとする。第1の数式付箋111に入力されている数式は、「y=sin(x)」である。数式付箋に入力された数式に基づいてグラフ付箋120にグラフを描画する場合であるので、ステップS202の判定で描画タイプは関数であると判定される。「y=sin(x)」は、三角関数であるので、ステップS203の判定で、関数タイプは、第1のタイプであると判定される。
ステップS204において、端末10は、これから描画するオブジェクトのオブジェクトタイプフラグを第1のタイプに設定する。端末10は、ステップS205において関数及び座標エリア等を決定し、ステップS206においてこの情報を、Webサーバ20を介して演算サーバ30宛に送信する。ここで、関数は、y=sin(x)である。グラフ付箋のグラフ領域121の座標エリアは、-5≦x≦5及び-3≦y≦3である。これらの情報に基づいて演算サーバ30は、y=sin(x)のグラフを-5≦x≦5及び-3≦y≦3の範囲でプロットするのに必要な点の座標を算出する。演算サーバ30は、算出結果の座標群のデータを端末10に送信する。端末10は、ステップS207で受信した座標群のデータに基づいて、ステップS208でグラフ付箋にy=sin(x)を表す第1のグラフ131を描画する。
第2の数式付箋112に入力された関数を表すグラフの描画が指示されたとする。第2の数式付箋112に入力されている数式は、「y=x+1」である。数式付箋に入力された数式に基づいてグラフ付箋120にグラフを描画する場合であるので、ステップS202の判定で描画タイプは関数であると判定される。「y=x+1」は、上記に列記した一次関数の一種であるので、ステップS203の判定で、関数タイプは、第2のタイプであると判定される。
ステップS209において、端末10は、これから描画するオブジェクトのオブジェクトタイプフラグを第2のタイプに設定する。端末10は、ステップS210において関数、係数及び定数、座標エリア、各種設定等を決定し、ステップS211においてこの情報に基づいて、y=x+1のグラフを-5≦x≦5及び-3≦y≦3の範囲でプロットするのに必要な描画点の座標を算出する。端末10は、算出した座標群のデータに基づいて、ステップS208でグラフ付箋にy=x+1を表す第2のグラフ132を描画する。
第3の数式付箋113に入力された関数を表すグラフの描画が指示されたとする。第3の数式付箋113に入力されている数式は、「y=x2」である。数式付箋に入力された数式に基づいてグラフ付箋120にグラフを描画する場合であるので、ステップS202の判定で描画タイプは関数であると判定される。「y=x2」は、上記に列記した円錐曲線の一種であるので、ステップS203の判定で、関数タイプは、第2のタイプであると判定される。
ステップS209において、端末10は、これから描画するオブジェクトのオブジェクトタイプフラグを第2のタイプに設定する。端末10は、ステップS210において関数、係数及び定数、座標エリア、各種設定等を決定し、ステップS211においてこの情報に基づいて、y=x2のグラフを-5≦x≦5及び-3≦y≦3の範囲でプロットするのに必要な点の座標を算出する。端末10は、算出した座標群のデータに基づいて、ステップS208でグラフ付箋120にy=x2を表す第3のグラフ133を描画する。
図7Aに示す例について説明する。ユーザが、多角形アイコン282を選択して第1の点211の位置を指定したとき、端末10は、ステップS201において、この入力を描画指示として取得する。ステップS202において、端末10は、幾何学図形の描画に関する入力であるので、描画タイプは、幾何学タイプであると判定する。端末10は、ステップS209においてオブジェクトタイプフラグを第2のタイプに設定して、ステップS210において点が指定された旨を決定して記憶し、ステップS211で指定された第1の点211の座標を特定する。端末10は、ステップS208において、第1の点211の座標に点を示す円形のマーカを描画し、さらにその近傍に「A」と表示させる。
続いて、ユーザが、第2の点212の位置を指定したとき、端末10は、ステップS201において、この入力を描画指示として取得する。ステップS202において、端末10は、幾何学図形の描画に関する入力であるので、描画タイプは、幾何学タイプであると判定する。端末10は、ステップS209においてオブジェクトタイプフラグを第2のタイプに設定して、ステップS210において点が指定された旨を決定して記憶し、ステップS211で指定された第2の点212の座標を特定する。さらに、端末10は、ステップS209においてオブジェクトタイプフラグを第2のタイプに設定して、ステップS210において第1の点211と第2の点212とを結ぶ関数及び定数を決定し、その描画範囲を第1の点211と第2の点212との間に決定する。ステップS211において、第1の点211と第2の点212とを結ぶ直線を描画するために必要な点の座標を特定する。この座標は、第1の点211の座標と第2の点212の座標とであってもよいし、第1の点211と第2の点212との間の点の座標をさらに含んでいてもよい。ステップS208において、端末10は、第2の点212の座標に点を示す円形のマーカを描画し、さらにその近傍に「B」と表示させる。さらに端末10は、第1の点211と第2の点212とを結ぶ直線を第1の辺214として描画する。
以下同様に、ユーザが第3の点213の位置を指定したとき、ステップS208において、端末10は、第3の点213の座標に点を示す円形のマーカを描画し、さらにその近傍に「C」と表示させる。さらに端末10は、第2の点212と第3の点213とを結ぶ直線を第2の辺215として描画する。ユーザが第1の点211の位置を指定したとき、ステップS208において、端末10は、第3の点213と第2の点212とを結ぶ直線を第3の辺216として描画する。その結果、三角形219が描画される。
ユーザが、円アイコン281を選択して中心点221の位置を指定したとき、端末10は、ステップS201において、この入力を描画指示として取得する。ステップS202において、端末10は、幾何学図形の描画に関する入力であるので、描画タイプは、幾何学タイプであると判定する。端末10は、ステップS209においてオブジェクトタイプフラグを第2のタイプに設定して、ステップS210において点が指定された旨を決定して記憶し、ステップS211で指定された中心点221の座標を特定する。端末10は、ステップS208において、中心点221の座標に点を示す円形のマーカを描画し、さらにその近傍に「D」と表示させる。
続いて、ユーザが、描画したい円の周の何れかの点の位置を指定したとき、端末10は、ステップS201において、この入力を描画指示として取得する。ステップS202において、端末10は、幾何学図形の描画に関する入力であるので、描画タイプは、幾何学タイプであると判定する。端末10は、ステップS209においてオブジェクトタイプフラグを第2のタイプに設定して、中心点221を中心とし、指定された点が円周を通る円、すなわち、中心点221と指定された点との距離を半径とする円の関数を定数を含めて決定し、座標エリアを決定する。端末10は、これらの情報を記憶する。ステップS211において、端末10は、円周を描くための描画点の座標を算出する。ステップS208において、端末10は、算出された座標に基づいて、第1の円222を描画する。端末10は、同様に中心点221と指定された点とを結ぶ半径を示す直線223も同様に描画してもよい。また、端末10は、半径を示す値224を表示してもよい。
描画メニュー280から選択して描画した図形を数式及び定数で表現するには、例えば以下が用いられ得る。
直線:2点の座標値
円:中心の座標値、及び半径
楕円:2つの焦点の座標値、及び各焦点からの距離の和
双曲線:2つの焦点の座標値、及び各焦点からの距離の差
放物線:1つの焦点、及び1本の直線。
ユーザが、多角形アイコン282を選択して表示されるアイコンの中から関数アイコンを選択することで、関数入力用の枠が表示され、ここにy=sin(x)が入力されサインカーブの描画が指示されたとする。端末10は、ステップS201でこの指示を取得する。入力されている数式は、「y=sin(x)」であるので、ステップS202の判定で描画タイプは関数であると判定される。「y=sin(x)」は、三角関数であるので、ステップS203の判定で、関数タイプは、第1のタイプであると判定される。
ステップS204において、端末10は、これから描画するオブジェクトのオブジェクトタイプフラグを第1のタイプに設定する。端末10は、ステップS205において注目している関数であるy=sin(x)及び座標エリア等を決定し、ステップS206においてこの情報を、Webサーバ20を介して演算サーバ30宛に送信する。これらの情報に基づいて演算サーバ30は、y=sin(x)のグラフを指定の範囲にプロットするのに必要な点の座標を算出する。演算サーバ30は、算出結果の座標群のデータを端末10に送信する。端末10は、ステップS207で受信した座標群のデータに基づいて、ステップS208で幾何付箋205の図形表示エリア207にy=sin(x)を表すサインカーブ231を描画する。
以上のように、描画する図形のタイプに応じて、オブジェクトタイプフラグが第1又は第2に設定される。オブジェクトタイプフラグが第1のタイプであるとき、端末10は、演算サーバ30に図形を描画するための描画点の座標をリクエストし、演算サーバ30からのレスポンスに含まれる座標データに基づいて、図形を描画する。オブジェクトタイプフラグが第2のタイプであるとき、端末10は、図形を描画するための描画点の座標を算出し、得られた座標データに基づいて図形を描画する。
図2に戻って説明を続ける。ステップS105において、端末10は、図形に変更を加える指示が入力されたか否かを判定する。変更を加える指示を入力されていないとき、処理はステップS107に進む。変更を加える指示が入力されたとき、処理はステップS106に進む。
ステップS106において、端末10は、変更処理を行う。変更処理について、図4に示すフローチャートを参照して説明する。
ステップS301において、端末10は、変更に関して入力された指示を取得する。例えば、図6Aに示す第1のグラフ131を下方向(y軸と平行にマイナス方向)に移動させる指示が入力された場合を考える。この指示は、例えば、マウス操作等で第1のグラフ131を下方向に希望する移動量だけドラッグすることで行われ得る。このような指示を取得した端末10は、表示を図6Bに示す画面102のように変更する。すなわち、端末10は、第1のグラフ131を削除して、第1のグラフ131をy軸に沿って-1だけ平行移動させた第4のグラフ134を表示する。これに伴って、端末10は、第1の数式付箋111の表示も「y=sin(x)」から「y=sin(x)-1」に変更する。
あるいは、例えば図7Aに示す第1の円222の半径を大きくする指示が入力された場合を考える。この指示は、例えば、マウス操作等で第1の円222の円周を外側に希望する量だけ広げるようにドラッグすることで行われ得る。このような指示を取得した端末10は、表示を図7Bに示す画面202のように変更する。すなわち、端末10は、第1の円222を削除して、第1の円222の半径を大きくした第2の円225を表示する。端末10は、それと共に半径を示す直線223を半径に応じた新たな直線226に更新し、半径を示す値224を新たな値227に更新してもよい。
その他の変更として、例えば、図6Aにおいて、第1のグラフ131、第2のグラフ132又は第3のグラフ133を平行移動させる、回転させる、反転させる、拡大させる、又は縮小させる、第1のグラフ131の周期又は値域を変更する、第3のグラフ133の開き具合を変更する等の種々の変更が入力され得る。例えば図7Aにおいて、三角形219、第1の円222又はサインカーブ231を平行移動させる、回転させる、反転させる、拡大させる、又は縮小させる、三角形219を変形させる、サインカーブ231の周期又は値域を変更する等の変更が入力され得る。
図4に戻って説明を続ける。ステップS302において、端末10は、変更指示が入力されたオブジェクトのオブジェクトタイプフラグが、第1のタイプに設定されているか第2のタイプに設定されているかを判定する。各オブジェクトのオブジェクトタイプフラグは、ステップS204又はステップS209の処理でオブジェクト毎に記憶されている。端末10は、この情報を読み出して、ステップS302の判定を行う。第1のタイプであると判定されたとき、処理はステップS303に進む。
ステップS303において、端末10は、取得された変更指示を解析して関数、定数等を変更し、記憶する。例えば、y=sin(x)で表される第1のグラフ131の周期を変更するとき、関数をy=sin(ax)とし、周期に応じて係数aの値を変更する。例えば、y=sin(x)で表される第1のグラフ131をx軸に沿って移動させるとき、関数をy=sin(x-a)とし、移動量に応じて定数aの値を変更する。
ステップS304において、端末10は、ステップS303で変更した関数、係数及び定数、座標エリア、各種設定等をWebサーバ20を介して演算サーバ30宛に送信する。この際に送信される情報のデータ形式は、ステップS206の場合と同様に、Webサーバ20から提供されて端末10で実行されているプログラムに応じる。
演算サーバ30は、端末10から送信された関数、係数及び定数、座標エリア、各種設定等の情報を、Webサーバ20を介して取得する。演算サーバ30は、取得した情報に基づいて、図形を描画するための演算を行う。演算サーバ30は、端末10で図形を描画するにあたって必要な、描画点の座標を算出する。演算サーバ30は、描画点の座標の情報を、Webサーバ20を介して端末10宛に送信する。この際送信されるデータ形式も、Webサーバ20から提供されて端末10で実行されているプログラムに応じる。
ステップS305において、端末10は、描画点の座標データを受信する。ステップS306において、端末10は、描画点の座標の情報に基づいて、図形を描画し直す。図形の描画後、変更処理は終了する。
ステップS302において、オブジェクトタイプは第2のタイプであると判定されたとき、処理はステップS307に進む。ステップS307において、端末10は、取得された変更指示を解析して関数、定数等を変更し、記憶する。例えば、y=x+1で表される第2のグラフ132を並行移動するとき、関数をy=(x-a)+1+bとし、移動量に応じて定数a及びbの値を変更する。例えば、y=x+1で表される第2のグラフ132の傾きを変更させるとき、関数をy=ax+1とし、傾きに応じて係数aの値を変更する。
ステップS308において、端末10は、変更した関数、係数及び定数、座標エリア等の情報に基づいて、図形を描画するための演算を行う。端末10は、図形を描画するにあたって必要な、描画点の座標を算出する。その後、処理はステップS306に進む。すなわち、ステップS306において、端末10は、描画点の座標の情報に基づいて、図形を描画する。図形の描画後、変更処理は終了する。
以上のように図形の変更においても、描画する図形のタイプに応じて、端末10は、演算サーバ30に図形を描画するための描画点の座標をリクエストしたり、図形を描画するための描画点の座標を算出したりする。ここで、オブジェクトタイプが第1のタイプであるとき、端末10はWebサーバ20との間でデータの送受信を行わなければいけないし、演算サーバ30は演算する必要があり、これらにはある程度の時間を要する。このため、端末10は、ユーザによるマウスの移動が停止する等、変更操作が一段落してから、データの送受信及び演算が行われ得る。これに対して、オブジェクトタイプが第2のタイプであるとき、端末10はWebサーバ20との間でデータの送受信はないし、端末10による演算負荷もそれほど大きくないことが多い。このため、端末10は、ユーザによるマウスの移動等が継続している最中にも、リアルタイムで座標の再計算及び図形の再描画を行ってもよい。
図2に戻って説明を続ける。ステップS107において、端末10は、図形の交点を算出する指示が入力されたか否かを判定する。本実施形態では、システム1は、2つの図形を指定して当該2つの図形の交点の座標を算出して表示する機能を有している。
例えば図6Aの例において、機能メニューから交点の算出の機能が選択され、第1のグラフ131と第2のグラフ132とが選択されたとする。このとき、図6Aに示すように、第1のグラフ131と第2のグラフ132との交点である、第1の交点141が交点Aとして表示されてその座標(xa1,ya1)が表示される。また、交点の算出の機能が選択され、第2のグラフ132と第3のグラフ133とが選択されたとき、第2の交点142が交点Bとして表示されてその座標(xb1,yb1)が表示され、第3の交点143が交点Cとして表示されてその座標(xc1,yc1)が表示される。
例えば、図7Aの例において、Constructアイコン298を選択することで表示エリア292に表示される交点算出アイコンが選択されて、三角形219と第1の円222とが選択されたとする。このとき、図7Aに示すように、三角形219と第1の円222との交点である第4の交点241が交点Eとして表示されてその座標(xe1,ye1)が表示され、第5の交点242が交点Fとして表示されてその座標(xf1,yf1)が表示される。また、交点の算出の機能が選択され、第1の円222とサインカーブ231とが選択されたとき、第6の交点251が交点Gとして表示されてその座標(xg1,yg1)が表示され、第7の交点252が交点Hとして表示されてその座標(xh1,yh1)が表示される。
ステップS107において交点を算出する指示が入力されていないと判定されたとき、処理はステップS109に進む。交点を算出する指示が入力されたとき、処理はステップS108に進む。ステップS108において、端末10は、交点算出処理を行う。交点算出処理について、図5に示すフローチャートを参照して説明する。
ステップS401において、端末10は、交点を求めるべきとして選択された2つのオブジェクトの情報を取得する。この情報は、各オブジェクトに関係する関数、係数及び定数、座標エリア、及びオブジェクトタイプなどを含む。
ステップS402において、端末10は、選択されたオブジェクトが全て第2タイプであるか否かを判定する。全て第2タイプでないとき、すなわち少なくとも1つが第1タイプであるとき、処理はステップS403に進む。例えば、図6Aに示す例では、第1のグラフ131と第2のグラフ132とが選択されたとき、第1のグラフ131が第1タイプであるので、処理がステップS403に進む。例えば、図7Aに示す例では、第1の円222とサインカーブ231とが選択されたとき、サインカーブ231が第1タイプであるので、処理がステップS403に進む。
ステップS403において、端末10は、関数及び座標エリアなど選択されたオブジェクトに関する情報とそれらオブジェクトの交点を要求する旨とを、Webサーバ20を介して演算サーバ30宛に送信する。
このリクエストを受信した演算サーバ30は、受信した関数に関する交点の座標を算出する。演算サーバ30は、算出した交点の座標データを、Webサーバ20を介して端末10宛に送信する。
ステップS404において、端末10は、交点のデータを受信する。ステップS405において、端末10は、受信した交点データに基づいて、表示に交点と交点の座標とを追加する。その結果、図6Aに示す画面101の例では、第1のグラフ131と第2のグラフ132との交点である第1の交点141について、表示151のように、交点Aの表示とその座標(xa1,ya1)の表示とが追加される。図7Aに示す画面201の例では、第1の円222とサインカーブ231との交点である第6の交点251について、表示253のように、交点Gの表示とその座標(xg1,yg1)の表示とが追加され、第7の交点252について、表示254のように、交点Hの表示とその座標(xh1,yh1)の表示とが追加される。その後、交点算出処理は終了する。
ステップS402において、選択されたオブジェクトが全て第2タイプであると判定されたとき、処理はステップS406に進む。例えば、図6Aに示す例では、第2のグラフ132と第3のグラフ133とが選択されたとき、これらのグラフは何れも第2タイプであるので、処理がステップS406に進む。例えば、図7Aに示す例では、三角形219と第1の円222とが選択されたとき、これらの図形は何れも第2タイプであるので、処理がステップS406に進む。
ステップS406において、端末10は、選択されたオブジェクトの関数に基づいて、交点の座標を算出する。その後、ステップS405において、端末10は、算出した交点の座標に基づいて、表示に交点と交点の座標とを追加する。その結果、図6Aに示す画面101の例では、第2のグラフ132と第3のグラフ133との交点である第2の交点142について、表示152のように、交点Bの表示とその座標(xb1,yb1)の表示とが追加され、第3の交点143について、表示153のように、交点Cの表示とその座標(xc1,yc1)の表示とが追加される。図7Aに示す画面201の例では、三角形219と第1の円222との交点である第4の交点241について、表示243のように、交点Eの表示とその座標(xe1,ye1)の表示とが追加され、第5の交点242について、表示244のように、交点Fの表示とその座標(xf1,yf1)の表示とが追加される。その後、交点算出処理は終了する。
例えば、任意の直線「y=ax+b」と「y=cx+d」との交点の座標(x,y)は、
x=(d-b)/(a-c)
y=ad-bc/(a-c)
(ただし、aとcとは等しくない。)
で求まる。このような算出式を事前に導出しておき、直線オブジェクトの変数(a,b,c,d)を代入することで、交点の座標は容易に算出され得る。直線と直線以外にも、円と直線、円と円、楕円と円など、必要な交点算出式を事前に用意しておき、対象オブジェクトに応じて算出式を読み出し用いることで、交点の座標は容易に算出され得る。
図2に戻って説明を続ける。ステップS109において、端末10は、本処理を終了するか否かを判定する。処理を終了すると判定されたとき、本処理は終了する。処理を終了しないと判定されたとき、処理はステップS101に戻る。すなわち、ユーザからの入力に応じて、図形の描画、変形、交点の算出等が繰り返し行われる。
例えば、図6Aの状態から、第1のグラフ131が選択されて、y軸に沿って-1平行移動させる指示が入力されたとき、上述のとおりステップS106の変更処理が行われて図6Bに示すように、第1のグラフ131が削除されて移動後の第4のグラフ134が描画される。これと共に、ステップS108の交点算出処理が行われて、第2のグラフ132との交点が更新される。すなわち、第4のグラフ134と第2のグラフ132との交点である第8の交点144の座標が算出され、表示154のように交点Aの表示の位置が変更され、その座標(xa2,ya2)の表示が更新される。
同様に、図7Aの状態から、第1の円222が選択されて、その半径を大きくする指示が入力されたとき、上述のとおりステップS106の変更処理が行われて図7Bに示すように、第1の円222が削除されて半径を大きくした新たな第2の円225が描画される。これと共に、ステップS108の交点算出処理が行われて、三角形219及びサインカーブ231との交点が更新される。すなわち、新たな第2の円225と三角形219との交点である第9の交点246及び第10の交点247の座標が算出され、表示248のように交点Eの表示の位置が変更され、その座標(xe2,ye2)の表示が更新されるとともに、表示249のように交点Fの表示の位置が変更され、その座標(xf2,yf2)の表示が更新される。また、新たな第2の円225とサインカーブ231との交点である第11の交点256及び第12の交点257の座標が算出され、表示258のように交点Gの表示の位置が変更され、その座標(xg2,yg2)の表示が更新されるとともに、表示259のように交点Hの表示の位置が変更され、その座標(xh2,yh2)の表示が更新される。
以上のように、本実施形態に係るシステム1では、比較的複雑な演算は、Webサーバ20の背後にある演算サーバ30で行われる。端末10から送信される情報は、関数、係数及び定数、座標エリア、各種設定等であり、端末10が受信する情報は描画点の座標情報である。このような構成によって、複雑な演算が実現され得る。また、端末10では複雑な処理が行われる必要がないため、端末10による処理が軽減される。また、演算サーバ30で行われる処理が秘匿化され得る。
一方で、全ての演算が演算サーバ30で行われると、端末10と演算サーバ30との通信に要する時間が長くなる。例えば、幾何学図形を複数描画して、それらの図形の交点を表示しつつ、図形を移動させたり変形させたりすることを頻繁に繰り返すことを想定すると、通信時間の長さが問題となり得る。本実施形態の構成によれば、比較的演算負荷が小さい単純な演算は端末10で行い、比較的演算負荷が大きい複雑な演算は演算サーバ30とで行う。このような処理の分散によって、システム全体としての処理時間が短縮化され、処理が高速化される。また、多数の端末がアクセスするサーバの負荷が抑制され得る。
上述の実施形態では、端末10で動作するプログラムに、一次関数及び円錐曲線の関数が用意されている例を示した。しかしながらこれに限らず、端末10に用意されている関数は、端末10で処理できる範囲でどのような関数であってもよい。また、端末10には、グラフを描画するための関数が用意されていなくてもよい。この場合、グラフを描画する際には、演算サーバ30が算出した座標が用いられ、幾何学図形を描画する際には、端末10が特定した座標が用いられる。
上述の実施形態では、図形を描画すること、図形を変更すること、図形の交点を求めることを例示したが、これらのうち一部の処理が無くてもよいし、他の処理が加えられてもよい。例えば、図形上の点と他の図形上の点との距離を求める処理、図形の長さを求める処理、図形の傾きを求める処理などが行われてもよい。これらの場合も、図形に関係する関数に応じて、端末10で演算を実行するか、演算サーバ30で演算を実行するかが選択され得る。
端末10で動作するプログラムは、例えばJavaScript(登録商標)を用いて記述され得る。端末10とWebサーバ20との間の送受信は、HTTPプロトコルを介して行われ、送受信される情報を例えばREST形式JSONデータとして、HTTP POST/GETを介して行われ得る。
上述の実施形態では、数学教育のためのアプリケーション例を示したが、これに限らない。上述の技術は、各種教育用のアプリケーションに適用され得る。また、教育用に限らず、解析用のアプリケーション等、種々のアプリケーションに適用され得る。特に、数学、物理、化学その他の科学分野、或いは工学分野のアプリケーションに適用され得る。
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]
サーバと通信する情報端末に、
図形に関する処理の指示を取得することと、
前記図形を表す関数に関係する演算を前記情報端末が行えるか否かを判定することと、
前記演算を前記情報端末が行えるときには、前記情報端末に記憶された前記関数に基づいて前記図形に関する処理を実行することと、
前記演算を前記情報端末が行えないときには、前記関数に関する情報を含むデータを前記サーバ宛に送信し、当該データに基づいて前記サーバが処理した結果のデータを前記サーバから受信することと
を実行させるためのプログラム。
[2]
前記図形に関する処理は、図形を描画するための描画点の座標を算出することを含み、
前記描画点の座標に基づいて、前記図形を描画することをさらに前記情報端末に実行させる、
[1]に記載のプログラム。
[3]
前記図形に関する処理は、描画された図形を変更するための描画点の座標を算出することを含み、
前記描画点の座標に基づいて、前記図形を描画することをさらに前記情報端末に実行させる、
[1]又は[2]に記載のプログラム。
[4]
前記図形に関する処理は、描画された複数の図形の交点の座標を算出することを含み、
前記交点の座標を表示することをさらに前記情報端末に実行させる、
[1]乃至[3]のうち何れか1項に記載のプログラム。
[5]
前記情報端末に記憶された前記関数は、一次関数又は円錐曲線の関数を含む、
[1]乃至[4]のうち何れか1項に記載のプログラム。
[6]
前記サーバ宛に送信するデータは、関数及び座標エリアの情報を含むデータであり、
前記サーバから受信するデータは、図形の描画点の座標又は図形の交点の座標を含むデータである、
[1]乃至[5]のうち何れか1項に記載のプログラム。
[7]
サーバと通信する情報端末が、
図形に関する処理の指示を取得することと、
前記図形を表す関数に関係する演算を前記情報端末が行えるか否かを判定することと、
前記演算を前記情報端末が行えるときには、前記情報端末に記憶された前記関数に基づいて前記図形に関する処理を実行することと、
前記演算を前記情報端末が行えないときには、前記関数に関する情報を含むデータを前記サーバ宛に送信し、当該データに基づいて前記サーバが処理した結果のデータを前記サーバから受信することと
を含む情報処理方法。
[8]
サーバと通信する情報端末であって、
図形に関する処理の指示を取得することと、
前記図形を表す関数に関係する演算を前記情報端末が行えるか否かを判定することと、
前記演算を前記情報端末が行えるときには、前記情報端末に記憶された前記関数に基づいて前記図形に関する処理を実行することと、
前記演算を前記情報端末が行えないときには、前記関数に関する情報を含むデータを前記サーバ宛に送信し、当該データに基づいて前記サーバが処理した結果のデータを前記サーバから受信することと
を実行するプロセッサを備える情報端末。
1…システム、10…端末、11…CPU、12…ROM、13…RAM、14…ストレージ、15…入力装置、16…表示装置、17…通信装置、19…バスライン、20…Webサーバ、30…演算サーバ、31…プロセッサ、32…ROM、33…RAM、34…ストレージ、35…通信装置、39…バスライン、50…ネットワーク。

Claims (7)

  1. サーバと通信する情報端末のコンピューターに、
    図形に関する処理の指示を取得することと、
    前記図形に関する処理に関係する演算を前記情報端末が行えるか否かを判定することと、
    前記演算を前記情報端末が行えるときには、前記演算を行って、前記図形に関する処理を実行することと、
    前記演算を前記情報端末が行えないときには、前記図形に関する処理の関連データを前記サーバ宛に送信し、当該関連データに基づいて前記サーバが処理した結果の演算データを前記サーバから受信して前記図形に関する処理を実行することと
    を実行させるためのプログラムであって、
    前記情報端末のコンピューターに、
    第1の関数タイプに関係する演算を前記情報端末が行えない第1のオブジェクトタイプに関係する演算と判定することと、
    前記第1の関数タイプ以外の関数タイプである第2の関数タイプ及び幾何学タイプに関係する演算を前記情報端末が行える第2のオブジェクトタイプに関係する演算と判定することと
    を実行させるプログラム
  2. サーバと通信する情報端末のコンピューターに、
    前記情報端末の表示画面に描画された図形を変更するための変更処理の指示を取得することと、
    前記情報端末に記憶されている、前記描画された図形に関係するオブジェクトタイプを取得することと、
    取得された前記オブジェクトタイプにより、前記変更処理に関係する演算を前記情報端末が行えるか否かを判定することと、
    前記演算を前記情報端末が行えるときには、前記演算を行って、前記変更処理を実行することと、
    前記演算を前記情報端末が行えないときには、前記変更処理の関連データを前記サーバ宛に送信し、当該関連データに基づいて前記サーバが処理した結果の演算データを前記サーバから受信して前記変更処理を実行することと
    を実行させるためのプログラムであって、
    前記情報端末のコンピューターに、
    第1の関数タイプに関係する演算を前記情報端末が行えない第1のオブジェクトタイプに関係する演算と判定することと、
    前記第1の関数タイプ以外の関数タイプである第2の関数タイプ及び幾何学タイプに関係する演算を前記情報端末が行える第2のオブジェクトタイプに関係する演算と判定することと
    を実行させるプログラム
  3. 前記変更処理の指示は、前記描画された図形をドラッグすることにより行われる
    請求項2に記載のプログラム。
  4. サーバと通信する情報端末のコンピューターに、
    前記情報端末の表示画面に描画された複数の図形の交点の座標を算出する交点算出処理の指示を取得することと、
    前記情報端末に記憶されている、前記描画された複数の図形に関係するオブジェクトタイプを取得することと、
    取得された前記オブジェクトタイプにより、前記交点算出処理に関係する演算を前記情報端末が行えるか否かを判定することと、
    前記演算を前記情報端末が行えるときには、前記演算を行って、前記交点算出処理を実行することと、
    前記演算を前記情報端末が行えないときには、前記交点算出処理の関連データを前記サーバ宛に送信し、当該関連データに基づいて前記サーバが処理した結果の演算データを前記サーバから受信して前記交点算出処理を実行することと
    を実行させるためのプログラムであって、
    前記描画された複数の図形に関係するオブジェクトタイプのいずれが第1の関数タイプとしての第1のオブジェクトタイプである場合には、前記交点算出処理を前記情報端末が行えないと判定することと、
    前記描画された複数の図形に関係するオブジェクトタイプがすべて上記第1の関数タイプ以外の関数タイプである第2の関数タイプ及び幾何学タイプとしての第2のオブジェクトタイプである場合には、前記交点算出処理を前記情報端末が行えると判定することと
    を実行させるプログラム。
  5. 前記第1の関数タイプは、三角関数、微分又は積分を含む関数、又はフーリエ変換を含む関数を含む関数タイプである
    請求項1乃至4のうち何れか1項に記載のプログラム
  6. サーバと通信する情報端末が、
    図形に関する処理の指示を取得することと、
    前記図形に関する処理に関係する演算を前記情報端末が行えるか否かを判定することと、
    前記演算を前記情報端末が行えるときには、前記演算を行って、前記図形に関する処理を実行することと、
    前記演算を前記情報端末が行えないときには、前記図形に関する処理の関連データを前記サーバ宛に送信し、当該関連データに基づいて前記サーバが処理した結果の演算データを前記サーバから受信して前記図形に関する処理を実行することと
    第1の関数タイプに関係する演算を前記情報端末が行えない第1のオブジェクトタイプに関係する演算と判定することと、
    前記第1の関数タイプ以外の関数タイプである第2の関数タイプ及び幾何学タイプに関係する演算を前記情報端末が行える第2のオブジェクトタイプに関係する演算と判定することと
    を含む情報処理方法。
  7. サーバと通信する情報端末であって、
    図形に関する処理の指示を取得することと、
    前記図形に関する処理に関係する演算を前記情報端末が行えるか否かを判定することと、
    前記演算を前記情報端末が行えるときには、前記演算を行って、前記図形に関する処理を実行することと、
    前記演算を前記情報端末が行えないときには、前記図形に関する処理の関連データを前記サーバ宛に送信し、当該関連データに基づいて前記サーバが処理した結果の演算データを前記サーバから受信して前記図形に関する処理を実行することと
    第1の関数タイプに関係する演算を前記情報端末が行えない第1のオブジェクトタイプに関係する演算と判定することと、
    前記第1の関数タイプ以外の関数タイプである第2の関数タイプ及び幾何学タイプに関係する演算を前記情報端末が行える第2のオブジェクトタイプに関係する演算と判定することと
    を実行するプロセッサを備える情報端末。
JP2018079446A 2018-04-17 2018-04-17 プログラム、情報処理方法及び情報端末 Active JP7052518B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018079446A JP7052518B2 (ja) 2018-04-17 2018-04-17 プログラム、情報処理方法及び情報端末
US16/376,276 US10970892B2 (en) 2018-04-17 2019-04-05 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
CN201910306627.2A CN110389694B (zh) 2018-04-17 2019-04-16 电子设备、信息处理方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018079446A JP7052518B2 (ja) 2018-04-17 2018-04-17 プログラム、情報処理方法及び情報端末

Publications (2)

Publication Number Publication Date
JP2019185687A JP2019185687A (ja) 2019-10-24
JP7052518B2 true JP7052518B2 (ja) 2022-04-12

Family

ID=68161991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018079446A Active JP7052518B2 (ja) 2018-04-17 2018-04-17 プログラム、情報処理方法及び情報端末

Country Status (3)

Country Link
US (1) US10970892B2 (ja)
JP (1) JP7052518B2 (ja)
CN (1) CN110389694B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6532762B2 (ja) * 2015-06-02 2019-06-19 株式会社東芝 情報生成システム、装置、方法、及びプログラム
JP7143866B2 (ja) * 2020-03-25 2022-09-29 カシオ計算機株式会社 キャッシュ管理プログラム、サーバ、キャッシュ管理方法、および情報処理装置
JP7243754B2 (ja) * 2021-03-24 2023-03-22 カシオ計算機株式会社 グラフ表示装置、グラフ表示方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026358A (ja) 2005-07-21 2007-02-01 Casio Comput Co Ltd 電子機器および計算依頼処理プログラム
JP2014182677A (ja) 2013-03-21 2014-09-29 Casio Comput Co Ltd グラフ表示制御装置、グラフ表示制御方法及びグラフ表示制御プログラム
JP2018049495A (ja) 2016-09-23 2018-03-29 カシオ計算機株式会社 計算装置、計算装置のグラフ表示方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542525B (zh) * 2010-12-13 2014-02-12 联想(北京)有限公司 一种信息处理设备以及信息处理方法
JP6221323B2 (ja) * 2013-04-22 2017-11-01 カシオ計算機株式会社 グラフ表示装置およびその制御プログラム
US9466091B2 (en) * 2013-09-26 2016-10-11 Imagination Technologies Limited Atomic memory update unit and methods
US9558020B2 (en) * 2014-09-17 2017-01-31 International Business Machines Corporation Method of processing javascript (JS) API requests

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026358A (ja) 2005-07-21 2007-02-01 Casio Comput Co Ltd 電子機器および計算依頼処理プログラム
JP2014182677A (ja) 2013-03-21 2014-09-29 Casio Comput Co Ltd グラフ表示制御装置、グラフ表示制御方法及びグラフ表示制御プログラム
JP2018049495A (ja) 2016-09-23 2018-03-29 カシオ計算機株式会社 計算装置、計算装置のグラフ表示方法、及びプログラム

Also Published As

Publication number Publication date
JP2019185687A (ja) 2019-10-24
CN110389694B (zh) 2022-10-28
US20190318516A1 (en) 2019-10-17
US10970892B2 (en) 2021-04-06
CN110389694A (zh) 2019-10-29

Similar Documents

Publication Publication Date Title
US10346013B2 (en) Manipulating graphical objects
CN108073438B (zh) 页面展示方法、装置及电子终端
JP7052518B2 (ja) プログラム、情報処理方法及び情報端末
US9146659B2 (en) Computer user interface including lens-based navigation of graphs
US10102654B1 (en) System and method for a scalable interactive image-based visualization environment of computational model surfaces
US11809684B2 (en) Coordinated display of software application interfaces
US20150026637A1 (en) Providing Selection Areas for Selectable Objects in Graphical Interface
CN110741229A (zh) 数字地图上指示符的动态变化的视觉属性
van Dijk et al. Interactive focus maps using least-squares optimization
US20110276909A1 (en) Numerical value input device, numerical value input method, and program
JP7006081B2 (ja) グラフ描画システム、演算サーバ、グラフ描画システムの制御方法、及び演算サーバのためのプログラム
Claeys Boùùaert et al. Computation and visualisation of the accuracy of old maps using differential distortion analysis
US8576223B1 (en) Multiple label display for 3D objects
JP7424440B2 (ja) コンピュータプログラム、情報処理方法及びコンピュータ
US10885685B2 (en) Electronic apparatus for drawing graphs of mathematical expressions
RU2637903C2 (ru) Способ и компьютерное устройство для создания симплифицированных границ графических объектов
US20220270326A1 (en) Automated processing for determination of a volume of an object in a digital environment
JP2019168847A (ja) 情報処理装置、表示システム及びウィンドウ配置プログラム
JP7235138B2 (ja) 情報処理装置、データ生成装置、グラフ描画システム、及びプログラム
US20190317764A1 (en) Non-transitory recording medium having computer-readable program recorded thereon, server apparatus, function graph display control apparatus, and function graph display control method
JP7131577B2 (ja) プログラム、分度器画像変更装置、サーバ装置、分度器画像変更システム、及び分度器画像変更方法
AU2013299742B2 (en) Manipulating graphical objects
JP7331880B2 (ja) 複素関数のグラフ化方法、プログラム、情報処理装置
Kuk et al. Visualization of Vector Tiles on CesiumJS Virtual Globe
WO2022177772A2 (en) Automated processing for determination of a volume of an object in a digital environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220209

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: 20220301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220314

R150 Certificate of patent or registration of utility model

Ref document number: 7052518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150