JPH03250373A - Method and device for detecting 3-point designated circular arc - Google Patents

Method and device for detecting 3-point designated circular arc

Info

Publication number
JPH03250373A
JPH03250373A JP4844090A JP4844090A JPH03250373A JP H03250373 A JPH03250373 A JP H03250373A JP 4844090 A JP4844090 A JP 4844090A JP 4844090 A JP4844090 A JP 4844090A JP H03250373 A JPH03250373 A JP H03250373A
Authority
JP
Japan
Prior art keywords
arc
point
rectangle
radius
points
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.)
Granted
Application number
JP4844090A
Other languages
Japanese (ja)
Other versions
JP2536948B2 (en
Inventor
Katsuhiko Kurihara
勝彦 栗原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2048440A priority Critical patent/JP2536948B2/en
Publication of JPH03250373A publication Critical patent/JPH03250373A/en
Application granted granted Critical
Publication of JP2536948B2 publication Critical patent/JP2536948B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

PURPOSE:To quickly delete a 3-point designating circular arc which is not clearly detected out of the detection subjects and to attain the fast detection processing by deciding whether a rectangle including a circular arc crosses a detecting range or not. CONSTITUTION:A rectangle including a circular arc is calculated from the coordinate data on the start points X1 and Y1, the intermediate points X2 and Y2, and the end points X3 and Y3 which display a 3-point designating circular arc on a display device without calculating the center point of the circular arc. Then it is decided whether the rectangle crosses a detecting range or not. If not, no 3-point designating circular arc is detected, if so, the center point and the radius of the 3-point designating circular arc are calculated. Then the cross between the circular arc and the detecting range is decided. Thus it is possible to quickly delete the 3-point designating circular arc that is not clearly picked out of the picking subjects and to increase the detection processing.

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野(第3.4(a)図)従来の技術(第
4(b)、19,20.21図)発明が解決しようとす
る課題(第5,19図)課題を解決するための手段(第
1,2図)作用(第1.2,6,7.8図) 実施例(第3.6.9〜19図) 発明の効果 〔概要〕 始点、中間点、終点の3点の座標データで定義される3
点指定円弧を図形データとして格納し、3点を通る円弧
を表示装置に表示し、矩形として定義される検出(ピッ
ク)範囲と交差する場合に当該3点指定円弧の検出を行
う3点指定円弧検出方法及び装置に関し、 高速に検出処理を行うことができる3点指定円弧検出方
法及び装置を提供することを目的とし、3点指定円弧を
表示装置上に表示させる始点、中間点、終点の3点の座
標データから円弧を包含する矩形を円弧の中心点を計算
せずに算出し、当該矩形と検出範囲とが交差するか否か
を判定し、交差しない場合は当該3点指定円弧を検出せ
ず、交差する場合は、3点指定円弧の中心点と半径とを
算出し、その後当該円弧と前記検出範囲との交差を判定
する構成である。
[Detailed description of the invention] [Table of contents] Overview Industrial application field (Figure 3.4 (a)) Prior art (Figures 4 (b), 19, 20, 21) Problems to be solved by the invention (Figs. 5, 19) Means for solving the problem (Figs. 1, 2) Effects (Figs. 1.2, 6, 7.8) Examples (Figs. 3.6.9 to 19) Invention Effect [Summary] 3 defined by the coordinate data of the starting point, intermediate point, and ending point.
A three-point designated arc that stores a point-designated arc as graphic data, displays an arc that passes through three points on a display device, and detects the three-point designated arc when it intersects a detection (pick) range defined as a rectangle. Regarding the detection method and device, the purpose of the present invention is to provide a method and device for detecting a 3-point specified arc that can perform detection processing at high speed, and to display the 3-point specified arc on a display device. Calculates a rectangle that encompasses the arc from the coordinate data of the point without calculating the center point of the arc, determines whether the rectangle intersects with the detection range, and if they do not intersect, detects the three-point specified arc. If the two points do not intersect, the center point and radius of the three-point designated arc are calculated, and then it is determined whether the arc intersects with the detection range.

〔産業上の利用分野〕[Industrial application field]

本発明は、3点指定円弧検出方法及び装置に係り、特に
、始点、中間点、終点の3点の座標データで定義される
3点指定円弧を図形データとして格納し、3点を通る円
弧を表示装置に表示し、矩形として定義される検出(ピ
ック)範囲と交差する場合に当該3点指定円弧の検出を
行う円弧検出方法及び装置に関する。
The present invention relates to a method and device for detecting a three-point designated arc, and in particular, stores a three-point designated arc defined by coordinate data of three points, a starting point, an intermediate point, and an end point, as graphic data, and detects a circular arc passing through the three points. The present invention relates to an arc detection method and apparatus for detecting a three-point specified arc displayed on a display device and intersecting a detection (pick) range defined as a rectangle.

コンピュータにより表示装置上に図形等を表示し、入力
装置を使用して、表示図形を処理する図形処理システム
例えば、CA D (Computer AidedD
esign)などにより、図形を作成する操作過程にお
いて、対話的に画面上の図形を検出し、移動・拡大・縮
小などの図形編集する場合の図形検出(ピック)方法に
関するもので、とくに線分、円、多角形、文字などの図
形のなかの第4図(a)のような、始点、中間点、終点
の3点の座標データから成る3点指定円弧の検出方法及
び装置に関するものである。
A graphic processing system that displays graphics on a display device using a computer and processes the displayed graphics using an input device.
It relates to a figure detection (pick) method for interactively detecting a figure on the screen during the operation process of creating a figure using esign), etc., and editing the figure by moving, enlarging, reducing, etc. The present invention relates to a method and apparatus for detecting a three-point specified arc, which is composed of coordinate data of three points, a starting point, an intermediate point, and an ending point, as shown in FIG. 4(a) in a figure such as a circle, polygon, or character.

図形処理システムとしては、例えば第3図に示すような
構成により成り中央処理装置(CPU)が主記憶装置に
記憶されたプログラムに従って、入力装置等から入力さ
れた図形データを主記憶装置に記憶し、その図形データ
を表示装置(CRTなど)に表示する。オペレータは表
示装置画面上のこれらの図形から自分の編集(例えば、
移動拡大・縮小、表示色変更、削除など)したい図形を
検出する。この検出を行うには、入力装置、例えば、マ
ウス、タブレット、キーボード、ジョイスティック、ラ
イト・ペンなどによりカーソルを検出したい図形の上に
移動し、この図形処理システムで予め決められた検出要
求操作を入力装置で行う、例えば、マウスのボタンを押
す、またはタブレットのスタイラベンを押すなどである
A graphic processing system has a configuration as shown in FIG. 3, for example, and a central processing unit (CPU) stores graphic data input from an input device, etc. in the main memory according to a program stored in the main memory. , and displays the graphic data on a display device (such as a CRT). Operators can perform their own edits (e.g.
Detect the shape you want to move (move, enlarge/reduce, change display color, delete, etc.). To perform this detection, use an input device such as a mouse, tablet, keyboard, joystick, light pen, etc. to move the cursor over the shape you want to detect, and enter a predetermined detection request operation in this shape processing system. on the device, such as pressing a button on a mouse or a stylus on a tablet.

すると、中央処理装置(CPU)は、この入力装置の検
出要求操作を判断し、図形の検出を開始する。検出に先
立って中央処理装置(CPU)は、図形の検出をするた
めの範囲である検出(ピック)範囲を決定する。ピック
範囲は以下のような方法などによって決定する。予め、
指定されていたピック範囲の大きさに従って、入力装置
で指定された位置(入力装置で検出要求操作を行った時
のカーソル位置)を中心としてピック範囲の大きさから
ピック範囲の存在する座標を決定する。
Then, the central processing unit (CPU) determines the detection request operation of the input device and starts detecting the figure. Prior to detection, the central processing unit (CPU) determines a detection (pick) range that is a range for detecting a figure. The pick range is determined by the following method. In advance,
According to the size of the specified pick range, determine the coordinates where the pick range exists based on the size of the pick range centered on the position specified by the input device (the cursor position when performing the detection request operation on the input device). do.

次に、主記憶装置に記憶されているすべての図形データ
が、このピック範囲内に存在するかどうかを順に判定す
る。この判定方法は、図形データが、線分であるか、円
であるか、または多角形であるかなどによって、各種図
形データにしたがった異なった方法をとる。各種図形デ
ータごとにピック範囲内に存在するかどうか判定し、ピ
ック範囲内にある図形データを検出する。
Next, it is sequentially determined whether all the graphic data stored in the main storage device exists within this pick range. This determination method uses different methods depending on whether the graphic data is a line segment, a circle, a polygon, etc., depending on various types of graphic data. It is determined whether each type of graphic data exists within the pick range, and graphic data within the pick range is detected.

以上のような、図形処理システムにおいて、各種図形デ
ータ1個の判定処理時間はそれほどではなくても、検出
処理は、すべての図形データについて1ずつ行われるの
で、CADのような数十個以上の図形データを扱う図形
処理システムでは、図形の検出に長時間を要するという
欠点がある。
In the graphic processing system described above, even though the processing time for determining one piece of various graphic data is not that long, the detection process is performed for each graphic data one by one, so it is difficult to process dozens or more pieces of data such as CAD. A graphic processing system that handles graphic data has a drawback in that it takes a long time to detect a graphic.

そのため、各種図形データの検出時間をより一層高速化
することが要求されている。
Therefore, it is required to further speed up the detection time of various graphic data.

特に、3点指定円弧の検出処理時間は、円(中心と半径
により指定される円)の検出時間に比べて、3点から中
心点と半径を計算する必要があるために、かなり遅く、
そのわりには、円よりは使用頻度が高いために、高速化
することが要求されている。
In particular, the detection processing time for a three-point specified arc is considerably slower than the detection time for a circle (a circle specified by the center and radius) because it is necessary to calculate the center point and radius from three points.
However, since it is used more frequently than yen, there is a need for faster speeds.

〔従来の技術〕[Conventional technology]

従来、第21図に示すような、3点指定円弧の検出(ピ
ック)方法があった。
Conventionally, there has been a method of detecting (picking) a three-point specified arc as shown in FIG.

従来例に係る3点指定円弧の検出(ピック)方法はステ
ップSAIで、指定された3点(始点、中間点、終点)
(XI、Yl)、(X2.Y2)。
The conventional method for detecting (picking) a three-point specified arc is step SAI, which detects three specified points (starting point, intermediate point, and ending point).
(XI, Yl), (X2.Y2).

(X3.Y3)から、以下の計算式に従って、円の中心
と半径を計算する。
From (X3.Y3), calculate the center and radius of the circle according to the following formula.

指定された3点から、中心点(Cx 、 Cy )と半
径rを求めるには、指定された3点を円の方程式 %式%) に代入して得た次の連立方程式を解く必要がある。
To find the center point (Cx, Cy) and radius r from the three specified points, it is necessary to solve the following simultaneous equations obtained by substituting the three specified points into the circle equation. .

(Xi−Cx)2+(Yl−Cy)2−r2(X2−C
x)2+(Y2−Cy)2=r2−式(1)%式%) また、別の方法として、始点と中間点、中間点と終点を
それぞれ結ぶ線分の中間点を通る垂線の交点を計算する
(第20図)。この交点が3点指定円弧の中心点である
。次に、中心点と3点の内のどれか1点との距離を計算
し半径を求める。
(Xi-Cx)2+(Yl-Cy)2-r2(X2-C
x)2+(Y2-Cy)2=r2-formula (1)%formula%) Another method is to calculate the intersection of perpendicular lines that pass through the midpoint of the line segment connecting the starting point and the midpoint, and the midpoint and the end point, respectively. Calculate (Figure 20). This intersection is the center point of the three-point designated arc. Next, calculate the distance between the center point and one of the three points to find the radius.

この処理の流れを第19図に示す。The flow of this process is shown in FIG.

以上のようにして、中心点と半径を求めた後、第21図
のステップSA2に進み円弧を包含する最小の正方形領
域を、その中心点(Cx、Cy)と半径rから求め、ス
テップSA3でこの正方形(Cx−r、Cy−r)、(
Cx十r、Cy+r)の2点をそれぞれ左下、右下の頂
点とする)がピック範囲と交わるかどうかを判定するこ
とにより、明らかにピックされない円をピックの対象か
ら、除外する。次に、除外できなかった円弧に対しては
、ステップSA4に進み円弧を多角形近似して多角形の
各辺についてピック範囲と交わるかどうかを判定し、−
本でもピック範囲とまじわる辺がある場合は、ステップ
SA5で円弧はピックされ、−木も交わらない場合はス
テップSA6でピックされないという方法によって中心
と半径指定の円弧(第4図(b))のピック判定を行っ
ていた。
After finding the center point and radius as described above, proceed to step SA2 in FIG. 21, find the minimum square area that encompasses the circular arc from its center point (Cx, Cy) and radius r, and proceed to step SA3. This square (Cx-r, Cy-r), (
By determining whether or not the two points Cx+r and Cy+r) are the lower left and lower right vertices intersect with the pick range, circles that are clearly not to be picked are excluded from the pick target. Next, for arcs that could not be excluded, proceed to step SA4, approximate the arc to a polygon, and determine whether each side of the polygon intersects with the pick range, -
If there is an edge that intersects with the pick range in the book, the arc is picked in step SA5, and if the tree also does not intersect, it is not picked in step SA6. He was making pick decisions.

または、Horn″C1rcle Generator
s for DisplayDevices″COMP
UTERGRAPHIC3AND IMAGE PRO
CESSING 5.pp280−288に掲載されて
いる円弧発生アルゴリズムによって円弧上の点を発生し
、発生した点についてピック範囲と交わるかどうかを判
定し、−点でもピック範囲とまじわる点がある場合は、
円弧はピックされ、−点も交わらない場合はピックされ
ないという方法によって円弧のピック判定を行っていた
Or Horn″C1rcle Generator
s for DisplayDevices″COMP
UTERGRAPHIC3AND IMAGE PRO
CESSING 5. Generate points on the arc using the arc generation algorithm published in pp280-288, determine whether the generated points intersect with the pick range, and if there is a point that intersects with the pick range even at - points,
The arc was picked, and if the - points did not intersect, the arc was not picked.

(発明が解決しようとする課題) ところで、以上述べた従来例にあっては、3点指定円弧
をピックする場合、指定された3点から円の中心と半径
をもとめてからピックを行なうものであった。
(Problem to be Solved by the Invention) In the conventional example described above, when picking a three-point specified arc, the center and radius of the circle are determined from the three specified points before picking. there were.

しかし、図形処理システムでは、通常、ピック領域の大
きさは図形が定義されている座標系の大きさに比べて非
常に小さく(面積比率で1/10000以下が普通)、
定義されている図形の数は数十個を越えるのが普通であ
る。またオペレータはこれらの図形のうち一つを編集す
るために選択するのであるから、はとんどの図形はピッ
クされない。
However, in graphic processing systems, the size of the pick area is usually very small compared to the size of the coordinate system in which the graphic is defined (usually 1/10,000 or less in terms of area ratio).
The number of defined figures usually exceeds several dozen. Also, because the operator selects one of these shapes for editing, most of the shapes are not picked.

そのため、はとんどの3点指定円弧の中心点と半径を求
める計算は無駄である。
Therefore, calculations to find the center point and radius of a three-point specified arc are wasteful.

第5図に示した例のように図中のほとんどの3点指定円
弧は明らかにピックされない部類に属する。そのため、
従来の方法では、これら明らかにピックされない3点指
定円弧の無駄な中心点・半径計算を行っていたことにな
る。
As in the example shown in FIG. 5, most of the three-point designated arcs in the figure clearly belong to the category that cannot be picked. Therefore,
In the conventional method, the center point and radius of these 3-point designated arcs that are clearly not picked are wasted.

また、3点指定円弧は中心点と半径を求めた後に、中心
点・半径指定円弧としてピックされるので、このままで
は、どのようにしても、3点指定円弧のピック時間は中
心点・半径指定円弧のピック時間に比べて、中心点と半
径を計算する分だけ遅くなる。特に、第5図に示したよ
うな、明らかにピックされない3点指定円弧と中心点・
半径指定円弧を比較した場合、中心点・半径指定円弧は
この円弧を包含する正方形を使用して、まず、ピックさ
れるかどうかの判定を行うので、この場合、多くても4
回の判定で処理は終了する。これに対して、3点指定円
弧は、第19図に示した処理によって中心点と半径を計
算した後、この中心点と半径を使用して3点指定円弧を
包含する正方形を求め、この正方形でピックされるかど
うかを判定する。このため、3点指定円弧は中心点・半
径指定円弧に比べて10倍以上の処理時間を要する。
Also, a 3-point specified arc is picked as a center point/radius specified arc after the center point and radius are determined, so no matter how you do it, the picking time for a 3-point specified arc will be the center point/radius specified. Compared to the arc pick time, it is slower by calculating the center point and radius. In particular, as shown in Figure 5, three-point designated arcs and center points, which are not clearly picked,
When comparing radius specified arcs, the center point/radius specified arc uses the square that encompasses this arc to first determine whether or not it will be picked, so in this case, at most 4
The process ends when the number of times is determined. On the other hand, for a 3-point designated arc, the center point and radius are calculated by the process shown in Figure 19, and then a square that encompasses the 3-point designated arc is found using this center point and radius. Determine whether or not it will be picked. Therefore, a three-point designated arc requires ten times more processing time than a center point/radius designated arc.

本発明はこのような従来の問題点に着目していなされた
もので、明らかにピックされない3点指定円弧の中心点
・半径を計算することなしに判定しピック速度を高速化
する方法及び装置である。
The present invention has been made by focusing on such conventional problems, and provides a method and apparatus for determining the center point and radius of a three-point designated arc that is not clearly picked without calculation, and increasing the picking speed. be.

(課題を解決するための手段) 以上の技術的課題を解決するため、第一の発明は第1図
に示すように、始点、中間点、終点の3点の座標データ
で定義される3点指定円弧を図形データとして格納し、
3点を通る円弧を表示装置に表示し、矩形として定義さ
れる検出(ピック)範囲と交差する場合に当該3点指定
円弧の検出を行う(S5)円弧検出方法において、3点
指定円弧を表示装置上に発生させる始点、中間点、終点
の3点の座標データから円弧を包含する矩形を円弧の中
心点を計算せずに算出しくsi)、当該矩形と検出範囲
とが交差するか否かを判定し(S2) 、交差しない場
合は当該3点指定円弧を検出せず(S6) 、交差する
場合は、3点指定円弧の中心点と半径とを算出し(S3
)、その後当該円弧と前記検出範囲との交差を判定する
(S4)ものである。
(Means for Solving the Problems) In order to solve the above technical problems, the first invention provides three points defined by coordinate data of three points: a starting point, an intermediate point, and an ending point, as shown in FIG. Stores the specified arc as graphic data,
Displaying an arc passing through three points on a display device, and detecting the three-point specified arc when it intersects with a detection (pick) range defined as a rectangle (S5) In the arc detection method, displaying the three-point specified arc Calculate a rectangle that encompasses an arc from the coordinate data of three points, a start point, an intermediate point, and an end point generated on the device, without calculating the center point of the arc.si) Whether or not the rectangle intersects the detection range. (S2), and if they do not intersect, the three-point specified arc is not detected (S6); if they intersect, the center point and radius of the three-point specified arc are calculated (S3).
), and then it is determined whether the circular arc intersects with the detection range (S4).

一方、第二の発明は第2図に示すように、始点、中間点
、終点の3点の座標データで定義される3点指定円弧を
図形データとして格納する図形データ格納部1と、3点
指定円弧の検出等の指示を行う指示部8と、指示により
図形の表示を行う表示部2と、図形データに基づいて表
示を行う3点を通る円弧の中心点及び半径を算出する中
心点・半径算出部5と、表示された円弧と矩形として定
義される検出(ピック)範囲とが交差するか否かの判定
を行う交差判定部6とを有する3点指定円弧検出装置に
おいて、表示部2上に表示された3点指定円弧の始点、
中間点、終点の3点の座標データから円弧を包含する矩
形を、円弧の中心点を計算せずに算出する包含矩形算出
部4と、算出された矩形と検出範囲とが交差するか否か
を判定する矩形間交差判定部3と、当該判定部3により
交差すると判定された場合には、前記図形データに基づ
いて当該円弧の中心点及び半径の算出を行う中心点・半
径算出部5と、前記矩形間交差判定部3により交差しな
いと判定された場合には当該円弧を検出せず、交差する
と判定された場合には、前記交差判定部6によりさらに
交差すると判定された場合に当該円弧を検出するが、交
差しないと判定された場合には検出を行わない円弧検出
部7とを有するものである。
On the other hand, the second invention, as shown in FIG. An instruction unit 8 that issues instructions such as detecting a designated arc, a display unit 2 that displays a figure based on instructions, and a center point and radius that calculates the center point and radius of an arc that passes through three points to be displayed based on the figure data. In a three-point designated arc detection device that includes a radius calculation unit 5 and an intersection determination unit 6 that determines whether or not a displayed circular arc intersects with a detection (pick) range defined as a rectangle, the display unit 2 The starting point of the three-point designated arc displayed above,
An inclusive rectangle calculation unit 4 calculates a rectangle that includes the arc from coordinate data of three points, an intermediate point and an end point, without calculating the center point of the arc, and whether or not the calculated rectangle intersects with the detection range. a center point/radius calculation unit 5 which calculates the center point and radius of the circular arc based on the graphic data when the determining unit 3 determines that the rectangles intersect. , if the inter-rectangle intersection determination unit 3 determines that the rectangles do not intersect, the arc is not detected, and if it is determined that the rectangles intersect, the intersection determination unit 6 further determines that the arc intersects. However, if it is determined that the arcs do not intersect, the arc detection section 7 does not perform the detection.

(作用) 第−及び第二の発明の動作について説明する。(effect) The operation of the first and second inventions will be explained.

前記指示部8による3点指定円弧の検出の指示がなされ
ると、ステップS1で前記包含矩形算出部4は前記表示
部2に表示される3点指定円弧に関し、前記図形データ
格納部1に格納されている図形データに基づいて、当該
円弧を包含する矩形を円弧の中心点を計算せずに算出す
る。
When the instruction unit 8 instructs to detect a three-point designated arc, in step S1, the inclusive rectangle calculation unit 4 stores information regarding the three-point designated arc displayed on the display unit 2 in the graphic data storage unit 1. A rectangle that includes the arc is calculated based on the graphic data that has been created without calculating the center point of the arc.

ここで、「円弧の中心点を計算せずに算出するjことが
できる場合の一例を示す。
Here, we will show an example where it is possible to calculate the center point of a circular arc without calculating it.

第6図(a)、(b)、(c)、(d)に示すように、
3点指定円弧の始点(Xi、Yl)、中間点(X2.Y
2)、終点(X3.Y3)の位置関係が以下の条件を満
たす場合は、3点指定円弧の中心点と半径を求めなくて
も、3点指定円弧を包含する矩形を簡単に求めることが
できる。この矩形を利用することにより、明らかにピッ
クされない3点指定円弧を高速にピック対象から除外す
ることができ検出処理が高速になる。
As shown in Fig. 6 (a), (b), (c), (d),
Starting point (Xi, Yl), intermediate point (X2.Y) of a 3-point specified arc
2) If the positional relationship of the end points (X3.Y3) satisfies the following conditions, you can easily find the rectangle that includes the 3-point specified arc without finding the center point and radius of the 3-point specified arc. can. By using this rectangle, three-point specified arcs that are clearly not picked can be quickly excluded from the pick targets, and the detection process becomes faster.

(条件1) 中間点(X2.Y2)が原点になるように3点を次のよ
うに平行移動した時に、 始点(xi、yl)たたし、 xl=X1−X2. yl−Yl−Y2中間点(0,0
) 終点(x3.y3)ただし、 x3=X3−X2. y3−Y3−Y2となり、座標系
に対して、始点(x 1 、 y 1 )、終点(x3
.y3)の位置が対角となる位置に位置する時、つまり
、以下の4つの条件のうちどれかを満たす場合。
(Condition 1) When three points are translated in parallel as shown below so that the intermediate point (X2.Y2) becomes the origin, add the starting point (xi, yl), xl=X1-X2. yl-Yl-Y2 midpoint (0,0
) End point (x3.y3) However, x3=X3-X2. y3-Y3-Y2, and the starting point (x 1 , y 1 ) and the ending point (x3
.. When the position of y3) is located at a diagonal position, that is, when one of the following four conditions is satisfied.

■始点が第1象限、終点が第3象限に位置する場合(第
6図(a)) ■始点が第2象限、終点が第4象限に位置する場合(第
6図(b)) ■始点が第3象限、終点が第1象限に位置する場合(第
6図(C)) ■始点が第4象限、終点が第2象限に位置する場合(第
6図(d)) ここで、第7図に各象限を示す。尚、「条件を満たさな
い」3点指定円弧を第9図に示す。
■When the starting point is located in the 1st quadrant and the end point is located in the 3rd quadrant (Figure 6(a)) ■When the starting point is located in the 2nd quadrant and the ending point is located in the 4th quadrant (Figure 6(b)) ■Starting point When is located in the third quadrant and the end point is located in the first quadrant (Fig. 6 (C)) ■ When the starting point is located in the fourth quadrant and the end point is located in the second quadrant (Fig. 6 (d)) Here, Figure 7 shows each quadrant. Incidentally, a three-point designation arc that "does not satisfy the condition" is shown in FIG.

次に、以下のようにして3点指定円弧を包含する矩形を
求めることができる。
Next, a rectangle that includes the three-point designated arc can be found as follows.

(矩形の求め方) 簡単のため、中間点が原点にくるように3点を平行移動
して、中間点が原点に位置するものとして考える。実際
の矩形は以下で求めた矩形を逆に平行移動すれば求まる
(How to find a rectangle) For simplicity, assume that the three points are moved in parallel so that the midpoint is at the origin, and the midpoint is located at the origin. The actual rectangle can be found by translating the rectangle found below.

各条件の時、始点から中間点までの円弧部分(1)と中
間点から終点までの円弧部分(2)はそれぞれ、次の矩
形によって包含される。
Under each condition, the arc portion (1) from the start point to the midpoint and the arc portion (2) from the midpoint to the end point are each encompassed by the following rectangles.

円弧部分(1)を包含する矩形R1の最大X座標、最大
Y座標をRlxmax、 Rlymax、最小X座標、
最小Y座標をRlxmin、 Rlyminとし、この
矩形R1を、 (Rlxmin、 Rlymin)  −(Rlxma
x、 Rlymax)と表現し、同様にして、円弧部分
(2)を包含する矩形R3を、 (R3xmin、 R3ymin) −(R3xmax
、 R3ymax)と表現すると、 ■条件を満たす場合の矩形R1は始点 (x 1 、 y 1 )の座標成分xi、ylを使用
して求めることができる。
The maximum X coordinate and the maximum Y coordinate of the rectangle R1 that includes the arc portion (1) are Rlxmax, Rlymax, the minimum X coordinate,
The minimum Y coordinates are Rlxmin, Rlymin, and this rectangle R1 is (Rlxmin, Rlymin) - (Rlxma
x, Rlymax), and similarly, the rectangle R3 that includes the arc portion (2) is expressed as (R3xmin, R3ymin) - (R3xmax
, R3ymax), the rectangle R1 when the condition (1) is satisfied can be found using the coordinate components xi, yl of the starting point (x 1 , y 1 ).

xlとylのうち太き方をMlとすると、R1xmin
= OR1ymin= ORlxmax = M I 
  Rlymax = M 1となる。また、R3は、 X3と−y3のうち大きい方をM3とすると、 R3x+ntn = −M 3  R3ymin = 
−M 3R3xmax= OR3ymax= 0となる
If the thicker one of xl and yl is Ml, then R1xmin
= OR1ymin= ORlxmax = M I
Rlymax=M1. Also, R3 is as follows: If the larger of X3 and -y3 is M3, then R3x+ntn = -M 3 R3ymin =
-M3R3xmax=OR3ymax=0.

■条件を満たす場合の矩形R1は、始点(xi、yl)
の座標成分xi、ylを使用して求めることができる。
■When the conditions are met, the rectangle R1 is at the starting point (xi, yl)
It can be determined using the coordinate components xi and yl of .

Xlとylのうち大きい方をMlとすると、R1xmi
n=−MI   R1ymin=OR1xmax= O
Rlymin = M 1となる。また、矩形R3は、 X3と−y3のうち大きい方をM3とすると、 R3xmin= OR3ymin= −M 3R3xm
ax = M 3    R3ymax = 0となる
If the larger of Xl and yl is Ml, then R1xmi
n=-MI R1ymin=OR1xmax=O
Rlymin=M1. Also, rectangle R3 is as follows: If the larger of X3 and -y3 is M3, then R3xmin= OR3ymin= -M 3R3xm
ax=M3R3ymax=0.

■条件を満たす場合の矩形R1は、始点(xi、yl)
の座標成分xi、ylを使用して求めることができる。
■When the conditions are met, the rectangle R1 is at the starting point (xi, yl)
It can be determined using the coordinate components xi and yl of .

−xiと−y1のうち大きい方をMlとすると、 R1xmin=−MI   R1ymin=−MIR1
xmax=0.Rlymax−0 となる。また、矩形R3は、 x3とy3のうち大きい方をM3とすると、R3xmi
n= OR3ymin= OR3xmax = M 3
    R3ymax = M 3となる。
If the larger of -xi and -y1 is Ml, then R1xmin=-MI R1ymin=-MIR1
xmax=0. Rlymax-0. In addition, rectangle R3 is defined as R3xmi, where M3 is the larger of x3 and y3.
n= OR3ymin= OR3xmax = M 3
R3ymax=M3.

■条件を満たす場合の矩形R1は、始点(xi、yl)
の座標成分xi、ylを使用して求めることができる。
■When the conditions are met, the rectangle R1 is at the starting point (xi, yl)
It can be determined using the coordinate components xi and yl of .

