JPH0785301A - Information processor - Google Patents
Information processorInfo
- Publication number
- JPH0785301A JPH0785301A JP5180910A JP18091093A JPH0785301A JP H0785301 A JPH0785301 A JP H0785301A JP 5180910 A JP5180910 A JP 5180910A JP 18091093 A JP18091093 A JP 18091093A JP H0785301 A JPH0785301 A JP H0785301A
- Authority
- JP
- Japan
- Prior art keywords
- point
- bezier curve
- segment
- designated point
- triangular
- 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
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】この発明は、情報処理装置に係
り、詳細には、ベジェ曲線の描画機能を備えた情報処理
装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus, and more particularly to an information processing apparatus having a Bezier curve drawing function.
【0002】[0002]
【従来の技術】パーソナルコンピュータやオフィスコン
ピュータ、ワークテーション、電子出版システム、ワー
ドプロセッサその他各種の情報処理装置が、オフィス、
工場、設計事務所、家庭等に普及し、広く使用されてい
る。このような情報処理装置において、道路地図や建築
図面等の各種図面を作成する場合、任意形状の曲線を描
画することが必要となり、そのための方法として、ベジ
ェ関数によるベジェ曲線を使用する場合がある。ベジェ
曲線は、4つの制御点により描画するもので、始点、終
点上を通過し、両者間に指定される2つのコントロール
ポイントの内側を通過する曲線である。2. Description of the Related Art Personal computers, office computers, workstations, electronic publishing systems, word processors and other various information processing devices are used in offices,
Widely used in factories, design offices, homes, etc. When creating various drawings such as road maps and architectural drawings in such an information processing apparatus, it is necessary to draw a curve of an arbitrary shape, and as a method therefor, a Bezier curve using a Bezier function may be used. . The Bezier curve is drawn by four control points, and is a curve that passes over the start point and the end point and passes inside two control points designated between them.
【0003】一方、このような各種の図形処理機能を備
えた情報処理装置では、既に作成した所定の図形を特定
する処理が必要になる。例えば、既に作成した図形の削
除、移動、複写、変形等の各種処理を行う場合に、以下
に説明する図形の特定処理が行われる。まず、操作者が
ディスプレイに表示された複数のベジェ曲線のうち特定
したいベジェ曲線上にカーソルを移動して指定点を入力
する。そして、情報処理装置がこの指定点上のベジェ曲
線を認識する。認識は、ベジェ曲線を含む所定領域内に
指定点が有るか否かを判断する領域内判定を行い、領域
内に含む場合には、更にベジェ曲線上に指定点があるか
否かを判断する線上判定を行う。ここで、線上判定は、
セグメント(入力されたアンカーポイント間の最小単位
のベジェ曲線)の分割を繰り返し、各アンカーポイント
を結ぶ直線で近似し、各直線に対してその直線を含む矩
形領域内に指定点が含まれるか否かを判断する。指定点
が含まれる場合、指定点と直線との距離を計算し、許容
範囲内であれば、そのベジェ曲線上に指定点があるもの
と判定している。On the other hand, in the information processing apparatus having such various graphic processing functions, it is necessary to perform a process of specifying a predetermined graphic that has already been created. For example, when performing various processes such as deleting, moving, copying, and transforming an already created figure, the figure specifying process described below is performed. First, the operator moves a cursor on a Bezier curve to be specified among a plurality of Bezier curves displayed on the display and inputs a designated point. Then, the information processing device recognizes the Bezier curve on this designated point. For recognition, it is determined whether or not there is a designated point in a predetermined region including the Bezier curve, and if it is included in the region, it is further determined whether or not there is a designated point on the Bezier curve. Make a linear decision. Here, the line determination is
Repeatedly divide the segment (the smallest unit Bezier curve between the input anchor points) and approximate it with a straight line connecting each anchor point, and for each straight line, whether the specified point is included in the rectangular area containing the straight line To judge. If the designated point is included, the distance between the designated point and the straight line is calculated, and if it is within the allowable range, it is determined that the designated point is on the Bezier curve.
【0004】[0004]
【発明が解決しようとする課題】ところで、ベジェ曲線
の特定処理における線上判定は、時間を要する。これ
は、ベジェ曲線の分割によるセグメントの直線近似に時
間を要すると共に、近似した各直線を含む矩形領域内外
の判定と距離の計算にも時間を必要とし、これらの各処
理をセグメントに対して分割した直線の数だけ処理を行
う必要があるためである。この線上判定処理は、領域内
判定において指定点が領域内にあると判定される全ての
ベジェ曲線に対して行われる。ところが、従来の領域内
判定処理は、指定点が存在するか否かの判定をベジェ曲
線を含む矩形領域に対して行っているため、線上判定処
理の対象が増加することが多かった。The line determination in the Bezier curve specifying process requires time. This takes time to approximate the straight line of the segment by dividing the Bezier curve, and it also takes time to determine the inside / outside of the rectangular area including each approximated straight line and to calculate the distance. This is because it is necessary to process as many as the number of straight lines that have been formed. This on-line determination processing is performed on all Bezier curves whose specified points are determined to be within the area in the area determination. However, in the conventional intra-region determination process, since the determination as to whether or not the designated point exists is performed on the rectangular region including the Bezier curve, the target of the line determination process often increases.
【0005】図14は、従来の線上判定の対象となるベ
ジェ曲線を決定する領域判定処理を説明するためのもの
である。この図14は、多くの図形を重ねて各図形の内
部を少しづつ色を変えながら塗りつぶすことにより立体
感を表現するような場合の例である。このような図にお
いて、例えば、指定点89(図面上、×で示す。)が図
示の位置に指定されたとする。この場合、図14(b)
に示すように、各ベジェ曲線90a〜94aを含む矩形
領域90b〜94bに対して領域内判定を行うと、全て
の矩形領域に対して指定点89が含まれることとなる。
このため、全てのベジェ曲線90a〜94aに対して、
長時間を要する線上判定処理を行う必要があり、全体と
して更に処理時間が掛かっていた。このように、従来の
図形特定処理における、領域内判定は、矩形領域によっ
て行われていたために、領域内と判定される場合が増
え、その結果時間の掛かる線上判定処理の対象も増加
し、結果として高速処理を行うことができなかった。FIG. 14 is a diagram for explaining a conventional area determination process for determining a Bezier curve to be a target of line determination. FIG. 14 is an example of a case where many figures are overlapped and the inside of each figure is painted while changing the color little by little to express a stereoscopic effect. In such a figure, for example, it is assumed that the designated point 89 (indicated by X in the drawing) is designated at the position shown. In this case, FIG. 14 (b)
As shown in, when the in-region determination is performed on the rectangular regions 90b to 94b including the Bezier curves 90a to 94a, the specified point 89 is included in all the rectangular regions.
Therefore, for all Bezier curves 90a to 94a,
It is necessary to perform the on-line determination processing that requires a long time, and the processing time is longer as a whole. In this way, in the conventional graphic identification processing, the area determination is performed by the rectangular area, so that it is more often determined that it is within the area, and as a result, the target of the line determination processing that takes time also increases. As a result, high speed processing could not be performed.
【0006】そこで、本発明は、線上判定処理の対象を
少なくすることで、図形の特定を高速で行うことが可能
な情報処理装置を提供することを目的とする。Therefore, an object of the present invention is to provide an information processing apparatus capable of specifying a graphic at high speed by reducing the number of objects of line determination processing.
【0007】[0007]
【課題を解決するための手段】請求項1記載の発明で
は、図1に原理的に示すように、曲線が通過する2つの
アンカーポイントと、通過しない2つのコントールポイ
ントの4つの制御点からベジェ曲線を描画する情報処理
装置において、描画されたベジェ曲線を特定するための
指定点を入力する入力手段1と、ベジェ曲線のセグメン
ト上の所定点を算出し、この所定点、始点、一方のコン
トールポイントからなる三角形領域、および、前記所定
点、終点、他方のコントールポイントからなる三角形領
域を算出する三角形領域算出手段2と、この三角形領域
算出手段2で算出された2つの三角形領域に前記入力手
段1から入力された指定点が含まれるか否かを判断する
第1判断手段3と、この第1判断手段3で2つの三角形
領域に指定点が含まれると判断されたセグメントに対し
て、所定距離内に前記指定点が存在するか否かを判断す
る第2判断手段4と、この第2判断手段4で指定点が所
定距離内に存在すると判断されたセグメントを含むベジ
ェ曲線を特定するベジェ曲線特定手段5とを、情報処理
装置に具備させて前記目的を達成する。According to a first aspect of the present invention, as shown in principle in FIG. 1, there are four control points, two anchor points through which a curve passes and two control points that do not pass through. In an information processing apparatus for drawing a curve, an input means 1 for inputting a specified point for specifying a drawn Bezier curve and a predetermined point on a segment of the Bezier curve are calculated, and the predetermined point, the starting point, or one of the control points is calculated. A triangular area composed of points and a triangular area calculating means 2 for calculating a triangular area composed of the predetermined point, the end point and the other control point, and the input means for inputting the two triangular areas calculated by the triangular area calculating means 2. The first judging means 3 for judging whether or not the designated point inputted from 1 is included, and the designated points are included in the two triangular areas by the first judging means 3. With respect to the segment judged to be present, the second judging means 4 for judging whether or not the designated point exists within a predetermined distance, and the second judging means 4 judges that the designated point exists within the predetermined distance. The Bezier curve specifying means 5 for specifying the Bezier curve including the selected segment is provided in the information processing apparatus to achieve the above object.
【0008】請求項2記載の発明では、図2に原理的に
示すように、請求項1記載の情報処理装置において、セ
グメントの4つの制御点を含む矩形領域を算出する矩形
領域算出手段6と、この矩形領域算出手段6で算出され
た矩形領域に前記入力手段1から入力された指定点が含
まれるか否かを判断する第3判断手段7とを備え、前記
三角形領域算出手段2は、前記矩形領域に指定点が含ま
れると前記第3判断手段7で判断されたセグメントに対
して三角形領域を算出する。According to the second aspect of the invention, as shown in principle in FIG. 2, in the information processing apparatus according to the first aspect, a rectangular area calculating means 6 for calculating a rectangular area including four control points of a segment is provided. The triangular area calculating means 2 is provided with a third judging means 7 for judging whether or not the rectangular area calculated by the rectangular area calculating means 6 includes the designated point input from the input means 1. A triangular area is calculated for the segment judged by the third judging means 7 when the rectangular area includes a designated point.
【0009】[0009]
【作用】請求項1記載の情報処理装置では、入力手段1
から指定点が入力されると、三角形領域算出手段2がそ
の指定点と4つの制御点からなる2つの三角形領域を算
出し、この三角形領域に指定点が含まれるか否かを第1
判断手段3で判断する。指定点が三角形領域に含まれる
場合、第2判断手段4が指定点とセグメントと所定距離
内に存在するか否かを判断し、存在すれば、ベジェ曲線
特定手段5がそのセグメントを含むベジェ曲線を特定す
る。In the information processing apparatus according to claim 1, the input means 1
When the designated point is input from, the triangular area calculation means 2 calculates two triangular areas consisting of the designated point and four control points, and first determines whether or not the designated area is included in this triangular area.
Judgment is made by the judging means 3. When the designated point is included in the triangular area, the second determination means 4 determines whether or not the designated point and the segment are within a predetermined distance, and if there is, the Bezier curve identification means 5 includes the Bezier curve including the segment. Specify.
【0010】請求項2記載の情報処理装置では、セグメ
ントの4つの制御点を含む矩形領域を矩形領域算出手段
6で算出し、その矩形領域に入力手段1から入力された
指定点が含まれると第3判断手段7で判断された場合
に、前記三角形領域算出手段2が三角形領域を算出す
る。In the information processing apparatus according to the second aspect, the rectangular area including the four control points of the segment is calculated by the rectangular area calculating means 6, and the rectangular area includes the designated point input from the input means 1. When judged by the third judging means 7, the triangular area calculating means 2 calculates a triangular area.
【0011】[0011]
【実施例】以下、本発明の情報処理装置における一実施
例を図3ないし図13を参照して詳細に説明する。図3
は第1〜第3の実施例における情報処理装置のハード構
成を表したものである。この図1に示すように、情報処
理装置は、本実施例によるベジェ曲線描画処理等の各種
処理動作を行うCPU(中央処理装置)11を備えてい
る。このCPU11には、データバス等のバスライン1
3を介して、ROM15、RAM17、画像メモリ1
9、入力装置21、スキャナ23、プリンタ25、ディ
スプレイ27、通信制御部29の各部が接続されてい
る。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the information processing apparatus of the present invention will be described in detail below with reference to FIGS. Figure 3
Shows the hardware configuration of the information processing apparatus in the first to third embodiments. As shown in FIG. 1, the information processing apparatus includes a CPU (central processing unit) 11 that performs various processing operations such as Bezier curve drawing processing according to this embodiment. The CPU 11 includes a bus line 1 such as a data bus.
3 through ROM15, RAM17, image memory 1
9, an input device 21, a scanner 23, a printer 25, a display 27, and a communication control unit 29 are connected.
【0012】ROM15は、装置全体をCPU11で制
御するための各種プログラムや、各種データが格納され
たリード・オンリ・メモリである。このROM13に
は、本実施例によるベジェ曲線の特定処理プログラム等
の図形処理プログラムや、ベジェ関数、その他各種デー
タ等が格納されている。RAM17は、CPU11で行
われる各種処理動作において使用されるワーキングメモ
リとして使用され、また各種データの保存に使用される
ランダム・アクセス・メモリである。このRAM17に
は、図形処理により描画される、直線や各種図形に対す
る座標値や図形の種類を特定する図形描画データが格納
される。また、本実施例によるベジェ曲線描画処理で自
動設定されたコントールポイントと、入力されたアンカ
ーポイントもベジェ曲線描画データとしてRAM17に
格納されるようになっている。なお、本実施例による各
種動作を行うためのプログラムやデータは、フロッピー
ディスク等の他の記憶媒体からRAM17にインストー
ルし、RAM17からプログラム等を読みだして動作す
るようにしてもよい。The ROM 15 is a read only memory in which various programs for controlling the entire apparatus by the CPU 11 and various data are stored. The ROM 13 stores a graphic processing program such as a Bezier curve specifying processing program according to the present embodiment, a Bezier function, and other various data. The RAM 17 is a random access memory used as a working memory used in various processing operations performed by the CPU 11 and used for storing various data. The RAM 17 stores graphic drawing data for specifying a coordinate value and a graphic type for a straight line and various graphics drawn by graphic processing. Further, the control points automatically set in the Bezier curve drawing processing according to the present embodiment and the input anchor points are also stored in the RAM 17 as Bezier curve drawing data. The programs and data for performing various operations according to this embodiment may be installed in the RAM 17 from another storage medium such as a floppy disk, and the programs and the like may be read from the RAM 17 to operate.
【0013】画像メモリ19は、画像データを記憶する
ものであり、RAM17に格納されている図形描画デー
タで描画される図形が格納され、この画像メモリ19に
格納されるデータが、プリンタ25やディスプレイ27
に出力されるようになっている。入力装置21は、ポイ
ンティングデバイスとしてのマウス211やキーボード
213等の各種入力装置を備えている。また、入力装置
21には、図示しないタブレットやデジタイザ等の各種
入力装置も接続が可能になっている。スキャナ23は、
画像データを読み込む入力装置で、読み込まれた画像デ
ータは、画像メモリ19に格納されるようになってい
る。プリンタ25およびディスプレイ27は、図形描画
データに従って画像メモリ19に展開された図形データ
を出力する装置である。プリンタ25としては、ドット
プリンタ、レーザプリンタ、XYプロッタ等の各種装置
が使用される。また、ディスプレイ27としては、CR
Tディスプレイや、液晶ディスプレイ等の各種ディスプ
レイが使用される。The image memory 19 stores image data, stores graphics drawn by the graphic drawing data stored in the RAM 17, and the data stored in the image memory 19 is stored in the printer 25 or the display. 27
It is designed to be output to. The input device 21 includes various input devices such as a mouse 211 as a pointing device and a keyboard 213. In addition, various input devices such as a tablet and a digitizer (not shown) can be connected to the input device 21. The scanner 23
The input device for reading image data stores the read image data in the image memory 19. The printer 25 and the display 27 are devices that output the graphic data expanded in the image memory 19 according to the graphic drawing data. As the printer 25, various devices such as a dot printer, a laser printer, and an XY plotter are used. Also, as the display 27, CR
Various displays such as T displays and liquid crystal displays are used.
【0014】通信制御部29は、LAN(ローカル・エ
リア・ネットワーク)、ファクシミリ通信網、ISDN
(サービス総合ディジタル網)等の各種通信網を介し
て、パーソナルコンピュータやオフィスコンピュータ、
ワークテーション、電子出版システム、ワードプロセッ
サその他各種の情報処理装置や、異機種装置と接続され
ている。この通信制御部29を介して他の情報処理装置
間において、図形描画データ等の各種データの通信が行
われるようになっている。The communication control unit 29 includes a LAN (local area network), a facsimile communication network, and an ISDN.
Personal computers, office computers, etc. via various communication networks such as (service integrated digital network)
It is connected to work stations, electronic publishing systems, word processors and other various information processing devices, and devices of different models. Communication of various data such as graphic drawing data is performed between other information processing devices via the communication control unit 29.
【0015】次に、このように構成された実施例の動作
について説明する。 〔ベジェ曲線描画処理の原理〕図4はベジェ曲線による
曲線の描画状態を表したものである。この図4に示すよ
うに、4つの制御点を構成するアンカーポイントP0、
P3、コントールポイントP1、P2のうち、始点P
0、終点P3を通り、2つのコントールポイントP1、
P2の方向と距離によって決定されるベジェ曲線L0が
描画されることとなる。このベジェ曲線L0は、次の3
次ベジェ関数B(t)によって演算される。 B(t)=(1−t)3 ・P0 +3(1−t)2 ・t・P1 +3(1−t)・t2 ・P2+t3 ・P3 ここで、0≦t≦1である。Next, the operation of the embodiment thus constructed will be described. [Principle of Bezier Curve Drawing Process] FIG. 4 shows a drawing state of a curve by a Bezier curve. As shown in FIG. 4, anchor points P0, which constitute four control points,
Of P3 and control points P1 and P2, the starting point P
0, end point P3, two control points P1,
The Bezier curve L0 determined by the direction and distance of P2 will be drawn. This Bezier curve L0 is
It is calculated by the next Bezier function B (t). B (t) = (1- t) 3 · P0 +3 (1-t) 2 · t · P1 +3 (1-t) · t 2 · P2 + t 3 · P3 where a 0 ≦ t ≦ 1.
【0016】次にベジェ曲線の特定処理動作について説
明する。 〔動作の概要〕本実施例によるベジェ曲線の特定処理
は、操作者によってマウス211から指定点89が入力
されると、その指定点89上のベジェ曲線を特定する。
本実施例では、この入力された指定点89の領域内判定
を、ベジェ曲線を描画するアンカーポイントP0、P
3、コントールポイントP1、P2および、そのベジェ
曲線のt=0.5の点P4からなる、2つの三角形領域
に対して領域内判定を行う。Next, the operation of identifying the Bezier curve will be described. [Summary of Operation] In the Bezier curve specifying process according to the present embodiment, when the operator inputs the specified point 89 from the mouse 211, the Bezier curve on the specified point 89 is specified.
In the present embodiment, the determination of the input designated point 89 within the area is performed by the anchor points P0 and P that draw the Bezier curve.
3. The in-region determination is performed on two triangular regions including the control points P1 and P2 and the point P4 of the Bezier curve at t = 0.5.
【0017】図5から図12は、ベジェ曲線の特定処理
動作を説明するためのものである。図5に示すように、
3本の曲線L1、L2、L3が既に描画され、ディスプ
レイ27に表示されているものとする。そして、これら
の各曲線のうち、操作者が曲線L2を特定すべくマウス
211等の操作によって指定点89を入力した場合の、
情報処理装置による曲線L2の特定処理動作について説
明する。CPU11は、指定点89が入力されたか否か
を監視しており、図12に示すように、指定点89が入
力されると(ステップ1;Y)、パラメータn、mをそ
れぞれ1に設定する(ステップ2)。そして、図6に示
すように、ディスプレイ27に表示されている各曲線L
1、L2、L3を含む最小の矩形領域Q1、Q2、Q3
を計算し、RAM17に格納しておく(ステップ3)。
なお、これら各矩形領域は、曲線の描画時に予め計算し
ておき、その図形を示すデータと共に矩形領域を示すデ
ータをRAM17に格納しておくようにしてもよい。こ
の場合、CPU11は、RAM17から、各曲線を含む
最小の矩形領域を計算しておく。5 to 12 are for explaining the Bezier curve specifying processing operation. As shown in FIG.
It is assumed that the three curves L1, L2, L3 have already been drawn and displayed on the display 27. Then, in the case where the operator inputs the designated point 89 by operating the mouse 211 or the like to specify the curve L2 among these curves,
A specific processing operation of the curve L2 by the information processing device will be described. The CPU 11 monitors whether or not the designated point 89 has been input. As shown in FIG. 12, when the designated point 89 is input (step 1; Y), the parameters n and m are set to 1 respectively. (Step 2). Then, as shown in FIG. 6, each curve L displayed on the display 27 is
Smallest rectangular area Q1, Q2, Q3 containing 1, L2, L3
Is calculated and stored in the RAM 17 (step 3).
Note that each of these rectangular areas may be calculated in advance when drawing a curve, and the data indicating the rectangular area may be stored in the RAM 17 together with the data indicating the figure. In this case, the CPU 11 calculates the smallest rectangular area including each curve from the RAM 17.
【0018】そして、CPU11は、RAM17に格納
した矩形領域Qnを読み出し、その矩形領域Qn内に指
定点89があるか否かを順次判断する(ステップ4)。
矩形領域Qnに指定点89が含まれる場合(ステップ
4;Y)、図7に示すように、そのベジェ曲線Lnのセ
グメントLnmを構成する4つの制御点、すなわち、2
つのアンカーポイント(始点、終点)と2つのコントー
ルポイントを含む最小の矩形領域Rnmを算出する(ス
テップ5)。CPU11は、算出した矩形領域Rnmに
指定点89が含まれるか否かを判断する(ステップ
6)。指定点89が含まれる場合(ステップ6;Y)、
そのベジェ曲線Lnmをt=0.5で分割する点tnm
を計算する(ステップ7)。Then, the CPU 11 reads out the rectangular area Qn stored in the RAM 17 and sequentially judges whether or not the designated point 89 exists in the rectangular area Qn (step 4).
When the rectangular region Qn includes the designated point 89 (step 4; Y), as shown in FIG. 7, the four control points forming the segment Lnm of the Bezier curve Ln, that is, 2
A minimum rectangular area Rnm including one anchor point (start point and end point) and two control points is calculated (step 5). The CPU 11 determines whether or not the designated point 89 is included in the calculated rectangular area Rnm (step 6). When the designated point 89 is included (step 6; Y),
Point tnm at which the Bezier curve Lnm is divided at t = 0.5
Is calculated (step 7).
【0019】図8はベジェ曲線L0をt=0.5で分割
する点tnmを表したものである。例えば、図8に示す
4つの制御点P0、P1、P2、P3で定義される3次
ベジェ曲線L0は形状を変えることなく2つの3次ベジ
ェ曲線に分割することができる。すなわち、ベジェ曲線
L0は、4点P0、P4、P7、P9で定義される3次
ベジェ曲線L1および4点P9、P8、P6、P3で定
義される3次ベジェ曲線L2に分割できる。ここで点t
nmは、制御点P9が該当する。ここで、 P4=(P0+P1)/2 P5=(P1+P2)/2 P6=(P2+P3)/2 P7=(P4+P5)/2=(P0+2P1+P2)/
4 P8=(P5+P6)/2=(P1+2P2+P3)/
4 P9=(P7+P8)/2=〔P0+3(P1+P2)
+P3〕/4 である。このように3次ベジェ曲線は、分割を繰り返し
再帰的に適用することで、際限なく細分することができ
るという性質をもっている。FIG. 8 shows a point tnm at which the Bezier curve L0 is divided at t = 0.5. For example, the cubic Bezier curve L0 defined by the four control points P0, P1, P2, and P3 shown in FIG. 8 can be divided into two cubic Bezier curves without changing the shape. That is, the Bezier curve L0 can be divided into a cubic Bezier curve L1 defined by four points P0, P4, P7 and P9 and a cubic Bezier curve L2 defined by four points P9, P8, P6 and P3. Where point t
The control point P9 corresponds to nm. Here, P4 = (P0 + P1) / 2 P5 = (P1 + P2) / 2 P6 = (P2 + P3) / 2 P7 = (P4 + P5) / 2 = (P0 + 2P1 + P2) /
4 P8 = (P5 + P6) / 2 = (P1 + 2P2 + P3) /
4 P9 = (P7 + P8) / 2 = [P0 + 3 (P1 + P2)
+ P3] / 4. As described above, the cubic Bezier curve has a property that it can be subdivided endlessly by repeatedly applying the division recursively.
【0020】CPU11は、点tnmを算出すると、図
9に示すように、2つの三角形領域P0、P1、tnm
と、tnm、P2、P3の2つの三角形領域Snmを算
出し、その三角形領域Snm内に指定点89があるか否
かを判断する(ステップ8)。指定点89が三角形領域
Snm内にある場合(ステップ8;Y)、そのセグメン
トLnm(図9では、セグメントL22)について、従
来と同様に、線上判定処理を行う(ステップ9)。な
お、本実施例における線上判定処理では、セグメントL
nmを256分割したアンカーポイントを直線で結ぶこ
とにより近似する。CPU11は、線上判定処理によ
り、近似した直線と指定点との距離が所定の許容値内に
有るか否かを判断し、許容値内であれば(ステップ1
0)、そのセグメントLnmを含む曲線Lnを、特定す
ると共に、ディスプレイ27に所定の表示をして(ステ
ップ11)、特定処理を終了する。When the CPU 11 calculates the point tnm, the two triangular areas P0, P1 and tnm are calculated as shown in FIG.
Then, two triangular areas Snm of tnm, P2, and P3 are calculated, and it is determined whether or not the designated point 89 is within the triangular area Snm (step 8). When the designated point 89 is within the triangular area Snm (step 8; Y), the line determination processing is performed for that segment Lnm (segment L22 in FIG. 9) as in the conventional case (step 9). In addition, in the line determination processing in the present embodiment, the segment L
It is approximated by connecting anchor points obtained by dividing nm by 256 with straight lines. The CPU 11 determines whether or not the distance between the approximated straight line and the designated point is within a predetermined tolerance value by the line determination processing, and if it is within the tolerance value (step 1
0), the curve Ln including the segment Lnm is specified, and a predetermined display is performed on the display 27 (step 11), and the specifying process ends.
【0021】ステップ6、ステップ8、および、ステッ
プ10における判断がNの場合、CPU11は、mが最
終値か否かを判断する(ステップ12)。mが最終値で
ない場合(ステップ12;N)、mに1を加えて(ステ
ップ13)、ステップ5以降の処理を次のセグメントL
nmについて行う。ここで、ステップ6の判断がNの場
合は、矩形領域Rnmに指定点89が含まれない場合で
あり、例えば、図10に示す矩形領域R11や矩形領域
R13が該当する。また、ステップ8の判断がNの場合
は、矩形領域Rnmに指定点89が含まれるが、三角形
領域Snm内に指定点89が含まれない場合であり、例
えば、図10に示す矩形領域R12に対する三角形領域
S12(図11参照)が該当する。When the judgments at step 6, step 8 and step 10 are N, the CPU 11 judges whether or not m is the final value (step 12). If m is not the final value (step 12; N), 1 is added to m (step 13), and the processing from step 5 is performed on the next segment L.
nm. Here, when the determination in step 6 is N, it means that the designated point 89 is not included in the rectangular area Rnm, and for example, the rectangular area R11 and the rectangular area R13 shown in FIG. When the determination in step 8 is N, the designated point 89 is included in the rectangular area Rnm, but the designated point 89 is not included in the triangular area Snm. For example, for the rectangular area R12 shown in FIG. The triangular area S12 (see FIG. 11) corresponds to this.
【0022】そして、CPU11は、ステップ12およ
びステップ4の判断において、mが最終値である場合
(ステップ12;N)、および、矩形領域Qn内に指定
点89がない場合(ステップ4;N)、nが最終値か否
かを判断する(ステップ14)。nが最終値でない場合
(ステップ14;N)、nに1を加えて(ステップ1
5)、ステップ4以降の処理を、次の曲線Lnの矩形領
域Qnについて行う。nが最終値である場合、指定点8
9で指定された位置に該当する曲線が存在しない旨をデ
ィスプレイ27に表示して(ステップ16)、特定処理
を終了する。Then, the CPU 11 judges in the steps 12 and 4 that m is the final value (step 12; N) and that the designated point 89 does not exist in the rectangular area Qn (step 4; N). , N are final values or not (step 14). If n is not the final value (step 14; N), add 1 to n (step 1
5), the processing from step 4 is performed on the rectangular area Qn of the next curve Ln. If n is the final value, the designated point 8
The fact that there is no curve corresponding to the position designated by 9 is displayed on the display 27 (step 16), and the specifying process is ended.
【0023】図13は、本実施例の線上判定処理(ステ
ップ9)の対象となるセグメントLnmを説明するため
のものである。この図13は、図14(b)に対応して
示されている。この図13に示すように、本実施例で
は、三角形領域Snm内に指定点89が含まれるか否か
を判断している(ステップ8)ため、線上判定処理の対
象となるセグメントLnmとしては、90aのみであ
る。このように、従来の特定処理では、図14(b)に
示すように、全てのベジェ曲線90a〜94aに対し
て、長時間を要する線上判定処理を行う必要があるのに
対して、本実施例では、線上判定処理の対象となるセグ
メントが少ないため、図形を高速で特定することができ
る。FIG. 13 is for explaining the segment Lnm which is the target of the on-line determination processing (step 9) of this embodiment. This FIG. 13 is shown corresponding to FIG. As shown in FIG. 13, in the present embodiment, since it is determined whether or not the designated point 89 is included in the triangular area Snm (step 8), the segment Lnm to be subjected to the line determination processing is 90a only. As described above, in the conventional specific processing, as shown in FIG. 14B, it is necessary to perform the line determination processing that requires a long time for all Bezier curves 90a to 94a. In the example, the number of segments to be subjected to the line determination processing is small, so that the graphic can be specified at high speed.
【0024】[0024]
【発明の効果】以上説明したように、本発明の情報処理
装置によれば、線上判定処理の対象が少なくなるので、
図形の特定を高速で行うことができる。As described above, according to the information processing apparatus of the present invention, the number of lines to be processed is reduced.
The figure can be specified at high speed.
【図1】請求項1の発明における情報処理装置の原理を
示す原理図である。FIG. 1 is a principle diagram showing a principle of an information processing apparatus according to the invention of claim 1;
【図2】請求項2の発明における情報処理装置の原理を
示す原理図である。FIG. 2 is a principle diagram showing a principle of an information processing apparatus according to the invention of claim 2;
【図3】本発明の情報処理装置における一実施例のハー
ド構成を表したものである。FIG. 3 illustrates a hardware configuration of an information processing apparatus according to an exemplary embodiment of the present invention.
【図4】ベジェ曲線による曲線の描画状態の説明図であ
る。FIG. 4 is an explanatory diagram of a curve drawing state using a Bezier curve.
【図5】ベジェ曲線の特定処理動作の対象となるベジェ
曲線を例示した説明図である。FIG. 5 is an explanatory diagram exemplifying a Bezier curve that is a target of a Bezier curve identification processing operation.
【図6】ベジェ曲線の特定処理動作における、各曲線を
含む最小の矩形領域Qnの説明図である。FIG. 6 is an explanatory diagram of a minimum rectangular area Qn including each curve in a Bezier curve identification processing operation.
【図7】ベジェ曲線特定処理動作における、セグメント
の4つの制御点を含む最小の矩形領域Rnmの説明図で
ある。FIG. 7 is an explanatory diagram of a minimum rectangular area Rnm including four control points of a segment in a Bezier curve identification processing operation.
【図8】ベジェ曲線特定処理動作における、ベジェ曲線
L0をt=0.5で分割する点tnmの説明図である。FIG. 8 is an explanatory diagram of a point tnm at which the Bezier curve L0 is divided at t = 0.5 in the Bezier curve identification processing operation.
【図9】ベジェ曲線特定処理動作における、2つの三角
形領域の説明図である。FIG. 9 is an explanatory diagram of two triangular regions in the Bezier curve identification processing operation.
【図10】ベジェ曲線特定処理動作における、矩形領域
Rnmに指定点を含む場合と含まない場合の説明図であ
る。FIG. 10 is an explanatory diagram of a case where a rectangular region Rnm includes a specified point and a case where the specified point is not included in the Bezier curve specifying processing operation.
【図11】ベジェ曲線特定処理動作における、三角形領
域Snm内に指定点が含まれない場合の説明図である。FIG. 11 is an explanatory diagram in the Bezier curve identification processing operation when a specified point is not included in the triangular area Snm.
【図12】ベジェ曲線特定処理動作を示すフローチャー
トである。FIG. 12 is a flowchart showing a Bezier curve identification processing operation.
【図13】実施例における線上判定処理の対象となるセ
グメントLnmの説明図である。FIG. 13 is an explanatory diagram of a segment Lnm that is a target of the line determination processing according to the embodiment.
【図14】従来の線上判定の対象となるベジェ曲線を決
定する領域判定処理の説明図である。FIG. 14 is an explanatory diagram of a conventional area determination process for determining a Bezier curve that is a target for line determination.
1 入力手段 2 三角形領域算出手段 3 第1判断手段 4 第2判断手段 5 ベジェ曲線特定手段 6 矩形領域算出手段 7 第3判断手段 11 CPU 13 バスライン 15 ROM 17 RAM 19 画像メモリ 21 入力装置 211 マウス 213 キーボード 23 スキャナ 25 プリンタ 27 ディスプレイ 29 通信制御部 DESCRIPTION OF SYMBOLS 1 Input means 2 Triangle area calculation means 3 1st judgment means 4 2nd judgment means 5 Bezier curve specification means 6 Rectangular area calculation means 7 3rd judgment means 11 CPU 13 Bus line 15 ROM 17 RAM 19 Image memory 21 Input device 211 Mouse 213 keyboard 23 scanner 25 printer 27 display 29 communication control unit
Claims (2)
と、通過しない2つのコントールポイントの4つの制御
点からベジェ曲線を描画する情報処理装置において、 描画されたベジェ曲線を特定するための指定点を入力す
る入力手段と、 ベジェ曲線のセグメント上の所定点を算出し、この所定
点、始点、一方のコントールポイントからなる三角形領
域、および、前記所定点、終点、他方のコントールポイ
ントからなる三角形領域を算出する三角形領域算出手段
と、 この三角形領域算出手段で算出された2つの三角形領域
に前記入力手段から入力された指定点が含まれるか否か
を判断する第1判断手段と、 この第1判断手段で2つの三角形領域に指定点が含まれ
ると判断されたセグメントに対して、所定距離内に前記
指定点が存在するか否かを判断する第2判断手段と、 この第2判断手段で指定点が所定距離内に存在すると判
断されたセグメントを含むベジェ曲線を特定するベジェ
曲線特定手段とを具備することを特徴とする情報処理装
置。1. An information processing apparatus that draws a Bezier curve from four control points, two anchor points through which a curve passes and two control points that do not pass, a designated point for specifying a drawn Bezier curve. The input means for inputting and a predetermined point on the segment of the Bezier curve are calculated, and the predetermined point, the starting point, a triangular area composed of one control point, and the triangular area composed of the predetermined point, the end point, and the other control point. Triangular area calculating means for calculating, first judging means for judging whether or not the two triangular areas calculated by the triangular area calculating means include the designated point inputted from the input means, and the first judging. Whether the designated point exists within a predetermined distance with respect to the segment determined by the means to include the designated point in the two triangular areas An information processing apparatus, comprising: a second determination means for determining; and a Bezier curve identification means for identifying a Bezier curve including a segment whose designated point is determined to be within a predetermined distance by the second determination means. .
域を算出する矩形領域算出手段と、 この矩形領域算出手段で算出された矩形領域に前記入力
手段から入力された指定点が含まれるか否かを判断する
第3判断手段とを備え、 前記三角形領域算出手段は、前記第3判断手段で、前記
矩形領域に指定点が含まれると判断されたセグメントに
対して三角形領域を算出することを特徴とする請求項1
記載の情報処理装置。2. A rectangular area calculating means for calculating a rectangular area including four control points of a segment, and whether the rectangular area calculated by the rectangular area calculating means includes a designated point input from the input means. And a third judgment means for judging whether or not the triangular area calculation means calculates a triangular area for the segment judged by the third judgment means to include a designated point in the rectangular area. Claim 1 characterized by
The information processing device described.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18091093A JP3302455B2 (en) | 1993-06-26 | 1993-06-26 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18091093A JP3302455B2 (en) | 1993-06-26 | 1993-06-26 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0785301A true JPH0785301A (en) | 1995-03-31 |
JP3302455B2 JP3302455B2 (en) | 2002-07-15 |
Family
ID=16091436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18091093A Expired - Fee Related JP3302455B2 (en) | 1993-06-26 | 1993-06-26 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3302455B2 (en) |
-
1993
- 1993-06-26 JP JP18091093A patent/JP3302455B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3302455B2 (en) | 2002-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2804224B2 (en) | Network diagram drawing method and system | |
JP3030206B2 (en) | Method and apparatus for clipping a graphic polygon to a clipping area | |
JP3391864B2 (en) | Image data processing method and apparatus and graphic system | |
JP3352181B2 (en) | Image data processing method and apparatus | |
EP0545664B1 (en) | Method and apparatus for generating and displaying freeform strokes | |
JPH0785301A (en) | Information processor | |
JP2662539B2 (en) | 3D graphics processor | |
JPH07262243A (en) | Shape data check method | |
JP3332511B2 (en) | Image data processing method and apparatus and graphic system | |
JPH0785293A (en) | Information processor | |
JP3305395B2 (en) | Figure division device | |
JP3339648B2 (en) | Information processing apparatus and drawing method | |
US5579460A (en) | Paint-out method and apparatus | |
EP0454125B1 (en) | Method of producing characters and figures using computer | |
JP2780496B2 (en) | Clipping method for drawing equipment | |
JPH03209499A (en) | Forming method for outline font and drawing device for the same | |
JPH11203489A (en) | Method and device for plotting bezier curve and recording medium storing bezier curve plotting program | |
JPS63211466A (en) | Graphic input device | |
JP2714114B2 (en) | Graphic processing method and graphic system | |
JPH0589188A (en) | Free curved surface generating device | |
JPH07282285A (en) | Graphic editing device | |
JPH01263884A (en) | Graphic processor | |
JPH08138068A (en) | Device and method for graphic generation | |
JPH03176776A (en) | Circle picking processing system | |
JP2001357076A (en) | Image display method for cad system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080426 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110426 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |