JP5029962B2 - Terminal device and program thereof - Google Patents
Terminal device and program thereof Download PDFInfo
- Publication number
- JP5029962B2 JP5029962B2 JP2008018958A JP2008018958A JP5029962B2 JP 5029962 B2 JP5029962 B2 JP 5029962B2 JP 2008018958 A JP2008018958 A JP 2008018958A JP 2008018958 A JP2008018958 A JP 2008018958A JP 5029962 B2 JP5029962 B2 JP 5029962B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- interpolation
- section
- electronic pen
- closed region
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、端末装置に関し、特に、地図などの任意の領域を電子ペンで囲むと、その面積を音声等で知らせる端末装置に関する。 The present invention relates to a terminal device, and more particularly to a terminal device that informs the user of the area by voice or the like when an arbitrary area such as a map is enclosed with an electronic pen.
近年、電子ペンやデジタルペンなどと呼ばれるペン型入力デバイスが登場した。その代表的なものとして、スウェーデンのAnoto 社が開発した「アノトペン(Anoto pen )」が知られている。アノトペンは、所定のドットパターンが印刷された専用紙(アノト紙)とともに使用される。アノトペンは、通常のインクタイプのペン先部に加えて、専用紙上のドットパターンを読み取るための小型カメラと、データ通信ユニットを搭載している。 In recent years, pen-type input devices called electronic pens and digital pens have appeared. A typical example is "Anoto pen" developed by Swedish company Anoto. Anotopen is used together with a dedicated paper (anoto paper) on which a predetermined dot pattern is printed. In addition to the normal ink-type pen tip, the Anoto pen is equipped with a small camera for reading the dot pattern on the dedicated paper and a data communication unit.
利用者が専用紙上にアノトペンで文字などを書いたり、専用紙上に図案化されている画像にチェックマークを記入したりすると、ペンの移動に伴って、小型カメラが専用紙に印刷されたドットパターンを検出し、利用者が書き込んだ文字や画像などの記入情報が取得される。この記入情報が、データ通信ユニットによりアノトペンから近くのパーソナルコンピュータや携帯電話などの端末装置に送信される。 When the user writes characters on the special paper with an anotopen or puts a check mark on the image designed on the special paper, the dot pattern printed on the special paper by the small camera as the pen moves , And entry information such as characters and images written by the user is acquired. This entry information is transmitted from the Anotopen by the data communication unit to a terminal device such as a nearby personal computer or mobile phone.
このアノトペンを利用したシステムは、キーボードに代わる入力デバイスとして利用することが可能であり、パーソナルコンピュータやキーボードの使用に抵抗がある利用者にとっては非常に使いやすい。そのため、現在、各種ビジネス上の書類や申込書や契約書等に記入されたデータをデジタル化する手法として、電子ペンを利用したシステムが普及しつつある。 The system using this anotopen can be used as an input device instead of a keyboard, and is very easy to use for a user who has resistance to using a personal computer or a keyboard. Therefore, a system using an electronic pen is becoming widespread as a technique for digitizing data entered in various business documents, application forms, contracts, and the like.
ところで、地図の面積などを求める方法として、デジタイザなどの座標入力装置を利用して、複数の座標値で囲まれる領域について、地図の縮尺も用いて面積を求める手法がある。また、電子ペンを用い、地図が印刷されている専用紙上で、利用者が電子ペンで閉曲線を描画すると、閉曲線内部の面積を算出する面積算出システムがある。面積を計算する方法としては、格子点を直線で結んだ多角形の面積を求める方法と、閉領域内の単位セルの個数を計算する方法と、閉領域を三角形に分割して面積を求める方法などがある。以下に、これに関連する従来技術の例をいくつかあげる。 By the way, as a method for obtaining the area of a map, there is a method for obtaining an area using a map scale for an area surrounded by a plurality of coordinate values by using a coordinate input device such as a digitizer. In addition, there is an area calculation system that uses an electronic pen to calculate the area inside a closed curve when a user draws a closed curve with the electronic pen on a dedicated paper on which a map is printed. As a method of calculating the area, a method of calculating the area of a polygon obtained by connecting lattice points with a straight line, a method of calculating the number of unit cells in the closed region, and a method of calculating the area by dividing the closed region into triangles and so on. Below are some examples of prior art related to this.
特許文献1に開示された「座標入力処理装置」は、図面上の面積や体積などを算出するためのデジタイザなどの入力装置である。メニューシート上から座標値を入力すると、メニューシート上に示された内容に対応するキー情報が認識され処理される。複数の座標値で囲まれる領域について、領域の座標値をパネル上に載置した図面上から入力して、図面の建築物等における長さや面積を求める。高さや幅等をテンキーで入力して演算させることによって、体積等を求めることができる。地図の縮尺も用いて面積を求める。
The “coordinate input processing device” disclosed in
特許文献2に開示された「手書きデータの曲線近似方法」は、オンライン入力された手書きデータを、スプライン曲線によって少ないデータ量で精度よく近似するものである。運筆に従って順序づけられた手書きデータから、端点および折り返し点を特徴点として抽出する。この特徴点列を節点とする。この節点における助変数を摂動させることによって、この節点を通る曲線を変形させ、入力データとスプライン曲線との間の最大距離を求める。この最大距離が所定の値以下であるとき、この助変数に対応した節点における助変数列を保存する。すなわち、手書きデータのサンプリングデータを、データとの最大離間距離が、ある閾値を超えないように、スプライン曲線で近似している。スプライン補間した曲線とデータの最大距離が、閾値以上になっていれば、その距離を与えたデータを節点として新たに加えて、スプライン補間する。
The “handwriting data curve approximation method” disclosed in
特許文献3に開示された「光学読み取り用の符号化用紙」は、複数のマークを備えた符号化パターンを有する用紙である。マークのそれぞれが少なくとも2つの異なる値のうちの1つを表している。符号化パターンが、複数の基準位置を備えている。複数のマークのそれぞれが、1つの基準位置に関連付けられ、各マークの値が、基準位置に対する位置によって決定されている。アノトドットパターンの座標演算について基本的な技術が記載されている。
The “encoding sheet for optical reading” disclosed in
特許文献4に開示された「端末装置」は、アノトドットパターンが印刷された地図に電子ペンでストロークを描いて、その領域の面積を求めるものである。利用者は、電子ペンで対象図形を指定する。帳票上に記入されたストロークは、記入情報として端末装置に取得される。端末装置は、記入情報からストロークを抽出する。抽出したストロークに基づいて対象図形を特定する。定義情報に含まれる単位図形の位置に基づいて、対象図形に単位図形が何個含まれるかを算出する。対象図形に含まれる単位図形の個数と、定義情報に含まれる単位図形の面積とに基づいて、当該対象図形の面積を算出する。電子ペンと電子ペン用帳票を利用して、手書き図形の面積を即時に算出できる。
The “terminal device” disclosed in
しかし、従来の面積計算方法では、次のような問題がある。予め定義されている単位図形に分解することによって、閉曲線内部の面積を計算する方法では、正確な面積を計算することはできない。実際には利用者が描画した閉曲線内部が整数個の単位図形に分割できるとは限らず、1個の単位図形に満たない誤差領域が生じる。このため、得られる面積は概略値としては使用できるが、高精度の面積計算を要求されるような分野には適用することができない。図形を折れ線で囲む近似では、円弧の部分の面積を高精度で求めることができない。滑らかな関数で補間するにしても、1種類の補間関数では、最適な補間ができるとは限らない。 However, the conventional area calculation method has the following problems. An accurate area cannot be calculated by the method of calculating the area inside the closed curve by decomposing into unit graphics defined in advance. Actually, the inside of the closed curve drawn by the user cannot always be divided into an integral number of unit graphics, and an error area less than one unit graphic occurs. For this reason, although the obtained area can be used as an approximate value, it cannot be applied to a field where high-accuracy area calculation is required. In the approximation in which a figure is surrounded by a broken line, the area of the arc portion cannot be obtained with high accuracy. Even if interpolation is performed with a smooth function, optimal interpolation cannot always be performed with one type of interpolation function.
本発明の目的は、上記従来の問題を解決して、電子ペンを使って地図などの任意領域の面積を高精度で求めることである。 An object of the present invention is to solve the above-described conventional problems and obtain an area of an arbitrary region such as a map with high accuracy using an electronic pen.
上記の課題を解決するために、本発明に係る端末装置は、媒体への接触位置の位置座標を演算する電子ペン又はスキャナから位置座標データを受信し、その座標データによって規定される閉領域の面積を演算する端末装置であって、座標データを受信する受信手段と、前記受信手段によって受信された複数の座標データを少なくとも時系列順でX座標の単調増加又は単調減少が連続するように区間分けする区間分割手段と、前記区間分割手段により区間分けされた区間毎に、複数種類の補間関数で補間をかけ、各座標データの位置座標を直線で結んだ線分と各種補間関数により求めた曲線とで囲まれる面積を計算し、それらの面積のうちで最も小さい面積の補間関数を選択する補間手段と、前記閉領域をX軸方向に小区間に分割し、前記補間手段により選択された補間関数を用いて前記閉領域の小区間における領域の小区間面積を求め、それらの小区間面積を積算することにより、前記閉領域の面積を計算する面積計算手段とを備えることを特徴とする。 In order to solve the above-described problems, a terminal device according to the present invention receives position coordinate data from an electronic pen or a scanner that calculates the position coordinates of a contact position with respect to a medium, and has a closed region defined by the coordinate data. A terminal device for calculating an area, wherein a receiving unit that receives coordinate data and a plurality of coordinate data received by the receiving unit are sections such that a monotonous increase or a monotonic decrease of the X coordinate continues at least in time series order. The section dividing means to divide, and for each section divided by the section dividing means, interpolation is performed with a plurality of types of interpolation functions, and the position coordinates of each coordinate data are obtained by line segments and various interpolation functions. An interpolation means for calculating an area surrounded by a curve and selecting an interpolation function having the smallest area among the areas; and dividing the closed region into small sections in the X-axis direction, and performing the interpolation Area calculating means for calculating the area of the closed region by calculating the area of the small region in the small region of the closed region using the interpolation function selected by the stage, and integrating the areas of the small regions It is characterized by that.
この構成によれば、電子ペン又はスキャナによって、媒体に印刷されたコード化パターンが読み取られて演算された離散的な座標データを、受信手段によって受信する。そして、区間分割手段は、受信手段によって受信された複数の座標データを、補間関数により補間できるようにするため、時系列順でX座標の単調増加又は単調減少が連続するよう区間分けする。補間手段は、区間分割手段により区間分けされた区間毎に、複数種類の補間関数で補間をかけ、各座標データの位置座標を直線で結んだ線分と各種補間関数により求めた曲線とで囲まれる面積を計算し、それらの面積のうちで最も小さい面積の補間関数を選択する。そして、面積計算手段は、閉領域をX軸方向に小区間に分割し、補間手段により補間された補間関数を用いて閉領域の小区間における領域の小区間面積を求め、それらの小区間面積を積算することにより、閉領域の面積を計算する。これにより、離散的な座標データを、複数種類の補間関数の中から再現性の高い最適な補間関数を選択し、面積計算手段によって、選択した補間関数を用いて小区間内の面積を積算することにより、電子ペン又はスキャナにより任意に特定された領域の面積を高精度に求めることができる。 According to this configuration, the discrete coordinate data calculated by reading the coded pattern printed on the medium by the electronic pen or the scanner is received by the receiving unit. Then, the section dividing unit divides the plurality of coordinate data received by the receiving unit into sections such that the X coordinate monotonically increases or decreases continuously in time series order so that the coordinate data can be interpolated by the interpolation function. The interpolating means interpolates with a plurality of types of interpolation functions for each section divided by the section dividing means, and is surrounded by a line segment connecting position coordinates of each coordinate data with straight lines and curves obtained by various interpolation functions. The area to be calculated is calculated, and the interpolation function of the smallest area among those areas is selected. Then, the area calculating means divides the closed area into small sections in the X-axis direction, obtains the small section area of the area in the small section of the closed area using the interpolation function interpolated by the interpolation means, To calculate the area of the closed region. As a result, an optimal interpolation function with high reproducibility is selected from a plurality of types of interpolation functions for discrete coordinate data, and the area calculation means integrates the area in the small section using the selected interpolation function. Thus, the area of the area arbitrarily specified by the electronic pen or the scanner can be obtained with high accuracy.
上記端末装置において、さらに連続する三点のなす挟角が閾値未満となる位置で区間分けするとよい。この構成により、閾値の角度よりも狭く急峻に曲がる箇所で軌跡を区間分けすることで、補間する区間において挟角が閾値未満とならないようにし、補間関数による補間を滑らかにすることができ、軌跡をより正確に再現して、閉領域の面積をより高精度に求めることができる。 In the terminal device, it is preferable to divide the sections at positions where the included angle formed by three consecutive points is less than the threshold value. With this configuration, the trajectory is divided into sections that are steeper and narrower than the threshold angle, so that the included angle does not fall below the threshold in the interpolated section, and the interpolation by the interpolation function can be smoothed. Can be reproduced more accurately, and the area of the closed region can be obtained with higher accuracy.
また、上記端末装置において、前記補間手段は、前記電子ペン又は前記スキャナによる軌跡が閉領域を形成していない場合、前記軌跡の端点を補間するよう構成するのが好ましい。電子ペン又はスキャナによる軌跡は利用者の操作によっては必ずしも閉領域を形成するとは限らないが、そのような場合でも、面積計算手段によって面積を求めることができる。 In the terminal device, it is preferable that the interpolation unit is configured to interpolate an end point of the locus when the locus by the electronic pen or the scanner does not form a closed region. The locus by the electronic pen or the scanner does not necessarily form a closed region depending on the user's operation, but even in such a case, the area can be obtained by the area calculating means.
また、上記端末装置において、前記面積計算手段は、前記電子ペン又は前記スキャナによる軌跡の端点同士は離間しているが、交点を有する場合、交点を軌跡の端点として閉領域の面積を求めるよう構成するとよい。電子ペン又はスキャナによる軌跡は、利用者の操作によっては、閉領域を形成しつつも、軌跡の端点が離間する場合もありうるが、そのような場合でも、面積計算手段によって面積を求めることができる。 Further, in the above terminal device, the area calculation means is configured to obtain the area of the closed region by using the intersection as the end point of the trajectory when the end point of the trajectory by the electronic pen or the scanner is separated from each other. Good. Depending on the user's operation, the locus of the electronic pen or the scanner may form a closed region and the end points of the locus may be separated. In such a case, the area can be obtained by the area calculation means. it can.
また、前記媒体は、地図が印刷されており、上記端末装置の前記面積計算手段は、前記地図の縮尺値に基づいて、前記電子ペン又は前記スキャナによって前記地図に描かれた領域内の地表上の面積を計算するよう構成するとよい。この構成により、利用者が地図上の任意の領域を電子ペン又はスキャナによって特定することで、端末装置は、特定された領域に対応する地表上の領域の面積を計算することができる。 The medium has a map printed thereon, and the area calculation means of the terminal device is based on a scale value of the map, on the ground surface in an area drawn on the map by the electronic pen or the scanner. It is good to comprise so that the area of may be calculated. With this configuration, the terminal device can calculate the area of the region on the ground surface corresponding to the specified region by the user specifying an arbitrary region on the map with the electronic pen or the scanner.
また、本発明に係るプログラムは、媒体への接触位置の位置座標を演算する電子ペン又はスキャナから位置座標データを受信し、その座標データによって規定される閉領域の面積を演算する端末装置によって実行されるプログラムであって、座標データを受信する受信手段、前記受信手段によって受信された複数の座標データを少なくとも時系列順でX座標の単調増加又は単調減少が連続するように区間分けする区間分割手段、前記区間分割手段により区間分けされた区間毎に、複数種類の補間関数で補間をかけ、各座標データの位置座標を直線で結んだ線分と各種補間関数により求めた曲線とで囲まれる面積を計算し、それらの面積のうちで最も小さい面積の補間関数を選択する補間手段、前記閉領域をX軸方向に小区間に分割し、前記補間手段により選択された補間関数を用いて前記閉領域の小区間における領域の小区間面積を求め、それらの小区間面積を積算することにより、前記閉領域の面積を計算する面積計算手段として前記端末装置を機能させることを特徴とする。 The program according to the present invention is executed by a terminal device that receives position coordinate data from an electronic pen or a scanner that calculates the position coordinates of the contact position on the medium and calculates the area of the closed region defined by the coordinate data. Section for receiving coordinate data and dividing the plurality of coordinate data received by the receiving means so that the X coordinate monotonically increases or decreases continuously in at least chronological order Means, each section divided by the section dividing means is interpolated with a plurality of types of interpolation functions, and is surrounded by a line segment connecting the position coordinates of each coordinate data with straight lines and curves obtained by various interpolation functions. An interpolation means for calculating an area and selecting an interpolation function having the smallest area among the areas; dividing the closed region into small sections in the X-axis direction; The terminal as an area calculating means for calculating the area of the closed region by calculating a small section area of the region in the small section of the closed region using the interpolation function selected by the means and integrating the small section areas The apparatus is made to function.
このようなプログラムにおいて、前記区間分割手段は、さらに連続する三点のなす挟角が閾値未満となる位置で区間分けするよう構成するとよい。 In such a program, the section dividing means may be configured to divide the section at a position where the included angle formed by three consecutive points is less than a threshold value.
また、上記プログラムにおいて、前記補間手段は、前記電子ペン又は前記スキャナによる軌跡が閉領域を形成していない場合、前記軌跡の端点を補間するよう構成するのが好ましい。 In the above program, the interpolation means is preferably configured to interpolate an end point of the locus when the locus by the electronic pen or the scanner does not form a closed region.
また、上記プログラムにおいて、前記面積計算手段は、前記電子ペン又は前記スキャナによる軌跡の端点同士は離間しているが、交点を有する場合、交点を軌跡の端点として閉領域の面積を求めるよう構成するとよい。 Further, in the above program, the area calculating means is configured to obtain the area of the closed region by using the intersection as the end point of the trajectory when the end point of the trajectory by the electronic pen or the scanner is spaced apart from each other. Good.
さらには、前記媒体は、地図が印刷されており、上記プログラムにおいて、前記面積計算手段は、前記地図の縮尺値に基づいて、前記電子ペン又は前記スキャナによって前記地図に描かれた領域内の地表上の面積を計算するよう構成するとよい。 Further, the medium is printed with a map, and in the program, the area calculating means is configured to determine a ground surface in an area drawn on the map by the electronic pen or the scanner based on a scale value of the map. It may be configured to calculate the upper area.
上記プログラムを端末装置により実行させることにより、上述の端末装置を構成することができる。 By causing the terminal device to execute the program, the above-described terminal device can be configured.
上記のように構成したことにより、電子ペンを使って地図などの媒体における任意領域の面積を高精度で求めることができる。 With the above configuration, the area of an arbitrary region in a medium such as a map can be obtained with high accuracy using an electronic pen.
以下、本発明を実施するための最良の形態について、図1〜図18を参照しながら詳細に説明する。 Hereinafter, the best mode for carrying out the present invention will be described in detail with reference to FIGS.
本実施形態は、アノト紙3に描かれた地図の任意の領域を、利用者が電子ペン1でなぞって囲むと、端末装置2で輪郭点の位置座標を受信して軌跡を求め、X座標が単調かつ滑らかに変化する区間に軌跡を分割し、区間毎に複数の滑らかな補間関数で補間し、最適な補間関数を選択し、その最適な補間関数を用いて閉領域全体の面積を計算し、地表上の実面積に換算して、その面積を利用者に音声等で知らせる面積計算システムである。
In the present embodiment, when a user traces and surrounds an arbitrary area of a map drawn on the
図1は、本実施形態における面積計算システムの概念図である。図1において、電子ペン1は、アノト紙3に印刷されたアノトパターンから輪郭点の位置座標を演算して、輪郭点の位置座標のデータを端末装置2に送信する装置である。輪郭点は、輪郭上の点を離散的な位置座標で表した点である。輪郭点の位置座標のデータには、時刻情報やドットパターンのアドレスなども含まれている。端末装置2は、電子ペン1から輪郭点の位置座標を受信して、輪郭点をつないだ軌跡で囲まれた閉領域の面積を計算して地表上の面積に変換し報知する装置である。アノト紙3には、アノトパターンと地図とが印刷されている。
FIG. 1 is a conceptual diagram of an area calculation system in the present embodiment. In FIG. 1, the
図2は、電子ペン1の使用形態を模式的に示す図である。図2において、地図4は、アノト紙3に印刷された地図である。輪郭5は、電子ペン1でたどる地図の領域(「○○島」)の輪郭である。送信指示部6は、アノト紙3に印刷された送信指示エリアである。
FIG. 2 is a diagram schematically showing how the
図3は、電子ペン1の構成を示す概念図である。図3において、筐体101は、電子ペン1のケースである。開口部102は、照明と撮影のための空間である。インクカートリッジ104は、電子ペン1のインクを収容したものである。ペン先部103は、文字を書いたり、輪郭5をなぞるための先端部である。圧力センサ107は、筆圧を測定する手段である。CMOSカメラ106は、超小型のビデオカメラである。LED105は、赤外線による照明手段である。プロセッサ108は、プログラムに従って演算するデータ処理装置である。メモリ109は、プログラムとデータを格納するROMとRAMである。リアルタイムクロック110は、時刻情報を発生する時計装置である。通信ユニット111は、Bluetooth(登録商標) 通信方式による短距離の無線送信手段である。バッテリー112は、電子ペン1の電源である一次電池または二次電池である。
FIG. 3 is a conceptual diagram showing the configuration of the
図4は、アノト紙3に印刷されたドットパターンのドットと、そのドットが変換される値との関係を説明する図である。図5は、ドットパターンの配列の一例と、その符号化の結果を示す図である。
FIG. 4 is a diagram for explaining the relationship between the dots of the dot pattern printed on the
図6は、端末装置2の概念図である。図6において、受信手段21は、輪郭点の位置座標のデータを電子ペン1から受信する手段である。情報記憶手段22は、輪郭点の位置座標のデータを格納するメモリである。軌跡決定手段23は、輪郭点の位置座標から軌跡を求める手段である。区間分割手段24は、輪郭点のX座標値が単調かつ滑らかに変化する区間に軌跡を分ける手段である。補間手段25は、軌跡の区間毎に複数の滑らかな補間関数で補間して最適な補間関数を選択する手段である。面積計算手段26は、軌跡の区間毎に最適な補間関数を用いて閉領域全体の面積を計算して地表上の実面積に変換する手段である。スピーカ27は、実面積の値を音声で報知する出力手段である。表示装置28は、実面積の値を文字で表示する出力手段である。
FIG. 6 is a conceptual diagram of the
図7は、軌跡の例を示す図である。図8は、輪郭点のX座標値の変位に基づいて軌跡を区間に分ける方法を説明する図である。図9は、軌跡が曲がる角度に基づいて軌跡を区間に分ける方法を説明する図である。図10は、区間分けの処理手順を示すフローである。図11は、軌跡の端点が互いに離れていて閉曲線になっていない場合に、端点を直線で結んで閉曲線にする方法を示す図である。図12は、軌跡が交差している場合に、交点で閉曲線にする方法を示す図である。図13は、軌跡を区間に分けて補間する方法を説明する図である。図14は、補間関数の選択方法を説明する図である。図15、図16、図17は、面積の計算方法を説明する図である。図18は、面積を計算する処理手順を示すフローである。 FIG. 7 is a diagram illustrating an example of a trajectory. FIG. 8 is a diagram for explaining a method of dividing a trajectory into sections based on the displacement of the X coordinate value of the contour point. FIG. 9 is a diagram for explaining a method of dividing the trajectory into sections based on the angle at which the trajectory is bent. FIG. 10 is a flow showing the processing procedure of section division. FIG. 11 is a diagram illustrating a method of connecting the end points with a straight line to form a closed curve when the end points of the trajectory are separated from each other and are not a closed curve. FIG. 12 is a diagram illustrating a method of forming a closed curve at the intersection when the trajectories intersect. FIG. 13 is a diagram for explaining a method of performing interpolation by dividing a trajectory into sections. FIG. 14 is a diagram illustrating a method for selecting an interpolation function. 15, FIG. 16, and FIG. 17 are diagrams for explaining an area calculation method. FIG. 18 is a flowchart showing a processing procedure for calculating an area.
上記のように構成された面積計算システムの機能と動作を説明する。最初に、図1と図2を参照しながら、面積計算システムの機能の概要を説明する。図1に、アノト紙3と電子ペン1と端末装置2の関係を示す。図2に、地図4が印刷されたアノト紙3の島の輪郭5を電子ペン1でなぞる様子を示す。地図4は、ドットパターンの印刷されたアノト紙3に描かれている。アノト紙3には、地図4のほかに送信指示部6もある。ドットパターンは、アノト紙3のほぼ全面に印刷されている。ドットパターンの上に、地図4の図柄や地名などの文字が、赤外線を吸収しないインクにより印刷されている。この地図4にある「○○島」の輪郭5を、利用者が電子ペン1でなぞると、端末装置2が地表上における島の実際の面積を求める。利用者は、ドットパターンを意識することなく、電子ペン1を用いて、地図4上の任意の領域を閉曲線で囲むことで、その領域の実面積を知ることができる。
The function and operation of the area calculation system configured as described above will be described. First, an overview of the functions of the area calculation system will be described with reference to FIGS. 1 and 2. FIG. 1 shows a relationship among the
利用者はまず、「○○島」の輪郭5の一点に、電子ペン1のペン先部103を接触させる。電子ペン1は、筆圧の変化で地図への接触(ペン・ダウン)を検知する。利用者は、「○○島」の輪郭5を電子ペン1でなぞる。電子ペン1は、1秒間に50回〜100回程度、例えば75回、ペン先部103の接触位置の位置座標を演算する。利用者が「○○島」の輪郭5を電子ペン1でなぞり終わったら、電子ペン1を地図4から上げる(ペン・アップ)。電子ペン1は、筆圧の変化で非接触(ペン・アップ)を検知する。利用者が、アノト紙3の送信指示部6を電子ペン1でタッチすると、それまでに電子ペン1のメモリ109に記憶されていた輪郭点の位置座標のデータが端末装置2へ送信される。なお、ペン・ダウンからペン・アップまで、輪郭点の位置座標のデータを逐次、電子ペン1から端末装置2へ送信するようにしてもよい。
First, the user brings the
電子ペン1が、輪郭点の位置座標のデータを含む記入情報を端末装置2に送信すると、端末装置2は、電子ペン1からその記入情報を受信し、各輪郭点を結んだ軌跡が囲む閉領域の面積を求める。これを地表上の実面積に換算して、音声などで知らせる。端末装置2に、ドットパターンのアドレスに対応させて縮尺情報が記憶させてあるので、ドットパターンのアドレスに基づいて縮尺情報を取得する。縮尺情報は、地図上の1cmが地表上の5kmに相当するというように、地図上における単位長さあたりの実際の地表上の長さであってもよいし、1:25000や1/25000のような縮尺比率であってもよい。
When the
次に、図3を参照しながら、電子ペン1について説明する。図3に示すように、電子ペン1は、その筐体101の内部に、CPU等により構成されるプロセッサ108と、ROMやRAMなどのメモリ109と、アンテナや送信回路等により構成される通信ユニット111と、バッテリー112と、LED105と、CMOSカメラ106と、リアルタイムクロック110と、圧力センサ107と、インクカートリッジ104とを備えている。インクカートリッジ104の先端は、ペン先部103となっている。
Next, the
バッテリー112は、電子ペン1内の各部品に電力を供給するためのものである。例えば、電子ペン1のキャップ(図示なし)の脱着により、電子ペン1自体の電源のオン/オフを行う。リアルタイムクロック110は、現在時刻(タイムスタンプ)を示す時刻情報を発信し、プロセッサ108に供給する。圧力センサ107は、利用者が電子ペン1によりアノト紙3上に軌跡を書く際に、ペン先部103からインクカートリッジ104を通じて与えられる圧力、即ち筆圧を検出し、その値をプロセッサ108へ送る。
The
プロセッサ108は、圧力センサ107から与えられる筆圧データに基づいて、LED105とCMOSカメラ106のスイッチのオン/オフを切り替える。即ち、利用者が電子ペン1でアノト紙3上に軌跡を書くと、ペン先部103には筆圧がかかり、圧力センサ107によって所定値以上の筆圧が検出されたときに、プロセッサ108は、利用者が記入を開始したと判定して、LED105とCMOSカメラ106を作動させる。
The
LED105とCMOSカメラ106は、電子ペン1のペン先部103付近に取り付けられている。筐体101におけるLED105とCMOSカメラ106と対向する部分には、開口部102が形成されている。LED105は、アノト紙3上のペン先部103近傍に向けて赤外線を照射する。その領域は、ペン先部103がアノト3紙に接触する位置とはわずかにずれている。CMOSカメラ106は、LED105によって照明された領域内におけるドットパターンを撮影し、そのドットパターンの画像データをプロセッサ108に供給する。CMOSカメラ106による撮影領域は、図5に示すような約2mm×約2mmの大きさを含む範囲である。CMOSカメラ106の撮影は、毎秒50〜100回程度行われる。
The
カーボンは赤外線を吸収するため、LED105によって照射された赤外線は、ドットに含まれるカーボンによって吸収される。そのため、ドットの部分は赤外線の反射量が少なく、ドット以外の部分は赤外線の反射量が多い。CMOSカメラ106の撮影結果を閾値で判別することによって、カーボンを含むドットの領域とそれ以外の領域を、赤外線の反射量の違いで区別することができる。地図4を印刷したインクにはカーボンが含まれていないため、ドットパターンを容易に認識できる。なお、蛍光インクで印刷したドットパターンを用いてもよく、ドットパターンの代わりに、2次元コードパターンなどの別のコード化パターンを利用してもよい。
Since carbon absorbs infrared rays, the infrared rays irradiated by the
プロセッサ108は、利用者が輪郭をなぞっている間、CMOSカメラ106によって供給される画像データのドットパターンから、利用者がなぞっている点のアノト紙3上におけるXY座標を連続的に算出していく。すなわち、プロセッサ108は、CMOSカメラ106によって供給されるドットパターンの画像データをデータ配列に変換する。さらに、X座標ビット値とY座標ビット値に変換する。所定の演算方法により、データ配列からXY座標とドットパターンアドレスを算出する。そして、プロセッサ108は、リアルタイムクロック110から発信される現在時刻と、筆圧データと、ドットパターンアドレスと、XY座標とを関連付ける。なお、アノト紙3における6×6のドットパターンは、そのアノト紙3内で重複することはないため、利用者が電子ペン1で輪郭をなぞると、なぞった位置がアノト紙3のどの位置に当たるかを、プロセッサ108による座標計算により特定することができる。通信ユニット111は、XY座標を端末装置2へ送信する。通信ユニット111による送信は、Bluetooth(登録商標)の無線送信などによって行われる。
While the user is tracing the contour, the
次に、図4と図5を参照しながら、ドットパターン(コード化パターン)について説明する。アノト紙3には、ドットパターンが印刷されている。電子ペン1は、通常のインクペンと同様のペン先部103を有し、利用者が通常のインクペンと同様にペン先部103によってアノト紙3上に閉曲線などを書くと、電子ペン1は、ペン先部103の筆跡に沿って、アノト紙3に印刷されたドットパターンを局所的かつ連続的に読み取り、アノト紙3におけるその局所位置の座標を算出し、その座標データ等を端末装置2へ送信する。電子ペン1は、端末装置2へ確実にデータを送信できるよう、端末装置2の近傍で使用される。端末装置2は、受信した座標データ等に基づいて、電子ペン1の筆跡に囲まれる閉領域の面積を計算する。
Next, a dot pattern (coded pattern) will be described with reference to FIGS. 4 and 5. A dot pattern is printed on the
図4に示すように、ドットパターンの各ドットは、その位置によって所定の値に対応付けられている。すなわち、ドットの位置を格子の基準位置(縦線及び横線の交差点)から上下左右のどの方向にシフトするかによって、各ドットは、0〜3の値に対応付けられている。また、各ドットの値は、さらに、X座標用の第1ビット値とY座標用の第2ビット値に変換できる。このようにして対応付けられた情報の組合せにより、アノト紙3上の位置座標が決定される。
As shown in FIG. 4, each dot of the dot pattern is associated with a predetermined value depending on its position. In other words, each dot is associated with a value of 0 to 3 depending on which direction the top, bottom, left, or right is shifted from the reference position of the grid (intersection of the vertical line and horizontal line). The value of each dot can be further converted into a first bit value for the X coordinate and a second bit value for the Y coordinate. The position coordinates on the
図5(a)に示すように、縦横約2mmの範囲内に6×6個のドットが、アノト紙3上のどの部分から6×6ドットを取っても、ユニークなパターンとなるように配置されている。これら36個のドットにより形成されるドットパターンは、位置座標(ドットパターンのアノト紙3上の位置)と、ドットパターンアドレス(コード化パターンアドレス)を保持している。したがって、縦方向と横方向について、約1/3mm単位で位置を検出できる。図5(b)は、図5(a)に示す各ドットを、格子の基準位置からのシフト方向によって、図4に示す規則性に基づいて、対応づけられた値に変換したものである。この変換は、ドットパターンの画像を撮影する電子ペン1によって行われる。
As shown in FIG. 5 (a), 6 × 6 dots are arranged within a range of about 2 mm in length and width so that a unique pattern can be obtained no matter where 6 × 6 dots are taken from
次に、図6を参照しながら、端末装置2について説明する。端末装置2は、パソコンや携帯電話や携帯端末である。ハードウェアとして、電子ペン1とのデータ通信が可能な通信回路と、CPU等のプロセッサと、ROMやRAM、ハードディスクなどのメモリと、スピーカと、ディスプレイとを備えている。端末装置2は、電子ペン1から受信したXY座標のデータを専用プログラムで処理して、閉領域の面積を計算する。
Next, the
図6は、端末装置2の機能ブロック図である。図6に示すように、端末装置2は、受信手段21と、情報記憶手段22と、軌跡決定手段23と、区間分割手段24と、補間手段25と、面積計算手段26と、スピーカ27と、表示装置28とを備えている。物理的には、情報記憶手段22は、ROMやRAM、ハードディスクなどのメモリによって構成されている。受信手段21は、データ通信ユニットやプロセッサ等によって構成されている。表示装置28は液晶ディスプレイ等である。また、軌跡決定手段23と、区間分割手段24と、補間手段25と、面積計算手段26とは、専用プログラムにより機能的に実現される。
FIG. 6 is a functional block diagram of the
受信手段21は、電子ペン1の通信ユニット111によって送信される位置座標のデータを受信する手段であり、アンテナと無線回路等により構成されている。情報記憶手段22は、電子ペン1から取得した位置座標データと、面積計算手段26が計算した閉領域の面積や地表上の面積を記憶するメモリである。また、情報記憶手段22は、アノト紙3の地図エリア4におけるドットパターンアドレスに対応させて、地図エリア4に描かれた地図の縮尺値を記憶している。
The receiving
軌跡決定手段23は、受信手段21によって受信され、情報記憶手段22に記憶された複数の輪郭点の位置座標から軌跡を求める。軌跡は、筆跡の時系列順に並べた輪郭点の集合であり、その順に輪郭点を直線で結んだものを想定する。区間分割手段24は、輪郭点の位置座標のX座標が単調かつ滑らかに変化する区間に軌跡を分ける。位置座標が滑らかに変化するとは、軌跡の曲がる角度が所定の閾値以下であるということである。補間手段25は、軌跡を区間毎に複数の滑らかな補間関数で補間し、そのうち、最適な補間関数を選択する。ここで、補間関数は、微分可能な関数である。面積計算手段26は、区間毎の最適な補間関数を用いて閉領域全体の面積を計算し、縮尺値を参照して、地図上の面積を地表上の実面積に変換する。スピーカ27は、実面積の値を音声で報知する。表示装置28は、実面積の値を文字で表示する。軌跡決定から面積計算までの処理方法について、以下に詳細に説明する。
The
まず、端末装置2の軌跡決定手段23による軌跡決定処理について説明する。電子ペン1から受信手段21によって受信した記入情報は、情報記憶手段22に記憶され、軌跡決定手段23は、記入情報に含まれる輪郭点の位置座標と時刻情報とに基づいて、時系列の軌跡データを作成する。ここで、利用者が電子ペン1を殆ど動かさない状態では、同じ位置座標が数多く重複して取得されるため、重複する位置座標を最初の1つの位置座標で代表させて、輪郭点の位置座標として採用する機能を持たせることが望ましい。図7に示す例は、概略的に図示したものであって、電子ペン1によって毎秒75回程度に座標データが演算されるので、実際には、座標データがより密に規定される。
First, the trajectory determination process by the trajectory determination means 23 of the
次に、図7と図8を参照しながら、区間分割手段24によって、軌跡をX座標の単調増加又は単調減少に連続するよう区間分けする方法を説明する。単調増加・単調減少には変化がない場合も含める。電子ペン1で地図4上をなぞったときに得られた輪郭点の座標を(Xn ,Yn )とする。各輪郭点はX座標とY座標を有する。まず、(Xs ,Ys )と終了点(Xe ,Ye )を時刻情報を参照して抽出する。輪郭点は、上述のように、時系列の順序でt(0),t(1),…とする。区間分割手段24は、各区間において、軌跡のX座標が単調増加又は単調減少で連続するように区間分けする。図7に示す例では、t(0)〜t(5)でX座標が単調増加し、t(5)〜t(11) でX座標が単調減少し、t(11) 〜t(15) でX座標が単調増加し、t(15) 〜t(19) でX座標が単調減少し、t(19) 〜t(23) でX座標が単調増加し、t(23) 〜t(27) でX座標が単調減少しているので、図8に示すように、輪郭点t(5)、t(11) 、t(15) 、t(19) 、t(23) を区間分けの境界点とする。
Next, with reference to FIGS. 7 and 8, a method will be described in which the segment is divided by the segment dividing unit 24 so that the locus is continuously increased or decreased monotonously in the X coordinate. Includes cases where there is no change in monotonic increase / decrease. Let (X n , Y n ) be the coordinates of the contour points obtained when tracing the
続いて、図9を参照しながら、区間分割手段24がさらに軌跡を挟角に基づいて区間に分ける方法を説明する。区間分割手段24は、輪郭点t(0),t(1),…,t(k-2),t(k-1),t(k),t(k+1),…に対して、連続する3つの輪郭点を結ぶ線分がなす挟角で180度より小さい方の角度θ(0) ,…,θ(k-1) ,θ(k) ,θ(k+1) ,θ(k+2) ,…を求める。これらの挟角、θ(0) ,…,θ(k-1) ,θ(k) ,θ(k+1) ,θ(k+2) ,…のうち、所定の閾値(例えば90度、閾値は適宜変えてよい)未満である挟角の点を抽出し、区間分けの境界点とする。これにより、閾値の角度よりも狭く急峻に曲がる箇所で軌跡を区間分けすることで、補間関数による補間を滑らかにすることができる。図9の例では、t(5),t(11) ,t(15) ,t(19) ,t(23) が抽出されるが、これらはすでに単調増加・単調減少による区間分けで抽出済みである。よって、t(0)〜t(5),t(5)〜t(11) ,t(11) 〜t(15) ,t(15) 〜t(19) ,t(19) 〜t(23) ,t(23) 〜t(27) に区間分けされる。このように、輪郭点のX座標が単調増加又は単調減少となるよう区間に分け、さらに、連続する3つの輪郭点の挟角が閾値未満の点を求めて、その点でも区間に分ける。したがって、単調増加・単調減少の境界点以外においても、挟角によって境界とすることはあり得る。輪郭点がY軸に平行に連続する場合は、その開始点と終了点を区間の境界点とするとよい。 Next, a method in which the section dividing unit 24 further divides the locus into sections based on the included angle will be described with reference to FIG. The section dividing means 24 applies to contour points t (0), t (1),..., T (k-2), t (k-1), t (k), t (k + 1),. , The angle θ (0),..., Θ (k-1), θ (k), θ (k + 1), θ, which is the included angle formed by the line segment connecting the three consecutive contour points and smaller than 180 degrees Find (k + 2), ... Of these included angles, θ (0),..., Θ (k-1), θ (k), θ (k + 1), θ (k + 2),. The threshold angle may be changed as appropriate. As a result, by dividing the trajectory into sections where the curve is narrower and steeper than the threshold angle, interpolation using the interpolation function can be made smooth. In the example of FIG. 9, t (5), t (11), t (15), t (19), and t (23) are extracted. It is. Therefore, t (0) to t (5), t (5) to t (11), t (11) to t (15), t (15) to t (19), t (19) to t (23 ), T (23) to t (27). In this way, the contour points are divided into sections so that the X coordinate is monotonously increased or monotonously decreased, and further, a point where the angle between the three consecutive contour points is less than the threshold is obtained, and that point is also divided into sections. Therefore, boundaries other than the monotonically increasing / monotonically decreasing boundary points may be used as the boundaries depending on the included angle. When the contour points are continuous in parallel to the Y axis, the start point and end point may be set as the boundary points of the section.
次に、図10を参照しながら、区間分割手段24による区間分けの別の処理手順を説明する。この手順では、連続する3つの輪郭点について、区間分けすべきか否かについて、X座標の単調増加・単調減少と挟角の両観点から同時に判断していく。区間分割手段24は、輪郭点の番号nに初期値0を設定し(ステップ21)、連続する3つの輪郭点のX座標値が単調増加か又は単調減少かどうか調べる(ステップ22)。X座標の変位が単調増加でも単調減少でもない場合(ステップ22:No)は、区間分割手段24は、その3つの輪郭点のうち、中心の輪郭点を区間の境界点t(n+1)とする(ステップ25)。その一方、単調増加或いは単調減少であれば(ステップ22:Yes )、区間分割手段24は、3つの輪郭点の挟角を求める(ステップ23)。そして、区間分割手段24は、挟角が閾値未満かどうか調べ(ステップ24)、閾値未満であれば(ステップ24:Yes )、その3つの輪郭点のうち、中心の輪郭点t(n+1)を区間の境界点とする(ステップ25)。その後、或いは、挟角が閾値未満ではないと判断された場合(ステップ24:No)、区間分割手段24は、全ての輪郭点を検査して終点に達したかどうか調べ(ステップ26)、終点でなければ(ステップ26:Yes )、区間分割手段24は、輪郭点の番号nに1を加算(インクリメント)して(ステップ27)、ステップ22に戻り、処理を繰り返す。終点であれば(ステップ26:Yes )、区間分割手段24は、処理を終了する。
Next, another processing procedure of section division by the section dividing means 24 will be described with reference to FIG. In this procedure, whether or not three consecutive contour points should be divided into sections is determined simultaneously from the viewpoints of monotonic increase / monotonic decrease in X-coordinate and included angle. The section dividing unit 24 sets an
次に、図11と図12を参照しながら、補間手段25による軌跡の端点処理を説明する。電子ペン1によって人が描いた筆跡が、必ずしも閉曲線になるとは限らない。そこで、軌跡に交点があれば、その交点を区間の境界点とし、軌跡の開始点から交点までの曲線と交点から終了点までの曲線のデータは破棄し、面積を求める軌跡として考慮しない。軌跡に交点がなければ、開始点と終了点を直線で結んで1つの区間とし、その直線を表す一次関数を補間関数とする。具体的に生じうるケースとして、以下の2つのタイプがある。図11に示すように、開始点Spと終了点Epが互いに離れており、軌跡が閉曲線になっていない場合は、開始点Spと終了点Epを直線で結ぶ。意図的に描かない限り、開始点Spと終了点Epの間の距離は非常に短いので、他の区間には影響がない。また、図12に示すように、開始点Spと終了点Epが互いに離れていて、しかも軌跡が閉曲線になっている場合には、開始点Spと終了点Epに至る途中の交点を区間の境界点として扱う。図12のA点が、端点処理によって得られた交点となる。軌跡の交点が格子点でない場合は、最も近い格子点を交点とする。B点とC点は、X座標の単調増加・単調減少の基準に基づいて、軌跡を区間に分けた時の区間の境界点である。
Next, trajectory end point processing by the interpolation means 25 will be described with reference to FIGS. 11 and 12. The handwriting drawn by a person with the
次に、図13を参照しながら、補間手段25による補間処理を説明する。電子ペン1は、1秒間に75回ドットパターンを撮像し、位置座標(Xn ,Yn )を求める。得られる位置座標は、なぞった軌跡に沿って連続している。電子ペン1の移動速度が速いときは、サンプル点(取得される輪郭点)間の距離が長くなる。この場合は、サンプル点間を直線補間するよりも、滑らかな曲線で補間する方が、電子ペン1の軌跡を自然な形に再現でき、正確な面積を求めることができる。
Next, the interpolation processing by the interpolation means 25 will be described with reference to FIG. The
図13に示すように、補間手段25は、各区間を、D0 =[t(0) 〜t(5)] 、D1 =[t(5) 〜t(11)]、D2 =[t(11)〜t(15)]、D3 =[t(15)〜t(19)]、D4 =[t(19)〜t(23)]、D5 =[t(23)〜t(27)]とする。求められた区間D0 〜D5 ごとに、スプライン補間又はラグランジュ補間を行う。スプライン補間の場合は、輪郭点間ごとに滑らかにつながるように、補間関数を求める。ラグランジュ補間の場合は、区間単位で、すべての輪郭点を通る高次の関数で補間する。輪郭点が補間関数でつながれた曲線を補間軌跡とよぶことにする。 As shown in FIG. 13, the interpolation means 25 divides each section into D 0 = [t (0) to t (5)], D 1 = [t (5) to t (11)], D 2 = [ t (11) to t (15)], D 3 = [t (15) to t (19)], D 4 = [t (19) to t (23)], D 5 = [t (23) to t (27)]. Spline interpolation or Lagrangian interpolation is performed for each of the obtained sections D 0 to D 5 . In the case of spline interpolation, an interpolation function is obtained so as to smoothly connect between contour points. In the case of Lagrangian interpolation, interpolation is performed by a high-order function that passes through all contour points in a section unit. A curve in which contour points are connected by an interpolation function is called an interpolation locus.
ラグランジュ補間は、輪郭点(Xn ,Yn )(n=0,1,2,…,N)の(N+1)個のデータを、N次多項式で補間する方法である。高次の場合、振動することがある(Runge の現象)。スプライン補間は、輪郭点(Xn ,Yn )(n=0,1,2,…,N)をn次関数(例えば3次関数)で補間する方法である。区間[Xj ,Xj+1 ]に対して、補間関数Sj (X) (j=0,1,2,…,N−1)を求めるという方法である。サンプル点が多ければ多いほど近似の精度が良いという性質がある。補間関数Y=S(X) は、各区間[Xj ,Xj+1 ](j=0,1,2,…,N−1)で定義されている。よって、Xj ≦X≦Xj+1 の区間でS(X) =Sj (X) となる。[Xj ,Xj+1 ]は積分の小区間ではなく、区間両端の点がサンプル点となる区間である。実用上は、3次のスプライン補間がよく用いられる。スプライン補間やラグランジュ補間の他の適当な周知の補間方法を使ってもよい。 Lagrangian interpolation is a method of interpolating (N + 1) data of contour points (X n , Y n ) (n = 0, 1, 2,..., N) with an Nth order polynomial. Higher orders may vibrate (Runge phenomenon). Spline interpolation is a method of interpolating contour points (X n , Y n ) (n = 0, 1, 2,..., N) with an n-order function (for example, a cubic function). In this method, an interpolation function S j (X) (j = 0, 1, 2,..., N−1) is obtained for the interval [X j , X j + 1 ]. The more sample points, the better the accuracy of approximation. The interpolation function Y = S (X) is defined in each section [X j , X j + 1 ] (j = 0, 1, 2,..., N−1). Therefore, S (X) = S j (X) in the section of X j ≦ X ≦ X j + 1 . [X j , X j + 1 ] is not a small interval of integration but an interval in which points at both ends of the interval are sample points. In practice, cubic spline interpolation is often used. Other suitable known interpolation methods such as spline interpolation or Lagrangian interpolation may be used.
次に、図14を参照しながら、補間手段25による最適補間関数の決定方法を説明する。補間手段25は、直線補間された軌跡と補間曲線とで囲まれる面積の大小関係から、適切な補間曲線を選択することになるが、一区間にサンプル点が多いときは、ラグランジュ補間よりもスプライン補間を選択することによって、「Runge の現象(振動)」等のラグランジュ補間の不具合を回避することができる。サンプル点が少ない場合には、ラグランジュ補間又はスプライン補間を選択することにより、より精度の高い補間関数を選択することができる。 Next, a method for determining the optimum interpolation function by the interpolation means 25 will be described with reference to FIG. The interpolation unit 25 selects an appropriate interpolation curve based on the size relationship between the linearly interpolated locus and the interpolation curve. However, when there are a large number of sample points in one section, the interpolating means 25 uses splines rather than Lagrange interpolation. By selecting the interpolation, problems with Lagrange interpolation such as “Runge phenomenon (vibration)” can be avoided. If the number of sample points is small, a more accurate interpolation function can be selected by selecting Lagrange interpolation or spline interpolation.
図14(a)に示すように、補間手段25は、各区間Dj において、おのおのサンプル点について各種補間関数(図14の例では、スプライン補間とラグランジュ補間)で補間を施し、補間曲線を求める。ここで、区間Dj におけるスプライン補間による補間関数をDj_spline(x) とし、ラグランジュ補間による補間関数をDj_Lagrange(x) とする。次いで、図14(b)に示すように、補間手段25は、各輪郭点を結んだ線分とDj_spline(x) の曲線で囲まれる面積と、各輪郭点を結んだ線分とDj_Lagrange(x) の曲線で囲まれる面積を求め、それぞれの面積の値をGpj_spline、Gpj_Lagrangeとする。そして、図4(c)に示すように、補間手段25は、Gpj_spline、Gpj_Lagrangeのうちの最小値を求め、その最小値の面積を形成した補間関数をGfj(x) とする。このGfj(x) を最適補間関数として選択する。 As shown in FIG. 14A, the interpolation means 25 interpolates each sample point with various interpolation functions (spline interpolation and Lagrange interpolation in the example of FIG. 14) in each section D j to obtain an interpolation curve. . Here, an interpolation function by spline interpolation in the section D j is D j _spline (x), and an interpolation function by Lagrange interpolation is D j _Lagrange (x). Next, as shown in FIG. 14 (b), the interpolation means 25, the line segment connecting each contour point and the area surrounded by the curve of D j _spline (x), the line segment connecting each contour point, and D The area surrounded by the curve of j_Lagrange (x) is obtained, and the values of the areas are G pj _spline and G pj _Lagrange. Then, as shown in FIG. 4C, the interpolation unit 25 obtains the minimum value of G pj _spline and G pj _Lagrange, and sets the interpolation function forming the area of the minimum value as G fj (x). . This G fj (x) is selected as the optimum interpolation function.
次に、図15〜図17を参照しながら、面積計算手段26による面積の計算処理を説明する。区間分割手段24による区間分け処理と、補間手段25による補間処理及び端点処理を行った後、面積計算手段26は、区間ごとの最適補間関数Gfj(x) を用いて面積を計算する。各区間における補間関数を、Gfj(x) (j=0,1,…,5)とする。区間Dj と最適補間関数Gfj(x) が対応している。X方向の間隔がdxの小区間における積分を行う際に、小区間の閉領域を構成する補間関数Gfj(x) を、Y座標の大きいものから順に、f0(x)、f1(x)、…としていく。したがって、同じ補間区間の同じ補間関数に対してであっても、小区間によっては、異なるfi (x) が定義され得る。
Next, an area calculation process by the
fi (x) のiは、小区間ごとに番号が付けられる。同じ補間関数であっても、Y方向の曲線がいくつあるかによって、iに付される番号は変わりうる。これは、積分計算をするために便宜的に定義される関数である。fi (x) は、小区間が含まれているサンプリング区間(輪郭点と輪郭点の間)における補間関数となる。小区間がサンプリング区間よりも大きいと、積分計算が困難になるので、図16に示すように、小区間はサンプリング区間よりも小さくする。jは小区間の番号である。区間Dj における補間関数にスプライン補間関数を採用した場合については、サンプリング区間ごとに関数が定義されているので、小区間をX方向に移動させていくと、異なる関数になる。 i in f i (x) is numbered for each small section. Even for the same interpolation function, the number assigned to i can vary depending on how many curves in the Y direction are present. This is a function defined for the sake of convenience for integral calculations. f i (x) is an interpolation function in a sampling interval (between contour points) including a small interval. If the small interval is larger than the sampling interval, the integral calculation becomes difficult. Therefore, as shown in FIG. 16, the small interval is made smaller than the sampling interval. j is the number of the small section. When the spline interpolation function is adopted as the interpolation function in the section D j , the function is defined for each sampling section, and therefore, when the small section is moved in the X direction, a different function is obtained.
図17に示すように、小区間dxの中に輪郭点が入った場合は、輪郭点と小区間dxの両端の距離を比較し、距離が大きい方のスプライン補間関数をfi (x) として採用する。距離が同じ場合は、k(輪郭点の番号)が小さい方を採用する。この方法では、小区間の幅dxを任意にとれるが、計算が複雑になる。それを避けるためには、小区間の幅dxが、輪郭点の間隔の最小値になるように選べばよい。 As shown in FIG. 17, when a contour point enters the small section dx, the distance between the contour point and both ends of the small section dx is compared, and the spline interpolation function with the larger distance is defined as f i (x). adopt. If the distance is the same, the smaller k (contour point number) is adopted. In this method, the width dx of the small section can be arbitrarily set, but the calculation is complicated. In order to avoid this, the width dx of the small section may be selected so as to be the minimum value of the contour point interval.
ここで、面積計算手段26は、閉曲線を形成する座標のうち、X座標の最小値Xmin 及び最大値Xmax を求め、X方向の長さがdxである複数の小区間に分割する。そして、変数kを導入し、
Xmin のとき、k=0、
Xmin + dxのとき、k=1、
Xmin +2dxのとき、k=2、
Xmin +3dxのとき、k=3、
……
Xmax のとき、k=kmax
として、kを、閉曲線内の閉領域に存在する小区間の順位とする。
Here, the area calculating means 26 obtains the minimum value Xmin and the maximum value Xmax of the X coordinate among the coordinates forming the closed curve, and divides it into a plurality of small sections whose length in the X direction is dx. And introduce variable k,
When Xmin, k = 0,
When Xmin + dx, k = 1,
When Xmin + 2dx, k = 2,
When Xmin + 3dx, k = 3,
......
When Xmax, k = kmax
Let k be the rank of the small section existing in the closed region in the closed curve.
a0 =Xmin 、bmax =bkmax=Xmax 、
となるようなX座標aj、bjによって順位kにおける小区間dxを定義すると、j番目のX座標ajからbj間の小区間dxにおける閉曲線内の面積Mj の一般式は、次式で表される。ただし、N=(小区間dxでY方向に規定された補間関数の個数)/2である。
If the small section dx in the rank k is defined by the X coordinates aj and bj such that the general formula of the area M j in the closed curve in the small section dx between the jth X coordinate aj and bj is expressed by the following expression: The However, N = (number of interpolation functions defined in the Y direction in the small section dx) / 2.
したがって、例えば、図15において、aj〜bj間の小区間dxにおけるMj は、一つの領域Mj から構成され、次のようになる。
また、例えば、図15において、aj' 〜bj' 間の小区間dxにおけるMj は、三つの領域m1 、m2 、m3 から構成され、次のようになる。
面積計算手段26は、このようにしてX座標の最小値Xmin から最大値Xmax までの間に規定される複数の小区間dxそれぞれについて面積Mj を求め、それらの総和を閉曲線内の閉領域の面積として算出する。 The area calculating means 26 obtains the area M j for each of the plurality of small sections dx defined between the minimum value Xmin and the maximum value Xmax of the X coordinate in this way, and the sum of these is calculated for the closed region in the closed curve. Calculated as area.
さらに、面積計算手段26は、情報記憶手段22に記憶された縮尺情報を参照して、記入情報に含まれるドットパターンアドレスに対応した縮尺値を取得する。そして、面積計算手段26は、位置座標がアノト紙3の実寸に則しているものとすれば、上述のようにして演算した地図上の面積と縮尺値とから、閉曲線内の閉領域に対応する地表上の面積Sを次のように演算する。ここで、cは縮尺値である。
面積計算手段26は、地表上の面積Sを演算すると、スピーカ27に対して音声により或いは表示装置28に対して文字により面積Sの値を報知させる。例えば、「面積は、○○km2 です。」などのように報知する。
When calculating the area S on the ground surface, the area calculating means 26 causes the
上述のような面積計算をまとめると、図18に示すフローのようになる。すなわち、端末装置2は、電子ペン1から送信された位置座標のデータを含む記入情報を受信手段21によって受信して情報記憶手段22によってその記入情報を記憶する(ステップ1)。続いて、軌跡決定手段23は、位置座標のデータから軌跡を求めて、X座標の最大値と最小値を求める(ステップ2)。区間分割手段24は、各区間において、X座標が単調増加又は単調減少となり、挟角が閾値未満とならないように軌跡を区間分けする(ステップ3)。そして、補間手段25は、軌跡が交点を持たず、端点が離間している場合に端点同士を直線補間する等の端点処理(参照図11、図12)を行う(ステップ4)。さらに、補間手段25は、各区間ごとにスプライン補間及びラグランジュ補間を行い、輪郭点の線分と補間曲線とで囲まれる面積の比較し、最小の面積を形成する最適補間関数を求める(ステップ5)。そのうえで、面積計算手段26は、最初の小区間(k=0 のdx)における補間関数を取り出し(ステップ6)、小区間において閉曲線を構成する最適補間関数を用いて積分により小区間における面積を求める(ステップ7)。続いて、面積計算手段26は、未計算の小区間があるかどうかを確認しながら計算を行い(ステップ8)、未計算の小区間があれば(ステップ8:Yes )、次の小区間の補間関数を取り出し(ステップ9)、ステップ7からの処理を繰り返す。未計算の小区間が無ければ(ステップ8:No)、面積計算手段26は、各小区間の面積を積算し、縮尺率を使って地図上の面積を地表上の実面積に変換する(ステップ10)。最後に、面積計算手段26は、スピーカ27或いは表示装置28によって、実面積Sを音声や画面で知らせる(ステップ11)。
Summarizing the area calculations as described above, a flow shown in FIG. 18 is obtained. That is, the
上記のように、、アノト紙3に描かれた地図4の任意の領域を、利用者が電子ペン1でなぞって囲むと、端末装置2で輪郭点の位置座標を受信して軌跡を求め、X座標が単調かつ滑らかに変化する区間に軌跡を分割し、区間毎に複数の滑らかな補間関数で補間し、最適補間関数を選択し、最適補間関数を用いて積分により閉領域全体の面積を計算して、地表上の実面積を利用者に音声等で知らせる構成としたので、地図4上の任意領域の面積を高精度で求めることができる。
As described above, when the user traces and surrounds an arbitrary area of the
なお、本発明は上記実施形態に限られない。 The present invention is not limited to the above embodiment.
上記実施形態では、位置座標を求める装置としてインクカートリッジ付きの電子ペン1を用いたが、その代わりに、インクカートリッジが付いておらず、筆圧の検知によりペン・ダウン及びペン・アップを認識できるペン型のスキャナを用いても良い。
In the above-described embodiment, the
また、上記実施形態では、区間分割手段24は、時系列的な位置座標を、X座標で単調増加又は単調減少に連続するように区間分けし、なおかつ、連続する三点によってなす挟角が閾値未満とならないように区間分けしたが、これに限らず、区間分割手段24は、時系列的な位置座標を、X座標で単調増加又は単調減少に連続するように区間分けするだけでもよい。X座標が単調増加又は単調減少となっていれば、各区間においてスプライン補間やラグランジュ補間は可能である。また、連続する三点の挟角と閾値とを対比して区間分けする代わりに、別の方法で、区間内の離散的な座標データが滑らかに変化するように区間分けしてもよい。 Further, in the above-described embodiment, the section dividing unit 24 divides the time-series position coordinates into sections that are continuously increased or decreased monotonically in the X coordinate, and the included angle formed by the three consecutive points is a threshold value. The sections are divided so as not to be less than this, but the present invention is not limited to this, and the section dividing means 24 may only divide the time-series position coordinates so as to be continuously monotonically increasing or decreasing in the X coordinate. If the X coordinate is monotonously increasing or monotonically decreasing, spline interpolation or Lagrangian interpolation is possible in each section. Also, instead of dividing the sections by comparing three consecutive included angles and thresholds, the sections may be divided by another method so that the discrete coordinate data in the sections change smoothly.
また、上記実施形態では、補間手段25によって、輪郭点の線分と補間曲線とで囲まれる領域の面積の比較により最適補間関数を求めるにあたり、スプライン関数とラグランジュ関数の二つの関数を用いたが、これに限らず、例えば、同じ補間関数であっても次数を変えた複数の補間関数を使って比較したり、スプライン関数やラグランジュ関数以外の関数を使って比較してもよい。 In the above embodiment, the interpolation unit 25 uses the two functions of the spline function and the Lagrangian function to obtain the optimum interpolation function by comparing the area of the region surrounded by the line segment of the contour point and the interpolation curve. For example, the same interpolation function may be compared using a plurality of interpolation functions with different orders, or may be compared using a function other than a spline function or a Lagrangian function.
また、上記実施形態では、アノト紙3の横方向をX軸、縦方向をY軸としたが、これに限らず、縦方向をX軸、横方向をY軸と設定してもよく、或いは、地図に現れる地形等の特徴に合わせて、XY軸をアノト紙3に対して傾けても良い。
In the above embodiment, the horizontal direction of the
本発明の端末装置は、地図上の面積を求めるシステムとして最適である。地図以外の面積を求めるシステムとしても利用できる。また、半透明のアノト紙を対象物に重ねて、対象物における任意の閉領域の面積を求めることにも利用できる。立体的な対象物についても、近似的に面積を求めることができるので、かつら調製などのために頭部の部分的な面積を求めることに利用できる。 The terminal device of the present invention is most suitable as a system for obtaining an area on a map. It can also be used as a system for obtaining areas other than maps. Moreover, it can also be used to obtain an area of an arbitrary closed region in the object by superimposing semi-transparent Anoto paper on the object. Since the area of a three-dimensional object can be determined approximately, it can be used to determine the partial area of the head for wig preparation and the like.
1…電子ペン、2…端末装置、3…アノト紙、4…地図、5…輪郭、6…送信指示部、7…補間軌跡、21…受信手段、22…情報記憶手段、23…軌跡決定手段、24…区間分割手段、25…補間手段、26…面積計算手段、27…スピーカ、28…表示装置、101…筐体、102…開口部、103…ペン先部、104…インクカートリッジ、105…LED、106…CMOSカメラ、107…圧力センサ、108…プロセッサ、109…メモリ、110…リアルタイムクロック、111…通信ユニット、112…バッテリー。
DESCRIPTION OF
Claims (10)
座標データを受信する受信手段と、
前記受信手段によって受信された複数の座標データを少なくとも時系列順でX座標の単調増加又は単調減少が連続するように区間分けする区間分割手段と、
前記区間分割手段により区間分けされた区間毎に、複数種類の補間関数で補間をかけ、各座標データの位置座標を直線で結んだ線分と各種補間関数により求めた曲線とで囲まれる面積を計算し、それらの面積のうちで最も小さい面積の補間関数を選択する補間手段と、
前記閉領域をX軸方向に小区間に分割し、前記補間手段により選択された補間関数を用いて前記閉領域の小区間における領域の小区間面積を求め、それらの小区間面積を積算することにより、前記閉領域の面積を計算する面積計算手段と
を備えることを特徴とする端末装置。 A terminal device that receives position coordinate data from an electronic pen or a scanner that calculates position coordinates of a contact position on a medium, and calculates an area of a closed region defined by the coordinate data,
Receiving means for receiving coordinate data;
Section dividing means for dividing the plurality of coordinate data received by the receiving means into sections so that the monotonous increase or the monotonic decrease of the X coordinate continues in at least chronological order;
For each section divided by the section dividing means, interpolation is performed with a plurality of types of interpolation functions, and the area surrounded by the line segment connecting the position coordinates of each coordinate data with straight lines and the curves obtained by various interpolation functions An interpolation means for calculating and selecting an interpolation function of the smallest of these areas;
Dividing the closed region into small sections in the X-axis direction, using the interpolation function selected by the interpolation means, obtaining a small section area of the region in the small section of the closed region, and integrating the small section areas And a terminal area calculating means for calculating the area of the closed region.
前記面積計算手段は、前記地図の縮尺値に基づいて、前記電子ペン又は前記スキャナによって前記地図に描かれた領域内の地表上の面積を計算することを特徴とする請求項1〜4のうちいずれか一項に記載の端末装置。 The medium has a printed map,
The area calculation means calculates an area on the ground surface in an area drawn on the map by the electronic pen or the scanner based on a scale value of the map. The terminal device as described in any one.
座標データを受信する受信手段、
前記受信手段によって受信された複数の座標データを少なくとも時系列順でX座標の単調増加又は単調減少が連続するように区間分けする区間分割手段、
前記区間分割手段により区間分けされた区間毎に、複数種類の補間関数で補間をかけ、各座標データの位置座標を直線で結んだ線分と各種補間関数により求めた曲線とで囲まれる面積を計算し、それらの面積のうちで最も小さい面積の補間関数を選択する補間手段、
前記閉領域をX軸方向に小区間に分割し、前記補間手段により選択された補間関数を用いて前記閉領域の小区間における領域の小区間面積を求め、それらの小区間面積を積算することにより、前記閉領域の面積を計算する面積計算手段
として前記端末装置を機能させることを特徴とするプログラム。 A program that is executed by a terminal device that receives position coordinate data from an electronic pen or scanner that calculates the position coordinates of a contact position on a medium and calculates the area of a closed region defined by the coordinate data,
Receiving means for receiving coordinate data;
Section dividing means for dividing the plurality of coordinate data received by the receiving means into sections so that the monotonous increase or the monotonic decrease of the X coordinate is continuous at least in chronological order;
For each section divided by the section dividing means, interpolation is performed with a plurality of types of interpolation functions, and the area surrounded by the line segment connecting the position coordinates of each coordinate data with straight lines and the curves obtained by various interpolation functions An interpolation means for calculating and selecting the interpolation function of the smallest of these areas,
Dividing the closed region into small sections in the X-axis direction, using the interpolation function selected by the interpolation means, obtaining a small section area of the region in the small section of the closed region, and integrating the small section areas The program causes the terminal device to function as area calculation means for calculating the area of the closed region.
前記面積計算手段は、前記地図の縮尺値に基づいて、前記電子ペン又は前記スキャナによって前記地図に描かれた領域内の地表上の面積を計算することを特徴とする請求項6〜9のうちいずれか一項に記載のプログラム。 The medium has a printed map,
The area calculation means calculates an area on the ground surface in an area drawn on the map by the electronic pen or the scanner based on a scale value of the map. The program as described in any one.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008018958A JP5029962B2 (en) | 2008-01-30 | 2008-01-30 | Terminal device and program thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008018958A JP5029962B2 (en) | 2008-01-30 | 2008-01-30 | Terminal device and program thereof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009181281A JP2009181281A (en) | 2009-08-13 |
| JP5029962B2 true JP5029962B2 (en) | 2012-09-19 |
Family
ID=41035231
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008018958A Expired - Fee Related JP5029962B2 (en) | 2008-01-30 | 2008-01-30 | Terminal device and program thereof |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5029962B2 (en) |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0613212B2 (en) * | 1983-10-03 | 1994-02-23 | 株式会社写研 | Character image data processing method |
| JPS62274472A (en) * | 1986-05-23 | 1987-11-28 | Fujitsu Ltd | Compression system for pattern data |
| JPH06261906A (en) * | 1993-03-16 | 1994-09-20 | Fuji Electric Co Ltd | Ultrasonic diagnostic device |
| JP3333578B2 (en) * | 1993-03-19 | 2002-10-15 | 大日本印刷株式会社 | Area calculator |
| JPH07152915A (en) * | 1993-11-29 | 1995-06-16 | Toshiba Corp | Image coding apparatus and decoding apparatus |
| JP3255540B2 (en) * | 1994-06-27 | 2002-02-12 | 富士通株式会社 | Tracer |
| US20050036662A1 (en) * | 2003-08-14 | 2005-02-17 | Brosnan Michael J. | Measurement instrument |
-
2008
- 2008-01-30 JP JP2008018958A patent/JP5029962B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2009181281A (en) | 2009-08-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3830956B1 (en) | Information output device | |
| US20110304548A1 (en) | Mouse provided with a dot pattern reading function | |
| US5771342A (en) | Method and apparatus for dynamically displaying consistently dimensioned two-dimensional drawings | |
| CN103197788A (en) | Display method and system with adjusting function | |
| JP5029963B2 (en) | Information processing device | |
| JP5664303B2 (en) | Computer apparatus, input system, and program | |
| JP3151886U (en) | Information processing system | |
| US12265668B2 (en) | Pen state detection circuit and method, and input system | |
| JP5440926B2 (en) | Information processing system and program thereof | |
| JP5029962B2 (en) | Terminal device and program thereof | |
| JP3879106B1 (en) | Information output device | |
| JP2009175836A (en) | Information processing device | |
| JP5256700B2 (en) | Terminal device and program thereof | |
| JP4873376B2 (en) | Terminal device and program used therefor | |
| JP2009175834A (en) | Terminal device and program thereof | |
| JP6048165B2 (en) | Computer apparatus, electronic pen system, and program | |
| JP4905860B2 (en) | Electronic pen and scanner and program used for them | |
| JP5024019B2 (en) | Terminal device and program thereof | |
| JP4973384B2 (en) | Terminal device, program used therefor and information processing system | |
| JP4887788B2 (en) | Processing device, program and electronic pen form | |
| JP5664300B2 (en) | Computer apparatus, input system, and program | |
| JP4849043B2 (en) | Electronic pen and scanner and program used for them | |
| JP5305256B2 (en) | Terminal device and program thereof | |
| JP2012063974A (en) | Stroke display system and program | |
| JP5239283B2 (en) | Terminal device and program used therefor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101109 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111122 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111125 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120116 |
|
| 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: 20120601 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120614 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150706 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |