JP2734644B2 - Intersection calculation method between free-form surfaces - Google Patents
Intersection calculation method between free-form surfacesInfo
- Publication number
- JP2734644B2 JP2734644B2 JP1156148A JP15614889A JP2734644B2 JP 2734644 B2 JP2734644 B2 JP 2734644B2 JP 1156148 A JP1156148 A JP 1156148A JP 15614889 A JP15614889 A JP 15614889A JP 2734644 B2 JP2734644 B2 JP 2734644B2
- Authority
- JP
- Japan
- Prior art keywords
- natural number
- generating means
- control points
- notification
- rectangular parallelepiped
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は自由曲面間の交線算出方式に関し、特に例え
ば機械設計支援システムの提供する3次元図形処理機能
のうち、2枚の自由曲面の間の交線を求める自由曲面間
の交線算出方式に関するものである。Description: BACKGROUND OF THE INVENTION (Industrial application field) The present invention relates to a method of calculating an intersection between free-form surfaces, and in particular, for example, among three-dimensional graphic processing functions provided by a mechanical design support system, two free-form surfaces The present invention relates to a method of calculating an intersecting line between free-form surfaces for obtaining an intersecting line between them.
(従来の技術) 従来からの2枚の自由曲面の間の交線を算出する方式
の説明を行なう前に、まず自由曲面の表現方式について
説明する。(Prior Art) Before describing a conventional method of calculating a line of intersection between two free-form surfaces, a method of expressing a free-form surface will be described first.
従来から計算機において自由曲面を表わす方式として
Bスプライン曲面が広く用いられている(例えば、山口
富士夫、コンピュータディスプレイによる形状処理工学
[II]、日刊工業新聞社、参照)。Bスプライン曲面と
は、与えられた3次元空間内の複数個の点(制御点と呼
ぶ)の位置情報と二組の非減少の数値列(ノットベクト
ルと呼ぶ)を基に2次元のパラメータ平面上の一点(u,
v)から曲線上の点P=(x,y,z)の位置を次のように計
算する方式である。Conventionally, a B-spline surface has been widely used as a method for expressing a free-form surface in a computer (for example, see Fujio Yamaguchi, Shape Processing Engineering by Computer Display [II], Nikkan Kogyo Shimbun). A B-spline surface is a two-dimensional parameter plane based on positional information of a plurality of points (called control points) in a given three-dimensional space and two sets of non-decreasing numerical sequences (called knot vectors). One point above (u,
This is a method of calculating the position of a point P = (x, y, z) on the curve from v) as follows.
ただし、Ni(u)、Nj(v)は3階のBスプライン関
数である。Qij(0≦i≦nu,0≦j≦nv)は制御点を表
わす。ただしnu、nvは制御点が(nu+1)×(nv+1)
の格子状に順序づけられていることを示す。また、二組
のノットベクトルを{ui:0≦i≦nu+3}、{vj:0≦j
≦nv+3}とする。 Here, N i (u) and N j (v) are B-spline functions of the third order. Q ij (0 ≦ i ≦ nu , 0 ≦ j ≦ n v ) represents a control point. Where n u and n v have control points of (n u +1) × (n v +1)
Indicates that they are ordered in a grid pattern. Further, two sets of knot vectors are defined as {u i : 0 ≦ i ≦ nu + 3}, {v j : 0 ≦ j
≦ n v +3}.
上記に説明したBスプライン曲面で表わされる2枚の
曲面(曲面Aと曲面Bとする)の間の交線の算出は、従
来から、以下のようにBスプライン曲面の再帰的分割を
用いて行なっている。(例えば、Discrete B−Splines
and Subdivision Techniques in Computer−Aided Geom
etric Design and Computer Graphics,COMPUTER GRAPHI
CS AND IMAGE PROCESSING,Vol.14,pp.87−111,1980、参
照) 曲面Aと曲面Bの各々のミニマックスボックスを求め
る。ミニマックスボックスとは、x軸に垂直な2平面、
y軸に垂直な2平面、z軸に垂直な2平面に囲まれて且
つ自由曲面の全制御点を含む直方体のうち最小のものを
いう。曲面A、曲面Bのミニマックスボックスをそれぞ
れボックスA、ボックスBとする。The calculation of the line of intersection between the two surfaces represented by the B-spline surface described above (surface A and surface B) has conventionally been performed using recursive division of the B-spline surface as follows. ing. (For example, Discrete B-Splines
and Subdivision Techniques in Computer-Aided Geom
etric Design and Computer Graphics, COMPUTER GRAPHI
CS AND IMAGE PROCESSING, Vol. 14, pp. 87-111, 1980) Find the minimax box of each of the surface A and the surface B. The minimax box is two planes perpendicular to the x-axis,
The smallest rectangular parallelepiped enclosed by two planes perpendicular to the y-axis and two planes perpendicular to the z-axis and including all control points of the free-form surface. The mini-max boxes of the curved surface A and the curved surface B are referred to as a box A and a 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 rectangular parallelepiped of each of the curved surface A and the curved surface B is obtained. The comprehensive rectangular parallelepiped is a rectangular parallelepiped including all the control points of the free-form surface and having a minimum maximum thickness. The comprehensive rectangular parallelepipeds of the curved surface A and the curved surface B are referred to as a rectangular parallelepiped A and a rectangular parallelepiped B, respectively.
直方体Aと直方体Bが交差していない場合、処理は終
了する。If the rectangular parallelepiped A and the rectangular parallelepiped B do not intersect, the process ends.
直方体Aと直方体Bの最大厚みがともに予め定められ
た厚み未満の場合は、これらを平面で近似して交線を求
める。When the maximum thicknesses of the rectangular parallelepiped A and the rectangular parallelepiped B are both smaller than a predetermined thickness, the intersections are obtained by approximating these with a plane.
直方体Aの最大厚みが予め定められた厚み以上の場合
は、曲面Aに制御点とノットベクトルを追加することに
より曲面を4分割する。When the maximum thickness of the rectangular parallelepiped A is equal to or larger than a predetermined thickness, the curved surface is divided into four by adding a control point and a knot vector to the curved surface A.
同様に、直方体Bの最大厚みが予め定められた厚み以
上の場合は、曲面Bを4分割する。Similarly, when the maximum thickness of the rectangular parallelepiped B is equal to or larger than a predetermined thickness, the curved surface B is divided into four.
曲面A(曲面Aが分割された場合には分割により生成
された4曲面)と曲面B(同様に4曲面)との交線を
〜の処理を再帰的に行なうことにより求める。The intersection of the curved surface A (four curved surfaces generated by division when the curved surface A is divided) and the curved surface B (similarly, four curved surfaces) are obtained by recursively performing the processing of.
(発明が解決しようとする課題) 上記に説明したような、従来方式における自由曲面の
再帰的な分割を行なうとデータ量が増加する。この増加
量は予め求めることができないため、処理においては動
的なメモリ管理が必要になる。さらに、並列プロセッサ
により再帰的分割処理をしようとすると曲面を表わすデ
ータをプロセッサ間で頻繁に交換する必要がある。この
ため、処理の効率を向上することができない。(Problems to be Solved by the Invention) When the recursive division of the free-form surface in the conventional method as described above 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, it is necessary to frequently exchange data representing a curved surface between processors. For this reason, the processing efficiency cannot be improved.
(課題を解決するための手段) 前述の課題を解決するために、本発明の自由曲面間の
交線算出方式は、与えられたBスプラインで表わされる
自由曲面Aの制御点が(nAu+1)×(nAv+1)の格子
状に順序づけられていることを示すnAu、nAvに対して
(1,1)から(nAu−3,nAv−3)までの自然数組を、第
1の通知を受けたときに順次生成する第1自然数組生成
手段と; 与えられたBスプラインで表わされる自由曲面Bの制
御点が(nBu+1)×(nBv+1)の格子状に順序づけら
れていることを示すnBu、nBvに対して、(1,1)から(n
Bu−3,nBv−3)までの自然数組を、第2の通知または
第3の通知を受けた時に、順次生成し、処理が終了した
ときに前記第1の通知を発する第2自然数組生成手段
と; 与えられた曲面データと前記第1自然数組生成手段も
しくは前記第2自然数組生成手段から送られてきた自然
数組(a,b)に応じて曲面データの一組のノットベクト
ル{ui:0≦i≦nu+3}と{vj:0≦j≦nv+3}の部分
列{ui:a≦i≦a+6}と{vj:b≦j≦b+6}を求
め、さらに曲面データの制御点{Qij:0≦i≦nu+1,0≦
j≦nv+1}の部分集合{Qij:a≦i≦a+3,b≦j≦b
+3}を求める曲面パッチ生成手段と; 前記曲面パッチ生成手段で求められた曲面パッチデー
タから16個の制御点のx、y、z座標値のそれぞれの最
小値と最大値を求めるミニマックスボックス生成手段
と; 前記ミニマックスボックス生成手段で求められたx、
y、z座標値のそれぞれの最小値と最大値を比較して交
差するかどうかを判定し、交差しない場合は前記第2の
通知を発するボックス判定手段と; 前記曲面パッチ生成手段で求められた曲面パッチデー
タの16個の制御点を含み最大厚みが最小である直方体を
求める包括直方体生成手段と; 前記包括直方体生成手段で求められた直方体を比較し
て交差するかどうかを判定し、交差しない場合は前記第
2の通知を発する直方体判定手段と; 前記曲面パッチ生成手段から送られてきた曲面パッチ
の間の交線をニュートン・ラフソン法により求め、処理
が終了したときに、前記第3の通知を発するパッチ間交
線算出手段; とを備えて成る。(Means for Solving the Problems) In order to solve the above-mentioned problems, in the method of calculating an intersection between free-form surfaces according to the present invention, the control point of the free-form surface A represented by a given B spline is (n Au +1). ) × (n Av +1 n Au indicating that the ordered lattice), with respect to n Av from (1, 1) (n Au -3, a natural number of sets of n up Av -3), the First natural number set generation means for sequentially generating when the notification of 1 is received; control points of the free-form surface B represented by a given B-spline are arranged in a (n Bu +1) × (n Bv +1) lattice shape N Bu and n Bv , which indicate that
A natural number set up to Bu- 3, nBv- 3) is sequentially generated when the second notification or the third notification is received, and the second natural number set is issued when the processing is completed. Generating means; a set of knot vectors {u of the surface data in accordance with the given surface data and the natural number set (a, b) sent from the first natural number set generating means or the second natural number set generating means; i : 0 ≦ i ≦ nu + 3} and {v j : substrings {u i : a ≦ i ≦ a + 6} and {v j : b ≦ j ≦ b + 6} of 0 ≦ j ≦ nv + 3 Control point {Q ij : 0 ≦ i ≦ nu + 1,0 ≦
a subset {Q ij of j ≦ n v +1}: a ≦ i ≦ a + 3, b ≦ j ≦ b
Surface patch generation means for obtaining +3}; minimax box generation for obtaining minimum and maximum values of x, y, and z coordinate values of 16 control points from the surface patch data obtained by the surface patch generation means Means; x obtained by the minimax box generating means;
a box determination unit that determines whether or not they intersect by comparing the minimum value and the maximum value of the y and z coordinate values, and issues the second notification if they do not intersect; and a box determination unit that is determined by the surface patch generation unit. A comprehensive rectangular parallelepiped generating means for obtaining a rectangular parallelepiped including the 16 control points of the curved surface patch data and having a minimum maximum thickness; and comparing the rectangular parallelepipeds determined by the comprehensive rectangular solid generating means to determine whether or not they intersect, and do not intersect. In this case, a rectangular parallelepiped determination unit that issues the second notification; and an intersection line between the surface patches sent from the surface patch generation unit is obtained by the Newton-Raphson method. Means for calculating an intersecting line between patches for issuing a notification.
(実施例) 次に本発明の自由曲面間の交線算出方式について図面
を参照しながら説明する。(Embodiment) Next, an intersection line calculation method between free-form surfaces of 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-form surfaces is calculated using the method of the present invention as follows.
まず、第1自然数組生成手段10が自然数組(1,1)を
生成し、接続された曲面パッチ生成手段30に送る。同様
に第2自然数組生成手段20が自然数組(1,1)を生成
し、接続された曲面パッチ生成手段30に送る。曲面パッ
チ生成手段30は、送られてきた曲面データと自然数組に
応じて対応するノットベクトルの部分列と16個の制御点
を求め、これをミニマックスボックス生成手段40と包括
直方体生成手段60とパッチ間交線算出手段80に送る。こ
こで、対応するノットベクトルの部分列とは(a,b)に
対して{ui:a≦i≦a+6}と{vj:b≦j≦b+6}を
指す。また、対応する16個の制御点とは{Qij:a≦i≦
a+3,b≦j≦b+3}を指す。First, the first natural number set generation means 10 generates a natural number set (1, 1) and sends it to the connected surface patch generation means 30. Similarly, the second natural number set generating means 20 generates a natural number set (1, 1) and sends it to the connected surface patch generating means 30. The surface patch generation means 30 obtains a subsequence of the knot vector and 16 control points corresponding to the transmitted surface data and the set of natural numbers, and calculates this as a minimax box generation means 40 and a comprehensive rectangular parallelepiped generation means 60. It is sent to the intersecting line calculating means 80. Here, the corresponding subsequence of the knot vector indicates {u i : a ≦ i ≦ a + 6} and {v j : b ≦ j ≦ b + 6} for (a, b). Also, the corresponding 16 control points are {Q ij : a ≦ i ≦
a + 3, b ≦ j ≦ b + 3}.
ミニマックスボックス生成手段40は、16個の制御点の
ミニマックスボックスを求め、ボックス判定手段50に送
る。ボックス判定手段50は、送られてきた両方のミニマ
ックスボックスが交差するかを判定する。交差しない場
合は第2自然数組生成手段20とパッチ間交線算出手段80
にその旨を通知する。包括直方体生成手段60は、16個の
制御点の包括直方体を求め、これを直方体生成手段70に
送る。直方体生成手段70は、送られてきた両方の包括直
方体が交差するかを判定する。交差しない場合は第2自
然数組生成手段20とパッチ間交線算出手段80にその旨を
通知する。The mini-max box generation means 40 obtains the mini-max boxes of the 16 control points and sends them to the box determination means 50. The box determination means 50 determines whether both the sent minimax boxes intersect. If they do not intersect, the second natural number set generation means 20 and the intersecting line calculation means 80
To that effect. The comprehensive rectangular parallelepiped generating means 60 obtains a comprehensive rectangular parallelepiped of 16 control points and sends it to the rectangular parallelepiped generating means 70. The rectangular parallelepiped generation means 70 determines whether both of the sent comprehensive rectangular parallelepipeds intersect. If they do not intersect, the second natural number set generation means 20 and the inter-patch intersection line calculation means 80 are notified to that effect.
パッチ直線間交点算出手段80は、ニュートン・ラフソ
ン法により曲面パッチ間の交線を求め、求められた旨を
第2自然数組生成手段20に通知する。また、パッチ直線
間交点算出手段80は、処理の途中にボックス判定手段50
もしくは直方体判定手段70から交差しない旨の通知を受
けると処理を中断する。The patch straight line intersection calculation means 80 calculates the intersection between the curved surface patches by the Newton-Raphson method, and notifies the second natural number set generation means 20 of the calculation. Further, the patch straight line intersection calculating means 80 is provided with the box determining means 50 during the processing.
Alternatively, upon receiving a notification from the rectangular parallelepiped judging means 70 that no intersection occurs, the processing is interrupted.
また、第2自然数組生成手段20は、ボックス判定手段
50もしくは直方体判定手段70から交差しない旨の通知を
受けた時、または、パッチ間交線算出手段80から交線が
求められた旨の通知交線算出手段80から交線が求められ
た旨の通知を受けた時に、(1,1)から(nBu−3,nBv−
3)までの自然数組のうち直前に生成した自然数組の次
の自然数組を生成する。これを(nBu−3,nBv−3)の自
然数組の処理まで繰り返し、終了すると第1自然数生成
手段にその旨を通知する。第1自然数組生成手段10は、
第2自然数組生成手段20から繰り返しが終了た旨の通知
を受けた時に、(1,1)から(nAu−3,nAv−3)までの
自然数組のうち直前に生成した自然数組の次の自然数組
を生成する。これを(nAu−3,nAv−3)の自然数組の処
理まで繰り返す。第2図を参照すると、応用プログラム
91が一方の自由曲面(曲面Aとする)のデータ、すなわ
ち、制御点の座標値と一組のノットベクトルを第1曲面
メモリ92に格納し、もう一方の自由曲面(曲面Bとす
る)のデータを第2曲面メモリ93(図示せず)に格納す
る。次に応用プログラム91は、第1ペアカウンタ11と第
2ペアカウンタ21に処理を開始させる。In addition, the second natural number set generation unit 20 includes a box determination unit.
50 or the notification that the intersection does not intersect from the rectangular parallelepiped determination means 70, or the notification that the intersection has been obtained from the inter-patch intersection calculation means 80 The notification that the intersection has been obtained from the intersection calculation means 80 When notified, (1,1) to (n Bu −3, n Bv −
Of the natural number sets up to 3), a natural number set next to the immediately preceding natural number set is generated. This is repeated up to the processing of the set of natural numbers of (n Bu −3, n Bv −3), and when the processing is completed, the first natural number generating means is notified. The first natural number set generation means 10
When receiving the notification that the repetition is completed from the second natural number set generation means 20, the natural number set generated immediately before among the natural number sets from (1,1) to (n Au −3, n Av −3) is received. Generate the following set of natural numbers. This is repeated until the processing of a natural number set of (n Au −3, n Av −3). Referring to FIG. 2, an application program
91 stores the data of one free-form surface (referred to as surface A), that is, the coordinate values of the control points and a set of knot vectors in the first surface memory 92, and stores the data of the other free-form surface (referred to as surface B). The data is stored in the second curved surface memory 93 (not shown). Next, the application program 91 causes the first pair counter 11 and the second pair counter 21 to start processing.
第1ペアカウンタ11と第2ペアカウンタ21は、それぞ
れ自然数(1,1)を接続されたパッチジェネレータ31に
通知する。Each of the first pair counter 11 and the second pair counter 21 notifies the connected patch generator 31 of a natural number (1, 1).
パッチジェネレータ31は、接続された第1ペアカウン
タ11もしくは第2ペアカウンタ21から自然数組(a,b)
を受け取ると、接続された第1曲面メモリ92もしくは第
2曲面メモリ93から曲面パッチデータをパッチメモリ94
にコピーし、ミニマックスボックスプロセッサ41と包括
直方体プロセッサ61と交線算出プロセッサ81に通知す
る。曲面パッチデータとはノットベクトルの部分列
{ui:a≦i≦A+6}と{vj:b≦j≦b+6}、及び、
16個の制御点{Qij:a≦i≦a+3,b≦j≦b+3}を指
す。The patch generator 31 outputs a natural number set (a, b) from the connected first pair counter 11 or second pair counter 21.
Receiving the patch data from the connected first surface memory 92 or the second surface memory 93, the patch memory 94
And notifies the mini-max box processor 41, the comprehensive rectangular parallelepiped processor 61, and the intersection calculation processor 81. The surface patch data are knot vector subsequences {u i : a ≦ i ≦ A + 6} and {v j : b ≦ j ≦ b + 6}, and
16 control points {Q ij : a ≦ i ≦ a + 3, b ≦ j ≦ b + 3}.
ミニマックスボックスプロセッサ41は、パッチメモリ
94に格納された制御点の座標値のx,y,zのそれぞれ最小
値と最大値を求め、ボックス判定器51に送る。Minimax box processor 41 has patch memory
The minimum value and the maximum value of x, y, and z of the coordinate values of the control points stored in 94 are obtained and sent to the box determiner 51.
ボックス判定器51は、送られてきた二つのミニマック
スボックスを比較して、交差していない場合は第2ペア
カウンタ21と交線算出プロセッサ81に信号を送る。The box determiner 51 compares the two transmitted minimax boxes, and sends a signal to the second pair counter 21 and the intersection calculation processor 81 if they do not intersect.
包括直方体プロセッサ61は、パッチメモリ94に格納さ
れた制御点の座標値から、これらの制御点の包括直方体
を求めて、直方体判定器71に送る。Based on the coordinate values of the control points stored in the patch memory 94, the comprehensive rectangular parallelepiped processor 61 obtains a comprehensive rectangular parallelepiped of these control points and sends it to the rectangular parallelepiped determiner 71.
直方体判定器71は、送られてきた二つの包括直方体を
比較して、交差していない場合は第2ペアカウンタ21と
交線算出プロセッサ81に信号を送る。The rectangular parallelepiped determiner 71 compares the two comprehensive rectangular parallelepipeds that have been sent, and sends a signal to the second pair 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 curved surface patches included in the two patch memories 94. Since a surface patch is represented by a polynomial as follows, it can be solved by the Newton-Raphson method.
P(u,v)=[Nu,0(u),Nu,1(u),Nu,2(u),Nu,3(u)] 但し、Nu,i(u)、Nv,i(v)はBスプライン関数
で次の多項式である。P (u, v) = [N u, 0 (u), N u, 1 (u), N u, 2 (u), N u, 3 (u)] Here, N u, i (u) and N v, i (v) are B-spline functions and are the following polynomials.
Nu,i(u)=Li,4(u:ua,ua+1,ua+2,ua+3,ua+4,ua+5,ua+6) Nv,1(v)=Li,4(v:vb,vb+1,vb+2,vb+3,vb+4,vb+5,vb+6) Lは次式の漸化式で表わされる。 N u, i (u) = L i, 4 (u: u a, u a + 1, u a + 2, u a + 3, u a + 4, u a + 5, u a + 6) N v , 1 (v) = L i, 4 (v: v b , v b + 1 , v b + 2 , v b + 3 , v b + 4 , v b + 5 , v b + 6 ) Is represented by the recurrence formula of
Li,1(t:t0,t1,t2,t3,t4,t5,t6) =1(ti≦t<ti+1) =0(上記以外) 交線を求める処理が終了すると第2ペアカウンタ21に
信号を送る。また、処理の途中でボックス判定器51もし
くは直方体判定器71から信号が送られてきた場合は処理
を中断する。L i, 1 (t: t 0 , t 1 , t 2 , t 3 , t 4 , t 5 , t 6 ) = 1 (t i ≦ t <t i +1) = 0 (other than the above) When the process for finding the intersection is completed, a signal is sent to the second pair counter 21. If a signal is sent from the box determiner 51 or the cuboid determiner 71 during the processing, the processing is interrupted.
第2ペアカウンタ21は、ボックス判定器51、直方体判
定器71もしくは交線算出プロセッサ81から信号を受ける
と、(1,2)→(1,3)→…→(nBu−3,nBv−3)と自然
数組を生成し順次パッチジェネレータ31に送る。これを
(nBu−3,nBv−3)の自然数組の処理まで繰り返し、終
了したら第1ペアカウンタ11に信号を送る。When the second pair counter 21 receives a signal from the box determiner 51, the rectangular parallelepiped determiner 71, or the intersection calculation processor 81, the second pair counter 21 (1,2) → (1,3) →... → (n Bu −3, n Bv -3) and a set of natural numbers are generated and sequentially sent to the patch generator 31. This is repeated until the processing of the natural number set of (n Bu −3, n Bv −3) is completed, and a signal is sent to the first pair counter 11 when the processing is completed.
第1ペアカウンタ11は、第2ペアカウンタ21から信号
を受けると、(1,2)→(1,3)→…→(nAu−3,nAv−
3)と自然数組を生成し順次パッチジェネレータ31に送
る。これを(nAu−3,nAv−3)自然数組の処理まで繰り
返す。When receiving the signal from the second pair counter 21, the first pair counter 11 receives (1,2) → (1,3) →... → (n Au −3, n Av −
3) and a natural number set is generated and sent to the patch generator 31 sequentially. This is repeated until the processing of (n Au −3, n Av −3) natural number sets.
(発明の効果) 以上説明したように、本発明では曲面を単一の多項式
で表わされる曲面パッチに分解しているため、直線との
交点の算出にあたって再帰的な分割の必要がない。その
ため、計算にあたってメモリの動的な管理が必要なく、
さらに、並列に処理する場合でも曲面パッチは互いに独
立しているため処理の並列度を高くすることができる。(Effects of the Invention) As described above, in the present invention, since a curved surface is decomposed into a curved surface patch represented by a single polynomial, recursive division is not required for calculating an intersection with a straight line. This eliminates the need for dynamic memory management for calculations,
Furthermore, even when the processing is performed in parallel, the surface patches are independent of each other, so that the degree of parallel processing can be increased.
第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 set generating means 20 20 second natural number set generating means 30 curved surface patch generating means 40 minimax box generating means 50 box determining means 60 comprehensive cuboid generation Means 70 cuboid determination means 80 inter-patch intersecting line calculation means 11 first pair counter 21 second pair counter 31 patch generator 41 mini-max box processor 51 … Box determiner, 61… comprehensive rectangular parallelepiped processor, 71… rectangular parallelepiped determiner, 81… intersection line calculation processor, 91… application program, 92… first surface memory, 93… second surface memory, 94
...... Patch memory.
Claims (1)
曲面Aの制御点が(nAu+1)×(nAv+1)の格子状に
順序づけられていることを示すnAu、nAvに対して(1,
1)から(nAu−3,nAv−3)までの自然数組を、第1の
通知を受けたときに順次生成する第1自然数組生成手段
と; 与えられたBスプラインで表わされる自由曲面Bの制御
点が(nBu+1)×(nBv+1)の格子状に順序づけられ
ていることを示すnBu、nBvに対して、(1,1)から(nBu
−3,nBv−3)までの自然数組を、第2の通知または第
3の通知を受けた時に、順次生成し、処理が終了したと
きに前記第1の通知を発する第2自然数組生成手段と; 与えられた曲面データと前記第1自然数組生成手段もし
くは前記第2自然数組生成手段から送られてきた自然数
組(a,b)に応じて曲面データの一組のノットベクトル
{u1:0≦i≦nu+3}と{vj:0≦i≦nv+3}の部分列
{ui:a≦i≦a+6}と{vj:b≦j≦b+6}を求め、
さらに曲面データの制御点{Qij:0≦i≦nu+1,0≦j≦
nv+1}の部分集合{Qij:a≦i≦a+3,b≦j≦b+
3}を求める曲面パッチ生成手段と; 前記曲面パッチ生成手段で求められた曲面パッチデータ
から16個の制御点のx、y、z座標値のそれぞれの最小
値と最大値を求めるミニマックスボックス生成手段と; 前記ミニマックスボックス生成手段で求められたx、
y、z座標値のそれぞれの最小値と最大値を比較して交
差するかどうかを判定し、交差しない場合は前記第2の
通知を発するボックス判定手段と; 前記曲面パッチ生成手段で求められた曲面パッチデータ
16個の制御点を含み最大厚みが最小である直方体を求め
る包括直方体生成手段と; 前記包括直方体生成手段で求められた直方体を比較して
交差するかどうかを判定し、交差しない場合は前記第2
の通知を発する直方体判定手段と; 前記曲面パッチ生成手段から送られてきた曲面パッチの
間の交線をニュートン・ラフソン法により求め、処理が
終了したときに、前記第3の通知を発するパッチ間交線
算出手段; とを備えて成ることを特徴とする自由曲面間の交線算出
方式。1. For n Au , n Av indicating that the control points of the free-form surface A represented by a given B-spline are ordered in a (n Au +1) × (n Av +1) grid. (1,
First natural number set generating means for sequentially generating a set of natural numbers from 1) to (n Au −3, n Av −3) when receiving the first notification; and a free-form surface represented by a given B-spline For n Bu , n Bv indicating that the control points of B are ordered in a (n Bu +1) × (n Bv +1) grid, (1,1) to (n Bu
-3, n Bv -3) generating a second set of natural numbers that sequentially generates a set of natural numbers when the second notification or the third notification is received and that issues the first notification when the processing is completed. Means; a set of knot vectors {u 1 of the surface data according to the given surface data and the natural number pairs (a, b) sent from the first natural number pair generating means or the second natural number pair generating means. : 0 ≦ i ≦ n u +3 } and {v j: 0 ≦ i ≦ n v +3 subsequence {u i of}: a ≦ i ≦ a + 6} and {v j: seeking b ≦ j ≦ b + 6} ,
Further, control points {Q ij of the surface data: 0 ≦ i ≦ nu + 1, 0 ≦ j ≦
n v subset of +1} {Q ij: a ≦ i ≦ a + 3, b ≦ j ≦ b +
Surface patch generation means for obtaining 3}; minimax box generation for obtaining minimum and maximum values of x, y, and z coordinate values of 16 control points from the surface patch data obtained by the surface patch generation means Means; x obtained by the minimax box generating means;
a box determination unit that determines whether or not they intersect by comparing the minimum value and the maximum value of the y and z coordinate values, and issues the second notification if they do not intersect; and a box determination unit that is determined by the surface patch generation unit. Surface patch data
A comprehensive rectangular parallelepiped generating means for obtaining a rectangular parallelepiped including 16 control points and having a minimum maximum thickness; and comparing the rectangular solids determined by the comprehensive rectangular solid generating means to determine whether or not they intersect. 2
A rectangular parallelepiped judging means for issuing a notice of the following; a line of intersection between the surface patches sent from the surface patch generating means is obtained by the Newton-Raphson method, and when the processing is completed, the interval between the patches for issuing the third notice is obtained. Intersection calculation means; and an intersection calculation method between free-form surfaces.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1156148A JP2734644B2 (en) | 1989-06-19 | 1989-06-19 | Intersection calculation method between free-form surfaces |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1156148A JP2734644B2 (en) | 1989-06-19 | 1989-06-19 | Intersection calculation method between free-form surfaces |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0320884A JPH0320884A (en) | 1991-01-29 |
| JP2734644B2 true JP2734644B2 (en) | 1998-04-02 |
Family
ID=15621386
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1156148A Expired - Fee Related JP2734644B2 (en) | 1989-06-19 | 1989-06-19 | Intersection calculation method between free-form surfaces |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2734644B2 (en) |
-
1989
- 1989-06-19 JP JP1156148A patent/JP2734644B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0320884A (en) | 1991-01-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113850917B (en) | Three-dimensional model voxelization method and device, electronic equipment and storage medium | |
| JP3265879B2 (en) | 3D orthogonal grid data generator | |
| JP2734644B2 (en) | Intersection calculation method between free-form surfaces | |
| JP2734649B2 (en) | Intersection calculation method between curved surface and straight line | |
| JP2734643B2 (en) | Intersection calculation method between free curves | |
| JP2959033B2 (en) | Intersection calculation device between free-form surface and plane | |
| US7280108B2 (en) | Bicubic surface rendering | |
| JPS63271578A (en) | Set arithmetic unit for area | |
| JP2734629B2 (en) | Intersection calculation method between curve and straight line | |
| JP3039387B2 (en) | Apparatus for calculating intersection of B-spline curve and straight line in three-dimensional CAD | |
| JP2538645B2 (en) | Curved line approximation device | |
| Gruzintsev et al. | Adaptive 3D unstructured mesh refinement | |
| JPS63213091A (en) | Depth map preparing device | |
| JPH03144781A (en) | Computer graphic apparatus and method | |
| JPS60222975A (en) | Picture drawing device | |
| EP0155183A2 (en) | Geometric processing apparatus | |
| JP3139431B2 (en) | Connection determination device, method and recording medium | |
| JP3886293B2 (en) | Set calculation method of 3D curved surface shape | |
| JP2537949B2 (en) | Network display processing method | |
| JPH036785A (en) | Clipping circuit | |
| JPS62184576A (en) | clipping circuit | |
| JPH09102029A (en) | Topography data interpolation device | |
| JP3344471B2 (en) | Design change location verification device, design change location verification method, and recording medium storing design change location verification program | |
| JPH06259507A (en) | Figure dividing device | |
| CN117724798A (en) | Parameter determination method, device and equipment for three-dimensional finite difference forward simulation method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |