JPH03269686A - 高品質な曲線の生成処理方式 - Google Patents

高品質な曲線の生成処理方式

Info

Publication number
JPH03269686A
JPH03269686A JP6945790A JP6945790A JPH03269686A JP H03269686 A JPH03269686 A JP H03269686A JP 6945790 A JP6945790 A JP 6945790A JP 6945790 A JP6945790 A JP 6945790A JP H03269686 A JPH03269686 A JP H03269686A
Authority
JP
Japan
Prior art keywords
curve
time interval
length
matrix
interval
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.)
Pending
Application number
JP6945790A
Other languages
English (en)
Inventor
Satoshi Naoi
聡 直井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6945790A priority Critical patent/JPH03269686A/ja
Publication of JPH03269686A publication Critical patent/JPH03269686A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 高品質な曲線の生成方式に関し。
隙間なく1ドツト間隔で点列を発生させて、高速度で曲
線を生成することを目的とし 予め生成すべき曲線の長さを算出し、その曲線に応して
隣接する点間の時間間隔を求め、差分マトリクス法によ
り当該時間間隔毎に曲線を形成する点を求めて1曲線を
生威させるよう構成する。
〔産業上の利用分野〕
本発明は、高品質な曲線の生成処理方式に関する。
コンピュータ・グラフィックス(CG)やコンピュータ
・エイデツド・デザイン(CAD)の分野においてば7
現実に近い高品質な曲線を生威することが必要とされる
が2曲線の表示をソフトウェアで実現する方式は生成速
度が遅いため、ハードウェアで曲線生成処理を行うこと
が求められる。
〔従来の技術〕
曲線を高速生成するためには同し点列を生威することを
避けて効率よく生威しなければならない。
従来1点列生成の時間間隔が一定であったため。
複雑な曲線の場合には点列にすき間ができ品質劣化の問
題が生した。逆に単純な曲線の場合には同じ点列を何度
も生威し、効率が悪かった。
また9曲線を高速生成するハードウェアの手法として中
点分割法と差分マトリクスによる方法がある。
中点分割法では、全ての曲線をBezier曲線に変換
しなければならず、変換のハードウェアの構築が困難で
あり9曲線生成のときに中点の座標を繰り返しスタック
に記憶するため、スタックが膨大になる問題点がある。
一方、差分マトリクス法では、増分量を順々に加算して
いくため累積誤差が大きくなり、増分値を加算していく
点列生成間隔が不定である問題点がある。
この差分マトリクス法における問題点に対し。
曲線生成前に累積誤差をあらかじめ計算し、累積誤差が
所望の誤差以内におさまるように点列生成間隔を決定す
る方式がある(「曲線生成方式」特願平1−24364
5号参照)。
以下、その方式を概略説明する。
(1)差分マトリクス(微小間隔の関数)区間に1≦L
≦k i 41に対して2差分マトリクスによる方法で
は、関数値P(ti)は、■式に示す漸化式を用いて初
M値が決定されれば次々と算出される。ここでは2次数
を3次と仮定して説明する。
P (tm、+) = P (tt )十ΔP(ti)
ΔP (ti−+)−ΔP(ti)  +Δ”P(ti
)   −の八! P(ti、l)=Δ”p(tm) 
 +Δ”P(ti)Δ” P(ti−+)=Δ3 P(
tt)ここで、初期値をP (to) = A 、ΔP
0°〉=B。
Δ” P(ta)=c、Δ3P(to)=pとして、 
A、 B。
C,Dをマトリクス表現したものが差分マトリクスであ
る。ただし、この時点では、A、B、C。
Dは9時間間隔δの関数となっている。簡単な例として
Uniform−B−splfne関数の差分マトリク
スは次のようになる。
A=Q(−1/6+2Qi−z /3+Qt−+  /
6B=(−δ3/6+δ2/2−δ/2)Q;−i +
(δ3/2−6”) Qi−z+(−δ3/2+δ2/
2+δ/2)qt−+  +(δ’/6)  QIC=
 (−6”+δz)  Qi−3+  (3δツー2 
δ”)  Qi−2+(−36”+6”>  Qz−+
  +  6’  [1゜D=(−δ3) Qi司 +
3δ3Qi−ti63  δ3)  Qi−+十δゴQ
微小間隔δは、■式で示すようにパラメトリック表現で
は時間間隔であり、このδが決定されると第3図に示す
ように関数値P(tt)が順々に算出される。また、繰
り返し回数nは、■式に示す関係がある。
δ=1...−1.        □■n−(k正、
1〜に、)/δ   □■(2)微小間隔設定部 3次微分の増加量の初期値りに含まれる誤差をεとし、
累積誤差の闇値をE thとする。これらのパラメータ
をユーザに定義させることで、誤差が大きいが生成速度
が速い曲線生成器になり、逆に生成速度は最高速でない
が誤差が小さい高品質な曲線生成器になり、用途に応じ
てユーザの希望する曲線生成器になる。
微小間隔δは、累積誤差が閾値Eい以内になるように決
定する。Dの真の初期諮をDo、誤差をεとすると、■
式が成立する。
D=D、+ε          −■すると1表1よ
り累積誤差は、■式になる。
n (n−1)  (n−2) ti6  −■従って
、累積誤差の閾値Eいより2 nの最大値no、は次式
を満足しなければならない。
n air (naax  1) Cnaax  2)
 t / 6−E−■これより、■式と0式よりδ―i
nは0式より決定できる。
δ−in  = (L     to)/ n s、x
         □ ■ところで、■式はn□えの3
次方程式であり、直接に方程式の解を解くのは大変であ
る。ここでは。
3次曲線の生成を仮定して説明しているが1m次の場合
は■式もm次式になり方程式の解算出は大変である。一
般には2m次方程式の解を算出するためにはニュートン
法を使用するが、解収束性の問題と算出時間がかかる問
題が生し、さらにハードウェア化が困難である。そこで
1本発明では。
曲線生成に使用する差分マトリクス演算器を利用してm
次方程式を解く。■式で求めるnl、8の解は0以上の
整数であることが判っているため、nsawをOから1
ずつ増加させて0式を満足するnいを算出し、nいより
n、1.を■式で決定する。
1’:+ nthB’+ nth(ih  1)C’/
2+ nth(nth  1)(ntb  2) D’
/6>6E/ e          −■nss* 
−ntb  1           □■■式で、 
A′、  B□、 c′、  cyは、■式に示す関数
F(n)の差分マトリクスの要素で、0式に示す演算で
順々にF (n)の値が求まってい<、 A=F(n=
 ) 。
Bo−ΔF(n、) 、 C’=Δ” F(nt ) 
、 D’=Δ3F(n、)である。
F(n) =n(n−1)(n−2)    □■F 
(ni、+) = F (nt )+ΔF(nL)ΔF
(ni−+)−ΔF(nl)+Δ”F(n=)−■Δ”
 F (n+1) =Δ”F(n;)十Δ’F(n=)
Δ” F (ni−+) =Δ’F(n=)[相]式よ
りx、  Bo、  C’、  D’を計算すると、@
弐<−B’=c’=o               
   @D′=に のように0式の方程式の解を差分マトリクス演算で高速
に算出できる。しかも、■の演算は整数演算であるため
誤差が皆無であり、高品質に0式の方程式の解を算出で
きる。
(3)増分値加算部 1の時点では、差分マトリクスの各要素A、 BC,D
は微小間隔δの関数であったが、(2)で算出したδ−
4nを用いて、A、B、C,Dが完全に決まり、それを
0式に従って差分マトリクス演算を繰り返しn。X行う
ことにより曲線上の点が求まる。なお、一般には0式の
代わりにシフト数γを用いて■式に示すように各段階の
精度を上げて計算する。
S (tmや、)=S(tm)+γ* (1/ r )
ΔS(tm)(1/γ)Δs (tt、+) = (1
/ r )ΔS(tm)+r*(1/rJ Δ”5(t
i) (1/ r ”)Δ” S (tt−+) = (1/
 r ”)Δ”5(tt)十T * (1/γ3)Δ3
S(ti)(1/r”)Δ’s(tニー+) = (1
/ r 3)Δ″S(tm )■ この方式によれば、累積誤差の観点から点列生成間隔の
最小値δ+sinを決定することができるが。
当該最小値δ■Inが小さすぎて同じ座標値を繰り返し
生成する場合があり、高速生成の点において不十分であ
る。すなわち、隙間なく1ドツト間隔で点列を生成する
観点から2点列生成間隔の最大値δ、□の算出が望まれ
る。
隙間なく1ドツト間隔で無駄なく点列を生成する方法と
して、適応フォワード方法(特開昭64−41077号
、特開昭64−41078号)がある。この方法は真値
との誤差を逐次判定して、誤差の大小に従い点列生成間
隔δを2倍にしたり、l/2倍にしたりして逐次間隔を
調整する方法であるが、逐次1点列生成間隔の最適解を
判定するため高速性の点で問題がある。
〔発明が解決しようとする課題〕
従来、上記の如く、高速で高品質な曲線生成ができなか
った。
本発明は、隙間なく1ドツト間隔で点列を発生させて、
高速度で曲線を生成することを目的としている。
〔課題を解決するための手段〕
第1図は1本発明の原理図である。
図中、5は曲線、10は曲線長算出部、20は時間間隔
決定部、30は差分マトリクス演算部を表す。
曲線長算出部10は1式 %式% の値又はその近似値を算出することによって9区間(t
o≦t≦ta)における曲線長りを求める。
時間間隔決定部20は、上記曲線長りに応して。
差分マトリクス演算における時間間隔δを決定する。
差分マトリクス演算部30は2曲線5上の点P(tm)
に対応したマトリクスM(ta)の微分演算を行い1点
P(tm)から時間間隔δだけ離れた次の点P(ta−
+)に対応したマトリクスM(tm、+)までの増分を
求め、上記マトリクスM(tm)に当該増分を加えてマ
トリクスM (tm、)を算出する処理を逐次繰り返す
ことにより曲線上の点P(ti)を順次算出して曲線5
を1威する処理を行う。
〔作 用] 曲線を1威する際に1曲線長算出部lOが予め1威すべ
き曲線の長さ即ち曲線長りを算出する。
時間間隔決定部20は上記曲線長りに応して、差分マト
リクス演算処理における隣接する点間の時間間隔δを求
める。差分マトリクス演算部30は上記求められた時間
間隔δで差分マトリクス演算処理を行う。
〔実施例〕
ここでは、 Non−Uniform B−splin
e関数データから曲線を生成する処理を行う。
Non−Uniform B−spljne関数の定義
式を0式に示す。ここでは2例として3次の場合を説明
する。
3次Non−Uniform B−spline関数ノ
ットベクトル(ko、 ki、 kZ+・・・、  k
、、 k、、、。
kn−1・kれ〕 □[相] 但しr QJは制御点、 N、、4(t)は基底関数。
ここで、Qi は、制御点であり、  Ni、a(t)
は。
ノットベクトルから算出する基底関数である。また、i
5Jが成立するとき、に8≦に、の関係が成立する。
区間(Lt、til+ )のNt、(t)を計算するた
めのアルゴリズムは、下記に示すとおり、初期条件から
次々に漸化式を解くことにより算出できる。
P=(t)はNt、4(t)とQlの積和演算より求め
る。
初期条件 漸化式 %式% 曲線長し、を0式のように定義すると、L3は[株]式
で求められる。
ki 曲線長り。
(kl、ツ −ic+  )(J、2−kt  )(k
i、z  −に4−+)(ki−+  −ki−+)(
kr−+  −ki−z)(kl−1−に7.−+)■ [株]式を証明する。0式より区間(k、≦t≦に、。
、)において、  Pi (t)は0式で示される。
= Qt−s  N1−a、 4(t) + Qt−t
N、−家、4(t) +Qi−+  Nt−+y(t)+QiNt、a(t) [株] 各基底関数は0式及び[相]式より次のようになる。
(k;−s  −t)(t−J  )”(ki−3−k
i  )(k、、エ −kt )(に;−+Nム、4(
1)= CL  −ki  )3 −k。
) N i−s+ 4 (t> = (kt++  −t)” (k、−+  −kt−z) (ki−+  −kt−
+)(ktや、  −にユ)Ni−z、n(t)= (t  −ki−z)(kt++  −t)(ki*+
  −t )(kil−に五−t> (kz−+  −
kt−+) (kil−kt )[相]及び[相]式よ
りp、(g を制御点間の差の項でまとめ、P、″(1
)を算出すると0式のようになる6P、”(t)= (k=、g  −に+−+) (k、。。
+)(kt−+ (kiや2 k。
)(kt、。
k。
) (kl、□ −kt−+) (k、や、−k。
)(ki、1 Ni−1・4(t)− (k −に +)(ki−z k、)(ki、1 に8 ) ki−+)”(ki、、  −1) (kt、t  −に= +)(ki−+ ki−+) (k、、。
ki) (k、B k=−+)(k、、、□ )(ki、1 ■ 0式を次のように表す。
P i’(t)=P+’(t)(Qt −Qt−+)+
P’パt) (Qt−+ −Qt−t)+Pコ゛o> 
<Q!−z−ra、−s>        @これによ
り次式が成立する。
まず、 pg’(t)≧0(k1≦t<k、。1)を証
明する。pg’(t)をtについてまとめるとPt’ 
(t) = −3(B+C) t”+2(A+(k=−
t+k r +に7−1)B+(k4+1+2ki−+
)C) t+ (−2Ak、−B(k、、□十に+−+
) kt −B k;−J、−+−C(2に1°+ +
kl−+) ki−1)但し、  A=’/(kt−i
 −kl )(ki−+ −kt )B =’/(ki
−z −に4−+)(J、z −ki )(ki−+ 
k 、 )C””/(ki−z −に;−+)(ki−
+ −に、−+)(kt、+−k、)A>0.Boo、
Cooより 一3(B十C)<0であるから、 pg’(t)は上に
凸であり。
以下である。
(k、や3−k。
)(kt−z 〉(k、。。
(kidす (1[H ki  ) k。
k、1 pg’ (t) の算出を行う。
になる。
に、、。
f k。
P2“(t)dt (k;、z −kH−、)(k、や、  、ki−+)
また、下記の如く0式の値は1以下である。
k、◆t f   h”(t)dt = k。
(k;、t −に+ )(ki。t −に+−+)(k
t−+に1 同様に k。
、) (k、、。
−ki−z) (ki−+  −に4−+)(kt−+
  −k() となる 以上の如く0式が求められる。なお。
予め使用 されているノットベクトルを調べ、@式の制御点間の距
離に付加される係数の最大値を算出し、各曲線ではその
最大値と制御点間の距離との積和演算により高速に曲線
の長さを近似計算してもよい。
更に、上記[株]式の証明内で示したように、0式の制
御点間の距離に付加される係数の値は、常に1以下であ
るので、@式の値を制御点間の距離の累積値より求めて
もよい。
次に2時間間隔δを決定する。
曲線長り、平均的な微小区間の長さをΔL1時間間隔δ
3時間分割数をnとすると次の式が成立する。
L−nXΔL                @平均
的な微小区間の長さΔLは1ドツトが望まれるため9時
間間隔δは曲線長りを用いて次式で計算する。
上記の如く求められた時間間隔δで、差分マトリクス法
により曲線を形成する各点を求めれば。
隣接する点が重なりあう可能性が低く、かつ1ドツト間
隔で各点を求めることが可能である。
次に、 Non−Uniform Rational 
B−5pline関数で表された曲線の生成処理を行う
。Won−Uniform Rational B−3
pline関数は0式で表される。
ノットベクトル(ko、  kl+  kg、  ・・
・、  kl+ k il。
・・・、 k 1l−1+ k、l) Σ  Q、WJ −NJ (t) S(t)= (kt  <t≦ k目、) 子におけるW4は[相]式のQjに2分母及び分子にお
けるNr(t)は[相]式のN1.m(t)に夫々対応
するので1分母及び分子を夫々独立したNon−Uni
forv+B−3pline関数とみなすとすると1分
母の曲線長L°及び分子の曲線長L”はそれぞれ0式、
0式により求められる。
曲線長L (ki−3−ki  )(+++、z  −k、  )
ここで、WJは同次座標系で使用するパラメータであり
7例えば5ある制御点Q1が。
Q、=(Q□、Q、□Q+、、W、) で表されたときには、3次元座標系では。
Q+ = CQl−/h+、 CIIF /l’b、 
Q+−/W+)と同等である。
また分母におけるQJWJは0式のQ、に1分(ki−
r −に+−+)(kt、+  −kt−+)<k、。
、  −L−z) (+++。+  −ki−+)■ 曲線長L”= (k=+s −に、  )(kt+真 −ki  )k
i、、  −kt k142−k。
(ki−z −kt−+)(ktヤz  −に、  )
<kr−t −kt−+)(ki−+  −に;−+)
(ki−+  −に、−t)(ki−+  −に;−+
)[相] 第2図は、 Non−Unifors+ Ration
al B−Spline関数の曲線生成処理説明図であ
る。
曲線データ5としてに、、W、、Q、が決定すると、距
離係数算出部11が0式と0式との共通部分(ここでは
、距離係数と呼ぶことにする)を算出し1分母の曲線長
算出部12が曲線長L′を分子の曲線長算出部13が曲
線長L”を算出する。
曲線長比較部14は9曲線長L°と曲線長L”とを比較
して、大きい方を用いて時間間隔の算出に使う。即ち2
時間間隔δは[相]式によって求める。
なぜなら9分母と分子の時間間隔は対応をとるために同
じである必要があるからである。
こうして求められた時間間隔δにより夫々のマトリクス
算出部16又は17が5分母9分子の差分マトリクスを
算出し、夫々の増分値加算部18又は19が時間間隔δ
ごとの関数値を算出し1分子/分母割算部21が分子の
関数値を分母の関数値で割ることにより曲線上の点列デ
ータ22を求める。
〔発明の効果〕
上記の如く2本発明によれば1曲線長を算出して、その
曲線長に応して時間間隔δを決定することによって、効
率よく高品質な曲線を高速で生成することが可能になっ
た。
【図面の簡単な説明】
第1図は本発明の原理図、第2図はNon−Llnif
ormRational B−3pline関数の曲線
生成処理説明図。 第3図は差分マトリクスによる関数値算出法を示してい
る。 図中、5は曲線(または曲線データ)、IOは曲線長算
出部、20は時間間隔決定部、30は差分マトリクス演
算部を表している。

Claims (2)

    【特許請求の範囲】
  1. (1)生成すべき曲線(5)についての曲線長(L)に
    対応して決定された時間間隔(δ)を定め、当該時間間
    隔(δ)ごとに、上記曲線(5)を形成する曲線形成点
    P(t_i)を逐次求めるよう構成し。 区間(t_o≦t≦t_m)における曲線(5)を生成
    するようにした ことを特徴とする高品質な曲線の生成処理方式。
  2. (2)曲線(5)を形成する点(P(t_m))に対応
    したマトリクス(M(t_m))を微分演算して当該マ
    トリクス(M(t_m))から時間間隔(δ)だけ離れ
    た次のマトリクス(M(t_m_+_1))までの増分
    量を算出し、当該増分量と算出基準のマトリクスM(t
    _m)との加算で次の曲線形成点(P(t_m_+_1
    ))に対応したマトリクス(M(t_m_+_1))を
    求める処理を逐次繰り返す差分マトリクス演算部(30
    )を少なくとも備え、 曲線を生成する高品質な曲線の生成処理方式において、 曲線長(L)を式 L=▲数式、化学式、表等があります▼の値又はその近
    似値を 算出することにより、求める曲線長算出部(10)と、 上記時間間隔(δ)を上記曲線長(L)に応じて決定す
    る時間間隔決定部(20)とをもうけ、曲線長(L)に
    応じて決定された時間間隔(δ)ごとに差分マトリクス
    法により曲線形成点(P(t_i))を逐次求めて区間
    (t_o≦t≦t_m)における曲線を生成するように
    した ことを特徴とする高品質な曲線の生成処理方式。
JP6945790A 1990-03-19 1990-03-19 高品質な曲線の生成処理方式 Pending JPH03269686A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6945790A JPH03269686A (ja) 1990-03-19 1990-03-19 高品質な曲線の生成処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6945790A JPH03269686A (ja) 1990-03-19 1990-03-19 高品質な曲線の生成処理方式

Publications (1)

Publication Number Publication Date
JPH03269686A true JPH03269686A (ja) 1991-12-02

Family

ID=13403200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6945790A Pending JPH03269686A (ja) 1990-03-19 1990-03-19 高品質な曲線の生成処理方式

Country Status (1)

Country Link
JP (1) JPH03269686A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63140382A (ja) * 1986-12-02 1988-06-11 Fujitsu Ltd 円類の多角形近似描画方法
JPS6441077A (en) * 1987-05-08 1989-02-13 Sun Microsystems Inc Adaptive forward differential apparatus and method for displaying curve on display device by starting display element for formation of curve
JPH0378888A (ja) * 1989-08-22 1991-04-04 Pfu Ltd 図形データ処理装置における図形表示方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63140382A (ja) * 1986-12-02 1988-06-11 Fujitsu Ltd 円類の多角形近似描画方法
JPS6441077A (en) * 1987-05-08 1989-02-13 Sun Microsystems Inc Adaptive forward differential apparatus and method for displaying curve on display device by starting display element for formation of curve
JPH0378888A (ja) * 1989-08-22 1991-04-04 Pfu Ltd 図形データ処理装置における図形表示方法

Similar Documents

Publication Publication Date Title
Fletcher The group finite element formulation
Shizgal A Gaussian quadrature procedure for use in the solution of the Boltzmann equation and related problems
JPS6367680A (ja) 曲面加工方法
Koren Interpolator for a computer numerical control system
US6675061B2 (en) Numerically controlled curved surface machining unit
US20020002420A1 (en) Numerically controlled curved surface machining unit
Hara et al. The self-avoiding-walk and percolation critical points in high dimensions
US20120046782A1 (en) Kinematic approximation algorithm having a ruled surface
JPH0373882B2 (ja)
Nowacki et al. Fairing Bézier curves with constraints
Srinivasan et al. Fine tuning of rational B-splines motions
Keyfitz Classification of one-state-variable bifurcation problems up to codimension seven
Nowacki et al. Fairing composite polynomial curves with constraints
JPH03269686A (ja) 高品質な曲線の生成処理方式
Morin et al. On the smooth convergence of subdivision and degree elevation for Bézier curves
Jones Multiple-point Padé tables
JP2677273B2 (ja) 3次ベジェ曲線の折線近似装置
Lasser Calculating the self-intersections of Bézier curves
Aruliah et al. Geometric applications of the bezout matrix in the lagrange basis
JP2938909B2 (ja) 曲面生成方法及びその装置
JPH01258106A (ja) 空間曲線創成法
JPH0827184B2 (ja) 自由曲面生成方法
Samanci THE SERRET-FRENET FRAME OF THE RATIONAL BEZIER CURVES IN THE EUCLIDEAN-3 SPACE BY ALGORITHM METHOD.
JPS62106505A (ja) 3次元形状加工用数値制御デ−タ作成装置
JP3158368B2 (ja) 物体の表面形状データ作成方法及び装置