JP2734643B2 - Intersection calculation method between free curves - Google Patents

Intersection calculation method between free curves

Info

Publication number
JP2734643B2
JP2734643B2 JP1156147A JP15614789A JP2734643B2 JP 2734643 B2 JP2734643 B2 JP 2734643B2 JP 1156147 A JP1156147 A JP 1156147A JP 15614789 A JP15614789 A JP 15614789A JP 2734643 B2 JP2734643 B2 JP 2734643B2
Authority
JP
Japan
Prior art keywords
curve
natural number
generating means
patch
notification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP1156147A
Other languages
Japanese (ja)
Other versions
JPH0320883A (en
Inventor
克也 篠原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP1156147A priority Critical patent/JP2734643B2/en
Publication of JPH0320883A publication Critical patent/JPH0320883A/en
Application granted granted Critical
Publication of JP2734643B2 publication Critical patent/JP2734643B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は自由曲線間の交点算出方式に関し、特に例え
ば機械設計支援システムの提供する2次元図形処理機能
のうち、二つの自由曲線の間の交点を求める自由曲線間
の交点算出方式に関するものである。
Description: BACKGROUND OF THE INVENTION The present invention relates to a method of calculating an intersection between free curves, and more particularly to, for example, a two-dimensional graphic processing function provided by a mechanical design support system. The present invention relates to a method of calculating an intersection between free curves for obtaining intersections.

(従来の技術) 従来からの自由曲線の間の交点を算出する方式の説明
を行なう前に、まず自由曲線の表現方式について説明す
る。
(Prior Art) Before describing a conventional method of calculating an intersection between free curves, a free curve expression method will be described first.

従来から計算機において自由曲線を表わす方式として
Bスプライン曲線が広く用いられている(例えば、山口
富士夫、コンピュータディスプレイによる形状処理工学
[II]、日刊工業新聞社、参照)。Bスプライン曲線と
は、与えられた2次元平面内の複数個の点(制御点と呼
ぶ)の位置情報と一組の非減少の数値列(ノットベクト
ルと呼ぶ)を基に1次元のパラメータ直線上の一点
(t)から曲線上の点P=(x,y)の位置を次のように
計算する方式である。
Conventionally, a B-spline curve has been widely used as a method of expressing a free curve in a computer (for example, see Fujio Yamaguchi, Shape Processing Engineering by Computer Display [II], Nikkan Kogyo Shimbun). The B-spline curve is a one-dimensional parameter line based on positional information of a plurality of points (called control points) in a given two-dimensional plane and a set of non-decreasing numerical sequences (called knot vectors). This is a method of calculating the position of a point P = (x, y) on the curve from the above one point (t) as follows.

ただし、Ni(t)は3階のBスプライン関数である。
Qi(0≦i≦n)は制御点を表わす。ただし、nは制御
点の数がn+1であることを示す。また、ノットベクト
ルを{ti:0≦i≦n+3}とする。
Here, N i (t) is a third-order B-spline function.
Q i (0 ≦ i ≦ n) represents a control point. Here, n indicates that the number of control points is n + 1. Further, the knot vector is set to {t i : 0 ≦ i ≦ n + 3}.

上記に説明したBスプライン曲線で表わされる二つの
曲線(曲線Aと曲線Bとする)の間の交点の算出は、従
来から、以下のようにBスプライン曲線の再帰的分割を
用いて行なっている(例えば、Discrete B−Splines an
d Subdivision Techniques in Computer−Aided Geomet
ric Design and Computer Graphics,COMPUTER GRAPHICS
AND IMAGE PROCESSING,Vol.14,pp.87−111,1980参
照)。
The calculation of the intersection between the two curves (curve A and curve B) represented by the B-spline curve described above has conventionally been performed using a recursive division of the B-spline curve as follows. (For example, Discrete B-Splines an
d Subdivision Techniques in Computer-Aided Geomet
ric Design and Computer Graphics, COMPUTER GRAPHICS
AND IMAGE PROCESSING, Vol. 14, pp. 87-111, 1980).

曲線Aと曲線Bの各々のミニマックスボックスを求め
る。ミニマックスボックスとは、x軸に垂直な2直線、
y軸に垂直な2直線に囲まれて且つ自由曲線の全制御点
を含む長方形のうち最小のものをいう。曲線A、曲線B
のミニマックスボックスをそれぞれボックスA、ボック
スBとする。
The minimax box of each of the curves A and B is obtained. A minimax box is two straight lines perpendicular to the x-axis,
It is the smallest rectangle among rectangles surrounded by two straight lines perpendicular to the y-axis and including all control points of the free curve. Curve A, Curve B
Are referred to as box A and box B, respectively.

ボックスAとボックスBが交差していない場合、処理
は終了する。
If box A and box B do not intersect, the process ends.

曲線Aと曲線Bの各々の包括長方形を求める。包括長
方形は、自由曲線の全制御点を含む長方形のうち、その
長辺の長さが最小のものをいう。曲線A、曲線Bの包括
長方形をそれぞれ長方形A、長方形Bとする。
A comprehensive rectangle for each of the curves A and B is obtained. The comprehensive rectangle refers to a rectangle including all control points of the free curve and having a long side having a minimum length. Let the comprehensive rectangles of the curves A and B be rectangles A and B, respectively.

長方形Aと長方形Bが交差していない場合、処理は終
了する。
If the rectangles A and B do not intersect, the process ends.

長方形Aと長方形Bの長辺の長さがともに予め定めら
れた長さ未満の場合は、これらを直線で近似して交点を
求める。
When the lengths of the long sides of the rectangles A and B are both shorter than a predetermined length, the intersections are obtained by approximating these with straight lines.

長方形Aの長辺の長さが予め定められた長さ以上の場
合は、曲線Aに制御点とノックベクトルを追加すること
により曲線を2分割する。
When the length of the long side of the rectangle A is equal to or longer than a predetermined length, the curve is divided into two by adding a control point and a knock vector to the curve A.

同様に長方形Bの長辺の長さが予め定められた長さ以
上の場合は、曲線Bを2分割する。
Similarly, when the length of the long side of the rectangle B is equal to or longer than a predetermined length, the curve B is divided into two.

曲線A(曲線Aが分割された場合には分割により生成
された2曲線)と曲線B(同様に2曲線)との交点〜
の処理を再帰的に行なうことにより求める。
Intersection between curve A (two curves generated by division when curve A is divided) and curve B (similarly two curves)
Is obtained by performing the above processing recursively.

(発明が解決しようとする課題) 上記に説明したような、従来方式における自由曲線の
再帰的な分割を行なうとデータ量が増加する。この増加
量は予め求めることができないため、処理においては動
的なメモリ管理が必要になる。さらに、並列プロセッサ
により再帰的分割処理をしようとすると曲線を表わすデ
ータをプロセッサ間で頻繁に交換する必要がある。この
ため、処理の効率を向上することができない。
(Problems to be Solved by the Invention) As described above, when the recursive division of the free curve in the conventional method is performed, the data amount increases. Since this increase cannot be determined in advance, dynamic memory management is required in the processing. Further, if a recursive division process is to be performed by a parallel processor, data representing a curve must be frequently exchanged between processors. For this reason, the processing efficiency cannot be improved.

(課題を解決するための手段) 前述の課題を解決するために、本発明の自由曲線間の
交点算出方式は、与えられた曲線Aの制御点の数がnA
1であることを示すnAに対して、1からnA−3までの自
然数を、第1の通知を受けたときに順次生成する第1自
然数生成手段と、与えられた曲線Bの制御点の数がnBu
+1であることを示すnBに対して、1からnB−3までの
自然数を、第2の通知または第3の通知を受けた時、順
次生成し、処理が終了したときに前記第1の通知を発す
る第2自然数生成手段と; 与えられた曲線データと前記第1自然数生成手段また
は前記第2自然数生成手段から送られてきた自然数aに
応じて曲線データのノットベクトル{ti:0≦i≦n+
3}の部分列{ti:a≦i≦a+6}を求め、さらに曲線
データの制御点{Qi:0≦i≦n+1}の部分集合{Qi:a
−1≦i≦a+2}を求める曲線パッチ生成手段と; 前記曲線パッチ生成手段で求められた曲線パッチデー
タから4個の制御点のミニマックスボックスを求めるミ
ニマックスボックス生成手段と; 前記ミニマックスボックス生成手段で求められたミニ
マックスボックスを比較して交差するかどうかを判定
し、交差しない場合は前記第2の通知を発するボックス
判定手段と; 前記曲線パッチ生成手段で求められた曲線パッチデー
タから4個の制御点の包括長方形を求める包括長方形生
成手段と; 前記包括長方形生成手段で求められた包括長方形を比
較して交差するかどうかを判定し、交差しない場合は前
記第2の通知を発する長方形判定手段と; 前記曲線パッチ生成手段で求められた曲線パッチの間
の交点をニュートン・ラフソン法により求め、処理が終
了したときに、前記第3の通知を発するパッチ間交点算
出手段; とを備えて成る。
(Means for Solving the Problems) In order to solve the above-described problems, the method of calculating the intersection between free curves according to the present invention uses a method in which the number of control points of a given curve A is n A +
A first natural number generating means for sequentially generating a natural number from 1 to n A -3 for n A indicating 1; a control point of a given curve B; The number of n Bu
Against n B indicating a +1, a natural number of from 1 to n B -3, when receiving the second notice or the third notice, and sequentially generates the first when the process is finished A knot vector す る t i : 0 of the curve data according to the given curve data and the natural number a sent from the first natural number generation means or the second natural number generation means. ≦ i ≦ n +
3}, a sub-sequence {t i : a ≦ i ≦ a + 6} is obtained, and further a subset {Q i : a of control points {Q i : 0 ≦ i ≦ n + 1} of the curve data
Curve patch generation means for obtaining -1 ≦ i ≦ a + 2}; minimax box generation means for obtaining four control point minimax boxes from the curve patch data obtained by the curve patch generation means; Box determining means for comparing the mini-max boxes determined by the generating means to determine whether or not they intersect, and issuing the second notification if they do not intersect; and from the curve patch data determined by the curve patch generating means. A comprehensive rectangle generating means for obtaining a comprehensive rectangle of four control points; comparing the comprehensive rectangles obtained by the comprehensive rectangle generating means to determine whether or not they intersect, and if not intersecting, issue the second notification A rectangle judging unit; and an intersection between the curve patches obtained by the curve patch generating unit is calculated by Newton-Raphson method. Because, when the process is finished, the third patch between the intersections calculating means for issuing a notification; comprising a.

(実施例) 次に本発明の自由曲線間の交点算出方式について図面
を参照し説明する。
(Embodiment) Next, a method of calculating an intersection between free curves according to the present invention will be described with reference to the drawings.

第1図は本発明の一実施例を示す構成ブロック図であ
り、本発明の方式を用いて2枚の自由曲線の間の交点の
算出が次のように行なわれる。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention. The intersection of two free curves is calculated using the method of the present invention as follows.

まず、第1自然数生成手段10が自然数1を生成し、接
続された曲線パッチ生成手段30に送る。同様に第2自然
数生成手段20が自然数1を生成し、接続された曲線パッ
チ生成手段30に送る。曲線パッチ生成手段30は送られて
きた曲線データと自然数に応じて対応するノットベクト
ルの部分列と4個の制御点を求め、これをミニマックス
ボックス生成手段40と包括長方形生成手段60とパッチ間
交点算出手段80に送る。ここで、対応するノットベクト
ルの部分列とは自然数aに対して{ti:a≦i≦a+6}
を指す。また、対応する4個の制御点とは{Qi:a−1≦
i≦a+2}を指す。
First, the first natural number generating means 10 generates a natural number 1 and sends it to the connected curve patch generating means 30. Similarly, the second natural number generating means 20 generates a natural number 1 and sends it to the connected curve patch generating means 30. The curve patch generating means 30 obtains a corresponding knot vector subsequence and four control points in accordance with the sent curve data and the natural number, and calculates these between the minimax box generating means 40, the comprehensive rectangle generating means 60 and the patch. It is sent to the intersection calculation means 80. Here, the subsequence of the corresponding knot vector is {t i : a ≦ i ≦ a + 6} with respect to the natural number a.
Point to. Also, the corresponding four control points are {Q i : a−1 ≦
i ≦ a + 2}.

ミニマックスボックス生成手段40は、4個の制御点の
x,y座標値の最小値と最大値を求め、これをボックス判
定手段50に送る。
The mini-max box generating means 40 has four control points.
The minimum and maximum values of the x and y coordinate values are obtained, and are sent to the box determination means 50.

ボックス判定手段50は、送られてきた両方のx,y座標
値の最小値と最大値を比較して交差するかを判定する。
交差しない場合は第2自然数発生手段20とパッチ間交点
算出手段80にその旨を通知する。包括長方形生成手段60
は、4個の制御点の包括長方形を求め、これを長方形判
定手段70に送る。長方形判定手段70は送られてきた両方
の包括長方形が交差するかを判定する。交差しない場合
は第2自然数生成手段20とパッチ間交点算出手段80にそ
の旨を通知する。
The box determination means 50 determines whether or not they intersect by comparing the minimum value and the maximum value of both the transmitted x, y coordinate values.
If they do not intersect, the second natural number generating means 20 and the inter-patch intersection calculating means 80 are notified of this fact. Comprehensive rectangle generation means 60
Calculates a comprehensive rectangle of four control points and sends it to the rectangle determination means 70. The rectangle determining means 70 determines whether both of the sent comprehensive rectangles intersect. If they do not intersect, the second natural number generation means 20 and the inter-patch intersection calculation means 80 are notified of that fact.