xiと−y1のうち大きい方をMlとすると、R1xm
in= OR1ymin= −M IR1xmax= 
M I    R1ymax= 0となる。また、矩形
R3は、 X3とy3のうち大きい方をM3とすると、R3xmi
n= −M 3   R3ymin= OR3xmax
= OR3ymax= M 3となる。
If the larger of xi and -y1 is Ml, then R1xm
in= OR1ymin= -M IR1xmax=
M I R1ymax=0. In addition, rectangle R3 is defined as R3xmi, where M3 is the larger of X3 and y3.
n= −M 3 R3ymin= OR3xmax
=OR3ymax=M3.

ここで、上記条件を満たす場合に、どうして上記矩形で
円弧を包含することができるかを、■の上記の円弧部分
(1)について証明してみることにする、他の場合も同
様にして簡単にできる。
Here, we will try to prove how the above rectangle can encompass the circular arc when the above conditions are met, using the above circular arc part (1) of ■.Other cases can be easily applied similarly. Can be done.

中心(Cx、Cy)を通り、半径rの円の方程式は、 (x−Cx)2+(y−Cy)2−r2と表現できる。The equation of a circle passing through the center (Cx, Cy) and having radius r is: It can be expressed as (x-Cx)2+(y-Cy)2-r2.

円弧の中間点が原点を通ることから、つまり、x=y=
oが上式を満たすから、 Cx2+Cy2mr” という関係がある。
Since the midpoint of the arc passes through the origin, that is, x=y=
Since o satisfies the above formula, there is a relationship of "Cx2+Cy2mr".

だから、円の方程式は、 (x−Cx) 2+(y−Cy) 2=Cx2+Cy2
  式(2)■の条件を満たすから、この円の方程式は
、原点以外の点で、X≦0.y≦0となる点を通る。
Therefore, the equation of the circle is (x-Cx) 2+(y-Cy) 2=Cx2+Cy2
Since the condition of formula (2) (■) is satisfied, the equation of this circle is that at points other than the origin, X≦0. It passes through a point where y≦0.

これを満たすためには、Cx≧o、cy≦0または、C
x≦o、cy≧0でなければならない(ただし、Cx、
Cyは同時に0ではない)。
To satisfy this, Cx≧o, cy≦0 or C
x≦o, cy≧0 (however, Cx,
Cy is not 0 at the same time).

なぜならば、例えば、Cx≧o、cy≧0とすると、X
≧o、y≧0の場合、 (x−Cx) 2+ (y−Cy) 2<=Cx2+C
y2 であり、等号を満たすのは、x=y=0のときのみてあ
り、原点以外にX≧o、y≦0なる点をとおらない。
This is because, for example, if Cx≧o, cy≧0, then
If ≧o, y≧0, (x-Cx) 2+ (y-Cy) 2<=Cx2+C
y2, which satisfies the equality sign only when x=y=0, and does not pass through any point other than the origin where X≧o and y≦0.

式(2)をyについて解くと、 y=cyf   x  +Cy  −x−Cx  また
だし、Cx≧0、cy≦0 または、Cx≦0、cy≧0 ここでは簡単のために、Cx≧o、Cy≦0の場合につ
いて証明する。
Solving equation (2) for y, y=cyf Prove the case ≦0.

Cx≧0・cy≦0の場合、円弧部分(1)を表現する
方程式は、 y=Cy十  x  +Cy  −x−Cx) まただ
し、X≧o、y≧0    式(3)yの最大値はx=
cXの時であり、 y=cy+rτi7T℃7τ ≦Cy+1TC1:で1丁T (Cx>Cyであるから) =Cy+Cx−Cy =Cx よって、X≧Cxの場合、円弧上の点(x +y)につ
いて、y≦Xが成り立つ また、0≦x<Cxの場合は、式(3)のyは単調増加
なので、X、yの大きい方の値でおさえることができる
When Cx≧0・cy≦0, the equation expressing the circular arc part (1) is: y=Cyx+Cy−x−Cx) Also, X≧o, y≧0 Equation (3) Maximum value of y is x=
When cX, y=cy+rτi7T℃7τ ≦Cy+1TC1: 1 ton T (because Cx>Cy) =Cy+Cx-Cy =Cx Therefore, if X≧Cx, for a point (x + y) on the arc, If y≦X holds true and 0≦x<Cx, y in equation (3) is monotonically increasing, so the larger value of X and y can be used.

以上により■の条件を満たす場合の円弧部分(1)は円
弧上の点(x、y)の座標成分X。
According to the above, the arc portion (1) when the condition (■) is satisfied is the coordinate component X of the point (x, y) on the arc.

yのうち大きい方をMlとすると、 0≦X、y≦M1 となる。(証明終り) (条件2) また、第8図に示したように、3点指定円弧の始点と終
点が一致する場合は、始点と中間点を結ぶ線分が3点指
定円弧の直径となるので、次のような簡単な計算で中心
点を計算することができる。
If the larger one of y is Ml, then 0≦X, y≦M1. (End of proof) (Condition 2) Also, as shown in Figure 8, if the starting point and end point of a 3-point designated arc match, the line segment connecting the starting point and the midpoint becomes the diameter of the 3-point designated arc. Therefore, the center point can be calculated using the following simple calculation.

Cx=xl÷2 cy=y2÷2 この中心点と半径rから3点指定円弧を包含する矩形を
求める。
Cx=xl÷2 cy=y2÷2 Find a rectangle that includes the three-point designated arc from this center point and radius r.

半径は、次のような計算でもとめることができるが、 R=10玉7−[じ7τ 平方根計算を伴うので計算処理が遅い。そのため、次の
式によって半径を近似し、中心と半径から矩形を求める
The radius can be determined by the following calculation, but R = 10 balls 7 - [ji7τ Since it involves square root calculation, the calculation process is slow. Therefore, approximate the radius using the following formula and find a rectangle from the center and radius.

r=lcxl+Icy 矩形は(Cx−r、Cy−r)と(Cx+r。r=lcxl+Icy The rectangles are (Cx-r, Cy-r) and (Cx+r).

Cy+r)の2点を対角とする矩形となる。It becomes a rectangle with two points (Cy+r) as diagonal corners.

以上説明したように、第1図の流れ図のステップS1で
前記包含矩形算出部4により矩形が算出されると、ステ
ップS2に進み、前記矩形間交差判定部3は当該矩形と
検出範囲とが交差するが否かを判定する。
As explained above, when a rectangle is calculated by the inclusive rectangle calculating section 4 in step S1 of the flowchart of FIG. Determine whether or not.

交差しないと判定された場合には、ステップS6に進み
、円弧検出部7は当該3点円弧を検出せず、交差すると
判定した場合にはステップS3に進み、前記中心点・半
径算出部5により当該3点円弧の中心点と半径とを算出
する。
If it is determined that the three-point arc does not intersect, the process proceeds to step S6, and the arc detection section 7 does not detect the three-point arc; if it is determined that the three-point arc intersects, the process proceeds to step S3, and the center point/radius calculation section 5 The center point and radius of the three-point arc are calculated.

円弧の中心点及び半径が算出された後で、ステップS4
に進み、前記交差判定部6により当該円弧と前記検出範
囲との交差が判定され、ステップS5またはS6で、前
記円弧検出部7は当該判定結果に基づいて、当該円弧が
検出されるか否かの判定がなされることになる。
After the center point and radius of the arc are calculated, step S4
In step S5 or S6, the intersection determining unit 6 determines whether the arc intersects with the detection range, and in step S5 or S6, the arc detecting unit 7 determines whether or not the arc is detected based on the determination result. A judgment will be made.

(実施例〕 以下、本実施例の実施例について説明する。(Example〕 An example of this embodiment will be described below.

第3図に本実施例に係る図形処理システムの3点指定円
弧検出方法及び装置を実現する図形処理システムを示す
FIG. 3 shows a graphic processing system that implements the three-point designated arc detection method and apparatus of the graphic processing system according to this embodiment.

本実施例に係る3点指定円弧検出装置は始点、中間点、
終点の3点の座標データで定義される3点指定円弧を図
形データとして格納する図形データ格納部1としての主
記憶装置32の一部領域と、指示により図形の表示を行
う表示部2としての表示装置35及び画面に対応したイ
メージデータな格納するフレーム・メモリ34と、図形
データに基づいて表示を行う3点を通る円弧の中心点及
び半径を算出する中心点・半径算出部5としてのCPU
31及び主記憶装置32に記憶されたプログラムと、表
示された円弧と矩形として定義される検出(ピック)範
囲とが交差するか否かの判定を行う交差判定部6として
のCPU31及び主記憶装置32に記憶されたプログラ
ムと、表示装置35上に表示される3点指定円弧の始点
、中間点、終点の3点の座標データから円弧を包含する
矩形を、円弧の中心点を計算せずに算出する包含矩形算
出部3としてのCPU31及び主記憶装置32に記憶さ
れたプログラムと、3点指定円弧の検出や当該システム
に対するデータの入力等の種々の指示を行う前記指示部
8としての入力装置36と、バス33とを有するもので
ある。
The three-point designated arc detection device according to this embodiment includes a starting point, an intermediate point,
A part of the main storage device 32 serves as a figure data storage unit 1 that stores a three-point designation arc defined by the coordinate data of three end points as figure data, and a display unit 2 that serves as a display unit 2 that displays figures according to instructions. A frame memory 34 that stores image data corresponding to the display device 35 and the screen, and a CPU as a center point/radius calculation unit 5 that calculates the center point and radius of an arc passing through three points to be displayed based on the graphic data.
31 and the main storage device 32 as an intersection determination unit 6 that determines whether or not the program stored in the main storage device 32 intersects with the displayed circular arc and a detection (pick) range defined as a rectangle. 32 and the coordinate data of the starting point, middle point, and end point of the 3-point designated arc displayed on the display device 35 to create a rectangle that encompasses the arc without calculating the center point of the arc. A CPU 31 as the inclusive rectangle calculation unit 3 to calculate and a program stored in the main storage device 32, and an input device as the instruction unit 8 to issue various instructions such as detecting a three-point designated arc and inputting data to the system. 36 and a bus 33.

本システムにより図形を表示するためには、当該図形処
理システムに対して、入力装置36を使用して図形デー
タに関する情報を入力する。すると、図形処理システム
のCPU (中央処理装置)31は主記憶装置32に記
憶されている図形処理システムのプログラムに従って動
作し、入力された情服から図形データを作成する。CP
U31は作成した図形データを主記憶装置32上の図形
データリストに追加して、表示装置35にこの図形デー
タを表示する。例えば、3点指定円弧を表示する場合は
、まず、CPU31に対して3点指定円弧を入力するこ
とを指示してから、始点、中間点、終点の3点を入力す
る。すると、CPU31は第10図に示すような3点指
定円弧を表現する図形データを作成し、図形データリス
トに追加してから、表示装置35に表示する。
In order to display a graphic using this system, information regarding graphic data is input to the graphic processing system using the input device 36. Then, the CPU (central processing unit) 31 of the graphic processing system operates according to the program of the graphic processing system stored in the main storage device 32, and creates graphic data from the input information. C.P.
U31 adds the created graphic data to the graphic data list on the main storage device 32 and displays this graphic data on the display device 35. For example, when displaying a three-point designated arc, first instruct the CPU 31 to input the three-point designated arc, and then input the three points: a starting point, an intermediate point, and an end point. Then, the CPU 31 creates graphic data representing a three-point designated arc as shown in FIG. 10, adds it to the graphic data list, and displays it on the display device 35.

次にオペレータが図形を選択する操作を行った時の検出
処理について説明する。ここで、3点指定円弧を表現す
る図形データ内の始点、中間点、終点の順番は図形処理
システムで一意に定まっていれば、どのような順でも良
い。
Next, the detection process when the operator performs an operation to select a figure will be described. Here, the order of the starting point, intermediate point, and end point in the graphic data representing the three-point designated arc may be in any order as long as it is uniquely determined by the graphic processing system.

オペレータが表示装置35上の図形を選択するには、第
11図に示すように、入力装置36を操作して、入力装
置36に追随して動作する表示装置35上のカーソルを
選択したい図形上に移動する。次に入力装置36を操作
して図形処理システムに対して、図形を選択したいこと
を通知する。
In order for the operator to select a figure on the display device 35, as shown in FIG. Move to. Next, the input device 36 is operated to notify the graphic processing system that a graphic is to be selected.

通常マウスのボタンを押し下げするなどによって行う。This is usually done by pressing down on a mouse button.

CPU31は入力装置36から図形検出要求操作を受は
取ると第12図に示すようなピック範囲の計算を行う。
When the CPU 31 receives a graphic detection request operation from the input device 36, it calculates the pick range as shown in FIG.

第12図の流れ図に従って、ピック範囲の求め方につい
て説明する。
The method of determining the pick range will be explained according to the flowchart of FIG. 12.

CPU31は入力装置36て検出要求操作(例えば、マ
ウスのボタン押し下げ)が行われた時のカーソルの座標
値(Px、Py)を取り込み、レジスタに記憶する。次
に、主記憶装置32に記憶しであるピック範囲の幅Wと
高さHからピック範囲の存在する座標を次式に従って計
算する。
The CPU 31 uses the input device 36 to take in the coordinate values (Px, Py) of the cursor when a detection request operation (for example, pressing down a mouse button) is performed, and stores them in a register. Next, the coordinates where the pick range exists are calculated from the width W and height H of the pick range stored in the main storage device 32 according to the following formula.

Pxmin  =Px−W Pymin =Py−H Pxmax  =Px+W Pymax =Py+H このようにして、決定したピック範囲を使用して以下、
検出処理に入るが、ピック範囲の指定方法は何も上記の
ような方法に限ったことではなく、例えば、入力装置3
6から2点を指定させて、その2点を対角とする矩形を
ピック範囲とする方法もある。いずれの場合にしても、
CPU31はピック範囲の最大座標(Pxmax 、 
Pymax )と最小座標(Pxmin 、 Pymi
n )を求めてレジスタに記憶する。
Pxmin =Px-W Pymin =Py-H Pxmax =Px+W Pymax =Py+H Using the pick range determined in this way, the following is done.
The detection process begins, but the method of specifying the pick range is not limited to the method described above; for example, the input device 3
There is also a method of specifying two points from 6 and setting a rectangle with diagonal corners of those two points as the pick range. In any case,
The CPU 31 determines the maximum coordinates of the pick range (Pxmax,
Pymax ) and minimum coordinates (Pxmin , Pymi
n ) and store it in a register.

次にCPU31はこのピック範囲内に存在する図形デー
タを図形データリストの中から検索する。この処理を第
13図の流れ図をもとに説明する。
Next, the CPU 31 searches the graphic data list for graphic data existing within this pick range. This process will be explained based on the flow chart of FIG.

CPU31は図形データリストの先頭の図形データから
順に取り出して、取り出した図形データがピック範囲の
座標内に存在するかどうかを判定する。この判定処理は
図形データの種類(例えば、線分、多角形、文字列、円
、円弧、楕円、楕円弧など)によって異なる。例えば円
(中心点と半径のデータから成る)の場合は次のように
して、ピック範囲内に存在するかを判定する。
The CPU 31 sequentially extracts graphic data from the top of the graphic data list and determines whether the extracted graphic data exists within the coordinates of the pick range. This determination process differs depending on the type of graphic data (eg, line segment, polygon, character string, circle, arc, ellipse, elliptical arc, etc.). For example, in the case of a circle (consisting of center point and radius data), it is determined whether it exists within the pick range as follows.

円弧を包含する最小の正方形領域をその中心点(Cx、
Cy)と半径rから求め、この正方形((Cx−r、C
y−r)+  (Cx+r、Cy+r)の2点をそれぞ
れ左下、右上の頂点とする)がピック範囲と交わるかど
うかを判定することにより、明らかにピックされない円
をピックの対象から除外し、除外できなかった円に対し
ては円を多角形近似して多角形の各辺についてピック範
囲と交わるかどうかを判定し一本でもピックされる場合
は検出し、−本もピックされない場合は検出しないとい
う方法によって円のピック判定を行う。本発明は、この
図形データの種類ごとの判定処理のうち、3点指定円弧
がピック範囲内に存在するかどうかを判定する検出処理
に関するものである。この3点指定円弧の検出処理は[
3点指定円弧検出処理コとして詳細に後述する。
The smallest square area that encompasses the arc is defined as its center point (Cx,
Cy) and radius r, and calculate this square ((Cx-r, C
By determining whether or not the two points y-r)+ (Cx+r, Cy+r) are the lower left and upper right vertices intersect with the pick range, circles that are clearly not to be picked are excluded from the pick target. For circles that could not be picked, approximate the circle as a polygon and determine whether each side of the polygon intersects with the pick range. If even one is picked, it is detected, and if no books are picked, it is not detected. The circle pick judgment is performed using the following method. The present invention relates to a detection process for determining whether or not a three-point designated arc exists within a pick range, among the determination processes for each type of graphic data. The detection process for this three-point designated arc is [
The three-point designated arc detection process will be described in detail later.

上記のようにして、1つ1つの図形データごとに検出処
理を順に行い、ピック範囲内に存在する図形データが判
明した時点で検出処理を終了する。存在しない場合は、
図形データリスト中の最後の図形データまで処理してか
ら終了する。
As described above, the detection process is sequentially performed for each piece of graphic data, and ends when the graphic data existing within the pick range is found. If it doesn't exist,
The process ends after processing up to the last graphic data in the graphic data list.

[3点指定円弧検出処理] 以下、第14図の流れ図にそって、3点指定円弧がピッ
ク範囲と交差するかどうかを判定する処理について説明
する。
[3-Point Designated Arc Detection Process] The process of determining whether the 3-point designated arc intersects the pick range will be described below along the flowchart of FIG. 14.

実際に円弧がピック範囲と交差するかどうかを判定する
のには、円弧上の点がピック範囲内に存在するかどうか
を判定する必要がある。しかし、数十個の図形の中でピ
ックされるのはたった1個の図形であり、はとんどの図
形はピック範囲から遠く離れた位置に存在している。そ
のため、ピック処理を高速化するために、図形を点また
は線分に展開して、1個1個ピック範囲と交差するかど
うか判定する前に図形を包含する矩形を求めて、この矩
形とピック範囲が交差するかどうかを判定することによ
って、図形がピック範囲と交差する可能性があるかどう
かを判定する。つまり、矩形がピック範囲と交差しなけ
れば、図形もピック範囲と交差しない。矩形がピック範
囲と交差するかどうかの判定はたった4回の比較であり
、図形を点または線分に展開してピック範囲と交差する
かどうかを判定する方法に比べてはるかに高速である。
To determine whether an arc actually intersects the pick range, it is necessary to determine whether a point on the arc exists within the pick range. However, only one figure among dozens of figures is picked, and most of the figures are located far away from the pick range. Therefore, in order to speed up the picking process, the shape is expanded into points or line segments, and before determining whether each point or line segment intersects with the pick range, a rectangle that includes the shape is found, and this rectangle and the pick Determine whether a shape can intersect the pick range by determining whether the ranges intersect. In other words, if the rectangle does not intersect with the pick range, the shape will not intersect with the pick range. Determining whether a rectangle intersects the pick range requires only four comparisons, which is much faster than determining whether the rectangle intersects the pick range by expanding the shape into points or line segments.

そのため3点指定円弧という図形の場合も、3点指定円
弧を包含する矩形を求めて、この矩形がピック範囲と交
差するかどうかを判定する。矩形がピック範囲と交差し
なければ、3点指定円弧もピック範囲と交差しない。矩
形がピック範囲と交差する場合は、3点指定円弧を円弧
上の点または線分に展開してピック範囲と交差するかど
うかを判定する。
Therefore, even in the case of a figure called a three-point designated arc, a rectangle that includes the three-point designated arc is found, and it is determined whether this rectangle intersects with the pick range. If the rectangle does not intersect with the pick range, the three-point specified arc will not intersect with the pick range. If the rectangle intersects with the pick range, the three-point designated arc is developed into points or line segments on the arc to determine whether the rectangle intersects with the pick range.

従来、この3点指定円弧を包含する矩形を求めるには、
3点指定円弧の中心点と半径を求めなければ方法がなか
った。つまり、3点指定円弧の中心点(Cx、Cy)と
半径rを計算した後、xmin= Cx −r ymin= Cy −r xmax= Cx + r ymax= Cy + r という矩形を計算して、この矩形を利用していた。
Conventionally, to find a rectangle that includes this three-point specified arc,
There was no way to do this without finding the center point and radius of the three-point specified arc. In other words, after calculating the center point (Cx, Cy) and radius r of the 3-point designated arc, calculate the rectangle xmin= Cx -r ymin= Cy -r xmax= Cx + r ymax= Cy + r, and then I was using a rectangle.

しかし、3点指定円弧の3点から中心点と半径を計算す
る処理はとても複雑であるために、矩形を使用してピッ
クされる可能性がない3点指定日弧を除外する処理速度
が高速にできない。そのために、3点から中心点と半径
を求めることなく、円弧を包含する矩形を求める方法が
必要である。
However, since the process of calculating the center point and radius from the three points of a 3-point arc is very complex, the processing speed of excluding 3-point arcs that are unlikely to be picked using a rectangle is faster. I can't. For this purpose, a method is needed to find a rectangle that includes a circular arc without finding the center point and radius from three points.

その方法が以下の方法である。The method is as follows.

[3点指定円弧を包含する矩形を求める] (第15図
、第16図) まず、はじめに、以下の計算を簡単にするために、指定
された3点を中間点が原点になるように平行移動する。
[Find a rectangle that includes the three-point specified arc] (Figures 15 and 16) First, in order to simplify the calculations below, the three specified points are parallelized so that the midpoint becomes the origin. Moving.

指定された3点をそれぞれ、始点(Xi、Yl)、中間
点(X2.Y2)、終点(X3.Y3)、そして、中間
点を原点に平行移動した後の3点をそれぞれ、始点(x
i、yl)、中間点(x2.y2)、終点(x3、ys
)とすると、 xl=X1−X2 yl =Y 1−Y2 x2=0 y2=O x3=X3−X2 y3=Y3−Y2 となる。
The three specified points are respectively the starting point (Xi, Yl), the intermediate point (X2.Y2), and the ending point (X3.Y3), and the three points after moving the intermediate point parallel to the origin are the starting point (x
i, yl), intermediate point (x2.y2), end point (x3, ys
), then xl=X1-X2 yl = Y1-Y2 x2=0 y2=O x3=X3-X2 y3=Y3-Y2.

次に、平行移動した後の3点を使用して3点指定円弧を
包含する矩形をもとめる。特にこの3点が次の条件を満
たす場合は、3点から第19図のような中心点を求める
処理をする必要がなく、少ない処理で矩形を求めること
ができるので高速である。
Next, a rectangle that includes the three-point specified arc is obtained using the three points after parallel translation. In particular, if these three points satisfy the following conditions, there is no need to perform the process of determining the center point from the three points as shown in FIG. 19, and the rectangle can be determined with less processing, resulting in high speed.

[条件コ ■始点が第1象限、終点が第3象限に位置する場合 つまり、xi>=Oかつyt>=oかつx3<=Oかつ
ysく=0の場合 ■始点が第2象限、終点が第4象限に位置する場合、 つまり、xi<=0かつyl>=0かつx3>=0かっ
ys<=oの場合 ■始点が第3象限、終点が第1象限に位置する場合 つまり、xi<=Oかつyl<=Oかつx3>=0かっ
ys>=oの場合 ■始点が第4象限、終点が第2象限に位置する場合 つまり、xi>=0かつy+<=oかつx 3 < =
 Oかつy3〉=0の場合■始点と終点の座標が同一で
ある。この場合3点指定円弧は完全な円となる つまり、x 1 =x3かつy1=y3の場合(1)■
の条件の場合 この条件を満たす3点指定円弧は第61J(a)に示す
ような円弧である。
[Conditions ■ When the starting point is located in the 1st quadrant and the ending point is in the 3rd quadrant.In other words, when xi>=O and yt>=o and x3<=O and ysku=0 ■The starting point is in the 2nd quadrant and the ending point If is located in the fourth quadrant, that is, if xi<=0 and yl>=0 and x3>=0 or ys<=o ■If the starting point is located in the third quadrant and the end point is located in the first quadrant In other words, When xi<=O and yl<=O and x3>=0 or ys>=o ■When the starting point is located in the fourth quadrant and the end point is located in the second quadrant In other words, xi>=0 and y+<=o and x 3 <=
When O and y3>=0 (2) The coordinates of the starting point and the ending point are the same. In this case, the three-point designated arc becomes a perfect circle.In other words, if x 1 = x3 and y1 = y3, (1) ■
In the case of the condition, the three-point designated arc that satisfies this condition is the arc shown in No. 61J(a).

第1象限の部分の円弧を包含する矩形R1の最大X座標
、最大Y座標をRlxmax、 Rlymax、最小座
標、最小Y座標をRlxmin、 Rlyminとし、
コノ矩形R1を、 (Rlxmin、 Rlymin) −(Rlxmax
、 Rlymax)と表現する。
The maximum X coordinate and maximum Y coordinate of rectangle R1 that includes the arc of the first quadrant are Rlxmax and Rlymax, and the minimum coordinate and minimum Y coordinate are Rlxmin and Rlymin,
Let's define the rectangle R1 as (Rlxmin, Rlymin) - (Rlxmax
, Rlymax).

すると、■条件を満たす場合の矩形R1は、始点(xi
、yl)の座標成分xi、ylを使用して求めることが
できる。
Then, when the condition ■ is satisfied, the rectangle R1 has the starting point (xi
, yl) using the coordinate components xi, yl.

Xlとylのうち大きい方をMlとすると、R1xmi
n= OR1ymin= ORlxmax= M I 
    R1ymax= M 1となる。
If the larger of Xl and yl is Ml, then R1xmi
n= OR1ymin= ORlxmax= M I
R1ymax=M1.

同様にして、第3象限の部分の円弧を包含する矩形R3
を、 (R3xmin、 R3ymin) −(R3xmax
、 R3max )と表現する。
Similarly, a rectangle R3 that includes the arc of the third quadrant
, (R3xmin, R3ymin) −(R3xmax
, R3max).

x3−y3のうち大きい方をM3とすると、R3xmi
n = −M 3   R3ymin = −M 3R
3xmax= OR3ymax = 0となる。
If the larger of x3-y3 is M3, then R3xmi
n = -M3R3ymin = -M3R
3xmax=OR3ymax=0.

ここで求めた2つの矩形R1、R3を使用して、3点指
定円弧がピック範囲と交差する可能性があるかどうかを
判定する。この実施例ではR1,R3矩形を一つの矩形
Rとして判定するが、R1とR3の矩形を別々にピック
範囲と比較して判定しても良い。
Using the two rectangles R1 and R3 obtained here, it is determined whether there is a possibility that the three-point designated arc intersects with the pick range. In this embodiment, the R1 and R3 rectangles are determined as one rectangle R, but the R1 and R3 rectangles may be separately compared and determined with the pick range.

R1,R3矩形から次のようにして矩形Rを求める。A rectangle R is obtained from the R1 and R3 rectangles as follows.

Rxm1n =R3xmin Rymin  ==R3ymin Rxmax  =R1xmax Rymax =R1ymax 同様にして条件■■■を満たす3点指定円弧を包含する
矩形Rをそれぞれ次のように求める。
Rxm1n =R3xmin Rymin ==R3ymin Rxmax =R1xmax Rymax =R1ymax Similarly, rectangles R including the three-point designated arcs that satisfy the condition ■■■ are determined as follows.

(2)条件■の場合 この条件を満たす3点指定円弧は第6図(b)に示すよ
うな円弧である。
(2) In the case of condition (2), the three-point designation arc that satisfies this condition is an arc as shown in FIG. 6(b).

第2象限の部分の円弧を包含する矩形R1の最大座標、
最大Y座標をRlxmax、 Rlymax、最小X座
標、最小Y座標をRlxmin、 Rlyminとし、
この矩形R1を、 (Rlxmin 、 Rlymin) −(Rlxma
x、 Rlymax)と表現する。
The maximum coordinates of a rectangle R1 that includes the arc of the second quadrant,
The maximum Y coordinate is Rlxmax, Rlymax, the minimum X coordinate, and the minimum Y coordinate are Rlxmin, Rlymin,
This rectangle R1 is defined as (Rlxmin, Rlymin) - (Rlxma
x, Rlymax).

すると、■条件を満たす場合の矩形R1は、始点(xi
、yl)の座標成分xi、ylを使用して求めることが
できる。
Then, when the condition ■ is satisfied, the rectangle R1 has the starting point (xi
, yl) using the coordinate components xi, yl.

xlとylのうち大きい方をMlとすると、R1xmi
n= −M I   R1ymin= ORlxmax
= OR1ymax= M 1となる。
If the larger of xl and yl is Ml, then R1xmi
n= −M I R1ymin= ORlxmax
=OR1ymax=M1.

同様にして、第4象限の部分の円弧を包含する矩形R3
を (R3xmin、 R3ymin) −(R3xmax
、 R3ymax)と表現する。
Similarly, a rectangle R3 that includes the arc of the fourth quadrant
(R3xmin, R3ymin) −(R3xmax
, R3ymax).

X3と−y3のうち大きい方をM3とすると、R3xm
in= OR3ymin= −M 3R3xmax= 
M 3    R3ymax= 0となる。
If the larger of X3 and -y3 is M3, then R3xm
in= OR3ymin= −M 3R3xmax=
M3R3ymax=0.

ここで求めた、2つの矩形R1,R3を使用して、3点
指定円弧がピック範囲と交差する可能性があるかどうか
を判定する。この実施例R1゜R3を矩形を一つの矩形
Rとして判定するが、R1とR3の矩形を別々にピック
範囲と比較して判定しても良い。
Using the two rectangles R1 and R3 obtained here, it is determined whether there is a possibility that the three-point specified arc intersects with the pick range. In this example, R1°R3 is determined by assuming that the rectangles are one rectangle R, but the rectangles R1 and R3 may be determined by separately comparing them with the pick range.

R1,R3の矩形から次のようにして矩形Rを求める。A rectangle R is found from the rectangles R1 and R3 as follows.

Rxm1n =R1xmin Rymin =R3ymin Rxmax =R3xmax Rymax  =R1ymax (3)条件■の場合 この条件を満たす3点指定円弧は第6図(c)に示すよ
うな円弧である。
Rxm1n =R1xmin Rymin =R3ymin Rxmax =R3xmax Rymax =R1ymax (3) In the case of condition (2), the three-point designation arc that satisfies this condition is an arc as shown in FIG. 6(c).

第3象限の部分の円弧を包含する矩形R1の最大X座標
、最大Y座標をRlxmax、 Rlymax、最小X
座標、最小Y座標をRlxmin、 Rlyminとし
、この矩形R1を、 (Rlxmin、 Rlymin) −(Rlxmax
、 Rlymax)と表現する。
The maximum X coordinate and the maximum Y coordinate of the rectangle R1 that includes the arc of the third quadrant are Rlxmax, Rlymax, and the minimum X
Coordinates, the minimum Y coordinates are Rlxmin, Rlymin, and this rectangle R1 is (Rlxmin, Rlymin) - (Rlxmax
, Rlymax).

すると、■条件を満たす場合の矩形R1は、始点(xi
、yl)の座標成分xi、ylを使用して求めることが
できる。
Then, when the condition ■ is satisfied, the rectangle R1 has the starting point (xi
, yl) using the coordinate components xi, yl.

xiと−y1のうち大きい方をMlとすると、 R1xmin=−MI   RIymin=−MIR1
xmax= OR1ymax= 0となる。
If the larger of xi and -y1 is Ml, then R1xmin=-MI RIymin=-MIR1
xmax=OR1ymax=0.

同様にして、第3象限の部分の円弧を包含する矩形R3
を、 (R3xmin、 R3ymin) −(R3xmax
、 R3ymax)と表現する。
Similarly, a rectangle R3 that includes the arc of the third quadrant
, (R3xmin, R3ymin) −(R3xmax
, R3ymax).

X3とy3のうち大きい方をM3とすると、R3xmi
n= OR3ymin= OR3xmax = M 3
    R3ymax = M 3となる。
If the larger of X3 and y3 is M3, then R3xmi
n= OR3ymin= OR3xmax = M 3
R3ymax=M3.

ここで求めた、2つの矩形R1,R3を使用して、3点
指定円弧がピック範囲と交差する可能性があるかどうか
を判定する。この実施例ではR1,R3の矩形を一つの
矩形Rとして判定するがR1とR3の矩形を別々にピッ
ク範囲と比較して判定しても良い。
Using the two rectangles R1 and R3 obtained here, it is determined whether there is a possibility that the three-point specified arc intersects with the pick range. In this embodiment, the rectangles R1 and R3 are determined as one rectangle R, but the rectangles R1 and R3 may be separately compared with the pick range for determination.

Rxm1n =R1xmin Rymin =R1ymin Rxmax =R3xmax Rymax =R3ymax (4)条件■の場合 この条件を満たす3点指定円弧は第6図(d)に示すよ
うな円弧である。
Rxm1n =R1xmin Rymin =R1ymin Rxmax =R3xmax Rymax =R3ymax (4) In the case of condition (2), the three-point designation arc that satisfies this condition is an arc as shown in FIG. 6(d).

第4象限の部分の円弧を包含する矩形R1の最大X座標
、最大Y座標をRlxmax、 Rlymax、最小X
座標、最小Y座標をRlxmin、 Rlyminとし
、この矩形R1を、 (Rlxmin、 Rlymin) −(Rlxmax
、 Rlymax)と表現する。
The maximum X coordinate and the maximum Y coordinate of the rectangle R1 that includes the arc of the fourth quadrant are Rlxmax, Rlymax, and the minimum X
Coordinates, the minimum Y coordinates are Rlxmin, Rlymin, and this rectangle R1 is (Rlxmin, Rlymin) - (Rlxmax
, Rlymax).

すると、■条件を満たす場合の矩形R1は、始点(x 
1 、 y 1 )の座標成分xi、ylを使用して求
めることができる。
Then, when the condition ■ is satisfied, the rectangle R1 has the starting point (x
1, y1) using the coordinate components xi, yl.

Xlと−y1のうち大きい方をMlとすると、R1xm
in= OR1ymin= −M IR1xmax= 
M I    R1ymax= 0となる。
If the larger of Xl and -y1 is Ml, then R1xm
in= OR1ymin= -M IR1xmax=
M I R1ymax=0.

同様にして、第2象限の部分の円弧を包含する矩形R,
3を (R3xmin、 R3ymin) −(R3xmax
、 R3ymax)と表現する。
Similarly, a rectangle R that includes the arc of the second quadrant,
3 as (R3xmin, R3ymin) −(R3xmax
, R3ymax).

X3とy−3のうち大きい方をM3とすると、R3xm
in=−M3   R3ymin=OR3xmax= 
OR3ymax= M 3となる。
If the larger of X3 and y-3 is M3, then R3xm
in=-M3 R3ymin=OR3xmax=
OR3ymax=M3.

ここて求めた、2つの矩形R1,R3を使用して、3点
指定円弧がピック範囲と交差する可能性があるかどうか
を判定する。この実施例ではR1,R3の矩形を一つの
矩形Rとして判定するが、R1とR3の矩形を別々にピ
ック範囲と比較して判定しても良い。
Using the two rectangles R1 and R3 obtained here, it is determined whether there is a possibility that the three-point designated arc intersects with the pick range. In this embodiment, the rectangles R1 and R3 are determined as one rectangle R, but the rectangles R1 and R3 may be determined by comparing them separately with the pick range.

R1,R3の矩形から次のようにして矩形Rを求める。A rectangle R is found from the rectangles R1 and R3 as follows.

Rxm1n =R3xmin Rymin =R1ymin Rxmax =R1xmax Rymax =R3ymax (5)次に条件■を満たす場合、この場合3点指定円弧
は完全な円となる。この条件を満たす3点指定円弧は第
8図に示すような円弧である。始点と終点が一致するの
で、中間点と始点を結ぶ線分は3点指定円弧の直径とな
る。よって、中間点と始点を結ぶ線分の中間点が円の中
心ということになる。
Rxm1n = R3xmin Rymin = R1ymin Rxmax = R1xmax Rymax = R3ymax (5) Next, when condition (2) is satisfied, the three-point designated arc becomes a perfect circle. A three-point designation arc that satisfies this condition is an arc as shown in FIG. Since the starting point and the ending point coincide, the line segment connecting the intermediate point and the starting point becomes the diameter of the three-point designated arc. Therefore, the center of the circle is the midpoint of the line segment connecting the midpoint and the starting point.

中心点(Cx、Cy)は、 Cx=x l÷2 cy=y+÷2 と、完全円になる場合に限って、円の中心点は簡単な計
算で求めることができる。
The center point (Cx, Cy) is as follows: Cx=x l÷2 cy=y+÷2 Only when the circle is a perfect circle, the center point of the circle can be determined by simple calculation.

あとは、半径rを求めれば、円を包含する矩形をもとめ
ることができる。
After that, by finding the radius r, you can find a rectangle that encompasses the circle.

半径は、次のような計算でもとめることができるが、 r=  X + y 平方根計算を伴なうので遅い、そのため、本実施例では
、次の式によって半径を近似して、中心点と半径から矩
形Rを求める。
The radius can be determined by the following calculation, but it is slow because it involves calculating the square root of r= Find the rectangle R from.

r=lcxl+lcy Rxmin=Cx−r Rymin =Cy −r Rxmax=Cx+r Rymax=Cy+r (6)以上、■〜■の条件を満たさない場合(第9図)
は、従来のように、第17図及び第19図の流れ図に従
って、中心点と半径を求め、上と同じように、中心と半
径から矩形Rを求める。
r=lcxl+lcy Rxmin=Cx-r Rymin=Cy-r Rxmax=Cx+r Rymax=Cy+r (6) If the above conditions do not satisfy ■~■ (Figure 9)
As in the conventional method, the center point and radius are determined according to the flowcharts in FIGS. 17 and 19, and the rectangle R is determined from the center and radius in the same manner as above.

[矩形とピック範囲の交差判定コ (第18図)ここで
求めた矩形Rは、中間点を原点とした矩形であるので、
中間点が元の位置になるように、今度は逆に平行移動す
る。
[Detection of intersection between rectangle and pick range (Figure 18) Since the rectangle R obtained here is a rectangle whose origin is at the midpoint,
Now move in parallel in the opposite direction so that the midpoint is at the original position.

Xm1n = Rxm1n + X 2Ymin= R
ymin + Y 2 Xmax= Rxmax 十X 2 Ymax= Rymax + Y 2 この矩形(Xmin、Ymin) −(Xmax、Ym
ax)がピック範囲(Pxmin 、 Pymin) 
−(Pxmax 、 Pymax )と交差するかどう
かを判定する。
Xm1n = Rxm1n + X 2Ymin = R
ymin + Y 2 Xmax = Rxmax 10X 2 Ymax = Rymax + Y 2 This rectangle (Xmin, Ymin) - (Xmax, Ym
ax) is the pick range (Pxmin, Pymin)
- Determine whether it intersects with (Pxmax, Pymax).

Xmax< Pxmin または、 Xm1n>Pxmax または、 Ymax< Pymin または、 Ym in > Pymax を満たす場合は、この矩形はピック範囲と交差しない。Xmax< Pxmin or Xm1n>Pxmax or Ymax<Pymin or Ym in > Pymax If , this rectangle does not intersect the pick range.

上記条件をすべて満たさない場合、この矩形はピック範
囲と交差する。
If all of the above conditions are not met, this rectangle intersects the pick range.

矩形Rがピック範囲と交差しない場合は、この3点指定
円弧はピック範囲と交差しないのでピックされない。矩
形Rがピック範囲と交差する場合は、この3点指定円弧
はピック範囲と交差する可能性があるので、3点指定円
弧の中心点と半径を求めて((5)、(6)の場合のよ
うに、すてに中心点が求められている場合は、半径のみ
計算する)、従来の方法と同様に円弧を点または、線分
に展開してピック範囲と交差するかどうかを判定する。
If the rectangle R does not intersect with the pick range, this three-point designated arc does not intersect with the pick range and is not picked. If rectangle R intersects the pick range, this 3-point specified arc may intersect with the pick range, so find the center point and radius of the 3-point specified arc (in the case of (5) and (6) (If the center point has already been found, only the radius is calculated.) As with the traditional method, expand the arc into points or line segments to determine whether it intersects the pick range. .

一つでも交差すれば、この3点指定円弧はピックされる
。一つも交差しない場合はピックされない。
If even one of them intersects, this three-point designated arc is picked. If none intersect, it will not be picked.

〔発明の効果〕〔Effect of the invention〕

本発明により、3点指定円弧は中心点を計算することな
しに、3点指定円弧を包含する矩形を求めることができ
るようにしている。
According to the present invention, it is possible to obtain a rectangle that includes a three-point specified arc without calculating the center point of the three-point specified circular arc.

したがって、明らかに検出されない3点指定円弧を検出
対象から、高速に除外することか可能になり、結果とし
て検出処理が高速化される。
Therefore, it becomes possible to quickly exclude three-point specified arcs that are not clearly detected from detection targets, and as a result, the detection process is speeded up.

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

第1図は第一の発明の原理流れ図、第2図は第二の発明
に係る原理ブロック図、第3図は実施例に係る図形処理
システムを示すブロック図、第4図は始点、中間点及び
終点等を示す図、第5図は3点指定円弧検出テスト画面
を示す図、第6図は実施例に係る「条件を満たす」3点
指定円弧を示す図、第7図は各象限を示す図、第8図は
実施例に係る始点と終点とが一致する場合を示す図、第
9図は実施例に係る「条件を満たさない」3点指定円弧
を示す図、第10図は実施例に係る図形データリストを
示す図、第11図は実施例に係る表示装置の画面を示す
図、第12図は実施例に係るピック範囲を求める処理流
れ図、第13図は実施例に係る図形データの検索処理流
れ図、第14図は実施例に係る3点指定円弧検出処理流
れ図、第15.16図は実施例に係る3点指定円弧を包
含する矩形を求める処理流れ図、第17図は円弧の中心
点及び半径を求める処理流れ図(従来も同様)、第18
図は実施例に係る矩形とピック範囲と の交差判定処理
流れ図、第19図は円弧の中心点及び半径を求める処理
流れ図(従来も同様)、第20図は円弧の半径及び中心
点を求める説明図、及び第21図は従来例に係る流れ図
である。
Fig. 1 is a principle flowchart of the first invention, Fig. 2 is a principle block diagram of the second invention, Fig. 3 is a block diagram showing a graphic processing system according to an embodiment, and Fig. 4 is a starting point and an intermediate point. FIG. 5 is a diagram showing a 3-point designated arc detection test screen, FIG. 6 is a diagram showing a 3-point designated arc that “satisfies the conditions” according to the example, and FIG. 7 is a diagram showing each quadrant. Figure 8 is a diagram showing the case where the starting point and end point match according to the example, Figure 9 is a diagram showing a three-point designated arc that "does not satisfy the condition" according to the example, and Figure 10 is a diagram showing the case where the starting point and end point match according to the example. FIG. 11 is a diagram showing the screen of the display device according to the example. FIG. 12 is a process flowchart for determining the pick range according to the example. FIG. 13 is a diagram showing the graphic data list according to the example. Data search processing flowchart, FIG. 14 is a flowchart of a three-point specified arc detection process according to the embodiment, FIGS. 15 and 16 are processing flowcharts for finding a rectangle that includes a three-point specified arc according to the embodiment, and FIG. 17 is a circular arc Processing flowchart for finding the center point and radius (same as before), No. 18
The figure is a process flowchart for determining the intersection between a rectangle and a pick range according to the embodiment, Figure 19 is a process flowchart for determining the center point and radius of an arc (same as before), and Figure 20 is an explanation for determining the radius and center point of an arc. 21 and 21 are flowcharts according to the conventional example.

Claims (1)

【特許請求の範囲】 1)始点、中間点、終点の3点の座標データで定義され
る3点指定円弧を図形データとして格納し、3点を通る
円弧を表示装置に表示し、矩形として定義される検出(
ピック)範囲と交差する場合に当該3点指定円弧の検出
を行う(S5)円弧検出方法において、 3点指定円弧を表示装置上に表示させる始点、中間点、
終点の3点の座標データから円弧を包含する矩形を円弧
の中心点を計算せずに算出し(S1)、 当該矩形と検出範囲とが交差するか否かを判定し(S2
)、 交差しない場合は当該3点指定円弧を検出せず(S6)
、 交差する場合は、3点指定円弧の中心点と半径とを算出
し(S3)、 その後当該円弧と前記検出範囲との交差を判定する(S
4)ことを特徴とする3点指定円弧検出方法。 2)始点、中間点、終点の3点の座標データで定義され
る3点指定円弧を図形データとして格納する図形データ
格納部(1)と、3点指定円弧の検出等の種々の指示を
行う指示部(8)と、指示により図形の表示を行う表示
部(2)と、図形データに基づいて表示を行う3点を通
る円弧の中心点及び半径を算出する中心点・半径算出部
(5)と、表示された円弧と矩形として定義される検出
(ピック)範囲とが交差するか否かの判定を行う交差判
定部(6)とを有する3点指定円弧検出装置において、 表示部(2)上に表示させる3点指定円弧の始点、中間
点、終点の3点の座標データから円弧を包含する矩形を
、円弧の中心点を計算せずに算出する包含矩形算出部(
4)と、 算出された矩形と検出範囲とが交差するか否かを判定す
る矩形間交差判定部(3)と、 当該判定部(3)により交差すると判定された場合には
、前記図形データに基づいて当該円弧の中心点及び半径
の算出を行う中心点・半径算出部(5)と、 前記矩形間交差判定部(3)により交差しないと判定さ
れた場合には当該円弧を検出せず、交差すると判定され
た場合には、前記交差判定部(6)により、さらに交差
すると判定された場合に当該円弧を検出するが、交差し
ないと判定された場合には検出を行わない円弧検出部(
7)とを有することを特徴とする3点指定円弧検出装置
[Claims] 1) A three-point designated arc defined by the coordinate data of three points, a starting point, an intermediate point, and an end point, is stored as graphic data, and the arc passing through the three points is displayed on a display device and defined as a rectangle. detected (
(S5) In the arc detection method, the three-point specified arc is detected when it intersects with the range, the starting point, intermediate point, and
A rectangle that includes the arc is calculated from the coordinate data of the three end points without calculating the center point of the arc (S1), and it is determined whether the rectangle intersects the detection range (S2
), if they do not intersect, the three-point specified arc is not detected (S6)
, If they intersect, calculate the center point and radius of the three-point designated arc (S3), and then determine whether the arc intersects with the detection range (S3).
4) A three-point designated arc detection method. 2) A graphic data storage unit (1) that stores, as graphic data, a 3-point specified arc defined by the coordinate data of the 3 points of the starting point, intermediate point, and end point, and performs various instructions such as detecting the 3-point specified arc. An instruction section (8), a display section (2) that displays a figure according to instructions, and a center point/radius calculation section (5) that calculates the center point and radius of an arc passing through the three points to be displayed based on the figure data. ) and an intersection determination unit (6) that determines whether or not the displayed arc intersects with a detection (pick) range defined as a rectangle. ) An inclusive rectangle calculation unit that calculates a rectangle that encompasses the arc from the coordinate data of the starting point, middle point, and end point of the three-point designated arc without calculating the center point of the arc (
4), an inter-rectangle intersection determination unit (3) that determines whether or not the calculated rectangle and the detection range intersect, and when the determination unit (3) determines that they intersect, the graphic data a center point/radius calculation unit (5) that calculates the center point and radius of the circular arc based on the above, and a rectangular intersection determination unit (3) that does not detect the circular arc if it is determined that the rectangles do not intersect. , if it is determined that the arc intersects, the intersection determination section (6) detects the arc when it is further determined that the arc intersects; however, if it is determined that the arc does not intersect, the arc is not detected; (
7) A three-point designation arc detection device comprising:
JP2048440A 1990-02-28 1990-02-28 Three-point specified circular arc detection method and device Expired - Fee Related JP2536948B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2048440A JP2536948B2 (en) 1990-02-28 1990-02-28 Three-point specified circular arc detection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2048440A JP2536948B2 (en) 1990-02-28 1990-02-28 Three-point specified circular arc detection method and device

Publications (2)

Publication Number Publication Date
JPH03250373A true JPH03250373A (en) 1991-11-08
JP2536948B2 JP2536948B2 (en) 1996-09-25

Family

ID=12803414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2048440A Expired - Fee Related JP2536948B2 (en) 1990-02-28 1990-02-28 Three-point specified circular arc detection method and device

Country Status (1)

Country Link
JP (1) JP2536948B2 (en)

Also Published As

Publication number Publication date
JP2536948B2 (en) 1996-09-25

Similar Documents

Publication Publication Date Title
JP2804224B2 (en) Network diagram drawing method and system
JP3857328B2 (en) Display editing system
JP3015262B2 (en) 3D shape data processing device
JP3186241B2 (en) Figure editing device
JP3357760B2 (en) Character / graphic input editing device
JP3239356B2 (en) Figure editing device
JPH03250373A (en) Method and device for detecting 3-point designated circular arc
JP4730033B2 (en) Display drawing creation program, method and apparatus
JP3363611B2 (en) Graphic information processing method and apparatus
JP2746981B2 (en) Figure generation method
JPH1115994A (en) Method for creating curved surface
JP2746980B2 (en) Figure generation method
JPH1097646A (en) Method and device for obtaining three dimensional space coordinate value in three-dimensional space display system
JPH02250178A (en) Graphic generator
JP3703814B2 (en) How to create a circle
JP2936546B2 (en) Character centering device and processing device equipped with this device
JPS63118882A (en) Image editing device
JPH08335277A (en) Graphic processor
JPH01220070A (en) Normalized graphic inputting device
JPH04308886A (en) Map information input device
JP2001357076A (en) Image display method for cad system
JPS63118881A (en) Image editing device
JPH04128919A (en) Pointing cursor display method and data processor
JPH01154192A (en) Figure detector
JPH01258073A (en) Graphic input device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees