JPH02109182A - Free curve generating method - Google Patents

Free curve generating method

Info

Publication number
JPH02109182A
JPH02109182A JP63263501A JP26350188A JPH02109182A JP H02109182 A JPH02109182 A JP H02109182A JP 63263501 A JP63263501 A JP 63263501A JP 26350188 A JP26350188 A JP 26350188A JP H02109182 A JPH02109182 A JP H02109182A
Authority
JP
Japan
Prior art keywords
curve
point
free curve
vector
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63263501A
Other languages
Japanese (ja)
Other versions
JP2832958B2 (en
Inventor
Tetsuzo Kuragano
哲造 倉賀野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP63263501A priority Critical patent/JP2832958B2/en
Publication of JPH02109182A publication Critical patent/JPH02109182A/en
Application granted granted Critical
Publication of JP2832958B2 publication Critical patent/JP2832958B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To obtain a free curve brought into contact with the free curve with a simple operation by obtaining intersections of an extended tangent vector and the free curve, and regenerating a control line vector so as to pass a point on the free curve between the intersections. CONSTITUTION:First and second intersection Q1 and Q2 with a desired free curve Ks can be obtained extending a first tangent vector a1 advancing from a first node P0 to a first control point P1 and a second tangent vector a2 advancing from a second node P3 to a second control point P2. And by generating a control vector Pin-P0 by extending the vector a1 further, the title method is taken so that a new free curve expressed by using a new control point Pin decided by the vector Pin-P0, the nodes P0 and P3, and the control point P2, or a new free curve KSGN expressed by using the new control point Pin decided by the victor Pin-P0, the nodes P0 and P3, and the intersection Q2 can pass a transit point PT on the free curve Ks between the intersections Q1 and Q2.

Description

【発明の詳細な説明】[Detailed description of the invention]

以下の順序で本発明を説明する。 A産業上の利用分野 B発明の概要 C従来の技術 り発明が解決しようとする問題点 Eff[点を解決するための手段(第1図及び第5図) F作用(第1図及び第5図) G実施例 (G1)自由曲線の原理(第2図) (G2)自由曲線作成の実施例く第1図〜第7図)(G
3)他の実施例 H発明の効果 A産業上の利用分野 本発明は自由曲線作成方法に関し、例えばCAD (c
omputer aided desjgn )におい
て生成された自由曲線の形状を変形する場合に適用して
好適なものである。 B発明の概要 本発明は、自由曲線作成方法において、延長した接線ベ
クトルと曲線セグメントとの交点を得、当該交点間の自
由曲線上の点を通過するように制御線ベクトルを生成し
直すことにより、簡易な操作で当該自由曲線に接する自
由曲線を得ることができる。 C従来の技術 例えばCADの手法を用いて自由曲面をもった物体の形
状をデザインする場合(geowIetric mod
e]jng) 、一般にデザイナは、曲面が通るべき3
次元空間における複数の点(これを節点と呼ぶ)を指定
し、当該指定された複数の節点を結ぶ境界曲線網を所定
のベクトル関数を用いてコンピュータによって演算させ
ることにより、いわゆるワイヤフレームで表現された曲
面を作成する。かくして境界曲線によって囲まれた多数
の枠組み空間を形成することができる(このような処理
を以下枠組み処理と呼ぶ)。 かかる枠組み処理によって形成された境界曲線網は、そ
れ自体デザイナがデザインしようとする大まかな形状を
表しており、各枠組み空間を囲む境界曲線を用いて所定
のベクトル関数によって表現できる曲面を補間演算する
ことができれば、全体としてデザイナがデザインした自
由曲面(2次関数で規定できないものをいう)を生成す
ることができる。ここで各枠組み空間に張られた曲面は
全体の曲面を構成する基本要素を形成し、これをバッチ
と呼ぶ。 従来この種のCADシステムにおいては、境界曲線網を
表現するベクトル関数として、計算が容易な例えばベジ
ェ(Bezier)式、B−スフ”ライン(B−5pl
 1ne)式でなる3次のテンソル積が用いられており
、例えば形状的に特殊な特徴がないような自由曲面を数
式表現するには最適であると考えられている。 すなわち形状的に特殊な特徴がないような自由曲面は、
空間に与えられた点をxy平面上に投影したとき、当該
投影された点が規則的にマトリクス状に並んでいること
が多く、この投影点の数がmxnで表されるとき、当該
枠組み空間を3次のベジェ式で表される四辺形パッチを
用いて容易に張れることが知られている。 しかしこの従来の数式表現は、形状的に特徴がある曲面
(例えば大きく歪んだ形状をもつ曲面)に適用する場合
には、パッチ相互間の接続方法に困難があり、高度な数
学的演算処理を実行する必要があるため、コンピュータ
による演算処理が複雑かつ膨大になると共に、演算時間
が長大になる問題があった。 この問題を解決する方法として、隣合う枠組み空間の共
有境界について、接平面連続の条件を満足するような内
部の制御点を求め、当該内部の制御点によって決まる自
由曲面を表すベクトル関数によって、自由曲面でなるパ
ッチを張る方法が提案されている(特願昭60−277
448号、特願昭60−290849号、特願昭60−
298638号、特願昭61−15396号、特願昭6
1−33412号、特願昭61−59790号、特願昭
61−64560号、特願昭61〜96368号、特願
昭61−69385号)。 D発明が解決しようとする問題点 ところで、実際上デザイナのデザイン作業は、局所的な
修正を繰り返すことによってデザイナのイメージしてい
る形状に一歩一歩近づけて行くような作業をするのが普
通であり、上述のようにして生成された自由曲面におい
ても、デザイナがイメージする形状に近づくように繰り
返し修正される。 すなわちこのような自由曲面の修正方法として、デザイ
ナは表示画面上で自由曲面を所望の断面で切断し、これ
により得られる自由曲面の断面形状を目視確認して、局
所的に細部の修正を行った後、その断面形状に基づいて
再度自由曲面を生成するような手法が用いられている(
特願昭62−276925号、特願昭62−27869
4号)。 ところがデザイナがこのような手法を用いて自由曲面の
修正を行う際に、所定の自由曲線に接するように、元の
断面曲線の形状を修正したい場合がある。 このような場合、従来はその断面曲線でなる自由曲線の
各々の曲線セグメントについて、節点及び内部の制御点
等を指向錯誤的に設定し直さなければならず、実際上デ
ザインすることが困難な問題があった。 本発明は以上の点を考慮してなされたもので、簡易な操
作で所定の直線に接する自由曲線を得ることができる自
由曲線作成方法を提案しようとするものである。 E問題点を解決するための手段 かかる問題点を解決するため第1の発明においては、第
1及び第2の節点P0及びP、と第1及び第2の節点P
0及び23間に設定された第1及び第2の制御点P、及
びP2を用いて、所定のベクトル関数R(t)で表現さ
れる自由曲線に、G。 において、第1の節点P。から第1の制御点Pに向かう
第1の接線ベクトルa、と、第2の節点P、から第2の
制御点P2に向かう第2の接線ベクトルatを延長して
、所望の自由曲線に、との第1及び第2の交点Q+及び
Q!を得、第1の接線ベクトルa、をさらに延長して制
御線ベクトルPIN  poを生成することにより、制
御線ベクトルPIN  POで決まる新たな制御点P0
、第1及び第2の節点P0及びP、と第2の制御点P2
を用いて表現される新たな自由曲線、又は制御線ベクト
ルP+s  Paで決まる新たな制御点P0と、第1及
び第2の節点P0及びP3と上記第2の交点Q2を用い
て表現される新たな自由曲線に、。 が、第1及び第2の交点Q1及び07間の自由曲線に、
上の通過点Pアを通るようにする。 さらに第2の発明においては、第1及び第2の節点P0
及びP3と第1及び第2の節点P0及び23間に設定さ
れた第1及び第2の制御点P、及びP2を用いて、所定
のベクトル関数R(t)で表現される自由曲線に、G、
において、第1の節点P0から第1の制御点P1に向か
う第1の接線ベクトルa1と、第2の節点P、から第2
の制御点P2に向かう第2の接線ベクトルa、を延長し
て、所望の自由曲線に、との第1及び第2の交点Q及び
Q2を得、第1の接線ベクトルa、をさらに延長して制
御線ベクトルPIN  POを生成することにより、第
1及び第2の交点Q、及びQt間の自由曲線に、上の通
過点P、を通り、かつ制御線ベクトルPIN  poで
決まる新たな制御点Plus第1及び第2の節点P0及
びP3と第2の制御点P2を用いて表現される新たな自
由曲線、又は第1及び第2の交点Q1及び02間の自由
曲線K。 上の通過点PTを通り、かつ制御線ベクトルPINP0
で決まる新たな制御点PIN、第1及び第2の節点P。 及びP3と第2の交点Q2を用いて表現される新たな自
由曲線K ffGNを生成し、新たな自由曲線に、。を
il1点Piで分割し、分割した自由曲線KSGN1%
 KSGN2を、通過点P1において、自由曲線に、と
接線が一致するように変形処理する。 P7で自由曲線に、に接する自由曲線K 3GNを得る
ことができる。 さらに、通過点PTを通る自由曲線K !9Gl+を当
該通過点PTで分割した後、分割した自由曲線Ksar
tIz Ks。2を通過点PTにおいて自由曲線に、と
接線が一致するように変形処理すれば、簡易な操作で全
体として当該通過点P、で自由曲線に、に接する自由曲
線を得ることができる。 F作用 延長した接線ベクトルa、及びG2と、自由曲線に、と
の交点Q1及びG2を得、当該交点Ql及び02間の自
由曲線に、上の通過点PTを得た後、さらに接線ベクト
ルa1を延長して自由曲線の2つの制御線ベクトルの内
1つの制御線ベクトルPIN  POを生成すれば、当
該制御線ベクトルP +NPo−(?決マル自由曲NI
AKscN’li:、簡易す操作で当該通過点P1を通
るように設定することができる。 これにより実用上」−分な範囲において、通過点G実施
例 以下図面について、本発明の一実施例を詳述する。 (G1)自由曲線の原理 この実施例において自由曲線は、第2図に示すように、
任意の間隔で設定された節点 Po及びP3  (P(
010及びP(310、P(011及びP(111%P
、。、2及びP(312)で区切られる複数の曲線セグ
メントKstr (Ksao % Ksc+ % Ks
at’)が接続されてなる。 この曲線セグメントKscは、3次のベジェ(bezi
er)式を用いて次式、 R(t)=(1−t + tE)3P0   ・・・・
・・ (1)で表されるパラメトリックな空間曲線R(
t)で表現される。 ここでtは、一方の節点P0から曲線セグメントKsG
に沿う方向に他方の節点P、に至るまでの間に、次式 %式%(2) で表されるように値0から値1まで変化するパラメータ
である。 このようにして3次のベジェ式で表される曲線セグメン
トKsGは、シフト演算子Eによって節点p、及びP1
間に2つの制御点p、及びP2を指定することによって
曲線セグメントに、、上の各点が次式 %式%) の展開式によってxyz空間の原点0からの位置ベクト
ルR(t)として表される。 ここでシフト演算子Eは、曲線セグメントKsc上の制
御点P、に対して次式 %式% の関係をもつ。従って(1)式を展開して(4)式の関
係を代入すれば、次式 Rct)=(1 t+tE)”P。 =  ((1−t)3+ 3 (1−t)”t E+3
(1−t)t”B” +t″E3)p。 −(1−t)po+ 3 (1 t)2  む E P 。 +3(1−t)t”E”P、+t3E3P。 −(l   t)”Pal 3(1t)”t P+→ 
3(1−tjt”)”、   上  t 3P J・・
・・・ (6) のように演算することができ、その結果(3)弐が得ら
れる。 かくし7て自由曲線トの各曲線セグメントKsao、K
sc+ 、KsG□ば、(3)式に基づいてそれぞれ2
つの節点及び制御点 P、。、0〜2、P(1,。〜2
、P(21o〜よ及びP(31゜2.によ゛すて表すこ
とができ、各曲線セグ、メンl’KsG。、K3+;;
、KSG2篭用いて自由曲線を表現−することにより1
、それぞれ各曲線セグメントに9GO、KSGI −、
Ksazを表現する節点及び制御点P (0111−、
、、Z、P(1)O−2、P(Z’l0−2及びP(1
10〜2を用いて自由曲線を表現することができる。 (G2)自由曲線作成の実施例 この実施例において、自由曲線作成装置の中央処理装置
(CP (J)は、第1図に示す曲線変形処理プログラ
ムを実行して所定の曲線セグメン]・で構成された自由
曲線に接″4”るように曲線セグメン)Ksc+を変形
処理し1.これにより自由曲線同士が接するようにする
。 セなわちC)) Uは、ノ、テップSPIからステラT
” S P 2に移って、変形処理する自由曲線の入力
を待つ。 ちなみに自由曲線は、第2図に示すように、隣接する曲
線セグメントと共通の節点P、。、(P L3to) 
、P +o+z (P uz)において、各曲線セグメ
ントに、。、KsGl−、KSG2の接線が一致するよ
うに接続された例えば3つの曲線セグメントKsGo 
% Ksc+ 、Ksrrzで構成され、これにより自
由曲線全体として滑らかに曲線形状が変化するようにな
されている。 ここでCP LJは、デザイナが例えばマウスを用いて
第1の曲線セグメントKsG+上にカーソルを移動させ
た後、当該マウスをクリックすると、これにより変形処
理する曲線セグメントの入力を受ける。 続いてCP LJは、スナップS I) 3において、
当該曲線セグメントF(sat の変形の基準となる曲
線セグメントKsの入力を受け、ステップSP4に移る
。 ここで第3図に示すように、CPUにおいては、曲線セ
グメントKSG+及びに、の節点P、 、P、、P、。 13、Pt3)S及び制御点PH、、Pg 、Ptn5
、PT!+sを通る平面がxy平面になるように座標変
換した後、当該曲線セグメントKsGI及びに、をその
節点P o 、P z 、P t。13、PH,s及び
制御点P + 、P z 、P t+□、P、t□と共
に表示する。 実際」二、3次のベジェ式で表される曲線セグメン)K
sa+について制御点p、 、p、を再設定して変形処
理する場合、節点P0から制御点P、に向かうベクトル
(以下節点P0の制御線ベクトルと呼ぶ)と、節点P3
の制御線ベクトルとが、それぞれ節点P。及びP、にお
ける曲線セグメントKSG+の接線を表してなることか
ら、隣接する曲線セグメン)KEG。及びKst、zと
接線が一致する状態を保持したまま曲線セグメン)KS
GIを変形処理するためには、再設定する制御点の位置
は、当該制御線ベクトルの延長線上に制限される。 さらにこのとき、節点P0から制御点P1に延長する直
線と、節点P、から制御点P2に延長する直線との交点
をQlとおき、当該交点Qxと節点Pa、Ptとを結ぶ
線分をり、及びり、とおくと、節点P。から制御点P、
に延長する直線と、節点P、から制御点P、に延長する
直線上において、それぞれ制御点が線分り、及びLア以
外の直線上に制御点P、 、P2が再設定されると、そ
の再設定された制御点p、、p、で表現される曲線セグ
メントが、ループを描いたりする問題があり、曲線セグ
メントKsGIの大まかな形状を保持したまま変形処理
するためには、実用上再設定される制御点の位置は線分
り、及びL5□上に制限される。 従って、曲線セグメントKSG+ においては、節点P
0及びP3と交点Q8を結ぶ三角形の領域からはみだす
ようには変形処理し得す、結局曲線セグメントに、に接
するように変形処理するためには、当該曲線セグメント
Ksの位置が線分■、l及びLxと交点Q、及びQ2を
形成する場合(すなわち曲線セグメントに、が当該三角
形の領域を横切る場合でなる)に制限される。 従って、この実施例においては、曲線セグメントに、G
、の制御点P、 、P2を線分L1及びL2上に再設定
することにより、隣接する曲線セグメン)K5GG及び
KSG2と接線が一致する状態を保持し、かつ曲線セグ
メントKsa+ の大まかな形状を保持したまま曲線セ
グメン)Ksc+を段階的に変形処理する。 すなわちCPUはステップSP4において、節点P0の
制御線ベクトルについて、当該制御線ベクトルの単位ベ
クトルa、  (すなわち接線ベクトルでなる)を延長
して曲線セグメントKsとの交点Q、の座標データを得
る。 同時にCPUは、曲線セグメントKsを表ずベクトル関
数R(t) *から、交点Q、の位置ベクトルを表現す
るパラメータも、を得、続くステップSP5に移る。 ここでCPUは、節点P3の制御線ベクトルについて、
当該制御線ベクトルの単位ベクトルa2を延長して曲線
セグメン)Ksとの交点Q2の座標データを得た後、ス
テップSP4と同様に交点Q2の位置ベクトルを表現す
るパラメータt、を得る。 続いてCPUは第4図に示すように、ステップSP6に
おいて、交点Q、及びQ2のパラメータt1及びt2か
ら、次式 の関係式で表されるパラメータt、及び[2の平均イ直
を得、曲線セグメントK、上に当該パラメータ
The present invention will be explained in the following order. A: Industrial field of application B: Outline of the invention C: Conventional technology: Problems to be solved by the invention Eff [Means for solving the problem (Figs. 1 and 5) Figure) G Example (G1) Principle of free curve (Figure 2) (G2) Example of free curve creation (Figures 1 to 7) (G
3) Other embodiments H Effects of the invention A Field of industrial application The present invention relates to a free curve creation method, for example CAD (c
This method is suitable for use when deforming the shape of a free curve generated in a computer aided design. B. Summary of the Invention The present invention provides a method for creating a free curve by obtaining an intersection point between an extended tangent vector and a curve segment, and regenerating a control line vector so as to pass through a point on the free curve between the intersection points. , a free curve tangent to the free curve can be obtained with a simple operation. C Conventional technology For example, when designing the shape of an object with a free-form surface using a CAD method (geowIetric mod
e]jng), designers generally use 3 that the curved surface should pass through.
By specifying multiple points in a dimensional space (these are called nodes) and having a computer calculate a boundary curve network connecting the specified multiple nodes using a predetermined vector function, it can be expressed in a so-called wire frame. Create a curved surface. In this way, it is possible to form a large number of framework spaces surrounded by boundary curves (such processing is hereinafter referred to as framework processing). The boundary curve network formed by such framework processing itself represents the rough shape that the designer intends to design, and a curved surface that can be expressed by a predetermined vector function is calculated using interpolation using the boundary curves surrounding each framework space. If it is possible to do so, it is possible to generate a free-form surface (which cannot be defined by a quadratic function) that is designed by the designer as a whole. Here, the curved surfaces stretched in each framework space form basic elements that constitute the entire curved surface, and these are called batches. Conventionally, in this type of CAD system, as a vector function expressing a boundary curve network, easy-to-calculate vector functions such as the Bezier equation, B-suf'' line (B-5pl
A third-order tensor product formed by the formula 1ne) is used, and is considered to be optimal for mathematically expressing a free-form surface that does not have any special features in terms of shape, for example. In other words, a free-form surface that has no special features in shape is
When points given in space are projected onto the xy plane, the projected points are often arranged regularly in a matrix, and when the number of projected points is expressed as mxn, the framework space It is known that it can be easily stretched using a quadrilateral patch expressed by a cubic Bezier equation. However, when this conventional mathematical expression is applied to a curved surface with characteristic shapes (for example, a curved surface with a greatly distorted shape), it is difficult to connect the patches, and it requires advanced mathematical calculation processing. Since it is necessary to execute the method, there is a problem that the calculation processing by the computer becomes complicated and enormous, and the calculation time becomes long. As a way to solve this problem, we find internal control points that satisfy the condition of tangent plane continuity for the shared boundaries of adjacent framework spaces, and use a vector function that represents the free-form surface determined by the internal control points to A method of applying patches made of curved surfaces has been proposed (Japanese Patent Application No. 60-277)
No. 448, Patent Application No. 1984-290849, Patent Application No. 1983-
No. 298638, Japanese Patent Application No. 15396, 1983, Japanese Patent Application No. 1983
1-33412, Japanese Patent Application No. 61-59790, Japanese Patent Application No. 61-64560, Japanese Patent Application No. 61-96368, Japanese Patent Application No. 61-69385). Problems that the invention aims to solve By the way, in reality, designers' design work usually involves repeating local corrections to move step by step closer to the shape that the designer envisions. The free-form surface generated as described above is also repeatedly modified to approximate the shape envisioned by the designer. In other words, as a method for modifying such a free-form surface, the designer cuts the free-form surface at a desired cross section on the display screen, visually confirms the cross-sectional shape of the resulting free-form surface, and locally corrects the details. After that, a method is used to generate a free-form surface again based on the cross-sectional shape (
Patent Application No. 1982-276925, Patent Application No. 1982-27869
No. 4). However, when a designer uses such a method to modify a free-form surface, he or she may wish to modify the shape of the original cross-sectional curve so that it is in contact with a predetermined free curve. In such a case, conventionally, nodes and internal control points, etc. had to be re-set in an error-oriented manner for each curve segment of the free curve formed by the cross-sectional curve, which is a problem that is difficult to design in practice. was there. The present invention has been made in consideration of the above points, and aims to propose a free curve creation method that can obtain a free curve tangent to a predetermined straight line with simple operations. E Means for Solving the Problem In order to solve the problem, in the first invention, the first and second nodes P0 and P, and the first and second node P
G on a free curve expressed by a predetermined vector function R(t) using the first and second control points P and P2 set between 0 and 23. , the first node P. Extend the first tangent vector a from the point P to the first control point P, and the second tangent vector at from the second node P to the second control point P2 to form a desired free curve, The first and second intersection points Q+ and Q! By further extending the first tangent vector a to generate a control line vector PIN po, a new control point P0 determined by the control line vector PIN PO is obtained.
, first and second nodes P0 and P, and second control point P2
or a new free curve expressed using a new control point P0 determined by the control line vector P+sPa, the first and second nodes P0 and P3, and the above second intersection Q2. A free curve. is the free curve between the first and second intersection points Q1 and 07,
Make sure to pass through the upper passing point Pa. Furthermore, in the second invention, the first and second nodes P0
And using the first and second control points P and P2 set between P3 and the first and second nodes P0 and 23, a free curve expressed by a predetermined vector function R(t), G.
, a first tangent vector a1 from the first node P0 to the first control point P1, and a second tangent vector a1 from the second node P,
Extend the second tangent vector a toward the control point P2 to obtain the first and second intersection points Q and Q2 with the desired free curve, and further extend the first tangent vector a. By generating a control line vector PIN PO, a new control point is created on the free curve between the first and second intersection Q and Qt, passing through the upper passing point P and determined by the control line vector PIN po. Plus a new free curve expressed using the first and second nodes P0 and P3 and the second control point P2, or the free curve K between the first and second intersection points Q1 and 02. Passes through the upper passing point PT and the control line vector PINP0
A new control point PIN, first and second nodes P determined by . A new free curve KffGN expressed using P3 and the second intersection Q2 is generated, and a new free curve is created. is divided at il1 point Pi, and the divided free curve KSGN1%
KSGN2 is transformed so that the tangent line coincides with the free curve at the passing point P1. A free curve K3GN that is tangent to the free curve at P7 can be obtained. Furthermore, the free curve K passing through the passing point PT! After dividing 9Gl+ at the corresponding passing point PT, the divided free curve Ksar
tIzKs. 2 so that the tangent line coincides with the free curve at the passing point PT, it is possible to obtain a free curve that is in contact with the free curve at the passing point P as a whole with a simple operation. After obtaining the intersection points Q1 and G2 of the tangent vectors a and G2 extended by F action and the free curve, and obtaining the upper passing point PT on the free curve between the intersection points Ql and 02, further tangent vector a1 If one of the two control line vectors of the free curve is generated by extending the control line vector PINPO, then the control line vector P +NPo-(?Determined free curve NI
AKscN'li: It is possible to set the vehicle to pass through the corresponding passing point P1 with a simple operation. To the extent that this is practical, an embodiment of the present invention will be described in detail below with reference to the drawings. (G1) Principle of free curve In this example, the free curve is as shown in Figure 2.
Nodes Po and P3 (P(
010 and P(310, P(011 and P(111%P
,. , 2 and P(312).
at') are connected. This curve segment Ksc is a cubic Bezier (bezi
Using the following formula, R(t) = (1-t + tE)3P0...
... Parametric spatial curve R (1)
t). Here, t is the curve segment KsG from one node P0
It is a parameter that changes from a value of 0 to a value of 1 as expressed by the following equation (2) in the direction along the direction until reaching the other node P. In this way, the curve segment KsG expressed by the cubic Bezier equation is divided into nodes p and P1 by the shift operator E.
By specifying two control points p and P2 between them, each point on the curve segment can be expressed as a position vector R(t) from the origin 0 in xyz space using the following expansion formula: be done. Here, the shift operator E has the following relationship with respect to the control point P on the curve segment Ksc. Therefore, by expanding equation (1) and substituting the relationship in equation (4), we get the following equation Rct)=(1 t+tE)"P.=((1-t)3+3(1-t)"tE+3
(1-t)t"B"+t"E3)p. -(1-t)po+ 3 (1 t)2 M E P. +3(1-t)t"E"P, +t3E3P. -(l t )”Pal 3(1t)”t P+→
3(1-tjt")", upper t 3P J...
... (6) It is possible to perform the calculation as shown below, and as a result, (3) 2 is obtained. Thus, each curve segment Ksao, K of the free curve G
sc+, KsG□, respectively 2 based on formula (3)
one node and a control point P,. ,0~2,P(1,.~2
, P(21o~yo and P(31゜2.), and each curve segment, member l'KsG., K3+;;
, by expressing a free curve using KSG2 baskets, 1
, 9GO, KSGI −, respectively for each curve segment.
Nodes and control points P (0111-,
, , Z, P(1)O-2, P(Z'l0-2 and P(1
10 to 2 can be used to express a free curve. (G2) Example of free curve creation In this example, the central processing unit (CP (J) of the free curve creation device executes the curve deformation processing program shown in Fig. 1 to create a predetermined curve segment). 1. Transform the curve segment) Ksc+ so that it is tangent to the free curve "4".1. This allows the free curves to touch each other. C)) U is ノ, step SPI to Stella T
” Proceeds to S P 2 and waits for the input of the free curve to be deformed. Incidentally, as shown in Figure 2, the free curve has a common node P, (P L3 to) with the adjacent curve segment.
, P +o+z (P uz) for each curve segment. , KsGl-, KSG2, for example, three curved segments KsGo connected such that their tangents coincide.
% Ksc+ and Ksrrz, so that the curve shape of the entire free curve changes smoothly. Here, in CP LJ, when the designer moves a cursor over the first curve segment KsG+ using a mouse, for example, and then clicks the mouse, the CP LJ receives an input of a curve segment to be transformed. Subsequently, CP LJ, in snap SI) 3,
After receiving the input of the curve segment Ks that serves as a reference for the deformation of the curve segment F(sat), the process moves to step SP4.Here, as shown in FIG. 3, in the CPU, the nodes P, , P,,P,.13,Pt3)S and control point PH,,Pg,Ptn5
, PT! After coordinate transformation is performed so that the plane passing through +s becomes the xy plane, the curve segment KsGI and its nodes P o , P z , P t. 13, PH, s and control points P + , P z , P t+□, P, t□ are displayed together. In fact, a curve segment expressed by a quadratic or cubic Bezier equation)
When resetting and deforming the control points p, ,p for sa+, a vector from the node P0 to the control point P (hereinafter referred to as the control line vector of the node P0) and the node P3
and the control line vectors are the nodes P, respectively. and P, representing the tangent of the curve segment KSG+ in the adjacent curve segment) KEG. and Kst, the curve segment while maintaining the state where the tangent line coincides with z) KS
In order to transform the GI, the position of the control point to be reset is limited to an extension of the control line vector. Furthermore, at this time, the intersection of the straight line extending from node P0 to control point P1 and the straight line extending from node P to control point P2 is set as Ql, and the line segment connecting the intersection Qx and nodes Pa and Pt is drawn. , and, the node P. from control point P,
If the control points P, , P2 are reset on the straight line extending from the node P to the control point P, and the control points P, , P2 are reset on the line segment and on the straight line other than LA, There is a problem that the curve segment expressed by the reset control points p, ,p, draws a loop, and in order to perform the deformation process while maintaining the rough shape of the curve segment KsGI, it is practically necessary to reset the curve segment. The positions of the control points are limited to the line segment and L5□. Therefore, in the curve segment KSG+, the node P
It is possible to deform the curve segment so that it protrudes from the triangular area connecting the intersection point Q8 with 0 and P3.In order to deform the curve segment so that it is in contact with and Lx to form intersections Q and Q2 (i.e., curve segments that intersect the area of the triangle). Therefore, in this example, the curve segment has G
By resetting the control points P, , P2 of , on the line segments L1 and L2, the state in which the tangents coincide with the adjacent curve segments K5GG and KSG2 is maintained, and the rough shape of the curve segment Ksa+ is maintained. The curve segment (Ksc+) is deformed step by step. That is, in step SP4, the CPU obtains coordinate data of the intersection point Q with the curve segment Ks by extending the unit vector a of the control line vector (that is, consisting of a tangential vector) of the control line vector of the node P0. At the same time, the CPU obtains a parameter representing the position vector of the intersection point Q from the vector function R(t)* representing the curve segment Ks, and proceeds to the subsequent step SP5. Here, the CPU calculates, regarding the control line vector of node P3,
After extending the unit vector a2 of the control line vector to obtain the coordinate data of the intersection point Q2 with the curve segment) Ks, the parameter t expressing the position vector of the intersection point Q2 is obtained as in step SP4. Next, as shown in FIG. 4, in step SP6, the CPU obtains the parameter t expressed by the following relational expression and the average value of [2, from the parameters t1 and t2 of the intersection points Q and Q2, curve segment K, with the parameter on top

【、で表
現される通過点P□を設定する。 すなわち、(3)式から、節点Pf01S、P(311
及び制御点PfllS、P(215で表現される曲線セ
グメンl−に、においては、次式 %式% のベクトル関数R(t)Sで表現されることから、(8
)式にパラメータt、を代入することにより、通過点P
tが得られる。 さらにCPUにおいては、曲線セグメントK。 を表現するベクトル間数R(t)sについて、次式 %式%) で表されるパラメータtによる微分式にパラメータt、
を代入する。 かくして、ベクトル関数R(t)sのパラメータtによ
る微分式においては、当該ベクトル関数R(t)sで表
現される曲線セグメン)Ksの接線ベクトルを表現する
ことができ、パラメータt3を代入することにより、通
過点Ptにおける曲線セグメントK sの接線ベクトル
関数を得るごとができる。 かくしてこの実施例においては、線分Ll及びL2上に
制御点を再設定して曲線セグメントKsGIを段階的に
変形処理してiIl過点PTを通る曲線セグメントを得
た後、これを分割し、接線ベクトルaTを用いて接続し
直すことにより、当該通過点ptで曲線セグメントに、
に接するように変形処理する。 このようにすれば、線分L+及びL2で決まる三角形の
領域内で、曲線セグメントに3,1を変形処理し得、こ
れにより隣接する曲線セグメントKSG。及びに、G□
と接線が一致する状態を保持し、かつ曲線セグメントK
se+の大まかな形状を保持したまま、変形処理するこ
とができる。 このためステップSP8においてCPUは、第5図に示
すように、制御点P、及びP2に代えζ=21 交点Q、及びQ2に制御点を設定し、これにより曲線セ
グメントKsc、に比して通過点P1に接近した曲線セ
グメントKSON+を生成する。 ちなみに、節点P。及びP3の制御線ベクトルに延長1
の交点Q、及びQ2を用いて、曲線セグメン) KSG
NIを生成する場合、元の曲線セグメントKsc+ と
節点P。及びP3における接線を一致させることができ
ることから、元の曲線セグメントKsc、l と同様に
隣接する曲線セグメントと接線が一致する状態を維持す
ることができる。 かくして、曲線セグメントK SGN+においては、(
3)式から次式 R(t)=(1−t) 3Po  + 3  (i  
−t) 2 t  Q+3 (1t )t2Qz + 
u 、’P 、l・・・・・・ (10) のように表され、ベクトルQ+Po及びQt  P3の
制御線ベクトルを持つ。 続いてCP[Jは、曲線セグメントKscs+の2つの
制御線ベクトルQI  PO及びQ2  P:Iのうち
、制御線ベクトルQ+  Poを延長し、延長された制
御線ベクトルPus  Paで決まる点に制御点P18
を設定する。 このとき、当該制御点PIHで表現される曲線セグメン
トK SGNが通過点P、を通るように、制御線ベクト
ルQ+   Paの延長量を決定し、これにより通過点
P、を通る曲率セグメン]・KsGNを生成する。 この場合新たに設定される制御点PINは、制御線ベク
トルQ、−P。の単位ヘクトルa、及びスカラ量u、を
用いて延長量を表現すると、次式%式%(11) 従って、当該制御点PIN、節点P0及びP8、制御点
Q2で表される曲線セグメントK 5 G Nは、パラ
メータLに代えて値O〜1の間で変化するパラメータu
cを用いると共に(11)式を用いて(10)式から、
次式 R(u、、  uc)−(]   1l−)31’。 →−3(1um)2ua(p 6 + a  ・uc)
+3(1,ua)ua”Qz +u、’P3 ・・・・・・ (12) で表される。 従って当該曲線セグメントKs。が通過点PTを通るた
めには、次式 %式%(13) が成り立てばよく、この関係を満足するスカラ量ucを
得るようにすれば、(11)式から新たな制御点PIN
の座標データを得ることができる。 ところで、実際上(13)式から3次元空間上の座標デ
ータを得る場合、非線型の3次式を解かなければならず
、この種の演算処理を実行する場合においては、繰り返
し演算を実行して処理時間が長大になる問題がある。 従ってこの実施例においては、ステップSP4において
曲線セグメントに、GI及びに、を通る平面がxy平面
になるように座標変換することにより、y軸及びy軸に
ついての座標データだけを得るようにする。 さらに、(13)式を線型化してニュートンラプソンの
手法を用いて演算処理することにより、短時間で演算処
理を実行するようになされている。 すなわち(13)式をテーラ展開して、その2次以降の
項を消去することにより、次式 %式%) が得られ、これを変形して、次式 = P r  R(u 、。 J が得られる。 従ってり15)式をX軸及びy軸成分に分解して、各成
分を添え字を付して丞すと、次式 1式%]) のようにマトリックス化することができる。 ここで、マトリックスの各成分については、(12)か
ら次式 %式%)(1 かくして、(17)、(18)及び(19)式をX軸及
びy軸成分に分解して(16)弐に代入した後、11、
及びucに初期値を代入すると共に順次ΔU、及びΔu
cを代入する。 その結果、(16)弐を収束させるΔu3及びΔucを
得、当該値ΔU、及びΔu、とu8及びucの初期値か
ら、スカラ量uc及びバランメタU、を得ることができ
る。 かくして当=亥スカラMucに基づいて、新たな制御点
PIl+を設定し得、当該制御点Pいと制御点Q2及び
節点Po、Psで表される曲線セグメントKSGNを得
ることにより、通過点P、を通る曲線セグメントに、。 を得ることができる。 ちなみに、2つの制御点Q、及びQ2の双方について、
制御点を再設定して通過点P、を通るように曲線セグメ
ントを変形処理する方法も考えられるが、実際上この方
法においては、再設定される制御点を一義的に決定する
ことが困難なおそれがあり、この実施例のように2つの
制御点Q、及びQ2の内、1つの制御点Q1だけを再設
定すれば、通過点Piを通る自由曲線を簡易かつ確実に
得ることができる。 第6図に示すようにCP tJは、新たな制御点PIN
が得られると、続いてステップSP9に移って、曲線セ
グメントKs。を通過点P、で分割する。 すなわち、曲線セグメントKsc++を(16)式から
得られたパランメータリカを用いて、節点P。 及び通過点Pアを節点P(。l IN % P (x、
INにしてなる曲線セグメントKNNI と、iI通過
点。及び節点P3を節点P(。、2N、 イ3,2Nに
してなる曲線セグメントKNN!とに分割する。 続いてCPUは、ステップ5PIOに移って、第7図に
示すように曲線セグメン)KuN+及びK)IN□の共
通の節点P。lIN%P(。12Nにおける制御1g線
ベクトルが、通過点Pアにおける曲線セグメントに、の
接線ベクトルaTと一致するように制御点P TH11
8% P (11288を再設定し、これにより通過点
Pアを通る曲線セグメン)K□、及びに+<H□が、当
該通過点P1で曲線セグメントKsに接するように変形
処理する。 かくして、交点Q1及び02間の通過点P□を通るよう
に変形処理した曲線セグメントKSGWをill過点P
Tで分割し7た後、当該通過点PTで接線が曲線セグメ
ントに5と一致するように接続し直すことにより、曲線
セグメントに、に接する曲線セグメントに、及びに2を
得ることができ、かくして全体として曲線セグメントに
、に接する自由曲線を得るこきができる。 CP Llは、続いて曲線セグメントに1及びに2を表
現する節点P +oz++ % P +5zN(P (
Q12N )、711211及び制御点P (11IN
 、、 P (2) lNN%P ++yzsN−,P
 +z+zsの座標データを元の3次元空間−にの座標
データに変換した後、ベータベースに格納し、ステップ
5PIIに移って当該処理手順を終rする。 以上の方法において、曲線セグメン)Ksc+の節点P
。、P3における制御線ベクトル(a、及びaz)が延
長されて、曲線セグメン) K s との交点Q、及び
G2が得られ(第3図)、当該交点Q1及びG2を制御
点にしてなる曲線セグメントKSG□が生成される(第
5図)。 続いて、曲線セグメントKsGNlが、交点Q、及び0
2間の通過点PTを通るように変形処理された後(第5
図)、通過点PTで分割される(第6図)。 分割された曲線セグメントKNNI 、KNN2 は、
通過点P、においで、曲線セグメンl’ K sの接線
ヘクトルatと接線が一致するように接続し直され、か
くして元の曲線セグメントに50.を曲線セグメントK
sに接する曲線セグメントに、及びKtに変形処理する
ことができる(第7図)。 以上の方法によれば、延長した制御線ベクトルと曲線セ
グメントK sとの交点Q、及びG2を得、さらに制御
線ベクトルのうちの1つを延長して交点Q1及び02間
の通過点P1を通る曲線セグメントKscNを生成した
後、当該曲線セグメントK 、G、を接続し直しすこと
により、共有の接点において互いに接線が一致するよう
に接続された曲線セグメントの】つを、当該接線が一致
する条件を維持したまま、所定の曲線セグメントK s
に接するように変形処理し得、かくして簡易な操作で所
望の自由曲線に接する自由曲線を得ることができる。 (G3)他の実施例 (1)なお上述の実施例においては、交点Q1及びG2
を制御点にしてなる曲線セグメントKscN+を生成し
た後、当該曲線セグメントKSGNIが通過点PTを通
るように変形処理する場合について述べたが、本発明は
これに限らず、元の曲線セグメントに、、、を直接通過
点PTを通るように変形処理してもよい。 この場合通過点PTを通る曲線セグメントは、延長され
た制御線ベクトルで決まる制御点、元の曲線セグメント
の節点P0及びP3と、残りの制御点P2で表現される
。 (2)  さらに上述の実施例においては、通過点P1
を通るように変形処理した曲線セグメントK SGNを
2分割して接続し直した場合について述べたが、本発明
はこれに限らず、要は実用上十分な範囲で変形処理した
曲線セグメントKsGNが通過点P。 で曲線セグメン)KSに接している場合は、接続し直す
処理を省略するようにしてもよい。 (3)  さらに上述の実施例においては、交点Q、及
びG2を表現するベクトル関数R(t)Sのパラメータ
1.及びt2を得、当該パラメータt、及びも2の平均
値t、を用いてベクトル関数R(L)で表される通過点
PTを通るように曲線セグメントKsc+を変形処理す
る場合について述べたが、本発明はこれに限らず、要は
交点Q、及び02間の曲線セグメントKs上に通過点P
、を設定すればよく、当該通過点PTをパラメータを−
及びt2以外の要素を用いて設定するようにしてもよい
。 (4)  さらに上述の実施例においては、3次のベジ
ェ式で表される曲線セグメントを変形処理する場合につ
いて述べたが、数式の次数はこれに限らず、4次以上に
しても良い。 (5)  さらに上述の実施例においては、共通の節点
で接線が一致するように接続された曲線セグメントの1
つを、他の曲線セグメントに接するように=34 変形処理する場合について述べたが、本発明はこれに限
らず、接線が不一致の状態で接続された曲線セグメント
の1つを変形処理する場合、さらには独立した曲線セグ
メントを変形処理する場合等広く適用することができる
。 H発明の効果 上述のように本発明によれば、延長した制御線ベクトル
と曲線セグメントとの交点を得、さらに制?[1線ベク
トルの1つを延長して当該交点間の曲線セグメント上の
通過点を通る曲線セグメントを生成することにより、簡
易な操作で所定の曲線セグメントに接するように曲線セ
グメントを変形処理し得、かくして所望の自由曲線に接
するように自由曲線を変形処理することができる。 は曲線セグメントの変形の説明に供する路線図である。 K+  X Kz  %  Ksc++  −、Ksc
z  %  Kscx  s  KsGN −。 K3ONls KNNI % KN)lz・・・・・・
曲線セグメンl−5PG−:l −、P (ell−3
% P (n+−s−、P (o++++ −28%P
 (3118〜2N・・・・・・節点、 PT・・・・
・・通過点、P(Ill〜3、 P(21+−3、P 
(1118−28%PfZ目、〜2□、P(211NS
  、P(1)21□ 、Q4、Q2・・・・・・制御
点。
Set a passing point P□ expressed as [, That is, from equation (3), the nodes Pf01S, P(311
In the curve segment l- expressed by control points PfllS, P(215), since it is expressed by the vector function R(t)S of the following formula, (8
) By substituting the parameter t into the equation, the passing point P
t is obtained. Furthermore, in the CPU, the curve segment K. For the number of vectors R(t)s expressing
Substitute. Thus, in the differential expression of the vector function R(t)s by the parameter t, it is possible to express the tangent vector of the curve segment )Ks expressed by the vector function R(t)s, and by substituting the parameter t3. As a result, the tangent vector function of the curve segment Ks at the passing point Pt can be obtained. Thus, in this embodiment, the control points are reset on the line segments Ll and L2, and the curve segment KsGI is deformed in stages to obtain a curved segment that passes through the iIl point PT, and then this is divided, By reconnecting using the tangent vector aT, to the curved segment at the corresponding passing point pt,
Transform it so that it touches . In this way, within the triangular area determined by the line segments L+ and L2, the curve segment can be transformed by 3,1, thereby deforming the adjacent curve segment KSG. And, G□
and the curve segment K
It is possible to perform deformation processing while maintaining the rough shape of se+. Therefore, in step SP8, the CPU sets control points at ζ=21 intersection Q and Q2 instead of control points P and P2, as shown in FIG. A curve segment KSON+ close to point P1 is generated. By the way, node P. and extend 1 to the control line vector of P3
Using the intersection points Q and Q2 of the curve segment) KSG
When generating NI, the original curve segment Ksc+ and the node P. Since the tangents at and P3 can be made to match, it is possible to maintain a state in which the tangents match the adjacent curve segments, similar to the original curve segment Ksc,l. Thus, in the curve segment K SGN+, (
3), the following formula R(t) = (1-t) 3Po + 3 (i
-t) 2 t Q+3 (1t)t2Qz +
It is expressed as u, 'P, l... (10) and has control line vectors of vectors Q+Po and QtP3. Next, CP[J extends the control line vector Q+ Po among the two control line vectors QI PO and Q2 P:I of the curve segment Kscs+, and places the control point P18 at the point determined by the extended control line vector Pus Pa.
Set. At this time, the amount of extension of the control line vector Q+ Pa is determined so that the curve segment K SGN expressed by the control point PIH passes through the passing point P, and thereby the curvature segment]・KsGN that passes through the passing point P is determined. generate. In this case, the newly set control point PIN is the control line vector Q, -P. Expressing the amount of extension using the unit hectare a and the scalar amount u, the following formula % Formula % (11) Therefore, the curve segment K5 represented by the control point PIN, nodes P0 and P8, and control point Q2. G N is a parameter u that changes between the value O and 1 instead of the parameter L.
From equation (10) using c and equation (11),
The following formula R(u,, uc)-(] 1l-)31'. →-3(1um)2ua(p6+a・uc)
+3(1,ua)ua''Qz +u,'P3 ...... (12) Therefore, in order for the relevant curve segment Ks to pass through the passing point PT, the following formula % formula % (13 ) should hold, and if we obtain a scalar quantity uc that satisfies this relationship, we can obtain a new control point PIN from equation (11).
coordinate data can be obtained. By the way, in practice, when obtaining coordinate data in a three-dimensional space from equation (13), it is necessary to solve a nonlinear cubic equation, and when performing this type of calculation processing, it is necessary to perform repeated calculations. There is a problem that the processing time becomes long. Therefore, in this embodiment, only coordinate data about the y-axis and the y-axis are obtained by performing coordinate transformation on the curve segment in step SP4 so that the plane passing through GI and 2 becomes the xy plane. Furthermore, by linearizing equation (13) and performing arithmetic processing using Newton-Raphson's method, the arithmetic processing can be performed in a short time. In other words, by performing Taylor expansion on equation (13) and eliminating its quadratic and subsequent terms, the following equation (%) is obtained, and by transforming this, the following equation = P r R (u,. J Therefore, by decomposing equation 15) into X-axis and y-axis components and adding subscripts to each component, it is possible to form a matrix as shown below. . Here, for each component of the matrix, from (12), the following formula % formula %) (1 Thus, by decomposing formulas (17), (18) and (19) into X-axis and y-axis components, (16) After assigning to 2, 11,
As well as assigning initial values to and uc, sequentially ΔU and Δu
Substitute c. As a result, (16) Δu3 and Δuc that converge are obtained, and the scalar quantity uc and balance meta U can be obtained from the values ΔU and Δu and the initial values of u8 and uc. Thus, based on the scalar Muc, a new control point PIl+ can be set, and by obtaining the control point P and the curve segment KSGN represented by the control point Q2 and the nodes Po and Ps, the passing point P can be set. to the curved segment that passes through. can be obtained. By the way, for both the two control points Q and Q2,
A method of resetting the control points and deforming the curve segment so that it passes through the passing point P is also considered, but in practice, in this method, it is difficult to unambiguously determine the control points to be reset. However, by resetting only one control point Q1 out of the two control points Q and Q2 as in this embodiment, a free curve passing through the passing point Pi can be easily and reliably obtained. As shown in FIG. 6, CP tJ is the new control point PIN
Once obtained, the process proceeds to step SP9, where the curve segment Ks is obtained. Divide by the passing point P. That is, the curve segment Ksc++ is determined by the node P using the parameter obtained from equation (16). and passing point Pa as node P(.l IN % P (x,
The curved segment KNNI formed by IN and the iI passing point. and the node P3 are divided into the curve segments KNN! formed by the nodes P(., 2N, a3, 2N).Then, the CPU moves to step 5PIO and divides the curve segments KuN+ and KNN! as shown in FIG. K) Common node P of IN□. The control point P TH11 is set so that the control 1g line vector at lIN%P(.12N coincides with the tangent vector aT of the curve segment at the passing point P.
8% P (by resetting 11288, the curve segment passing through the passing point Pa) K□ and +<H□ are transformed so that they touch the curve segment Ks at the passing point P1. In this way, the curve segment KSGW that has been deformed so as to pass through the passing point P□ between the intersection points Q1 and 02 is transformed to the ill passing point P
After dividing by T and 7, by reconnecting the curve segment so that the tangent line coincides with 5 at the corresponding passing point PT, we can obtain 2 to the curve segment, to the curve segment tangent to , and to 2, thus As a whole, we can obtain a free curve that is tangent to the curve segment. CP Ll is then filled with nodes P +oz++ % P +5zN(P (
Q12N ), 711211 and control point P (11IN
,, P (2) lNN%P ++yzsN-,P
After converting the +z+zs coordinate data into the original three-dimensional space - coordinate data, it is stored in the beta base, and the process moves to step 5PII to end the processing procedure. In the above method, the node P of the curve segment) Ksc+
. , P3 is extended to obtain the intersection points Q and G2 with the curve segment) K s (Fig. 3), and a curve formed by using the intersection points Q1 and G2 as control points. Segment KSG□ is generated (FIG. 5). Subsequently, the curve segment KsGNl has the intersection point Q and 0
After being deformed so as to pass through the passing point PT between 2 (5th
(Fig. 6), and is divided at the passing point PT (Fig. 6). The divided curve segments KNNI and KNN2 are
At the passing point P, it is reconnected so that it coincides tangent with the tangent hector at of the curve segment l' K s, thus adding 50. The curve segment K
A deformation process can be applied to the curve segment tangent to s and to Kt (FIG. 7). According to the above method, the intersection points Q and G2 of the extended control line vector and the curve segment Ks are obtained, and one of the control line vectors is further extended to obtain the passing point P1 between the intersection points Q1 and 02. After generating a curve segment KscN that passes through, by reconnecting the curve segments K and G, one of the curve segments connected so that the tangent lines coincide with each other at a common point of contact, the tangent lines coincide with each other. While maintaining the condition, the predetermined curve segment K s
In this way, a free curve that is in contact with a desired free curve can be obtained with a simple operation. (G3) Other embodiments (1) In the above embodiment, the intersections Q1 and G2
A case has been described in which the curve segment KscN+ is generated using the control point KscN+, and then the curve segment KSGNI is transformed so as to pass through the passing point PT. However, the present invention is not limited to this, and the original curve segment is , may be transformed so that it directly passes through the passing point PT. In this case, the curve segment passing through the passing point PT is expressed by a control point determined by the extended control line vector, nodes P0 and P3 of the original curve segment, and the remaining control point P2. (2) Furthermore, in the above embodiment, the passing point P1
A case has been described in which the curved segment KsGN that has been deformed so as to pass through is divided into two and reconnected, but the present invention is not limited to this. Point P. (curve segment) KS, the reconnection process may be omitted. (3) Furthermore, in the above-described embodiment, the parameters 1 . We have described the case where the curve segment Ksc+ is transformed so that it passes through the passing point PT expressed by the vector function R(L) using the parameter t and the average value t of t2. The present invention is not limited to this, but the point is that the passing point P is on the curve segment Ks between the intersection Q and 02.
, and set the relevant passing point PT to the parameter -
and t2 may be used for setting. (4) Further, in the above-described embodiments, a case has been described in which a curve segment expressed by a cubic Bezier equation is transformed, but the order of the equation is not limited to this, and may be quartic or higher. (5) Furthermore, in the above embodiment, one of the curved segments connected such that the tangents coincide at a common node.
In the above description, one curve segment is transformed so that one curve segment is tangent to another curve segment = 34, but the present invention is not limited to this. Furthermore, it can be widely applied when deforming independent curve segments. H Effects of the Invention As described above, according to the present invention, the intersection point between the extended control line vector and the curve segment is obtained, and the control line vector is further controlled. [By extending one of the one-line vectors and generating a curve segment that passes through a passing point on the curve segment between the intersection points, the curve segment can be transformed so that it touches a predetermined curve segment with a simple operation. In this way, the free curve can be transformed so as to be in contact with the desired free curve. is a route map for explaining deformation of curved segments. K+ X Kz % Ksc++ −, Ksc
z % Kscx s KsGN −. K3ONls KNNI% KN)lz・・・・・・
Curve segment l-5PG-: l-, P (ell-3
% P (n+-s-, P (o++++ -28%P
(3118~2N...node, PT...
... Passing point, P(Ill~3, P(21+-3, P
(1118-28%PfZth, ~2□, P(211NS
, P(1)21□ , Q4, Q2... Control point.

Claims (2)

【特許請求の範囲】[Claims] (1)第1及び第2の節点と上記第1及び第2の節点間
に設定された第1及び第2の制御点を用いて、所定のベ
クトル関数で表現される自由曲線において、 上記第1の節点から上記第1の制御点に向かう第1の接
線ベクトルと、上記第2の節点から上記第2の制御点に
向かう第2の接線ベクトルを延長して、所望の自由曲線
との第1及び第2の交点を得、 上記第1の接線ベクトルをさらに延長して制御線ベクト
ルを生成することにより、 上記制御線ベクトルで決まる新たな制御点、上記第1及
び第2の節点と上記第2の制御点を用いて表現される新
たな自由曲線、又は上記制御線ベクトルで決まる新たな
制御点、上記第1及び第2の節点と上記第2の交点を用
いて表現される新たな自由曲線が、上記第1及び第2の
交点間の上記自由曲線上の通過点を通るようにした ことを特徴とする自由曲線作成方法。
(1) In a free curve expressed by a predetermined vector function using first and second nodes and first and second control points set between the first and second nodes, By extending a first tangent vector from the first node to the first control point and a second tangent vector from the second node to the second control point, By obtaining the first and second intersection points and further extending the first tangent vector to generate a control line vector, a new control point determined by the control line vector, the first and second nodes, and the above A new free curve expressed using the second control point, a new control point determined by the control line vector, or a new free curve expressed using the first and second nodes and the second intersection point. A method for creating a free curve, characterized in that the free curve passes through a passing point on the free curve between the first and second intersection points.
(2)第1及び第2の節点と上記第1及び第2の節点間
に設定された第1及び第2の制御点を用いて、所定のベ
クトル関数で表現される自由曲線において、 上記第1の節点から上記第1の制御点に向かう第1の接
線ベクトルと、上記第2の節点から上記第2の制御点に
向かう第2の接線ベクトルを延長して、所望の自由曲線
との第1及び第2の交点を得、 上記第1の接線ベクトルをさらに延長して制御線ベクト
ルを生成することにより、上記第1及び第2の交点間の
上記自由曲線上の通過点を通り、かつ上記制御線ベクト
ルで決まる新たな制御点、上記第1及び第2の節点と上
記第2の制御点を用いて表現される新たな自由曲線、又
は上記第1及び第2の交点間の上記自由曲線上の通過点
を通り、かつ上記制御線ベクトルで決まる新たな制御点
、上記第1及び第2の節点と上記第2の交点を用いて表
現される新たな自由曲線を生成し、 上記新たな自由曲線を上記通過点で分割し、上記分割し
た自由曲線を、上記通過点において、上記自由曲線と接
線が一致するように変形処理した ことを特徴とする自由曲線作成方法。
(2) In the free curve expressed by a predetermined vector function using the first and second nodes and the first and second control points set between the first and second nodes, By extending a first tangent vector from the first node to the first control point and a second tangent vector from the second node to the second control point, 1 and a second intersection point, and further extend the first tangent vector to generate a control line vector, passing through a passing point on the free curve between the first and second intersection points, and A new control point determined by the control line vector, a new free curve expressed using the first and second nodes and the second control point, or the free curve between the first and second intersection points. Generate a new free curve that passes through the passing point on the curve and is expressed using a new control point determined by the control line vector, the first and second nodes, and the second intersection point, and A method for creating a free curve, comprising: dividing a free curve at the passing point, and deforming the divided free curve so that a tangent to the free curve coincides with the free curve at the passing point.
JP63263501A 1988-10-18 1988-10-18 How to create free curves for objects Expired - Fee Related JP2832958B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63263501A JP2832958B2 (en) 1988-10-18 1988-10-18 How to create free curves for objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63263501A JP2832958B2 (en) 1988-10-18 1988-10-18 How to create free curves for objects

Publications (2)

Publication Number Publication Date
JPH02109182A true JPH02109182A (en) 1990-04-20
JP2832958B2 JP2832958B2 (en) 1998-12-09

Family

ID=17390404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63263501A Expired - Fee Related JP2832958B2 (en) 1988-10-18 1988-10-18 How to create free curves for objects

Country Status (1)

Country Link
JP (1) JP2832958B2 (en)

Also Published As

Publication number Publication date
JP2832958B2 (en) 1998-12-09

Similar Documents

Publication Publication Date Title
Dokken et al. Trivariate spline representations for computer aided design and additive manufacturing
JP2006523891A (en) System and method for defining T-splines and T-NURCC surfaces using local refinement
JPH08138082A (en) Method and system for generation of square mesh
JP3557839B2 (en) How to create mesh data on a curved surface
WO1991010965A1 (en) Free surface data preparation method
US6897862B2 (en) Method and system for applying constraints to chains of curves
JPH02109182A (en) Free curve generating method
JP2745565B2 (en) How to create curve data representing the shape of an object
JPH02109181A (en) Free curve generating method
JP2897245B2 (en) Free curve creation method
JP3187808B2 (en) Object surface shape data creation device
JP3187811B2 (en) Object surface shape data creation method
JP2737132B2 (en) Object surface shape data creation method
JP3187809B2 (en) Object surface shape data creation method
JPH02109183A (en) Free curve generating method
JPH0293880A (en) Free curved line preparing method
JP3187814B2 (en) Method and apparatus for creating surface shape data of object
JP3187810B2 (en) Object surface shape data creation device
JP2897251B2 (en) Object surface shape data creation method
JP3158368B2 (en) Method and apparatus for creating surface shape data of object
JPH0616290B2 (en) Method for defining shape of three-dimensional connected body
JPH01277968A (en) Free curve drawing method
JP2696914B2 (en) Mold making method
JPH01277969A (en) Free curve drawing method
JP3228433B2 (en) Free curve creation method and free curved surface creation method

Legal Events

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