JP2002063587A - Apparatus and method for image processing and recording medium - Google Patents

Apparatus and method for image processing and recording medium

Info

Publication number
JP2002063587A
JP2002063587A JP2000247231A JP2000247231A JP2002063587A JP 2002063587 A JP2002063587 A JP 2002063587A JP 2000247231 A JP2000247231 A JP 2000247231A JP 2000247231 A JP2000247231 A JP 2000247231A JP 2002063587 A JP2002063587 A JP 2002063587A
Authority
JP
Japan
Prior art keywords
point
curve
detected
detecting
graphic data
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.)
Withdrawn
Application number
JP2000247231A
Other languages
Japanese (ja)
Inventor
Mitsuharu Oki
光晴 大木
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2000247231A priority Critical patent/JP2002063587A/en
Publication of JP2002063587A publication Critical patent/JP2002063587A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)

Abstract

PROBLEM TO BE SOLVED: To make easily detectable a point on a curve, which is the closest from a point located in the vicinity of the curve. SOLUTION: In a step S1, the curve B is divided into n pieces of segments. In a step S2, the point Q on each segment, which is the closest from the point P located in the vicinity of the curve B, is detected. In a step S3, the point M that is the closest from the point P among detected points Q is detected.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、情報処理装置およ
び方法、並びに記録媒体に関し、特に、指定された点か
ら、対応する、画像上のオブジェクトの一部を検出する
ことができるようにした情報処理装置および方法、並び
に記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus and method, and a recording medium, and more particularly to information capable of detecting a part of a corresponding object on an image from a designated point. The present invention relates to a processing device and method, and a recording medium.

【0002】[0002]

【従来の技術】いわゆるコンピュータにより処理され
て、画像として表示された、図1に示すような曲線B
(t)を、例えば、2つの分断するなど、その表示を編集
する場合、ユーザは、例えば、マウスなどのポインティ
ングデバイスを操作して、ポインタを、編集したい場所
(分断したい場所)に移動させ、編集したい点を指定す
る。
2. Description of the Related Art A curve B as shown in FIG. 1 processed by a so-called computer and displayed as an image.
When editing the display of (t), for example, by dividing it into two, the user operates a pointing device such as a mouse to move the pointer to a place to be edited (a place to be divided), Specify the point you want to edit.

【0003】表示上の曲線B(t)は、画素単位で構成さ
れているため、通常、上述したような操作では、曲線B
(t)上の点は指定されず、例えば、図1中、点Pのよう
に、曲線B(t)の近辺の点が指定される。
[0003] Since the curve B (t) on the display is constituted in pixel units, the curve B (t) is usually used in the above-described operation.
A point on (t) is not specified. For example, a point near the curve B (t) is specified as a point P in FIG.

【0004】このように、曲線B(t)上の点ではなく、
その近辺の点が指定された場合、コンピュータにおいて
は、指定されたその点(図1の例では、点P)と最も近
い、曲線B(t)上の点(図1の例では、点M)を検出す
る処理が行われる。
Thus, instead of a point on the curve B (t),
When a point in the vicinity of the point is designated, in the computer, a point on the curve B (t) closest to the designated point (point P in the example of FIG. 1) (point M in the example of FIG. 1). ) Is performed.

【0005】コンピュータが扱う曲線とは、一般的に、
媒体変数t(0≦t≦1)を使用して、2次元ならば
(X(t),Y(t))、3次元ならば(X(t),Y
(t),Z(t))により表される。ここで、X
(t)、Y(t)、およびZ(t)は、それぞれC1級
(1階微分値が連続)である。具体的には、ベジエ(Be
zier)曲線が有名である。なお、ここでは、簡単のため
に、2次元上における曲線(X(t),Y(t))内の
点の指定を考えることにする。
[0005] Generally, a curve handled by a computer is as follows.
Using the media variable t (0 ≦ t ≦ 1), (X (t), Y (t)) for two dimensions and (X (t), Y for three dimensions)
(T), Z (t)). Where X
(T), Y (t), and Z (t) are each of class C1 (the first-order differential value is continuous). Specifically, Bezier (Be
zier) curves are famous. Here, for simplicity, designation of a point in a curve (X (t), Y (t)) in two dimensions will be considered.

【0006】はじめに、媒介変数tを、所定の値(この
例の場合、1/220)の整数倍の値(0,1/220,2
/220,・・・,(220−1)/220,1)(以下、個
々に、区別する必要がない場合、これらをまとめて、媒
介変数taと記載する)として、式(1)が演算され
る。すなわち、曲線B(t)上の点(=(X(ta),Y(t
a))とユーザにより指定された点P(=(Xu,Yu))
との距離が、媒介変数taの値毎に算出される。 距離=(X(ta)−Xu)2+(Y(ta)−Yu)2・・・(1)
First, the parameter t is set to a value (0, 1/2 20 , 2) that is an integral multiple of a predetermined value (1/2 20 in this example).
/ 2 20 ,..., (2 20 -1) / 2 20 , 1) (hereinafter, when it is not necessary to distinguish them individually, these are collectively referred to as a parameter ta). ) Is calculated. That is, a point on the curve B (t) (= (X (ta), Y (t
a)) and a point P specified by the user (= (Xu, Yu))
Is calculated for each value of the parameter ta. Distance = (X (ta) −Xu) 2 + (Y (ta) −Yu) 2 (1)

【0007】そして、算出された距離のうち、最小の距
離が得られたときのta(=tout)を検出し、それで示
される点が、点Pから最も近い点M(=(X(tout),Y
(tout)))とされる。
Then, ta (= tout) when the minimum distance is obtained from the calculated distances is detected, and a point indicated by the detected value is a point M (= (X (tout)) closest to the point P. , Y
(tout))).

【0008】このようにして、点Mが検出される。[0008] In this manner, the point M is detected.

【0009】なお、式(1)を微分して、微分値が0と
なるときの媒介変数t(解)を求め、それにより特定さ
れる点を、ユーザにより指定された点から最も近い曲線
上の点とすることも考えられるが、上述したように、キ
ュービックベジエ曲線においては、X(t)およびY(t)
は、それぞれ媒介変数tの3次式の関数であるので、式
(1)は微分しても5次式であり、解を求めることがで
きない。そこで、上述したように、所定の値の媒介変数
tを利用して、toutが、式(1)の微分値が0となる
ときの媒介変数tの近似値として検出される。すなわ
ち、媒介変数tの値(この例の場合、1/220間隔の
値)は、必要とされる近似の精度に基づくものであり、
例えば、より密な値とすることにより、より高い精度の
近似をすることができる。
The equation (1) is differentiated to obtain a parameter t (solution) when the differential value becomes 0, and a point specified by the parameter t is determined on a curve closest to the point designated by the user. However, as described above, in the cubic Bezier curve, X (t) and Y (t)
Is a function of a cubic expression of the parameter t, so that even if the expression (1) is differentiated, it is a quintic expression, and a solution cannot be obtained. Therefore, as described above, using the parameter t of a predetermined value, tout is detected as an approximate value of the parameter t when the differential value of the equation (1) becomes zero. That is, (in this case, the value of 1/2 20 Interval) value of the parameter t is based on the accuracy of approximation is required,
For example, by using denser values, approximation with higher accuracy can be performed.

【0010】また、以上においては、2次曲線である曲
線B(t)を例として説明したが、3次元曲線の場合にお
いても、基本的に同様の処理が行われる。
In the above, the curve B (t), which is a quadratic curve, has been described as an example, but basically the same processing is performed in the case of a three-dimensional curve.

【0011】[0011]

【発明が解決しようとする課題】しかしながら、上述し
た方法では、距離の計算(式(1)の計算)を、近似の
精度に比例した回数だけ行う必要があり、点M(=(X
(tout),Y(tout)))を検出するのに時間がかかる課題
があった。上述の例では、式(1)の計算が、2 20
(=1/220)回も行われる。
However, as described above,
Method, the calculation of the distance (calculation of equation (1)) is
It is necessary to perform the operations in proportion to the accuracy, and the point M (= (X
(tout), It takes time to detect Y (tout)))
was there. In the above example, the calculation of equation (1) is 2 20=
(= 1/220) Times.

【0012】本発明はこのような状況に鑑みてなされた
ものであり、ユーザにより指定された点Pから最も近
い、曲線B(t)上の点Mを、簡単に、検出することがで
きるようにするものである。
The present invention has been made in view of such a situation, and a point M on a curve B (t) closest to a point P specified by a user can be easily detected. It is to be.

【0013】[0013]

【課題を解決するための手段】本発明の情報処理装置
は、第1の曲線の図形データを取得する第1の取得手段
と、第1の点の位置データを取得する第2の取得手段
と、第1の曲線上の、接線の傾きが所定の角度となる第
2の点を、図形データに基づいて検出する第1の検出手
段と、第1の検出手段により検出された第2の点で、第
1の曲線を分割し、第2の点を端点とする分割曲線を生
成する生成手段と、生成手段により生成された分割曲線
上の、第1の点から最も近い第3の点を、図形データと
位置データに基づいて検出する第2の検出手段と、第2
の検出手段により検出された第3の点のうち、第1の点
から最も近い点を、図形データと位置データに基づいて
検出する第3の検出手段とを備えることを特徴とする。
According to the present invention, there is provided an information processing apparatus comprising: first acquisition means for acquiring graphic data of a first curve; and second acquisition means for acquiring position data of a first point. First detecting means for detecting, based on the graphic data, a second point on the first curve where the inclination of the tangent is at a predetermined angle; and a second point detected by the first detecting means. Generating means for generating a divided curve having the first point as an end point by dividing the first curve, and a third point closest to the first point on the divided curve generated by the generating means. A second detecting means for detecting based on the graphic data and the position data;
And a third detecting means for detecting a point closest to the first point among the third points detected by the detecting means based on the graphic data and the position data.

【0014】第2の点は、90度未満の任意の角度と、
その整数倍の角度であって、0度から360度の範囲の
角度の接線に基づいて検出することができる。
The second point is that any angle less than 90 degrees,
The angle can be detected based on a tangent of an angle that is an integral multiple of the angle and ranges from 0 to 360 degrees.

【0015】本発明の情報処理方法は、第1の曲線の図
形データを取得する第1の取得ステップと、第1の点の
位置データを取得する第2の取得ステップと、第1の曲
線上の、接線の傾きが所定の角度となる第2の点を、図
形データに基づいて検出する第1の検出ステップと、第
1の検出ステップの処理で検出された第2の点で、第1
の曲線を分割し、第2の点を端点とする分割曲線を生成
する生成ステップと、生成ステップの処理で生成された
分割曲線上の、第1の点から最も近い第3の点を、図形
データと位置データに基づいて検出する第2の検出ステ
ップと、第2の検出ステップの処理で検出された第3の
点のうち、第1の点から最も近い点を、図形データと位
置データに基づいて検出する第3の検出ステップとを含
むことを特徴とする。
According to the information processing method of the present invention, a first obtaining step of obtaining graphic data of a first curve, a second obtaining step of obtaining position data of a first point, A first point at which the inclination of the tangent becomes a predetermined angle based on the graphic data, and a second point detected in the processing of the first step.
Generating a divided curve having the second point as an end point, and generating a third point closest to the first point on the divided curve generated in the processing of the generating step by using a graphic A second detection step for detecting based on the data and the position data, and, among the third points detected in the processing of the second detection step, a point closest to the first point is defined as graphic data and position data. And a third detection step of performing detection on the basis of the information.

【0016】本発明の記録媒体のプログラムは、第1の
曲線の図形データを取得する第1の取得ステップと、第
1の点の位置データを取得する第2の取得ステップと、
第1の曲線上の、接線の傾きが所定の角度となる第2の
点を、図形データに基づいて検出する第1の検出ステッ
プと、第1の検出ステップの処理で検出された第2の点
で、第1の曲線を分割し、第2の点を端点とする分割曲
線を生成する生成ステップと、生成ステップの処理で生
成された分割曲線上の、第1の点から最も近い第3の点
を、図形データと位置データに基づいて検出する第2の
検出ステップと、第2の検出ステップの処理で検出され
た第3の点のうち、第1の点から最も近い点を、図形デ
ータと位置データに基づいて検出する第3の検出ステッ
プとを含むことを特徴とする。
The program of the recording medium according to the present invention comprises a first obtaining step of obtaining graphic data of a first curve, a second obtaining step of obtaining position data of a first point,
A first detection step of detecting, based on the graphic data, a second point on the first curve where the inclination of the tangent becomes a predetermined angle, and a second point detected in the processing of the first detection step Generating a division curve having the second point as an end point by dividing the first curve at a point; and generating a third curve closest to the first point on the division curve generated in the processing of the generation step. A point closest to the first point among the third points detected in the processing of the second detection step, based on the graphic data and the position data. And a third detection step of detecting based on the data and the position data.

【0017】本発明の情報処理装置および方法、並びに
記録媒体のプログラムにおいては、第1の曲線の図形デ
ータが取得され、第1の点の位置データが取得され、第
1の曲線上の、接線の傾きが所定の角度となる第2の点
が、図形データに基づいて検出され、検出された第2の
点で、第1の曲線を分割し、第2の点を端点とする分割
曲線が生成され、生成された分割曲線上の、第1の点か
ら最も近い第3の点が、図形データと位置データに基づ
いて検出され、検出された第3の点のうち、第1の点か
ら最も近い点が、図形データと位置データに基づいて検
出される。
According to the information processing apparatus and method of the present invention, and a program for a recording medium, graphic data of a first curve is obtained, position data of a first point is obtained, and a tangent line on the first curve is obtained. Is detected based on the graphic data, the first curve is divided at the detected second point, and a divided curve having the second point as an end point is obtained. A third point closest to the first point on the generated and generated division curve is detected based on the graphic data and the position data, and from among the detected third points, The closest point is detected based on the graphic data and the position data.

【0018】[0018]

【発明の実施の形態】図2は、発明を適用した画像処理
装置1の構成例を表している。
FIG. 2 shows a configuration example of an image processing apparatus 1 to which the invention is applied.

【0019】演算部11は、プログラムメモリ12に格
納されているプログラムを実行する。例えば、データメ
モリ13に格納されている図形データを画像データに変
換し、フレームメモリ14に格納させる。表示部15
は、フレームメモリ14に格納された画像データに対応
する画像を表示する。
The operation unit 11 executes a program stored in the program memory 12. For example, the graphic data stored in the data memory 13 is converted into image data and stored in the frame memory 14. Display unit 15
Displays an image corresponding to the image data stored in the frame memory 14.

【0020】この例の場合、データメモリ13には、図
1に示した曲線B(t)の図形データが格納されているの
で、演算部11は、その図形データを画像データに変換
して、フレームメモリ14に格納させる。すなわち、表
示部15には、曲線B(t)が表示される。
In this example, since the graphic data of the curve B (t) shown in FIG. 1 is stored in the data memory 13, the arithmetic unit 11 converts the graphic data into image data, It is stored in the frame memory 14. That is, the display unit 15 displays the curve B (t).

【0021】演算部11はまた、例えば、曲線B(t)が
表示部15に表示されている状態において、マウスやキ
ーボード等からなる入力部16がユーザにより操作さ
れ、編集したい点(例えば、曲線B(t)を2つに分断し
たい点)として、曲線B(t)の近辺の点、例えば、図1
に示す点Pが指定された場合、点Pと最も近い、曲線B
(t)上の点Mを検出する処理(検出処理)を実行する。
The arithmetic unit 11 operates the input unit 16 including a mouse, a keyboard, and the like while the curve B (t) is displayed on the display unit 15 by the user, and edits a point (for example, a curve) to be edited. B (t) into two points), a point near the curve B (t), for example, as shown in FIG.
Is specified, a curve B closest to the point P
(t) A process (detection process) of detecting the point M on the touch panel is executed.

【0022】入出力端子17は、外部の装置から供給さ
れる、編集前の図形データ(例えば、曲線B(t)の図
形データ)を入力したり、編集後の図形データ(例え
ば、点Mから2つに分断された曲線B(t)の図形デー
タ)を、外部の装置に出力する。バス18は、各部と接
続してプログラムやデータを伝送する。
The input / output terminal 17 inputs graphic data before editing (for example, graphic data of the curve B (t)) supplied from an external device, and graphic data after editing (for example, from the point M to the point M). The figure data of the curve B (t) divided into two is output to an external device. The bus 18 is connected to each unit to transmit programs and data.

【0023】次に、検出処理を実行する場合の演算部1
1の処理手順を、図3のフローチャートを参照して説明
する。ここでは、図1に示した曲線B(t)の画像が、表
示部15に表示されている状態において、ユーザの入力
部16に対する操作により、編集したい点として、点P
が指定されたものとする。
Next, the arithmetic unit 1 for executing the detection processing
The first processing procedure will be described with reference to the flowchart of FIG. Here, in the state where the image of the curve B (t) shown in FIG. 1 is displayed on the display unit 15, the point P
Is specified.

【0024】ステップS1において、曲線B(t)を、そ
の範囲に存在する任意の2つの点における接線のなす角
度が90度未満となるn個の領域(以下、セグメントB
i(t)と記載する。i=0,1,2,・・・n-1)に分割するため
の(n+1)個の分割点が検出される。すなわち、(n
+1)個の分割点を特定する(正確には、その座標を特
定する)ための(n+1)個の媒介変数t(以下、分割
点を特定する媒介変数tを、媒介変数tjと記載する。j
=0,1,2,・・・n-1,n)が検出される。
In step S1, the curve B (t) is divided into n regions (hereinafter, referred to as segment B) in which the angle between the tangents at any two points in the range is less than 90 degrees.
Described as i (t). (n + 1) division points for division into i = 0, 1, 2,... n-1) are detected. That is, (n
The (n + 1) parameter t (hereinafter, parameter t specifying the division point) for specifying (particularly, specifying the coordinates) the +1) division points is referred to as a parameter tj. j
= 0, 1, 2,... N-1, n) are detected.

【0025】なお、媒介変数tjは、t0=0<t1<t2<
・・・・<tn-1<tn=1が成り立ち、またセグメント
Bi(t)は、曲線B(t)上の、(X(tj),Y(tj)))の点
を始点とし、(X(tj+1),Y(tj+1))の点を終点とする
範囲において、曲線B(t)と同一の曲線である。
The parameter tj is t0 = 0 <t1 <t2 <
... <Tn-1 <tn = 1 holds, and the segment Bi (t) starts from the point (X (tj), Y (tj)) on the curve B (t), and X (tj + 1), Y (tj + 1)) is the same curve as the curve B (t) in a range ending at the point.

【0026】ここでの処理の詳細は、図4のフローチャ
ートに示されている。すなわち、ステップS11におい
て、演算部11は、データメモリ13に格納されている
曲線B(t)の図形データから、接線の傾きが、45度の
整数倍の角度(0度、45度、90度、135度、18
0度、225度、270度、又は315度)となる点の
すべてを検出するとともに、その点の数と、その点を特
定する媒介変数tの値を検出する。
The details of this process are shown in the flowchart of FIG. That is, in step S11, the arithmetic unit 11 determines from the graphic data of the curve B (t) stored in the data memory 13 that the inclination of the tangent is an integral multiple of 45 degrees (0, 45, 90 degrees). 135 degrees, 18
(0 degree, 225 degrees, 270 degrees, or 315 degrees), and detects the number of the points and the value of the parameter t specifying the points.

【0027】具体的には、(dX(t)/dt,dY(t)/d
t)が、s=0度,45度,90度,135度とした場
合の(sin(s),cos(s))のスカラー倍になる点が検出さ
れる。
Specifically, (dX (t) / dt, dY (t) / d
A point at which t) is a scalar multiple of (sin (s), cos (s)) when s = 0, 45, 90, and 135 degrees is detected.

【0028】接線の傾きの角度が、0度であるとき、そ
の点の(dX(t)/dt,dY(t)/dt)は、s=0度のと
きの(sin(s),cos(s))の正のスカラー倍となり、接線
の傾きが、180度であるとき、その点の(dX(t)/d
t,dY(t)/dt)は、s=0度のときの(sin(s),cos
(s))の負のスカラー倍となる。
When the angle of the inclination of the tangent is 0 degree, (dX (t) / dt, dY (t) / dt) at that point is (sin (s), cos when s = 0 degree). (s)) is a positive scalar multiple, and when the inclination of the tangent is 180 degrees, (dX (t) / d
t, dY (t) / dt) is (sin (s), cos when s = 0 degree)
(s)) is a negative scalar multiple of (s)).

【0029】接線の傾きが、45度であるとき、その点
の(dX(t)/dt,dY(t)/dt)は、s=45度のとき
の(sin(s),cos(s))の正のスカラー倍となり、接線の
傾きが、225度であるとき、その点の(dX(t)/d
t,dY(t)/dt)は、s=45度のときの(sin(s),co
s(s))の負のスカラー倍となる。
When the inclination of the tangent is 45 degrees, (dX (t) / dt, dY (t) / dt) at that point is (sin (s), cos (s) when s = 45 degrees. )) Is a positive scalar multiple, and when the inclination of the tangent is 225 degrees, (dX (t) / d
t, dY (t) / dt) is (sin (s), co when s = 45 degrees)
s (s)) is a negative scalar multiple.

【0030】接線の傾きが、90度であるとき、その点
の(dX(t)/dt,dY(t)/dt)は、s=90度のとき
の(sin(s),cos(s))の正のスカラー倍となり、接線の
傾きが、270度であるとき、その点の(dX(t)/d
t,dY(t)/dt)は、S=90度のときの(sin(s),co
s(s))の負のスカラー倍となる。
When the inclination of the tangent is 90 degrees, (dX (t) / dt, dY (t) / dt) at that point is (sin (s), cos (s) when s = 90 degrees. )) Is a positive scalar multiple, and when the inclination of the tangent is 270 degrees, (dX (t) / d
t, dY (t) / dt) is (sin (s), co when S = 90 degrees)
s (s)) is a negative scalar multiple.

【0031】そして接線の傾きが、135度であると
き、その点の(dX(t)/dt,dY(t)/dt)は、s=1
35度のときの(sin(s),cos(s))の正のスカラー倍と
なり、接線の傾きが、315度であるとき、その点の
(dX/dt,dY/dt)は、s=135度のときの(si
n(s),cos(s))の負のスカラー倍となる。
When the inclination of the tangent is 135 degrees, (dX (t) / dt, dY (t) / dt) at that point is s = 1.
When (sin (s), cos (s)) at 35 degrees is a positive scalar multiple, and when the slope of the tangent is 315 degrees, (dX / dt, dY / dt) at that point is s = At 135 degrees (si
n (s), cos (s)).

【0032】このような原理により、(dX(t)/dt,d
Y(t)/dt)が、S=0度,45度,90度,135度
とした場合の(sin(s),cos(s))のスカラー倍になる点
を検出することで、接線の傾きが、0度、45度、90
度、135度、180度、225度、270度、又は3
15度となるの点を検出することができ、そしてこれに
より、その点の数と、その点を特定する媒介変数tの値
が検出される。
According to such a principle, (dX (t) / dt, d
Y (t) / dt) is a tangent line by detecting a point that is a scalar multiple of (sin (s), cos (s)) when S = 0, 45, 90, and 135 degrees. Is 0 degree, 45 degrees, 90 degrees
Degrees, 135 degrees, 180 degrees, 225 degrees, 270 degrees, or 3
A point that is 15 degrees can be detected, and thereby the number of the point and the value of the parameter t specifying the point are detected.

【0033】なお、キュービックベジエ曲線のX(t)お
よびY(t)は、媒介変数tの3次式であるので、dX(t)
/dtおよびdY(t)/dtは、それぞれ2次式となる。す
なわち、ここでの処理で、s=0,45,90,135
のそれぞれ場合において、2次方程式の解法により、多
くて2つの解が得られる。結局、全体として、最大8個
の解が得られる。
Since X (t) and Y (t) of the cubic Bezier curve are cubic expressions of the parameter t, dX (t)
/ Dt and dY (t) / dt are quadratic. That is, in this processing, s = 0, 45, 90, 135
In each case, the solution of the quadratic equation yields at most two solutions. As a result, a maximum of eight solutions are obtained as a whole.

【0034】また、この例では、接線の傾きが、45度
の整数倍の角度の点が検出されたが、90度未満であれ
ば、他の角度の整数倍の角度とすることもできる。
In this example, a point at which the inclination of the tangent is an integral multiple of 45 degrees is detected. However, if the inclination is less than 90 degrees, the angle may be an integral multiple of another angle.

【0035】次に、ステップS12において、演算部1
1は、ステップS11で、検出した点の数(解の数)
に、1を加えて、セグメントの数(n)を決定する。す
なわち、この例の場合のように、曲線B(t)がキュービ
ックベジエ曲線であるとき、1≦n≦9となる。
Next, in step S12, the arithmetic unit 1
1 is the number of points detected in step S11 (the number of solutions)
, And 1 to determine the number (n) of segments. That is, when the curve B (t) is a cubic Bezier curve as in the case of this example, 1 ≦ n ≦ 9.

【0036】ステップS13において、演算部11は、
ステップS11で、検出した媒介変数t(セグメントの
数であるnで表せば、n−1個の媒介変数t)を、小さ
い方から並べ、これらを、t1,・・・tn-1とするとと
もに、値0を、t0とし、値1を、tnとして、合計(n
+1)個の媒介変数tjを決定する。
In step S13, the calculation unit 11
In step S11, the detected parametric variables t (n-1 parametric variables t when expressed by n, which is the number of segments) are arranged in ascending order, and these are set as t1,... Tn-1. , Value 0 as t0 and value 1 as tn, the sum (n
Determine +1) parameters tj.

【0037】以上のようにして、(n+1)個のtjが
検出されたとき、処理は終了する。これにより、曲線B
(t)を、媒介変数tjにより特定される(X(tj),Y(t
j))の点と(X(tj+1),Y(tj+1))の点をそれぞれ始点
と終点とするn個のセグメントBi(t)に分割することが
できる。
As described above, when (n + 1) tj have been detected, the process ends. Thereby, the curve B
(t) is specified by the parameter tj (X (tj), Y (t
j)) and the point (X (tj + 1), Y (tj + 1)) can be divided into n segments Bi (t) starting and ending, respectively.

【0038】次に、このようにして分割されたセグメン
トBi(t)上に存在する任意の2つの点における接線のな
す角度が90度未満となる理由を説明する(ステップS
1では、セグメントBi(t)が、このような性質を有する
ように媒介変数tjが検出された)。
Next, the reason why the angle between the tangents at any two points on the segment Bi (t) thus divided is less than 90 degrees will be described (step S).
In 1, the parameter tj is detected so that the segment Bi (t) has such properties.)

【0039】セグメントBi(t)は、曲線B(t)上の、
(X(tj),Y(tj))の点を始点とし、(X(tj+1),Y(t
j+1))の点の終点とする範囲において、曲線B(t)と同
一の曲線であるが、その始点と終点を特定する媒介変数
tjは、上述したように、曲線B(t)上の、接線の傾き
が、0度、45度、90度、135度、180度、22
5度、270度、または315度となる点を特定する媒
介変数tが、小さい方から順に並べられたものである。
The segment Bi (t) is represented by a curve B (t)
Starting from the point of (X (tj), Y (tj)), (X (tj + 1), Y (tj)
j + 1)) is the same curve as the curve B (t) in the range defined as the end point, but the parameter tj specifying the start point and the end point is, as described above, on the curve B (t). Of the tangents are 0, 45, 90, 135, 180 and 22
The parameter t specifying the point at which the angle is 5 degrees, 270 degrees, or 315 degrees is arranged in ascending order.

【0040】すなわち、セグメントBi(t)に存在する任
意の2つの点における接線のなす角度の最大は、始点と
終点の接線のなす45度であるので、セグメントBi(t)
に存在する任意の2つの点における接線のなす角度は9
0度未満(45度未満)となる。
That is, since the maximum angle between the tangents at any two points in the segment Bi (t) is 45 degrees between the tangents of the start point and the end point, the segment Bi (t)
The angle between the tangents at any two points in
It is less than 0 degrees (less than 45 degrees).

【0041】また、曲線B(t)は、C1級であるので、
所定の範囲においてそれと同一のセグメントBi(t)もC
1級である。すなわち、セグメントBi(t)には、接線の
傾きが、0度、45度、90度、135度、180度、
225度、270度、または315度となる点が必ず存
在するが、この例では、それらの点は、ステップS1の
処理で、セグメントBi(t)の始点または終点とされてい
るので、それ以外に、接線のなす角度が45度となる2
つの点が存在することは、上述した処理の結果に対し矛
盾することになる。
Since the curve B (t) is of class C1,
In a predetermined range, the same segment Bi (t) is also C
First grade. That is, in the segment Bi (t), the inclination of the tangent is 0 degree, 45 degrees, 90 degrees, 135 degrees, 180 degrees,
Although there always exist points at 225 degrees, 270 degrees, or 315 degrees, in this example, these points are set as the start point or end point of the segment Bi (t) in the processing of step S1, And the angle between the tangents is 45 degrees 2
The existence of the two points contradicts the result of the above-described processing.

【0042】このことからも、セグメントBi(t)に存在
する任意の2つの点における接線のなす角度は90度未
満(45度未満)となることが言える。
From this, it can be said that the angle between the tangents at any two points in the segment Bi (t) is less than 90 degrees (less than 45 degrees).

【0043】次に、図3に戻り、ステップS2におい
て、点P(=(Xu,Yu))から最も近い、各セグメン
トBi(t)上の点Qiが検出される。この処理の詳細につ
いて説明の前に、セグメントBi(t)の性質についてさら
に説明する。
Next, returning to FIG. 3, in step S2, a point Qi on each segment Bi (t) closest to the point P (= (Xu, Yu)) is detected. Before describing the details of this processing, the properties of the segment Bi (t) will be further described.

【0044】曲線B(t)上の、(X(tj),Y(tj))の点
を始点とし、(X(tj+1),Y(tj+1))の点を終点とする
セグメントBi(t)に存在する任意の2つの点における接
線のなす角度は90度未満であることから、セグメント
Bi(t)上の点は、必ず、図5に示すように、始点sを通
り、始点sと終点eを結ぶ直線L0に垂直な直線L1と、終
点eを通り、直線L0に対して垂直な直線L2の間に存在
する。
A segment having a point (X (tj), Y (tj)) on the curve B (t) as a start point and a point at (X (tj + 1), Y (tj + 1)) as an end point Since the angle between the tangents at any two points present in Bi (t) is less than 90 degrees, the point on segment Bi (t) must pass through start point s, as shown in FIG. There is a straight line L1 perpendicular to the straight line L0 connecting the start point s and the end point e, and a straight line L2 passing through the end point e and perpendicular to the straight line L0.

【0045】すなわち、点Pが、点Pa(=(Xua,Yu
a))のように、直線L1に対して、終点eと反対側に位
置する場合、点Paから最も近い、セグメントBi(t)上
の点Qiは、始点sとすることできる(近似することがで
きる)。
That is, the point P is changed to the point Pa (= (Xua, Yu)
As in a)), when located on the side opposite to the end point e with respect to the straight line L1, the point Qi on the segment Bi (t) closest to the point Pa can be set as the start point s (to be approximated). Can be).

【0046】また、点Pが、点Pc(=(Xuc,Yu
c))のように、直線L2に対して、始点sと反対側に位
置する場合、点Pcから最も近い、セグメントBi(t)上
の点Qiは、終点eとすることができる(近似することが
できる)。
The point P is changed to the point Pc (= (Xuc, Yu).
When the line is located on the opposite side of the start point s with respect to the straight line L2 as in c)), the point Qi on the segment Bi (t) closest to the point Pc can be the end point e (approximately). be able to).

【0047】また、点Pが、点Pb(=(Xub,Yu
b))のように、直線L1と直線L2の間に位置する場
合、点Pbを通り、直線L0に対して垂直な直線L3と、
セグメントBi(t)との交点Xを、点Pbから最も近い、
セグメントBi(t)上の点Qiとすることができる(近似
することができる)。なお、セグメントBi(t)は、直線
L3とセグメントBi(t)は、1つの交点Xで交わる。
The point P is changed to the point Pb (= (Xub, Yu)
b)), when located between the straight line L1 and the straight line L2, a straight line L3 passing through the point Pb and perpendicular to the straight line L0;
The point of intersection X with the segment Bi (t) is defined as
It can be (or can be approximated) a point Qi on segment Bi (t). The segment Bi (t) intersects the straight line L3 with the segment Bi (t) at one intersection X.

【0048】上述した近似は、始点sと終点eのセグメン
トBi(t)を、その長さが短いので、始点sと終点eとを結
ぶ直線とみなすことにより可能となる。すなわち、セグ
メントBi(t)をより細かく分割すれば(始点sと終点eの
距離を短くすれば)、より精度よく点Qiの近似、最終
的には、より精度よく点Mを近似するができる。
The above-described approximation can be realized by regarding the segment Bi (t) of the start point s and the end point e as a straight line connecting the start point s and the end point e because its length is short. That is, if the segment Bi (t) is finely divided (the distance between the start point s and the end point e is shortened), the point Qi can be more accurately approximated, and finally, the point M can be more accurately approximated. .

【0049】例えば、ステップS1で、接線が、45度
より小さな角度の、例えば、30度となる点を検出する
ようにすれば、セグメントBi(t)の数が多くなるので、
より細かいセグメントBi(t)に分割することができ、近
似の精度を上げることができる。
For example, in step S1, if a point where the tangent is at an angle smaller than 45 degrees, for example, 30 degrees, is detected, the number of segments Bi (t) increases.
It can be divided into smaller segments Bi (t), and the accuracy of approximation can be increased.

【0050】ステップS2の処理を、図6のフローチャ
ートを参照して説明する。
The processing in step S2 will be described with reference to the flowchart in FIG.

【0051】ステップS21において、演算部11は、
iの値をカウントするカウンタiの値を、値0に初期設
定する。ステップS22において、演算部11は、カウ
ンタiの値が 値(n−1)以下であるか否かを判定
し、それ以下である判定した場合、ステップS23に進
む。
In step S21, the calculation unit 11
The value of a counter i for counting the value of i is initialized to 0. In step S22, the arithmetic unit 11 determines whether or not the value of the counter i is equal to or less than the value (n-1). When it is determined that the value is equal to or less than the value, the process proceeds to step S23.

【0052】ステップS23において、演算部11は、
カウンタiの値で示されるセグメントBi(t)(例えば、
カウンタiの値が0(初期値)であれば、セグメントB
0(t)、またその値がn-1であれば、セグメントBn-1
(t))に注目し、点Pが、そのセグメントBi(t)に対し
て、図5における点Paのように、直線L1に対して、終
点eと反対側に位置するか否かを判定し、反対側に位置
すると判定した場合、ステップS24に進む。
In step S23, the calculation unit 11
A segment Bi (t) indicated by the value of the counter i (for example,
If the value of the counter i is 0 (initial value), the segment B
0 (t), and if the value is n-1, the segment Bn-1
(t)), it is determined whether or not the point P is located on the opposite side to the end point e with respect to the straight line L1 with respect to the segment Bi (t) as at the point Pa in FIG. However, if it is determined that it is located on the opposite side, the process proceeds to step S24.

【0053】ステップS24において、演算部11は、
点Pから最も近い、セグメントBi(t)上の点Qiを、始
点s(=(X(ti),Y(ti)))とする。
In step S24, the calculation unit 11
The point Qi on the segment Bi (t) closest to the point P is defined as a start point s (= (X (ti), Y (ti))).

【0054】ステップS23において、点Pが、直線L
1に対して、終点eの反対側に位置しないと判定された場
合、ステップS25に進む。
In step S23, the point P is
If it is determined that it is not located on the opposite side of the end point e with respect to 1, the process proceeds to step S25.

【0055】ステップS25において、演算部11は、
点Pが、図5における点Pcのように、直線L2に対し
て、始点sと反対側に位置するか否かを判定し、反対側
に位置すると判定した場合、ステップS26に進む。
In step S25, the calculation unit 11
It is determined whether the point P is located on the opposite side to the start point s with respect to the straight line L2, like the point Pc in FIG. 5, and if it is determined that the point P is located on the opposite side, the process proceeds to step S26.

【0056】ステップS26において、演算部11は、
点Pから最も近い、セグメントBi(t)上の点Qiを、終
点eとする。
In step S26, the arithmetic section 11
The point Qi on the segment Bi (t) closest to the point P is defined as an end point e.

【0057】ステップS25において、点Pが、直線L
2に対して、始点sの反対側に位置しないと判定された場
合、ステップS27に進む。すなわち、点Pが、図5に
おける点Pbのように、直線L1と直線L2の間に位置す
る場合、ステップS27に進む。
In step S25, the point P is
If it is determined that the position is not located on the opposite side of the start point s, the process proceeds to step S27. That is, when the point P is located between the straight line L1 and the straight line L2, like the point Pb in FIG. 5, the process proceeds to step S27.

【0058】ステップS27において、演算部11は、
点Pから最も近い、セグメントBi(t)上の点Qiを、点
Pを通り、直線L0に対して垂直な直線L3と、セグメン
トBi(t)との交点Xとする。
In step S27, the arithmetic section 11
The point Qi on the segment Bi (t) closest to the point P is defined as the intersection X of the straight line L3 passing through the point P and perpendicular to the straight line L0 and the segment Bi (t).

【0059】ここで、交点Xの求め方を説明する。Here, how to find the intersection X will be described.

【0060】セグメントBi(t)の始点sと終点eを、それ
ぞれ始点と終点とするベクトル(以下、ベクトルAと称
する)と、始点sと点P(点Pb)を、始点と終点とする
ベクトル(以下、ベクトルBと称する)の内積(IP1)
と、ベクトルAと、始点sとセグメントBi(t)上の任意
の点を、始点と終点とするベクトル(以下、ベクトルC
と称する)の内積(IP2)が算出される。
A vector having the start point s and the end point e of the segment Bi (t) as a start point and an end point (hereinafter, referred to as a vector A), and a vector having the start point s and the point P (point Pb) as a start point and an end point, respectively. (Hereinafter referred to as vector B) inner product (IP1)
, A vector A, a vector having a start point s and an arbitrary point on the segment Bi (t) as a start point and an end point (hereinafter referred to as a vector C
) Is calculated.

【0061】そして、IP1(ベクトルAとベクトルBの
内積)とIP2(ベクトルAとベクトルCの内積)が比較
され、それらが等しいときのIP2が得られたベクトルC
の終点とされたセグメントBi(t)上の点が、点Qiとさ
れる(点Qiの座標を特定する媒介変数t(以下、媒介変
数tqiと称する)が検出される)。
Then, IP1 (the inner product of the vector A and the vector B) and IP2 (the inner product of the vector A and the vector C) are compared, and when they are equal, the vector C
A point on the segment Bi (t), which is the end point of, is defined as a point Qi (a parameter t specifying the coordinates of the point Qi (hereinafter, referred to as a parameter tqi) is detected).

【0062】IP2は、始点sが、ベクトルCの終点とさ
れたとき、0となり、終点eが、その終点とされたと
き、ベクトルAの長さの2乗となる。従って、ti≦t
≦ti+1のとき、IP2は、単調増加となる。このことよ
り、IP1=IP2となる場合の媒介変数t(tqi)は、例
えば、2分法(Bisection method)やニュートン=ラフソ
ン法(Newton-Raphson method)などで計算することがで
きる。なお、2分法やニュートン=ラフソン法によれ
ば、媒介変数tの精度を220とすると、所定の計算を2
0回程度繰り返すことで、媒介変数tqiを算出すること
ができる。
IP2 is 0 when the start point s is the end point of the vector C, and is IP2 when the end point e is the end point of the vector C. Therefore, ti ≦ t
When ≤ti + 1, IP2 monotonically increases. Accordingly, the parameter t (tqi) when IP1 = IP2 can be calculated by, for example, a bisection method (Bisection method) or a Newton-Raphson method. According to the bisection method or the Newton-Raphson method, if the precision of the parameter t is 2 20 , the predetermined calculation is 2
By repeating about 0 times, the parameter tqi can be calculated.

【0063】ステップS24、ステップS26、または
ステップS27において、点Pから最も近い、セグメン
トBi上の点Qi(媒介変数tqi)が検出されたとき、ス
テップS28に進み、演算部11は、カウンタiの値
を、1だけインクリメントした後、ステップS22に戻
り、それ以降の処理を実行する。
When a point Qi (parameter tqi) on the segment Bi closest to the point P is detected in step S24, step S26, or step S27, the process proceeds to step S28, and the arithmetic unit 11 sets the counter i to After incrementing the value by 1, the process returns to step S22, and the subsequent processes are executed.

【0064】ステップS22で、カウンタiの値が、n
−1以下ではないと判定され場合(n−1より大きいと
判定され場合)、処理は終了する。すなわち、全てのセ
グメントB0(t)乃至セグメントBn-1(t)から、点Pから
最も近い点Q0乃至点Qn-1(媒介変数tq0乃至tqn-1)
が検出されるまで、ステップS22乃至ステップS28
の処理が繰り返し実行される。
In step S22, the value of the counter i becomes n
When it is determined that the difference is not smaller than −1 (when it is determined that the difference is larger than n−1), the process ends. That is, from all the segments B0 (t) to Bn-1 (t), the points Q0 to Qn-1 closest to the point P (parameters tq0 to tqn-1)
Until is detected, steps S22 to S28
Is repeatedly executed.

【0065】その後、処理は終了する。Thereafter, the processing ends.

【0066】次に、図3に再度戻り、ステップS3に進
み、演算部11は、ステップS2で検出された点Q0乃
至点Qn-1のうち、点Pから最も近い点Qiを検出し、そ
の点Qiを、点Pから最も近い、曲線B(t)上の点Mとす
る。
Next, returning to FIG. 3 again, the process proceeds to step S3, where the calculating section 11 detects a point Qi closest to the point P from the points Q0 to Qn-1 detected in step S2. Let the point Qi be the point M on the curve B (t) closest to the point P.

【0067】具体的には、ステップS2で検出された
(n+1)個の媒介変数tqiが代入されて、式(2)が
演算される。 距離=(X(tqi)−Xu)2+(Y(tqi)−Yu)2・・・(2)
Specifically, the equation (2) is calculated by substituting the (n + 1) parameters tqi detected in step S2. Distance = (X (tqi) −Xu) 2 + (Y (tqi) −Yu) 2 (2)

【0068】そして、算出された距離のうち、最小の距
離が得られたときの媒介変数tqiを検出し、それを媒介
変数toutとして、点M(=(X(tout),Y(tout)))
が決定される。
Then, the parameter tqi at the time when the minimum distance is obtained from the calculated distances is detected, and the detected parameter is used as the parameter tout, and the point M (= (X (tout), Y (tout)) )
Is determined.

【0069】以上のようにして、点Pから最も近い、セ
グメントBi(t)上の点Mが検出されたとき、処理は終了
する。
As described above, when the point M on the segment Bi (t) closest to the point P is detected, the processing ends.

【0070】上述したように、点Pから最も近い、セグ
メントBi(t)上の点Qiは、各セグメントBi(t)毎に、
20回程度の計算で求められる(ステップS2)。ま
た、この例の場合、セグメントBi(t)の数(n)は、最
大9個であるので、最大180回の計算で、点Qiを検
出することができる。また点Mは、点Pと、最大9個の
点Qiとの距離計算で決定される。すなわち、従来の場
合の計算回数(220回)に比べ、少ない計算で、点Mを
検出することができる。
As described above, the point Qi on the segment Bi (t) closest to the point P is calculated for each segment Bi (t) as follows:
It is obtained by about 20 calculations (step S2). In this example, since the number (n) of the segments Bi (t) is nine at the maximum, the point Qi can be detected by a maximum of 180 calculations. The point M is determined by calculating the distance between the point P and up to nine points Qi. That is, the point M can be detected with a smaller number of calculations as compared with the number of calculations ( 220 times) in the conventional case.

【0071】上述した一連の処理は、ハードウエアによ
り実現させることもできるが、ソフトウエアにより実現
させることもできる。一連の処理をソフトウエアにより
実現する場合には、そのソフトウエアを構成するプログ
ラムがコンピュータにインストールされ、そのプログラ
ムがコンピュータで実行されることより、上述した画像
処理装置1が機能的に実現される。
The series of processes described above can be realized by hardware, but can also be realized by software. When a series of processing is realized by software, a program constituting the software is installed in a computer, and the program is executed by the computer, so that the above-described image processing apparatus 1 is functionally realized. .

【0072】図7は、上述のような画像処理装置1とし
て機能するコンピュータ101の一実施の形態の構成を
示すブロック図である。CPU(Central Processing Uni
t)111にはバス115を介して入出力インタフェー
ス116が接続されており、CPU111は、入出力イン
タフェース116を介して、ユーザから、キーボード、
マウスなどよりなる入力部118から指令が入力される
と、例えば、ROM(ReadOnly Memory)112、ハードデ
ィスク114、またはドライブ120に装着される磁気
ディスク131、光ディスク132、光磁気ディスク1
33、若しくは半導体メモリ134などの記録媒体に格
納されているプログラムを、RAM(Random Access Memor
y)113にロードして実行する。これにより、上述し
た各種の処理(例えば、図3,4,6のフローチャート
により示される処理)が行われる。さらに、CPU111
は、その処理結果を、例えば、入出力インタフェース1
16を介して、LCD(Liquid Crystal Display)などよ
りなる表示部117に必要に応じて出力する。なお、プ
ログラムは、ハードディスク114やROM112に予め
記憶しておき、コンピュータ101と一体的にユーザに
提供したり、磁気ディスク131、光ディスク132、
光磁気ディスク133,半導体メモリ134等のパッケ
ージメディアとして提供したり、衛星、ネットワーク等
から通信部119を介してハードディスク114に提供
することができる。
FIG. 7 is a block diagram showing an embodiment of a computer 101 functioning as the image processing apparatus 1 described above. CPU (Central Processing Uni
t) 111 is connected to an input / output interface 116 via a bus 115, and the CPU 111 allows the user to input a keyboard,
When a command is input from an input unit 118 composed of a mouse or the like, for example, a magnetic disk 131, an optical disk 132, or a magneto-optical disk 1 mounted on a ROM (Read Only Memory) 112, a hard disk 114 or a drive 120.
33 or a program stored in a recording medium such as the semiconductor memory 134 is stored in a random access memory (RAM).
y) Load into 113 and execute. Thus, the various processes described above (for example, the processes shown by the flowcharts in FIGS. 3, 4, and 6) are performed. Further, the CPU 111
Sends the processing result to, for example, the input / output interface 1
Via a display 16, the data is output to a display unit 117 such as an LCD (Liquid Crystal Display) as necessary. The program is stored in the hard disk 114 or the ROM 112 in advance and provided to the user integrally with the computer 101, or the magnetic disk 131, the optical disk 132,
It can be provided as a package medium such as the magneto-optical disk 133 and the semiconductor memory 134, or can be provided to the hard disk 114 via a communication unit 119 from a satellite or a network.

【0073】なお、本明細書において、記録媒体により
提供されるプログラムを記述するステップは、記載され
た順序に沿って時系列的に行われる処理はもちろん、必
ずしも時系列的に処理されなくとも、並列的あるいは個
別に実行される処理をも含むものである。
In the present specification, the step of describing a program provided by a recording medium may be performed not only in chronological order according to the described order but also in chronological order. This also includes processing executed in parallel or individually.

【0074】[0074]

【発明の効果】本発明の情報処理装置および方法、並び
に記録媒体のプログラムによれば、第1の曲線上の、接
線の傾きが所定の角度となる第2の点を検出し、検出し
た第2の点で、第1の曲線を分割し、第2の点を端点と
する分割曲線を生成し、生成した分割曲線上の、第1の
点から最も近い第3の点を検出し、検出した第3の点の
うち、第1の点から最も近い点を検出するようにしたの
で、第1の点から最も近い、曲線上の点を、迅速に検出
することができる。
According to the information processing apparatus and method of the present invention, and the program of the recording medium, the second point on the first curve at which the inclination of the tangent is a predetermined angle is detected, and the detected second point is detected. The first curve is divided at the second point, a divided curve having the second point as an end point is generated, and a third point closest to the first point on the generated divided curve is detected and detected. Since the point closest to the first point is detected from the third points, the point on the curve closest to the first point can be quickly detected.

【図面の簡単な説明】[Brief description of the drawings]

【図1】曲線B(t)を説明する図である。FIG. 1 is a diagram illustrating a curve B (t).

【図2】本発明を適用した画像処理装置1の構成例を示
すブロック図である。
FIG. 2 is a block diagram illustrating a configuration example of an image processing apparatus 1 to which the present invention has been applied.

【図3】検出処理を説明するフローチャートである。FIG. 3 is a flowchart illustrating a detection process.

【図4】図3のステップS1の処理の詳細を説明するフ
ローチャートである。
FIG. 4 is a flowchart illustrating details of a process in step S1 of FIG. 3;

【図5】図3のステップS2の処理の詳細を説明するフ
ローチャートである。
FIG. 5 is a flowchart illustrating details of a process in step S2 of FIG. 3;

【図6】セグメントBi(t)を説明する図である。FIG. 6 is a diagram illustrating a segment Bi (t).

【図7】パーソナルコンピュータ101の構成例を示す
ブロック図である。
FIG. 7 is a block diagram illustrating a configuration example of a personal computer 101.

【符号の説明】[Explanation of symbols]

11 演算部, 12 プログラムメモリ, 13 デ
ータメモリ, 14フレームメモリ, 15 表示部,
16 入力部, 17 入出力端子, 18 バス
11 arithmetic unit, 12 program memory, 13 data memory, 14 frame memory, 15 display unit,
16 input sections, 17 input / output terminals, 18 buses

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 第1の曲線の図形データを取得する第1
の取得手段と、 第1の点の位置データを取得する第2の取得手段と、 前記第1の曲線上の、接線の傾きが所定の角度となる第
2の点を、前記図形データに基づいて検出する第1の検
出手段と、 前記第1の検出手段により検出された前記第2の点で、
前記第1の曲線を分割し、前記第2の点を端点とする分
割曲線を生成する生成手段と、 前記生成手段により生成された前記分割曲線上の、前記
第1の点から最も近い第3の点を、前記図形データと前
記位置データに基づいて検出する第2の検出手段と、 前記第2の検出手段により検出された前記第3の点のう
ち、前記第1の点から最も近い点を、前記図形データと
前記位置データに基づいて検出する第3の検出手段とを
備えることを特徴とする情報処理装置。
1. A first method for acquiring graphic data of a first curve.
Acquiring means for acquiring position data of a first point; and acquiring a second point on the first curve at which a tangent slope is a predetermined angle based on the graphic data. A first detecting means for detecting by the first detecting means, and the second point detected by the first detecting means,
Generating means for generating a divided curve having the first point as an end point by dividing the first curve; and a third closest to the first point on the divided curve generated by the generating means. A second detecting means for detecting a point based on the graphic data and the position data; and a point closest to the first point among the third points detected by the second detecting means. An information processing apparatus comprising: a third detection unit configured to detect based on the graphic data and the position data.
【請求項2】 前記第2の点は、90度未満の任意の角
度と、その整数倍の角度であって、0度から360度の
範囲の角度の接線に基づいて検出される。ことを特徴と
する請求項1に記載の情報処理装置。
2. The second point is an arbitrary angle less than 90 degrees and an integer multiple thereof, and is detected based on a tangent of an angle in a range of 0 to 360 degrees. The information processing apparatus according to claim 1, wherein:
【請求項3】 第1の曲線の図形データを取得する第1
の取得ステップと、 第1の点の位置データを取得する第2の取得ステップ
と、 前記第1の曲線上の、接線の傾きが所定の角度となる第
2の点を、前記図形データに基づいて検出する第1の検
出ステップと、 前記第1の検出ステップの処理で検出された前記第2の
点で、前記第1の曲線を分割し、前記第2の点を端点と
する分割曲線を生成する生成ステップと、 前記生成ステップの処理で生成された前記分割曲線上
の、前記第1の点から最も近い第3の点を、前記図形デ
ータと前記位置データに基づいて検出する第2の検出ス
テップと、 前記第2の検出ステップの処理で検出された前記第3の
点のうち、前記第1の点から最も近い点を、前記図形デ
ータと前記位置データに基づいて検出する第3の検出ス
テップとを含むことを特徴とする情報処理方法。
3. A first method for acquiring graphic data of a first curve.
And a second acquisition step of acquiring position data of a first point. A second point on the first curve, at which a tangent is inclined at a predetermined angle, is determined based on the graphic data. The first curve is divided by the second point detected in the processing of the first detection step, and a divided curve having the second point as an end point is obtained by dividing the first curve. A generating step of generating; and a second step of detecting a third point closest to the first point on the divided curve generated in the processing of the generating step based on the graphic data and the position data. A third step of detecting, based on the graphic data and the position data, a point closest to the first point among the third points detected in the processing of the second detecting step. And a detecting step. Processing method.
【請求項4】 第1の曲線の図形データを取得する第1
の取得ステップと、 第1の点の位置データを取得する第2の取得ステップ
と、 前記第1の曲線上の、接線の傾きが所定の角度となる第
2の点を、前記図形データに基づいて検出する第1の検
出ステップと、 前記第1の検出ステップの処理で検出された前記第2の
点で、前記第1の曲線を分割し、前記第2の点を端点と
する分割曲線を生成する生成ステップと、 前記生成ステップの処理で生成された前記分割曲線上
の、前記第1の点から最も近い第3の点を、前記図形デ
ータと前記位置データに基づいて検出する第2の検出ス
テップと、 前記第2の検出ステップの処理で検出された前記第3の
点のうち、前記第1の点から最も近い点を、前記図形デ
ータと前記位置データに基づいて検出する第3の検出ス
テップとを含むことを特徴とする処理をコンピュータに
実行させるプログラムが記録されている記録媒体。
4. A first method for acquiring graphic data of a first curve.
And a second acquisition step of acquiring position data of a first point. A second point on the first curve, at which a tangent is inclined at a predetermined angle, is determined based on the graphic data. The first curve is divided by the second point detected in the processing of the first detection step, and a divided curve having the second point as an end point is obtained by dividing the first curve. A generating step of generating; and a second step of detecting a third point closest to the first point on the divided curve generated in the processing of the generating step based on the graphic data and the position data. A third step of detecting, based on the graphic data and the position data, a point closest to the first point among the third points detected in the processing of the second detecting step. A detecting step. Recording medium which is recorded a program causing a computer to execute the.
JP2000247231A 2000-08-17 2000-08-17 Apparatus and method for image processing and recording medium Withdrawn JP2002063587A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000247231A JP2002063587A (en) 2000-08-17 2000-08-17 Apparatus and method for image processing and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000247231A JP2002063587A (en) 2000-08-17 2000-08-17 Apparatus and method for image processing and recording medium

Publications (1)

Publication Number Publication Date
JP2002063587A true JP2002063587A (en) 2002-02-28

Family

ID=18737367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000247231A Withdrawn JP2002063587A (en) 2000-08-17 2000-08-17 Apparatus and method for image processing and recording medium

Country Status (1)

Country Link
JP (1) JP2002063587A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008507056A (en) * 2004-07-22 2008-03-06 コミサリア、ア、レネルジ、アトミク Method and system for identifying proximity regions between several digitally simulated geometric objects

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008507056A (en) * 2004-07-22 2008-03-06 コミサリア、ア、レネルジ、アトミク Method and system for identifying proximity regions between several digitally simulated geometric objects
JP4829885B2 (en) * 2004-07-22 2011-12-07 コミサリア ア レネルジー アトミック エ オ ゼネルジー アルテルナティブ Method and system for identifying proximity regions between several digitally simulated geometric objects

Similar Documents

Publication Publication Date Title
CA2099719C (en) System and method for rendering bezier splines
JPH09282080A (en) Information input method/device
CN101424757A (en) Aspherical mirror error analytical system and method
JP2002063587A (en) Apparatus and method for image processing and recording medium
Patrikalakis et al. Surface to surface intersections
JP3445010B2 (en) Method for calculating intersection of Bezier curve and two-dimensional figure and figure processing apparatus for realizing the method
Mukundan et al. Tracing surface intersections with validated ODE system solver
WO2021085081A1 (en) Approximate data generation device and approximate data generation method
JP3391058B2 (en) Method and apparatus for measuring shape parameters of constrained multidimensional shape
JPH0643188A (en) Waveform analyzer
KR20010045464A (en) Spectrum analyzer and method
Chen et al. Tolerance evaluation of minimum zone straightness using non-linear programming techniques: a spreadsheet approach
WO2023155425A1 (en) Goods transfer method and apparatus, electronic device, and computer-readable medium
CN115656619B (en) Method and system for displaying power factor of generator in DCS (distributed control system)
Dmitriev et al. Numerical solution to systems of delay integrodifferential algebraic equations
JPH08153191A (en) Method and device for curve approximation processing
JP7294662B2 (en) Frequency characteristic estimation device and frequency characteristic estimation method
US20240159569A1 (en) Rotation angle sensor and calibration method of rotation angle sensor
JPH07160873A (en) Method for converting picture data including bezier curve
JP3668637B2 (en) Drawing apparatus, waveform drawing method, and recording medium recording drawing processing program
JPH0611363A (en) Data reading system of display device
JPH0969022A (en) Method and device for sampling and information processor
US7184941B2 (en) Method for smoothing boundaries of geometrical figures using terminal
CN110146025A (en) A kind of displacement measuring device of grating scale, method and system
JPH1166328A (en) Curve plotting device

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106