JPH0348375A - 3次曲線あてはめ方式 - Google Patents

3次曲線あてはめ方式

Info

Publication number
JPH0348375A
JPH0348375A JP2103123A JP10312390A JPH0348375A JP H0348375 A JPH0348375 A JP H0348375A JP 2103123 A JP2103123 A JP 2103123A JP 10312390 A JP10312390 A JP 10312390A JP H0348375 A JPH0348375 A JP H0348375A
Authority
JP
Japan
Prior art keywords
point
passing
points
slope
curve segment
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
JP2103123A
Other languages
English (en)
Inventor
Keiichi Yamada
啓一 山田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of JPH0348375A publication Critical patent/JPH0348375A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、ベジェ(Bezlcr ) 3次曲線を用い
て文字の輪郭,図形等の曲線を表現するシステムに好適
な3次曲線あてはめ方式に関する。
(従来の技術) コンピュータグラフィクス、CAD,アウトラインフォ
ント生戊等の分野において、文字の輪郭,図形等の曲線
を表現するために、下記(1)式に示すB ez1er
  (ベジエ)3次曲線が用いられている。
P (t) P   (t)  QO  +xl   (t)  Q
l十x2  (t)Q2 +x3  (t)Q3ただし
、xO  (t)= (1−t)’ xl  (t) =3 (1−t) 2t −x2  
(t) =3 (1−t)  t2x3  (t)mt
3 0≦t≦1 QO−03は形状を決定するパラ メータ(位置ベクトル) ・・・・・・・・・(1) 前記(1)式に示すB ezier曲線は、パラメータ
tを媒介変数として曲線P (t)を表現するものであ
る。なお、Q0、Q3は、0≦t≦1の範囲における曲
線P(t)(曲線セグメント)の始点,終点である。Q
O−Q3は、制御点とも呼ばれる。
ベジエ3次曲線を用いた文字の輪郭.図形等の表現は、
次のような方法によって行われる場合がある。すなわち
、ビットマップ形式で表現された図形の外形(原形状)
を直線近似する複数の直線ショートベクトルによって表
された直線ショー1・ベクトル列に対して、曲線あては
め(補間)を行なうものである。なお、直線近似の方法
は、例えば長谷川純一他著「画像処理の払本技nJp8
0技術評論社,に示されている。
通常、B ezier曲線による曲線あてはめは、各直
線ショートベクトルの始点.終点をそれぞれQ(1,Q
3とした2点間に、1つのB ezler曲線セグメン
トをあてはめる(補間する)方法がとられている。この
2点間に1つのB ezler曲線セグメントをあては
める方法として、例えばWolfgang B O H
 M r A survey orcorvc and
 surface methods in CAGDJ
 p 1 〜60  Computer Aided 
 Geometric  Design 1.  1 
984,  に示されるもの等がある。
(発明が解決しようとする課題) このように、従来のB ezicr 3次曲線による補
間方法は、2点を1つの曲線セグメントによって補間す
るため、直線ショートベクトル数が多い場合には、B 
ezicr曲線を示す制御点(各直線ショートベクトル
に対応するQO〜Q3)の数が非常に多くなってしまう
。このため、B ezicr曲線を示す制御点QO−Q
3によって形状データを保存しなければならないような
場合等には、このデータ量の多・さが問題となっていた
一方、与えられた点列上を正しく通過しなくても、ある
規定誤差範囲であれば良いので、この条件に基づいて、
これらの点列になるべく少ない数のB ezier曲線
セグメントをあてはめたいという要求がある。
本発明は以上のような点に鑑みてなされたもので、3点
以上の点に1つのB ezler 3次曲線セグメント
をあてはめることが可能な方法を提供することを目的と
する。
[発明の構戊] (課題を解決するための手段) 本発明は、B ezier 3次曲線セグメントを示す
始点Q0、終点Q3、通過点X1及び各点における傾き
θ0,θ3、θxが条件として与えられるとき、通過点
Xにおける傾きθX以外の条件を満たし、かつ通過点X
における傾きθx以外の値をtXと仮定したときの制御
点Q1.Q2を設定し、この設定された制御点Q1、Q
2及び始点Q0、終点Q3により定まるB ezIer
 3次曲線セグメントの傾きθx以外xにおける傾きθ
(tx )を2求める。そして、傾きθ(tx )と予
め設定された基準値θrerとの間に、|θ( t x
 l−θXI<θrcf’なる関係が成立する場合に、
傾きθx以外xとしたときのQ0、QL,Q2,Q3で
示される曲線セグメントを、始点Q0、終点Q3、及び
通過点Xを通るセグメントによつて、文字の曲線部分を
表現する3次曲線セグメントとするものである。
また本発明は、B ezier 3次曲線セグメントを
示す始点Q0、終点Q3、通過点Xi,X2,Xn,及
び各点における傾きθ0,θ3,θx1、θX2, ・
・・θxnが条件として与えられるとき、通過点X1 
(i−1〜n)、及び通過点Xj(j−1〜ni−4j
)のそれぞれにおいて、傾きθx1、θxj以外の条件
を満たし、かつ通過点Xi,Xjにおける傾きθx以外
の値をそれぞれtxt,txjと仮定したときの点Q 
li, Q 2i,及び点Q 1j、Q2jを設定し、
この設定された点Q li, Q 21,始点Q0、終
点Q3により定まるB ez1er 3次曲線セグメン
トの傾きθx以外XIにおける傾きθxi( t xt
) 、及び点Q 1j、 Q 2j.始点QO.終点Q
3により定まる3次曲線セグメントの傾きθx以外xj
における傾きθxj ( t xj)を求め、この求め
られた傾きθXI ( t xi) 、及び傾きθxj
 ( t xj)と予め設定された基準値θrerとの
間に、|θxi( t xi)一θxll<θrel’
  lθxj ( t xj)一θxjl<θref’
なる関係が成立するか否かを判別し、この判別の結果、
|θ( t x1)一θxil<θref’(txj)
と予め設定されたときのtxlを傾きθx以外xとした
ときのQO , Qli, Q2i,Q3で示される曲
線セグメントと、|θ(txD一θxjl<θref’
(txj)と予め設定されたときのtxjを傾きθx以
外xとしたときのQ0、Q 1j、  Q 2j,  
Q 3で示される曲線セグメントとの組み合Q2j、Q
3で示される曲線セグメントのずれの程度を表す量Dが
、予め設定された距離誤差を示すD ref’とD <
 D red’なる関係があるかを判別し、D < D
 r(3fなる関係があると判別された時のQli,Q
2i,またはQ 1j、 Q 2jを、始点Q0、終点
Q3、通過点Xi,X2,・・・Xnを通るセグメント
によつて、文字の曲線部分を近似的に表現する3次曲線
セグメントとするものである。
ここで、2つの曲線セグメントのずれの程度を表す量D
は、 D−1ΔP(txl) ただし、 ΔP (t) = (a P/a Ql )   (Qli−Qlj)
+(aP/aQ2)   (Q2i−Q2j)として与
える。
また、別の方法として、 D−1ΔP(tXj) ただし、 ΔP (t) − C9 P/f9 Ql )   (Qll−Qlj
)+(9P/aQ2)   (Q21−Q2j)として
与えることも考えられる。
また、別の方法として、 D−A ( I Qll−Qljl +l Q21−Q
2jl )としてDを与えることも考えられる。ここで
Aは定数であるが、A−4/9とするのが最適である。
(作用) このような方法によれば、3点以上の点に1つのB e
zier 3次曲線セグメントをあてはめることが可能
となるため、制御点Q0、Q1、Q2.Q3によって形
状データを保存しなければならないような場合であって
も、データ量が増大することを防ぐことができる。
(実施例) 以下、図面を参照して本発明の一実施例を説明する。第
1図は、同実施例におけるB ezler 3次曲線あ
てはめ方法の処理手順を示すフローチャートである。
ここで、第1図に示すフローチャートを参魚しながら本
発明の処理手順を説明する前に、図形の外形(原形状)
を直線近似する複数の直線ショートベクトルによって表
された直線ショートベクトル列から、処理対象とする曲
線部分を切り出す処理の一例について第2図を用いて説
明する。.例えば、第2図に示すような、原形状を近似
的に表現する直線ショートベクトル列Pi−IPi(1
−2〜11,ただしP 11− P 1とする)が与え
られる場合、原形状における曲線部分と直線部分の切り
分けを行なう。このために、まず各直線ショートベクト
ルの接続点Piの接続状態の検出を行なう。つまり、各
接続点Piは、角点(傾きが連続しない点)であるか、
原形状において曲線部分と直線部分との接続点であるか
、または曲線部分上における点であるかを検出するもの
である。
角点の検出方法としては、接続点Piにおいて接続され
ている直線ショートベクトルPi−IP1,PiPi+
1をそれぞれm−1:1、1:m−1”(mとしては6
が適当である)に内分する点A1、Biを求める。そし
て、内分点Ai,BIを通る直線Li上に補間点Q1を
求める。補間点Q1は、点Piを通る直線Liへの垂線
Mlとの交点、または、直線ショートベクトルPI−I
 PI ,  PIP Il1によって形成される角度
θ1を二分する直N’4 N Iとの交点、または線分
A1.81の中点とする。こうして求めた補間点Q1と
基準値δとの間に、IPI −Q1  1>δなる関係
が成立した場合に、接続点PIを角点と判断するもので
ある。
なお、基準値δは、l Pi −Qi  l  (Pi
とQ1との距離)が角点と判断できる所定の値に予め設
定されるものである。
曲線部分と直線部分との接続点の検出方法としては、接
続点Plにおいて接続されている直線ショートベクトル
p+−t pt   pt Pil1の関係が、I P
i P1+l I >A,かつl PI Pi+l  
I/Pi−I PI  l >B,かツ(π一θ1)〉
θminを満たす場合に、接続点P1を曲線部分が直線
部分になめらかに接続する点と判別し、IPjPi−1
1>A,かつI PI P+−1  l / l Pi
llPll>B,かツ(π一01)>θminを満たす
場合に、接続点Piを直線部分が曲線部分になめらかに
接続する点と判別するものである。
また、角点、曲線部分と直線部分との接続点とは判別さ
れなかった点を、曲線部分上における点と判別する。
次に、こうして検出した接続状態に応じて、各直線ショ
ートベクトルの接続点P1に属性情報を設定する。例え
ば、直線ショートベクトルの進む向きに曲線部分が直線
部分になめらかに接続する点をTL.直線ショートベク
トルの進む向きに直線部分が曲線部分になめらかに接続
する点をTR,曲線部分上における点をCU,角点をC
Oとする。
そして、各直線ショートベクトル毎に、始点,終点の属
性情報に基づいて、原形状における線種(曲線部分,直
線部分)を判別する。すなわち、直線ショートベクトル
の始点,終点における属性情報の組み合わせによって、
線種が特定されることに基づいて判別するものである。
例えば、ベクートルの始点,終点がそれぞれTR,TL
の場合は曲線、同様にしてTL,TRの場合は直線、T
R,COの場合は曲線というように判別するものである
。この判別方法では、複数の直線ショートベクトルによ
って表現されている曲線部分を検出することができる。
第2図に示すような直線ショートベクトル列では、直線
ショートベクトルP2 P3 ,P3 P4 ,P4 
P5を、一連の曲線部分と判別することができる。(た
だし、各接続点に設定された属性情報を、点P2をTR
,点P{,P4をCU,点P5をTLとした場合。} こうして、直線ショートベクトル列から曲線部分と直線
部分とが切り分けられると、B ezier 3次曲線
のあてはめは、曲線と判別された部分について行なわれ
る。
なお、B ezjer 3次曲線のあてはめは,、例え
ば第2図に示すような直線ショートベクトル列が与えら
れると、通常、各直線ショートベクトルの接続点P1を
通過するB czler 3次曲線セグメントを求めて
いる。他の方法としては、角点の検出を行なう際に求め
た補間点Qiをもとに、B ezlcr3次曲線セグメ
ントを求めることもてきる。すなわち、曲線部分と判別
された直線ショートベク1・ルを示す点PIに、それぞ
れ対応する捕間点Qiを求め、この補間点Q1を通過す
るB ezier 3次曲線セグメントを求めるもので
ある。この場合、補間点Qiにおける傾きは、直線Li
の傾きとして得ることができる。
次に、第1図に示すフローチャートを参照しながら本発
明の処理手順を説明する。ここで、曲線をあてはめるべ
き点列をP 1.P 2.P 3とすると、第3図に示
すように、点PLを始点Q0、点P3を終点Q3,点P
2を通過点X1さらに各点における傾きθO.θ3、θ
xが条件として与えられる(ステップAl)。第1図で
は、この条件において各点(QO ,Q3 ,X)を通
過する(所定以内の誤差を含む)1つのB ezler
 3次曲線セグメントを求める方法を示している。なお
、条件として与えられる各情報(始点Q0、終点Q3,
通過点X、傾きθ0,θ3、θx)は、前記した方法に
よって補間点Qj,直線Llの傾きとして得られる。
まず、始点QO.終点Q3.通過点X1及び各点におけ
る傾きθ0,θ3、θxが条件として与えられると、傾
きθx以外xの値を初期値に設定する(ステップA2)
。ここでは、初期値tx=0.2とする。なお、傾きθ
x以外xは、変域(範囲)O〜1をn等分(nは固定値
)した値が、後述するステップにおいて順次加算される
。傾きθx以外xが設定されると、通過点Xにおいて傾
きθx以外Xが0.2であると仮定した時の、始点Q0
、終点Q3,通過点X,傾きθ0,θ3の条件より定ま
る、第3図中に示す制御点Q1、Q2を求める(ステッ
プA3,A4)。
具体的には、次のようにして制御点Q1、Q2を求める
。制御点Q1、Q2が始点QOにおいて傾きθ0、終点
Q3において傾きθ3てある曲線セグメントの制御点で
あれば、ベクトルQO Ql ,Q2 Q3は点Q0、
Q3において接する。すなわち、制御点Q1、Q2は、
それぞれ始点Q0、Q3を通る傾きθ0,θ3の直線上
に存在する。
従って、IQI −QO |、及びIQ2−Q31を計
算することにより、制御点Q1、Q2を設定することが
できる。ここでIQI −QO  1、IQ2一Q3 
1は、以下の式に基づいて計算される。
IQI−QO ”xycosθ2−Xxsinθ2 +( AO +Al)( QOx sinθ2 − Q
Oy cosθ2)+( A2+A3)( Q3x s
inθ2−θ3y cosθ2〉/IAI(cosθ2
sin・θl−sinθ2 cosθ1)}Q2 −0
3 ”xycosθQ−Xxs1nθ0 +( AO +A1)( QOX sinθ0 − Q
Oy cosθ0)+( A2 +A3)( Q3x 
sinθ0−θ3y cosθ0)/lA2(cosθ
3 sinθ0−s1nθ3 cosθ0)1ただし、
AO = (1−tx) 3 AI  −3  (1−tx  )  2txA2  
−3  (1−tx  )  tx  2A3−tX’ なお、Qnxs Qny (n −0 〜3)は、それ
ぞれQnのX方向、Y方尚のベクトル成分である。
従って、Ql及びQ2は次式で表される。
Ql −fl −QO +IQl −QO I ◆nO
Q2−f2 =Q3−lQ2 −Q3 1 11n3な
お、noは傾きθ0の単位ベクトル、n3は傾きθ2の
単位ベクトルである。
次に、前記ステップA3,A4において求めた制御点Q
1、Q2と始点Q0、終点Q3によって定まるB ez
ler 3次曲線P (t)のt−tx(−0.2)に
おける傾きθ(tx )を求める(ステップA5)。傾
きθ(tx )は、以下の式によって求まる。
θ (tx ) =f3 −jan−’(β/α)ただ
し、 a−dPx  (t)/dt −−3  (1 −  t)  2 QOx+3  (
1−t)  (1−3t)Qlx+3  (2−3t)
  tQ2x+3t2 Q3Xβ一dPy  (t)/
dt =−3  (1−t)  2 QOy +3  (1−t)  (1−3t)Qly+3  (
2−3t)  tQ2y+3t 2 Q3yである。
ここで、Px  (t)、Py  (t)は、それぞれ
B eZier曲線上の点P (t)のX方向、Y方向
のベクトル成分である。
次に、ステップA5で求めたθ(tX )と通過点Xの
傾きθXとの差の絶対値(|θ(tx )θxl)と、
予め設定される基準値θrerとの間で、|θ(tx 
)一θxi<θrefなる関係が或立するか否かを判別
する(ステップA6)。ここで、基準値θref’は、
曲線セグメントのあてほめを行なうに当たって、通過点
Xにおける傾きの誤差をどれだけ許すかを示す基準角度
誤差である。
ステップA6において|θ(tx )一θxl<θre
f’なる関係が成立しないと判別された場合には、傾き
θx以外x−0.2と仮定した場合に得られる制御点Q
1、Q2は、通過点Xを通過する曲線セグメントを示す
ものでないと判別する。
ここで、tXの値が、最終値(例えばtx −0.8)
に達したかを判断する(ステップA7)。
最終値に達していないと判断された場合は、傾きθx以
外Xの値を次の値に更新した後(ステップA8)、ステ
ップA3,A4の処理に戻る。ステップA8におけるt
xの更新の方法は、例えば、txに増分Δtx  (例
えば0.05)を加えるものである。
こうして、傾きθx以外xの値を順次増加させながら、
ステップA2〜A5の処理を、ステップA5において|
θ(tx )一θxl<θref’なる関係が成立する
と判別されるか、またはtxが最終値に達するまで繰り
返し行なう。
なお、ここでは、tXの初期値(−0.2)と最終値(
−0.8)を固定した値として説明したが、計算量を現
象させるために、tx・の初期値と最終値を次式によっ
て設定することができる。
初期値 − l X−QO / (l03−Xl+lX−QO  l) 一C最終値 − I X−QO / (lQ3−Xl+lX−.QO  l)+cなお、
Cは定数であり、例えば0.2に設定される。たたし、
前記の式で計算した初期値の値が0以下となる場合には
初期値を0、また最終値が1以上となる場合には最終値
を1とする。
こうして、順次処理を繰り返し、ステップA6において
|θ(tx )一θXI<θref’なる関係が或立す
ると判別された場合には、この時の制御点Q1、Q2、
及び始点Q0、終点Q3によって示されるBezier
 3次曲線セグメントが、3点(QO ,X,Q3 )
を通過する曲線セグメントであると判別する(ステップ
A9)。
なお、ステップA6において|θ(tX )−θXI<
θref’なる条件を満たす制御点Q1、Q2が得られ
ず、さらにステップA7において傾きθx以外Xが最終
値と判断されると、与えられた始点Q0、終点Q3,通
過点X1及び各点における傾きθ0,θ3、θxという
条件においては、あてはめ可能な曲線(与えられた条件
におけるB ezier 3次曲線セグメント)が取得
することができないものと判別する。
このようして、3点(始点Q0、終点Q3,通過点X)
、及び各点における傾きθ0,θ3、θxが条件として
与えられた場合に、1つのB ezier 3次曲線セ
グメントをあてはめることが可能となる。
次に、4点以上の点に、1つのB ezier 3次曲
線セグメントをあてはめる処理手順について、第4図及
び第5図に示すフローチャートを参照しながら説明する
。3次B ezler曲線セグメントと各点の距離が所
定の距離範囲内となるように、曲線のあてほめが行なわ
れる。ここでは例として、P L,P 2,P 3.P
 4,P 5に曲線あてほめを行なう場合について説明
する。
まず、第6図に示すように、PIを始点Q0、P5を終
点Q3 、P3,P4.P5をそれぞれ点XI.X2.
X3、各点における傾きをθ0,θ3,θx1、θX2
.θx3に設定する(ステップBO)。
なお、第4図中におけるステップB1、B2,B3にお
けるテーブル作成処理は、第5図のフローチャートに示
す手順によって行なう。
まず、始点Q0、終点Q3,通過点Xi(1−1〜3)
、及び各点における傾きθ0、θ3θx1、  θx2
.  θx3が条件として与えられると、6第5図に示
すフローチャートに従って、第7図に示すようなテーブ
ルを作成する。テーブルは、l−1〜3としているので
、第8図に示すように、テーブル1〜3が作成される(
ステップ81〜B3)。ここでは、それぞれ(Q0、Q
3,Xi,θ0,θ3,θxl)  (QO ,  Q
3 , X2 ,  θ0、θ3,θx2)  (QO
 ,  Q3 .  X3 ,  θ0,θ3,θx3
)と設定される(ステップCI)。こうして設定された
各条件は、それぞれについて第5図に示すような処理が
行なわれる(ステップC2,C 2 a − C 10
)。第5図に示すフローチャートの処理については、第
1図のフローチャートの処理と同様に行われるため、詳
細な説明は省略する。
第5図に示すフローチャートでは、ステップC6におい
て、Q0、Q3,Xi,  θ0,θ3.θxi(1 
−1 〜3 )を補間する3次B ezier曲線セグ
メントを示す制御点Q1、Q2を出力し、ステップC9
においてQL,Q2をテーブルiに保存する。テーブル
iに保存されているn番目の内容は、Rinとして参照
できるものとする。ただし、テーブル1ではn − k
 ,テーブル2ではn−j,テーブル3ではn”mとす
る。
同実施例においては、ステップB1、B2、またはB3
において、3点(Q0、Q3,Xi ).(Q0、Q3
,X2)  または(Q0、Q3,X3)にあてはめら
れるB ezler 3次曲線セグメントを示す処理結
果(制御点Q1、Q2)が得られなかった場合は、与え
られた条件においてあてはめ可能な曲線セグメントが得
られないものと判断ずる。
はじめに、通過点X1を条件とした場合に得られる曲線
セグメントと、通過点X2を条件とした場合に得られる
曲線セグメントとをもとに,4点(QO.Q3,X1、
X2)へのあてほめが可能な曲線セグメントが存在する
か否かを以下のようにして判別する。
まず、j−1とし(ステップB4)、テーブル2のR2
jの内容Q1、Q2を取り出し、各々をQ12,  Q
22とする(ステップB5)。
次に、k−1とし(ステップB6)、テーブル1のR2
kの内容Q1、Q2を取り出し、各々をQl1、  Q
21とする(ステップB7)。
ここで、Qllと012とのずれΔQ1、及びQ21と
Q22とのずれΔQ2を求める(ステップB8)。
つまり、始点Q0、終点Q3が同じで通過点Xi,X2
が異なる2つの曲線セグメントが存在し、各曲線セグメ
ントに対応する制御点Q1、Q2が、それぞれ微少な距
離ΔQ1,ΔQ2だけずれて、Ql+ΔQ1、Q2+Δ
Q2となった時、B ezier曲線p (t)のずれ
Δp (t)は、ΔP  (t)−  (ap/aQ1
  )  −  ΔQl+  (aP/aQ2)  ●
 ΔQ2として求めることができる。これに基づいて、
2つのB eZier曲線P (t)のずれΔP (t
)と、ずれの誤差をどれだけ許すかを示す基準距離誤差
D refとの間に以下の式、 ΔP (t)  l <Dref’ という関係を満たす場合に、2つの曲線セグメントを共
通する1つの曲線セグメントに表わすことができるもの
と判断するものである。
また、前記1ΔP (t)lの代わりとして、4/9・
 (1ΔQIJ+lΔQ2 1)として判別を行なうこ
ともできる(ステップB9)。なぜならば、B ezi
er曲線の定義より、aP/aQl −3 (1−t)
 2taP/aQ2 −3 (1−t)t2 である。なお、B 6zier曲線セグメントは、t 
(0< t < 1)の値によって定義されるので、a
P/aQ1、及び9p/aQ2G;i、ともに0〜47
9以下の値となる。従って、1ΔP (t)く4/9・
 (1ΔQ11+lΔQ2 1)であるので、4/9−
(IΔQll+lΔQ21)<Dref’の関係が成立
すれば1Δp (t)  l <Dref’の関係も満
たされることになる。
ステップB9において条件が満足されないと判断された
場合は、テーブル1に′格納されたデータ(Q1、Q2
)が他に存在すれば(ステップBIO)、kの値を(k
+1)に更新し(ステップBl2)、読出しアドレスR
lkによって特定されるQl1、  Q21を新たに求
める(ステップB7).。
ステップBIOにおいて、テーブル1の終りに達したと
判定した場合には、テーブル2に格納されたデータ(Q
1、Q2)が他に存在すれば(ステップB11)  ス
テップBl3においてjの値を(j+1)に更新し、読
出しアドレスR2jによって特定される次のQ12, 
 Q22を求める(ステップB5)。また、l(の値を
1に設定し(ステップB6)、以下同様にしてQ 11
,  Q 21を求める(ステップB7)。
一方、ステップB゛9において、条件式4/9・(1Δ
Qll+lΔQ2  1) <Dref’を満たすと判
断された場合は、次にms− 1とし(ステップB14
)、テーブル3のR3I1の内容Q1、Q2を取つ出し
、各々Ql3,  Q23とする(ステップB 15)
ここで、Q13とQl2とのずれΔQ1、及びQ23と
Q22とのずれΔQ2を求める(ステップ8 1B)。
ステップBlBにおいて得られたΔQ1、ΔQ2に対し
て、条件式4/9   (lΔQll+lΔQ21)<
 D rerを満たすか否かを判断する(ステップB1
7)。
つまり、5点(QO.Q3,Xi,X2,)l)にあて
はめられる曲線セグメントが存在するか否かを判別する
ものである。ステップB17においては、ステップB9
において条件を満たすと判断された際の012, Q2
2、及びステップBl5において得られた制御点Ql3
, Q23から、ΔQ1、ΔQ2を求め、ステップBl
7において基準値D re4との比較を行なう。
ステップB17において条件が満足されないと判断され
た場合は、テーブル3に格納されたデータ(Ql , 
Q2 )が他に存在すれば(ステップBl8)、mの値
を(m+1)に更新し(ステップBl9)、読出しアド
レスR3mによって特定される次のQ 13,  Q 
23を求める(ステップB15)。
ステップ818において、テーブル3の終りに達したと
判定した場合には、ステップBIOの処理に進む。
一方、ステップB17において、条件式4/9・(1Δ
Qll+lΔQ2  l ) <Drel’を満たすと
判断された場合は、与えられた条件(始点Q0、終点Q
3,通過点X1、X2,X3、傾きθ0,θ3.θx1
、θx2.  θx3)におけるB ezier 3次
曲線セグメントが得られたものとする。すなわち、この
時のQl2, Q22をB ezler 3次曲線セグ
メントを示す制御点Q1、Q2とするものである(ステ
ップB20)。なお、制御点Q1、Q2の設定方法は、
制御点QlをQl1、 Ql2, Q13の平均値、制
御点Q2をQ21, Q22, Q23の平均値とする
こともできる。
以上、5点にB ezler曲線セグメントをあてはめ
る方法について説明したが、同じ方法によって5点以上
の点に曲線セグメントをあてはめることができる。ただ
し、あてはめ条件についての判断処理ステップは、曲線
あてほめの対象とする点の数に応じて多くなる。
また、任意の通過点(前記実施例ではX2)を基準とし
て処理を行なったが、まず3点について処理を行ない、
補間できれば次の1点を加えて4点で処理を行ない、さ
らに4点にあてほめができれば5点で処理を行なうよう
に、順次あてはめ点数を増加させるようにしても良い。
このようにすれば、より多くの複数の直線ショートベク
トルにおける曲線部分に、1つのB ezler 3次
曲線セグメントをあてはめるようにできる。
[発明の効果] 以上のように本発明によれば、3点以上の点を1つのB
 ez1er 3次曲線セグメントをあてはめることが
可能となるので、3次曲線セグメントを示す制御点(Q
O〜Q3)の数が少なくなり、デ−夕量を少なくするこ
とができるものである。
【図面の簡単な説明】
第1図は本発明の一実施例における3点に曲線セグメン
トをあてはめる処理の手順を示すフローチャート、第2
図は直線ショートベクトル列から処理対象とする曲線部
分を切り出す処理を説明するための図、第3図は3点に
曲線セグメントをあてはめる処理を説明するための図、
第4図及び第5図は5点に曲線セグメントをあてはめる
処理の手順を示すフローチャート、第6図は5点に曲線
セグメントをあてはめる処理を説明するため.の図、第
7図は’量5図のフローチャートに示す処理によって生
成されるテーブルの構成を示す図、第8図は同実施例に
おける5点に曲線セグメントを当てはめる際に生成され
るテーブルの一例を示す図である。

Claims (6)

    【特許請求の範囲】
  1. (1)原形状を近似的に表現する直線ショートベクトル
    列をもとに、ベジエ(Bezier)曲線セグメントに
    よって、文字の輪郭、図形などを2次元平面上で表現す
    るシステムにおいて、 ベジエ曲線セグメントの始点Q0、終点Q3、通過点X
    、及び各点における傾きθ0、θ3、θxを示す点列情
    報を設定し、 この設定された点列情報をもとに、通過点Xを通過する
    と仮定したときのベジエ曲線セグメントの制御点Q1、
    Q2を設定し、 この設定された点Q1、Q2及び始点Q0、終点Q3に
    より定まるベジエ3次曲線セグメントの通過点Xにおけ
    る傾きθを算出し、 この算出された傾きθと予め設定された傾き誤差の許容
    範囲を示す傾きθrefとを比較し、この比較結果に基
    づいて、ベジエ曲線セグメントをあてはめることを特徴
    とする3次曲線あてはめ方式。
  2. (2)原形状を近似的に表現する直線ショートベクトル
    列をもとに、 下記式 P(t) =x0(t)Q0+x1(t)Q1+x2(t)Q2+
    x3(t)Q3 ただし、x0(t)=(1−t)^3 x1(t)=3(1−t)^2t x2(t)=3(1−t)^2 x3(t)=t^3 0≦t≦1 Q0〜Q3は形状を決定するパラメータ(位置ベクトル
    ) で示される、tを媒介変数とする3次曲線セグメントに
    よって、文字の輪郭、図形などを2次元平面上で表現す
    るシステムにおいて、 前記直線ショートベクトル列中の曲線部分を始点Q0、
    終点Q3、通過点X、及び各点における傾きθ0、θ3
    、θxによって示す場合に、通過点Xにおける傾きθx
    以外の条件を満たし、かつ通過点Xにおける媒介変数t
    の値をtxと仮定したときの点Q1、Q2を設定し、 この設定された点Q1、Q2及び始点Q0、終点Q3に
    より定まる3次曲線セグメントの媒介変数txにおける
    傾きθ(tx)を求め、 この求められた傾きθ(tx)と予め設定された基準値
    θrefとの間に、|θ(tx)−θx|<θrefな
    る関係が成立するか否かを判別し、この判別の結果、|
    θ(tx)−θx|<θrefなる関係が成立する場合
    に、媒介変数txとしたときのQ0、Q1、Q2、Q3
    で示される曲線セグメントを、始点Q0、終点Q3、及
    び通過点Xを通る前記直線ショートベクトル列中の曲線
    部分を表現する3次曲線セグメントとすることを特徴と
    する3次曲線あてはめ方式。
  3. (3)原形状を近似的に表現する直線ショートベクトル
    列をもとに、ベジエ(Bezier)曲線セグメントに
    よって、文字の輪郭、図形などを2次元平面上で表現す
    るシステムにおいて、ベジエ曲線セグメントの始点Q0
    、終点Q3、少なくとも二つの通過点Xn、及び各点に
    おける傾きθ0、θ3、θxnを示す点列情報を設定し
    、この設定された点列情報をもとに、通過点Xiを通過
    すると仮定したときのベジエ曲線セグメントの制御点Q
    1i、Q2i、及び通過点Xjを通過すると仮定したと
    きのベジエ曲線セグメントの制御点Q1j、Q2jを設
    定し、 この設定された点Q1i、Q2i、始点Q0、終点Q3
    により定まるベジエ3次曲線セグメントの通過点Xiに
    おける傾きθi、及び点Q1j、Q2j、始点Q0、終
    点Q3により定まるベジエ3次曲線セグメントの通過点
    Xjにおける傾きθjを算出し、 この算出された傾きθi、θjが予め設定された傾き誤
    差の許容範囲を示す傾きθref内であるか否かを判別
    し、 この判別の結果、傾きθi、θjが傾き誤差の許容範囲
    内である場合に、Q0、Q1i、Q2i、Q3によって
    表現されるベジエ曲線セグメントとQ0、Q1j、Q2
    j、Q3で示されるベジエ曲線セグメントのずれの程度
    を示す量Dと予め設定された距離誤差を示すDrefと
    を比較し、 この比較結果に基づいて、ベジエ曲線セグメントをあて
    はめることを特徴とする3次曲線あてはめ方式。
  4. (4)原形状を近似的に表現する直線ショートベクトル
    列をもとに、 下記式 p(t)=x0(t)Q0+x1(t)Q1+x2(t
    )Q2+x3(t)Q3 ただし、x0(t)=(1−t)^3 x1(t)=3(1−t)^2t x2(t)=3(1−t)t^2 x3(t)=t^3 0≦t≦1 Q0〜Q3は形状を決定するパラメータ(位置ベクトル
    ) で示される、tを媒介変数とする3次曲線セグメントに
    よって、文字の輪郭、図形などを2次元平面上で表現す
    るシステムにおいて、 前記直線ショートベクトル列中の曲線部分を始点Q0、
    終点Q3、通過点X1、X2、・・・Xn、及び各点に
    おける傾きθ0、θ3、θx1、θx2、・・・θxn
    によって示す場合に、通過点Xi(i=1〜n)、及び
    通過点Xj(j=1〜n、i≠j)のそれぞれにおいて
    、傾きθxi、θxj以外の条件を満たし、かつ通過点
    Xi、Xjにおける媒介変数をの値をそれぞれtxi、
    txjと仮定したときの点Q1i、Q2i、及び点Q1
    j、Q2jを設定し、 この設定された点Q1i、Q2i、始点Q0、終点Q3
    により定まる3次曲線セグメントの媒介変数txiにお
    ける傾きθxi(txi)、及び点Q1j、Q2j、始
    点Q0、終点Q3により定まる3次曲線セグメントの媒
    介変数txjにおける傾きθxj(txj)を求め、 この求められた傾きθxi(txi)、及び傾きθxj
    (txj)と予め設定された基準値θrefとの間に、
    |θxi(txi)−θxi|<θref、|θxj(
    txj)−θxj|<θrefなる関係が成立するか否
    かを判別し、 この判別の結果、|θ(txi9−θxi|<θref
    なる関係を満たすと判別されたときのtxiを媒介変数
    txとしたときのQ0、Q1i、Q2i、Q3で示され
    る曲線セグメントと、|θ(txj)−θxj|<θr
    efなる関係を満たすと判別されたときのtxjを媒介
    変数txとしたときのQ0、Q1j、Q2j、Q3で示
    される曲線セグメントとの組み合わせにおいて、両曲線
    セグメントのずれの程度を示す量Dが、予め設定された
    距離誤差を示すDrefとD<Drefなる関係がある
    かを判別し、D<Drefになる関係があると判別され
    た時のQ1i、Q2i、またはQ1j、Q2jを、始点
    Q0、終点Q3、通過点X1、X2、・・・Xnを通る
    前記直線ショートベクトル列中の曲線部分を表現する3
    次曲線セグメントとすることを特徴とする3次曲線あて
    はめ補間方式。
  5. (5)前記ずれの程度を示す量Dを、 D=|ΔP(txi)|、 ただしΔP(t)=(∂P/∂Q1)・(Q1i−Q1
    j)+(∂P/∂Q2)・(Q2i−Q2j)とするこ
    とを特徴とする第4請求項記載の3次曲線あてはめ方式
  6. (6)前記ずれの程度を示す量Dを、 D=A(|Q1i−Q1j|+|Q2i−Q2j|)、
    (ただしAは定数)とすることを特徴とする第3請求項
    または第4請求項記載の3次曲線あてはめ方式。
JP2103123A 1989-04-20 1990-04-20 3次曲線あてはめ方式 Pending JPH0348375A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1-100536 1989-04-20
JP10053689 1989-04-20

Publications (1)

Publication Number Publication Date
JPH0348375A true JPH0348375A (ja) 1991-03-01

Family

ID=14276677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2103123A Pending JPH0348375A (ja) 1989-04-20 1990-04-20 3次曲線あてはめ方式

Country Status (4)

Country Link
US (1) US5253336A (ja)
EP (1) EP0393680A3 (ja)
JP (1) JPH0348375A (ja)
KR (1) KR930002339B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7746342B2 (en) 2005-03-01 2010-06-29 Sony Computer Entertainment Inc. Drawing processing apparatus, texture processing apparatus, and tessellation method
US7873218B2 (en) 2004-04-26 2011-01-18 Canon Kabushiki Kaisha Function approximation processing method and image processing method

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535826A (ja) * 1991-03-20 1993-02-12 Sony Corp 自由曲線作成方法及び自由曲面作成方法
US6084586A (en) * 1991-10-29 2000-07-04 Sony Corporation Method and apparatus for forming objects based on free-form curves and free-form surfaces generated by minimizing sum of distances from an input series of points to a free-form curve
EP0578841A1 (de) * 1992-07-11 1994-01-19 International Business Machines Corporation Verfahren zur Erzeugung von Höhenlinien mit einem Computersystem
EP0604685A1 (en) * 1992-12-28 1994-07-06 Océ-Nederland B.V. Method of modifying the fatness of characters
US5473742A (en) * 1994-02-22 1995-12-05 Paragraph International Method and apparatus for representing image data using polynomial approximation method and iterative transformation-reparametrization technique
JP3512091B2 (ja) * 1994-04-28 2004-03-29 ソニー株式会社 自由曲面作成方法及び自由曲面作成装置
JPH07311858A (ja) * 1994-05-18 1995-11-28 Sony Corp 自由曲面作成方法及び自由曲面作成装置
US5600772A (en) * 1994-08-17 1997-02-04 Printronix, Inc. Bit map character convertor using chain-codes for the character filling process
US5717905A (en) * 1994-12-15 1998-02-10 Kao Corporation CAD system and bezier-curve data converting apparatus and method thereof in said CAD system
US6115051A (en) * 1996-08-07 2000-09-05 Adobe Systems Incorporated Arc-length reparameterization
US6111588A (en) * 1996-12-05 2000-08-29 Adobe Systems Incorporated Creating and modifying curves on a computer display
US6674435B1 (en) * 1998-09-16 2004-01-06 Texas Instruments Incorporated Fast, symmetric, integer bezier curve to polygon conversion
US6284472B1 (en) 1998-10-05 2001-09-04 Dade Behring Inc. Method for extending the range of an immunoassay
DE19901934C2 (de) * 1999-01-19 2001-07-19 Heidelberger Druckmasch Ag Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind
US6501855B1 (en) 1999-07-20 2002-12-31 Parascript, Llc Manual-search restriction on documents not having an ASCII index
US20020120356A1 (en) * 2001-02-26 2002-08-29 Keiichi Takahashi Container designing system, container designing method, container designing program and recording medium for recording container designing program
US7133563B2 (en) 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7116840B2 (en) 2002-10-31 2006-10-03 Microsoft Corporation Decoding and error correction in 2-D arrays
KR20040043532A (ko) * 2002-11-19 2004-05-24 (주) 마이빌넷 전자 펜을 사용하여 전자 칠판 상에 필기할 때 발생하는손 떨림을 보정하는 방법 및 이러한 방법을 실행하는프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
GB2406028A (en) * 2003-09-11 2005-03-16 Autodesk Canada Inc Tangent handle adjustment for Bezier curves
US7583842B2 (en) 2004-01-06 2009-09-01 Microsoft Corporation Enhanced approach of m-array decoding and error correction
US7263224B2 (en) 2004-01-16 2007-08-28 Microsoft Corporation Strokes localization by m-array decoding and fast image matching
US7536051B2 (en) * 2005-02-17 2009-05-19 Microsoft Corporation Digital pen calibration by local linearization
US7607076B2 (en) 2005-02-18 2009-10-20 Microsoft Corporation Embedded interaction code document
US7826074B1 (en) 2005-02-25 2010-11-02 Microsoft Corporation Fast embedded interaction code printing with custom postscript commands
US7421439B2 (en) 2005-04-22 2008-09-02 Microsoft Corporation Global metadata embedding and decoding
US7599560B2 (en) 2005-04-22 2009-10-06 Microsoft Corporation Embedded interaction code recognition
US7400777B2 (en) 2005-05-25 2008-07-15 Microsoft Corporation Preprocessing for information pattern analysis
US7729539B2 (en) 2005-05-31 2010-06-01 Microsoft Corporation Fast error-correcting of embedded interaction codes
US7580576B2 (en) 2005-06-02 2009-08-25 Microsoft Corporation Stroke localization and binding to electronic document
US7619607B2 (en) 2005-06-30 2009-11-17 Microsoft Corporation Embedding a pattern design onto a liquid crystal display
US7817816B2 (en) 2005-08-17 2010-10-19 Microsoft Corporation Embedded interaction code enabled surface type identification
US7622182B2 (en) 2005-08-17 2009-11-24 Microsoft Corporation Embedded interaction code enabled display
US8356916B2 (en) 2008-05-16 2013-01-22 Musco Corporation Method, system and apparatus for highly controlled light distribution from light fixture using multiple light sources (LEDS)
US8449144B2 (en) 2008-05-16 2013-05-28 Musco Corporation Apparatus, method, and system for highly controlled light distribution using multiple light sources
US8248419B2 (en) * 2009-04-21 2012-08-21 Sony Corporation Entertainment Inc. Generation of cubic Bezier control points in computer graphics systems
US8622569B1 (en) 2009-07-17 2014-01-07 Musco Corporation Method, system and apparatus for controlling light distribution using swivel-mount led light sources
US9068707B1 (en) 2010-04-06 2015-06-30 Musco Corporation Compact LED light source and lighting system
US9581303B2 (en) 2011-02-25 2017-02-28 Musco Corporation Compact and adjustable LED lighting apparatus, and method and system for operating such long-term
US10347016B2 (en) * 2016-01-12 2019-07-09 Monotype Imaging Inc. Converting font contour curves
US10936792B2 (en) 2017-12-21 2021-03-02 Monotype Imaging Inc. Harmonizing font contours
CN110254422B (zh) * 2019-06-19 2021-02-12 中汽研(天津)汽车工程研究院有限公司 一种基于多目标增强学习及贝塞尔曲线的汽车避障方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686634A (en) * 1984-09-10 1987-08-11 Allied Corporation Method and apparatus for generating a set of signals representing a curve
JP2752975B2 (ja) * 1987-09-25 1998-05-18 株式会社東芝 3次曲線プロット方法
US4958272A (en) * 1988-02-17 1990-09-18 Xyvision Design Systems, Inc. Apparatus and system for generating smooth shaded continuous tone images
US4998664A (en) * 1989-12-22 1991-03-12 Hughes Aircraft Company Bond signature analyzer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873218B2 (en) 2004-04-26 2011-01-18 Canon Kabushiki Kaisha Function approximation processing method and image processing method
US7746342B2 (en) 2005-03-01 2010-06-29 Sony Computer Entertainment Inc. Drawing processing apparatus, texture processing apparatus, and tessellation method
US7903112B2 (en) 2005-03-01 2011-03-08 Sony Computer Entertainment, Inc. Drawing processing apparatus, texture processing apparatus, and tessellation method
US8289323B2 (en) 2005-03-01 2012-10-16 Sony Computer Entertainment Inc. Drawing processing apparatus, texture processing apparatus, and tessellation method

Also Published As

Publication number Publication date
KR930002339B1 (ko) 1993-03-29
KR900016894A (ko) 1990-11-14
EP0393680A2 (en) 1990-10-24
EP0393680A3 (en) 1990-11-14
US5253336A (en) 1993-10-12

Similar Documents

Publication Publication Date Title
JPH0348375A (ja) 3次曲線あてはめ方式
Sawhney et al. Boundary first flattening
US20210263499A1 (en) Conversion of mesh geometry to watertight boundary representation
US5619625A (en) Method for interpolating smooth free-form surfaces into curve mesh including composite curves
Boivin et al. Guaranteed‐quality triangular mesh generation for domains with curved boundaries
KR101443949B1 (ko) 보간처리방법, 및 보간처리장치
JPH04311272A (ja) 形状モデルを生成する方法及び装置
Biswas et al. Approximate distance fields with non-vanishing gradients
Dhanik et al. Contour parallel milling tool path generation for arbitrary pocket shape using a fast marching method
EP0681243B1 (en) Method for performing boolean operations on geometric objects in a computer-aided design system
Navasca et al. Solution of hamilton jacobi bellman equations
Vogel Sufficient conditions for capillary surfaces to be energy minima
US10437231B2 (en) Designing an outer surface of a composite part
Antolin et al. Region extraction in mesh intersection
Li et al. An algorithm for filling complex holes in reverse engineering
Zhang Neilan's divergence‐free finite elements for Stokes equations on tetrahedral grids
Schroeder et al. Methods and framework for visualizing higher-order finite elements
Bühler et al. Reliable distance and intersection computation using finite precision geometry
JP3408114B2 (ja) ソリッドデータ修正装置及びソリッドデータ修正方法並びに記録媒体
Song et al. Creating hybrid B-reps and hybrid volume completions from trimmed B-spline B-reps
Snoep et al. Improved flux-surface parameterization through constrained nonlinear optimization
Nishida et al. Boat-sail Voronoi diagram and its computation based on a cone-approximation scheme
Tookey et al. Improved surface bounds based on derivatives
Dokken et al. Intersection algorithms and CAGD
KR101110827B1 (ko) 곡부재 설계 모델의 보정 방법