パッチ間交点算出手段80は、ニュートン・ラフソン法
により曲線パッチ間の交点を求め、求められた旨を第2
自然数生成手段20に通知する。また、パッチ間交点算出
手段80は、処理の途中にボックス判定手段50もしくは長
方形判定手段70から交差しない旨の通知を受けると処理
を中断する。
The inter-patch intersection calculating means 80 finds an intersection between the curve patches by the Newton-Raphson method,
Notify the natural number generation means 20. Also, the inter-patch intersection calculating means 80 interrupts the processing when it receives a notification from the box judging means 50 or the rectangular judging means 70 that it does not intersect during the processing.

また、第2自然数生成手段20は、ボックス判定手段50
もしくは長方形判定手段70から交差しない旨の通知を受
けた時、または、パッチ間交点算出手段80から処理が終
了した旨の通知を受けた時に、直前に生成した自然数の
次の自然数を生成する。これを自然数nB−3の処理まで
繰り返し、終了すると第1自然数生成手段10にその旨を
通知する。第1自然数生成手段10は、第2自然数生成手
段20から繰り返しが終了した旨の通知を受けた時に、直
前に生成した自然数の次の自然数を生成する。これを自
然数nA−3の処理まで繰り返す。
Further, the second natural number generating means 20 includes a box determining means 50
Alternatively, when receiving a notification from the rectangle judging means 70 that no intersection occurs, or when receiving a notification from the inter-patch intersection calculating means 80 that processing has been completed, a natural number next to the natural number generated immediately before is generated. This is repeated up to the processing of the natural number n B -3, and when the processing is completed, the first natural number generating means 10 is notified of that. The first natural number generating means 10 generates the next natural number after the natural number generated immediately before receiving the notification from the second natural number generating means 20 that the repetition is completed. This is repeated until the processing of the natural number n A -3.

第2図を参照すると、応用プログラム91が一方の自由
曲線(曲線Aとする)のデータ、すなわち、制御点の座
標値とノットベクトルを第1曲線メモリ92に格納し、も
う一方の自由曲線(曲線Bとする)のデータを第2曲線
メモリ93(図示せず)に格納する。次に応用プログラム
91は第1カウンタ11と第2カウンタ21に処理を開始させ
る。
Referring to FIG. 2, the application program 91 stores the data of one free curve (referred to as curve A), that is, the coordinate value of the control point and the knot vector in the first curve memory 92, and the other free curve (curve A). The data of the curve B is stored in a second curve memory 93 (not shown). Next, the application program
Reference numeral 91 causes the first counter 11 and the second counter 21 to start processing.

第1カウンタ11と第2カウンタ21は、それぞれ自然数
1を接続されたパッチジェネレータ31に通知する。
The first counter 11 and the second counter 21 each notify the connected patch generator 31 of the natural number 1.

パッチジェネレータ31は、接続された第1カウンタ11
もしくは第2カウンタから自然数aを受け取ると、接続
された第1曲線メモリ92もしくは第2曲線メモリ93から
曲線パッチデータをパッチメモリ94にコピーし、ミニマ
ックスボックスプロセッサ41と包括長方形プロセッサ61
と交点算出プロセッサ81に通知する。曲線パッチデータ
とはノットベクトルの部分列{ti:a≦i≦a+6}及
び、4個の制御点{Qi:a−1≦i≦a+2}を指す。
The patch generator 31 is connected to the first counter 11
Alternatively, when a natural number a is received from the second counter, the curve patch data from the connected first curve memory 92 or second curve memory 93 is copied to the patch memory 94, and the mini-max box processor 41 and the comprehensive rectangle processor 61 are copied.
To the intersection calculation processor 81. The curve patch data refers to a knot vector subsequence {t i : a ≦ i ≦ a + 6} and four control points {Q i : a−1 ≦ i ≦ a + 2}.

ミニマックスボックスプロセッサ41は、パッチメモリ
94に格納された制御点の座標値のx,yのそれぞれの最小
値と最大値を求め、ボックス判定器51に送る。
Minimax box processor 41 has patch memory
The minimum value and the maximum value of x and y of the coordinate value of the control point stored in 94 are obtained and sent to the box determination unit 51.

ボックス判定器51は、送られてきた二つのミニマック
スボックスを比較して、交差していない場合は第2カウ
ンタ21と交点算出プロセッサ81に信号を送る。
The box determiner 51 compares the two transmitted minimax boxes, and sends a signal to the second counter 21 and the intersection calculation processor 81 if they do not intersect.

包括長方形プロセッサ61は、パッチメモリ94に格納さ
れた制御点の座標値から、これらの制御点の包括長方形
を求めて、長方形判定器71に送る。
The comprehensive rectangle processor 61 determines a comprehensive rectangle of these control points from the coordinate values of the control points stored in the patch memory 94, and sends it to the rectangle determiner 71.

長方形判定器71は、送られてきた二つの包括長方形を
比較して、交差していない場合は第2カウンタ21と交点
算出プロセッサ81に信号を送る。
The rectangle determiner 71 compares the two comprehensive rectangles sent, and sends a signal to the second counter 21 and the intersection calculation processor 81 if they do not intersect.

交点算出プロセッサ81は、二つのパッチメモリ94に含
まれる曲線パッチの間の交点の座標値を計算する。曲線
パッチは以下のように多項式で表わされるためニュート
ン・ラフソン法で解くことができる。
The intersection calculation processor 81 calculates the coordinate value of the intersection between the curve patches included in the two patch memories 94. Since a curved patch is represented by a polynomial as follows, it can be solved by the Newton-Raphson method.

P(t)=Qi-1*N0(t)+Qi*N1 (t)+Qi+1*N2(t)+Qi+2*N3(t) 但し、Ni(t)はBスプライン関数で次の多項式であ
る。
P (t) = Q i- 1 * N 0 (t) + Q i * N 1 (t) + Q i + 1 * N 2 (t) + Q i + 2 * N 3 (t) However, N i (t) Is a B-spline function and is the following polynomial.

Ni(t)=Li,4(t:ta,ta+1,ta+2,ta+3,ta+4,ta+5,ta+6) Lは次式の漸化式で表わされる。 N i (t) = L i , 4 (t: t a, t a + 1, t a + 2, t a + 3, t a + 4, t a + 5, t a + 6) L by the following equation Is represented by the recurrence formula of

i,1(u:u0,u1,u2,u3,u4,u5,u6) =1(ui≦u<ui+1) =0(上記以外) 交点を求める処理が終了すると第2カウンタ21に信号
を送る。また、処理の途中でボックス判定器51もしくは
長方形判定器71から信号が送られてきた場合は処理を中
断する。
L i, 1 (u: u 0 , u 1 , u 2 , u 3 , u 4 , u 5 , u 6 ) = 1 (u i ≤ u <u i +1) = 0 (other than the above) When the process for finding the intersection is completed, a signal is sent to the second counter 21. If a signal is sent from the box determiner 51 or the rectangle determiner 71 during the processing, the processing is interrupted.

第2カウンタ21は、ボックス判定器51、長方形判定器
71もしくは交点算出プロセッサ81から信号を受けると、
2→3→…→nB−3と自然数を生成し順次パッチジェネ
レータ31に送る。これを自然数nB−3の処理まで繰り返
し、終了したら第1カウンタ11に信号を送る。
The second counter 21 includes a box determiner 51 and a rectangle determiner
When receiving a signal from 71 or the intersection calculation processor 81,
... → n B -3 and a natural number are generated and sequentially sent to the patch generator 31. This is repeated up to the processing of the natural number n B -3, and a signal is sent to the first counter 11 upon completion.

第1カウンタ11は、第2カウンタ21から信号を受ける
と、2→3→…→nA−3と自然数を生成し順次パッチジ
ェネレータ31に送る。これを自然数nA−3の処理まで繰
り返す。
When the first counter 11 receives a signal from the second counter 21, it generates a natural number of 2 → 3 →... → n A −3 and sequentially sends it to the patch generator 31. This is repeated until the processing of the natural number n A -3.

(発明の効果) 以上説明したように、本発明では曲線を単一の多項式
で表わされる曲線パッチに分解しているため、直線との
交点の算出にあたって再帰的な分割の必要がない。その
ため、計算にあたってメモリの動的な管理が必要なく、
さらに、並列に処理する場合でも曲線パッチは互いに独
立しているため処理の並列度を高くすることができる。
(Effects of the Invention) As described above, according to the present invention, the curve is decomposed into a curve patch represented by a single polynomial, so that there is no need for recursive division when calculating the intersection with the straight line. This eliminates the need for dynamic memory management for calculations,
Further, even when processing is performed in parallel, since the curved patches are independent of each other, the degree of parallel processing can be increased.

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

第1図は本発明の一実施例を示す構成図、第2図は本発
明の具体的実施例を示す構成図である。 10……第1自然数生成手段、20……第2自然数生成手
段、30……曲線パッチ生成手段、40……ミニマックスボ
ックス生成手段、50……ボックス判定手段、60……包括
長方形生成手段、70……長方形判定手段、80……パッチ
間交点算出手段、11……第1カウンタ、21……第2カウ
ンタ、31……パッチジェネレータ、41……ミニマックス
ボックスプロセッサ、51……ボックス判定器、61……包
括長方形プロセッサ、71……長方形判定器、81……交点
算出プロセッサ、91……応用プログラム、92……第1曲
線メモリ、93……第2曲線メモリ、94……パッチメモ
リ。
FIG. 1 is a block diagram showing one embodiment of the present invention, and FIG. 2 is a block diagram showing a specific embodiment of the present invention. 10 first natural number generating means, 20 second natural number generating means, 30 curve patch generating means, 40 minimax box generating means, 50 box determining means, 60 comprehensive rectangular generating means, 70 ... Rectangle judging means, 80 ... Patch intersection calculating means, 11 ... First counter, 21 ... Second counter, 31 ... Patch generator, 41 ... Minimax box processor, 51 ... Box judging device 61, a comprehensive rectangle processor, 71, a rectangle determiner, 81, an intersection calculation processor, 91, an application program, 92, a first curve memory, 93, a second curve memory, 94, a patch memory.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】与えられた曲線Aの制御点の数がnA+1で
あることを示すnAに対して、1からnA−3までの自然数
を、第1の通知を受けたときに順次生成する第1自然数
生成手段と; 与えられた曲線Bの制御点の数がnBu+1であることを
示すnBに対して、1からnB−3までの自然数を、第2の
通知または第3の通知を受けた時、順次生成し、処理が
終了したときに前記第1の通知を発する第2自然数生成
手段と; 与えられた曲線データと前記第1自然数生成手段または
前記第2自然数生成手段から送られてきた自然数aに応
じて曲線データのノットベクトル{ti:0≦i≦n+3}
の部分列{ti:a≦i≦a+6}を求め、さらに曲線デー
タの制御点{Qi:0≦i≦n+1}の部分集合{Qi:a−1
≦i≦a+2}を求める曲線パッチ生成手段と; 前記曲線パッチ生成手段で求められた曲線パッチデータ
から4個の制御点のミニマックスボックスを求めるミニ
マックスボックス生成手段と; 前記ミニマックスボックス生成手段で求められたミニマ
ックスボックスを比較して交差するかどうかを判定し、
交差しない場合は前記第2の通知を発するボックス判定
手段と; 前記曲線パッチ生成手段で求められた曲線パッチデータ
から4個の制御点の包括長方形を求める包括長方形生成
手段と; 前記包括長方形生成手段で求められた包括長方形を比較
して交差するかどうかを判定し、交差しない場合は前記
第2の通知を発する長方形判定手段と; 前記曲線パッチ生成手段で求められた曲線パッチの間の
交点をニュートン・ラフソン法により求め、処理が終了
したときに、前記第3の通知を発するパッチ間交点算出
手段; とを備えて成ることを特徴とする自由曲線間の交点算出
方式。
When a first notification is received, a natural number from 1 to n A -3 is given to n A indicating that the number of control points of a given curve A is n A +1. a first natural number generating means for sequentially generating, with respect to n B indicating that the number of control points of the given curve B is n Bu +1, a natural number of from 1 to n B -3, second notification Or a second natural number generating means for sequentially generating the third notification when receiving the third notification and issuing the first notification when the processing is completed; given curve data and the first natural number generating means or the second natural number generating means The knot vector {t i : 0 ≦ i ≦ n + 3} of the curve data according to the natural number a sent from the natural number generating means.
{T i : a ≦ i ≦ a + 6}, and a subset {Q i : a−1 of control points {Q i : 0 ≦ i ≦ n + 1} of the curve data
Curve patch generating means for obtaining ≦ i ≦ a + 2}; minimax box generating means for obtaining a minimax box of four control points from the curve patch data obtained by the curve patch generating means; Compare the mini-max box obtained in and determine whether they intersect,
A box judging unit that issues the second notification if they do not intersect; a comprehensive rectangle generating unit that obtains a comprehensive rectangle of four control points from the curve patch data obtained by the curve patch generating unit; Determining whether or not they intersect by comparing the inclusive rectangles obtained in the above; if not intersecting, a rectangle determining means for issuing the second notification; and an intersection between the curve patches obtained by the curve patch generating means. Means for calculating an intersection between patches, which is obtained by the Newton-Raphson method and issues the third notification when the processing is completed.
JP1156147A 1989-06-19 1989-06-19 Intersection calculation method between free curves Expired - Fee Related JP2734643B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1156147A JP2734643B2 (en) 1989-06-19 1989-06-19 Intersection calculation method between free curves

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1156147A JP2734643B2 (en) 1989-06-19 1989-06-19 Intersection calculation method between free curves

Publications (2)

Publication Number Publication Date
JPH0320883A JPH0320883A (en) 1991-01-29
JP2734643B2 true JP2734643B2 (en) 1998-04-02

Family

ID=15621361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1156147A Expired - Fee Related JP2734643B2 (en) 1989-06-19 1989-06-19 Intersection calculation method between free curves

Country Status (1)

Country Link
JP (1) JP2734643B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8514457B2 (en) 2009-05-20 2013-08-20 Ricoh Company, Ltd. Information extraction apparatus, information extraction method, information-extraction computer program product, and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8514457B2 (en) 2009-05-20 2013-08-20 Ricoh Company, Ltd. Information extraction apparatus, information extraction method, information-extraction computer program product, and storage medium

Also Published As

Publication number Publication date
JPH0320883A (en) 1991-01-29

Similar Documents

Publication Publication Date Title
US5309521A (en) Method and apparatus for generating a character curve by dividing and developing a bezier curve
JP3265879B2 (en) 3D orthogonal grid data generator
JP2734643B2 (en) Intersection calculation method between free curves
JP4526121B2 (en) Method for calculating intersection of triangle and line segment and its program
JP2734644B2 (en) Intersection calculation method between free-form surfaces
JP2734649B2 (en) Intersection calculation method between curved surface and straight line
US7280108B2 (en) Bicubic surface rendering
JP2959033B2 (en) Intersection calculation device between free-form surface and plane
JP2734629B2 (en) Intersection calculation method between curve and straight line
JP3066060B2 (en) Polygonal approximation method for Besee curve section
JP3039387B2 (en) Apparatus for calculating intersection of B-spline curve and straight line in three-dimensional CAD
JP3118064B2 (en) Curve drawing device
JP2802646B2 (en) A scaling method for character patterns using vector fonts
JP3035141B2 (en) Character creation device and character creation method
JP3139431B2 (en) Connection determination device, method and recording medium
EP0212774A2 (en) Display system
JPH11203489A (en) Method and device for plotting bezier curve and recording medium storing bezier curve plotting program
JP3034748B2 (en) Pattern generation processing device
JPH08185527A (en) Plotter
JP2002073697A (en) Method for calculating projected area and information processor
JP2000020758A (en) Shape data processor, processing method and storage medium storing shape data processing program
JPH036785A (en) Clipping circuit
JPS636594A (en) Character pattern processor
JPH09150558A (en) Plotting device for printer
JPS62184576A (en) Clipping circuit

Legal Events

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