JPH0810467B2 - ストロークに相当する輪郭線を迅速に生成する曲線近似方法 - Google Patents

ストロークに相当する輪郭線を迅速に生成する曲線近似方法

Info

Publication number
JPH0810467B2
JPH0810467B2 JP3139296A JP13929691A JPH0810467B2 JP H0810467 B2 JPH0810467 B2 JP H0810467B2 JP 3139296 A JP3139296 A JP 3139296A JP 13929691 A JP13929691 A JP 13929691A JP H0810467 B2 JPH0810467 B2 JP H0810467B2
Authority
JP
Japan
Prior art keywords
parabola
curve
approximate
approximation
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.)
Expired - Fee Related
Application number
JP3139296A
Other languages
English (en)
Other versions
JPH04233087A (ja
Inventor
ビンディガナベール・エー・プラサッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox 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 Xerox Corp filed Critical Xerox Corp
Publication of JPH04233087A publication Critical patent/JPH04233087A/ja
Publication of JPH0810467B2 publication Critical patent/JPH0810467B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/20Drawing from basic elements
    • G06T11/26Drawing of charts or graphs

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】
【0001】〔発明の背景〕 本発明は、原軌道の両側に等しい距離で離れている2つ
の線を生成するためのアルゴリズムであり、更に詳細に
は、そのような平行線を生成するために使用し得る原軌
道のセグメントを決定する第1のステップと、それらを
生成する第2のステップとを含む。
【0002】ページ記述言語(PDL)の一つである
ンタープレス(Interpress)の用語では、
「マスク・ストローク (mask stroke)」は原軌道に対し
て平行で距離にある2つの線を与えることによりオー
プン軌道に幅を与え、その結果、以下に「パラゾイド
(parazoid) 」、すなわち2つの平行側面がカーブして
いるトラペゾイド (trapezoid)として参照され、かつ領
域を埋めるものとして定義されている。原軌道のセグメ
ントは3次曲線スプライン、放物線、円錐曲線、円弧お
よび直線であり得る。
【0003】従来のアプローチは、軌道を線セグメント
に分解し、それから各線セグメントに相当するトラペゾ
イドの座標を計算するか、オフセット放物線を生成する
ために放物線に沿って楕円ペン(eliptical pen) をトレ
ースするかであった。それからこのパラゾイドは、マス
クされたストローク(masked stroke) を生成するために
充満させられ得る。
【0004】〔発明の要約〕 本方法は、パラゾイドがマスクされたストロークを適当
に近似するかどうかを決定する第1のステップを有す
る。もしそうでなければ、アルゴリズムは、各セグメン
トが試験を満足するまで回帰的に軌道を細分割する。第
2のステップは、各セグメントに相当するパラゾイドを
直接的に計算するためのアルゴリズムである。
【0005】〔図面の簡単な説明〕 図1および図2は第1章の解析例に使用した曲線であ
る。図3は3次曲線スプラインを理解する際の補助であ
る。図4は円錐曲線を理解する際の補助である。図5か
ら図9までは3次曲線スプラインを放物線セグメントで
近似するアルゴリズムのフローチャートである。図10
は円弧の近似を示す。図11は放物線軌道を示す。図1
2は任意の放物線を正規化放物線に変換する際に関係す
るステップを示す。図13は放物線の一例である。図1
4は最大ねじれを夾角の関数として示す。図15は第
5.4章で規定した放物線である。図16から図21は
ねじれと夾角との間の関係を示す。
【0006】〔発明の詳細な説明〕 1.0 概要このシステムは、コンピュータ、データ入力のためのキ
ーボード、およびラスタ出力スキャナを有しており、ラ
スタ出力スキャナはCRTユーザーインターフェースま
たはプリンタであり得る。そのようなシステムの一つ
は、特願昭60−122428号及び特願昭60−12
8121号に基づいて優先権主張された米国特許第4,
829,456号「三次元表面ディスプレイ方法」に記
載されており、これは本願の引用文献に取り込まれる。
この特許の図1は、データを入力するためのキーボード
1と、グラフィックディスプレイユニット3と、キーボ
ード1を制御するためのグラフィックコントローラ4
と、コンピュータ5を含むグラフィックディスプレイシ
ステムを示している。この特許に記載されているのは、
通常はページ記述言語(PDL)のフォームで入力デー
タから曲線を計算する方法であり、前記グラフィックデ
ィスプレイ端末のフォームでラスタ出力スキャナ 上にそ
の結果を表示することである。 本発明は、PDL分析お
よび作像によるグラフィックに関連する2つの計算集約
的問題を考慮している。
【0007】考慮する第1の問題はそのセグメントが3
次曲線スプライン、放物線、円錐曲線、円弧、および直
線であり得る軌道の発生である。普及している方法は、
複雑な曲線を線分に分割し、次いで汎用の計算要素およ
びハードウエア加速器の組合せを使用して線分を発生す
ることである。曲線の線分への分割は一般に、近似誤差
が受容可能な限界内に入るまで反復細分割および試験の
過程を通して行われる。この明細書で筆者らは高次曲線
を放物線セグメントに分解するアルゴリズムを示すが、
このアルゴリズムでは曲線を所要レベルの正確さで近似
するに必要な放物線セグメントの数を演繹的に決定する
ことができる。次に、この得られた性質を利用して、放
物線セグメントに対する制御点を直接発生するソフトウ
エアによる簡単なステッパアルゴリズムを組み立てる。
放物線軌道はステッパハードウエアによって発生するこ
とができる。厳密なソフトウエアの方法が必要な場合に
は、先の過程で発生された放物線を更に簡単なステッパ
アルゴリズムにより線分に分解するアルゴリズムもこれ
に備わっている。
【0008】表1は曲線を線分の代わりに放物線セグメ
ントに分解する利点を示している。考察中の例では曲線
を近似するのに必要なセグメントの数は、直線セグメン
トの代わりに放物線セグメントを使用すれば、3倍から
9倍ほど少なくすることができる。解析例に使用する別
の曲線をその制御点と共に図1および図2に示す。図1
a〜dは3次曲線スプラインであり、図2aは円弧であ
り、図2bおよび図cは円錐曲線セグメントである。正
確な曲線とその近似との間にたかだか1画素誤差を許容
すると仮定している。
【0009】考慮する第2の問題は、そのセグメントを
3次曲線スプライン、放物線、円錐曲線、円弧、および
直線とし得る中心線軌道を用いて隠れた画線を発生する
ことである。ここで再び普及している方法は軌道を線分
に分解し、次いで各線分に対応する台形の座標を計算す
ることである。この明細書で筆者らは所定の放物線に対
応する「パラゾイド (parazoid) 」を直接計算するアル
ゴリズムを示している。このパラゾイドを埋めて隠れた
画線を発生することができる。「パラゾイド」は「平行
な」辺が放射線であり、他の2辺が直線である四辺図形
である。筆者らはパラゾイドが隠れた画線を的確に近似
するために満足しなければならない簡単な試験をも示し
ている。放物線が所定の試験を満足しなければ、各成分
が試験を満足するまで反復して放物線を最適に細分する
他のアルゴリズムを示す。特に重要なのは放物線により
円弧を近似するのに示された先のアルゴリズムが常に試
験を満足する放物線セグメントを発生するという事実で
ある。
【0010】次に掲げる表は隠れた画線を台形の代わり
にパラゾイドに分解する利点を示している。再び考慮中
の例については、隠れた画線を近似するのに必要な台形
の数の1/3と1/9との間にすることができる。解析
例に使用する別の曲線をその制御点と共に図1及び図2
に示している。正確な画線とその近似との間にたかだか
1画素誤差を許容することができると仮定している。
【0011】
【表1】
【0012】本明細書に使用した方法を自然に拡張する
と放物線セグメントおよびパラゾイドの代わりに3次曲
線スプラインおよび「キューベゾイド (cubezoid) 」を
使用することにより、所定の曲線を近似するのに必要な
セグメントの数がさらに減少する。しかし、これらのア
ルゴリズムを有効にするのに必要なここで開発されたも
のと同様な原理は非常に複雑でほとんど処理しにくい。
また、任意の3次曲線スプラインには自己交差が存在す
る可能性があり、一層複雑になる。3次曲線スプライン
を何らかの方法で細分して自己交差を排除することがで
き、またステッピング処理を始める前にステッパの効率
を向上させることができる。他方、放物線は挙動が非常
に良好な曲線である。非常に効率が良くかつ単純に適用
できるステッピングアルゴリズムは、ハードウエアのサ
ポートが必要である場合には、放物線に関するハードウ
エアで実施することができる。ここでは簡潔性と効率と
の両方を考慮すると、すべての曲線を放物線セグメント
に分解するのが最適な方法であることを主張する。この
ような方法に留意して、この明細書では一つの理論およ
び一組のアルゴリズムを開発する。
【0013】2.0 緒言 インタープレスやポストスクリプト(Postscri
pt)のようなページ記述言語(PDL)は、その輪郭
線が3次曲線スプライン、円錐曲線、放物線、円弧、お
よび直線で規定されている埋め込み領域を発生すること
ができるかなり強力な図形原線をサポートする。またこ
の言語はその中心線を3次曲線スプライン、円錐曲線、
放物線、円弧、および直線とすることができる特別な幅
の画線をサポートする。この明細書では数学的結果およ
び筆者の希望によりこれらこれら輪郭線を迅速に発生す
ることができる幾つかのアルゴリズムを示している。明
細書の多くの部分は一連の低次の簡単な原線により高次
の困難な原線を近似する判定基準を取り扱っている。数
学的結果のいくつかは当然に重要なものである。
【0014】第3章では3次曲線スプライン、円錐曲
線、放物線、円弧、および直線の性質を見直す。特に、
これら各曲線に対するパラメータ方程式およびこれら曲
線を細分割するルールを示す。またアルゴリズムの簡潔
な説明をフローチャートの形で示す。フローチャートは
アルゴリズムの神髄をフローチャートを複雑にしないで
述べるように示している。これらアルゴリズムを符号化
するときに幾つかの別の最適化を行うことができる。こ
こではこれら最適化のすべてを明白に述べようとはしな
かった。
【0015】第4章では所定の曲線を一連の「より簡単
な曲線」により所要レベルの正確さで近似する数学的理
論を示してある。曲線は、これら曲線を簡単なアルゴリ
ズムおよび/またはハードウエアにより迅速に発生する
既知の方法が存在すれば、「簡単」であると考えられ
る。
【0016】第4章は輪郭線を発生する問題に限定され
る。これはPDL分解の重要な部分であるが、その中心
線を先に述べた曲線のいずれか一つとすることができる
所定幅の画線を発生する必要も存在する。一般に画線は
インクを詰めた楕円ペンを中心線に沿って歩行させるこ
とにより得られる。リウ(Liu) は楕円ペンを歩行させる
技法を使用して画線の輪郭を発生し、囲まれた領域を埋
め込みアルゴリズムにより埋めた。第5章では、第3章
に示したアルゴリズムに至る理論を展開する。このアル
ゴリズムは画線の輪郭を直接、楕円ペンを中心線に沿っ
て歩行させる必要なしに、一連の合成曲線として発生す
るのに使用することができる。
【0017】3.0 定義、属性、およびアルゴリズム この章では3次曲線スプライン、円錐曲線、放物線、円
弧、および直線に対するパラメータ方程式を示す。また
これら曲線についての重要な性質の幾つかを述べる。次
いで高次曲線を放物線に、放物線を直線に、および隠れ
た曲線をパラゾイドに効率良く分解するアルゴリズムを
示す。
【0018】3.1 3次曲線スプライン 制御点〔A,B,C,D〕を有する三次曲線スプライン
は次のパラメータ方程式で記述することができる。
【0019】 [X(t),Y(t)]=A(1-t)3+3Bt(1-t)2+3Ct2(1-t)+Dt3 ここで0≦t≦1およびA=[Ax,Ay], B=[Bx,By], C=[Cx,Cy], D=[Dx,Dy]
【0020】この方程式は次のようにも書くことができ
る。
【0021】 [X(t),Y(t)]=D0+3D1t+3D2t2+D3t3 ここで0≦t≦1およびD0=A, D1=B-A, D2=C-2B+A, D3=D-3C+3B-A
【0022】図3は3次曲線スプラインの定義および属
性を理解するのに役立つ。制御点A,B,C,Dにより
規定される3次曲線スプラインが示されている。図3a
において、曲線はAでABに、DでCDに正接してい
る。図3bにおいて3次曲線スプラインA,B,C,D
は2つの3次曲線スプラインA,U,V,WおよびW,
X,Y,Dに細分割されている。
【0023】3次曲線スプライン〔A,B,C,D〕は
そのセグメントも3次曲線スプラインであるという属性
を備えている。特に3次曲線スプラインはその制御点が
次式で示される2つの3次曲線スプラインに細分割する
ことができる。
【0024】 [A,(A+B)/2,(A+2B+C)/4,(A+3B+3C+D)/8] [(A+3B+3C+D)/8,(B+2C+D)/4,(C+D)/2,D]
【0025】3.2 円錐曲線 制御点〔A,B,C〕および形状パラメータ「p」,こ
こで0≦p≦1,を有する円錐曲線は次のパラメータ方
程式で記述することができる。
【0026】 (q+pcost)[X(t),Y(t)]=[(A+C)/2]q−[(A-C)/2]qsint+pBcost ここで -π/2≦t≦π/2, q=1-p およびA=[Ax,Ay], B=[Bx,By], C=[Cx,Cy]
【0027】図4は円錐曲線の定義および属性を理解す
るのに役立つ。図4aの円錐曲線は制御点A,B,Cに
より定義され、図4bの円錐曲線A,B,Cは2つの円
錐曲線A,W,XおよびX,Y,Cに細分割されてい
る。
【0028】円錐曲線〔A,B,C〕はそのセグメント
も円錐曲線であるという属を備えている。特に円錐曲
線はその制御点が次式で示される2つの円錐曲線に細分
割することができる。
【0029】 [A,(qA+pB),q(A+C)/2+pB)] [q(A+C)/2+pB),(qC+pB),C]
【0030】各副円錐曲線は次式で与えられる新しい形
状パラメータ「p' 」を備えている。
【0031】 P'=1/[1+ √(2-2p)]
【0032】3.3 放物線 制御点〔A,B,C〕を有する放物線は制御点〔A,
B,C〕および形状パラメータp=0.5を有する円錐
曲線の特別の場合である。また放物線のパラメータ方程
式は下に示される形に大幅に簡単化することができる。
【0033】 [X(t),Y(t)]=A(1-t)2+2Bt(1-t)+Ct2 ここで0≦t≦1およびA=[Ax,Ay], B=[Bx,By], C=[Cx,Cy]
【0034】この方程式は次のように書くこともでき
る。
【0035】 [X(t),Y(t)]=D0+2D1t+D2t2 ここで0≦t≦1およびD0=A, D1=B-A, D2=C-2B+A
【0036】放物線〔A,B,C〕はその切片も放物線
であるという属性を備えている。特に放物線はその制御
点が次式で与えられる2つの放物線に細分割することが
できる。
【0037】 [A,(A+B)/2,(A+2B+C)/4] [(A+2B+C)/4,(B+C)/2,C]
【0038】わかるとおり、放物線は3次曲線スプライ
ンの特別の場合である。事実、放物線は二次曲線スプラ
インである。後章で円錐曲線および3次曲線スプライン
の双方を一連の隣接放物線で近似する仕方を求めること
にする。
【0039】3.4 円弧 制御点〔A,B,C〕を有する円弧もB線が辺ACの垂
直二等分線上にありかつその形状パラメータ「p」が次
式で示されるという制約を有する円錐曲線の特別の場合
である。
【0040】 p=m[√(1+m2)]-m2, ここでm=tanABC/2
【0041】円弧はPから出発しQを通ってRで終わる
弧を有する点〔P,Q,R〕により規定することもでき
ることに注目されたい。後に制御点〔A,B,C〕をパ
ラメータpと共に〔P,Q,R〕から求める仕方を示す
ことにする。
【0042】3.5 直線 制御点〔A,B〕を有する直線線分はAから出発してB
で終わるが、次のパラメータ方程式で規定することがで
きる。
【0043】 [X(t),Y(t)]=A(1-t)+Bt ここで0≦t≦1およびA=[Ax,Ay], B=[Bx,By]
【0044】3.6 アルゴリズム図5 から図7までは3次曲線スプライン、円弧および円
錐曲線を放物線セグメントに分解するアルゴリズムを示
している。図8は放物線を線分に分解するアルゴリズム
を示す。図9は放物線を、必要ならば、副放物線に分割
し、次いでパラゾイドを発生するアルゴリズムを示して
いる。
【0045】図6で、dは隣接画素間の座標系内の距離
であり、mは3次曲線スプラインを近似するに必要な放
物線セグメントの数である。図6で、Rが完全な円であ
れば、m=16,Z=(A+B)/2,およびD=E=
Z+(r,0)。c0 =cos22.5 、c2 =sin22.5 そし
てc3 =tan11.25。
【0046】RはAから出発してBを通りCで終わる円
弧である。代わりに、Rは中心がZにあり、半径r、開
始角θ1 および終了角θ2 を有する円弧である。cは横
断が時計方向か反時計方向かを示す。インタープレスは
第1の体系(時計方向)を使用しているが、ポストスク
リプトは第2を使用していることに注意されたい。筆者
らはこれらいずれの表現をも、RがDから始まり、Eで
終わり、Zに中心を有し、反時計方向に横断する第3の
表現に変換する。m=θ/22.5で、最も近い整数に丸め
られるが、θは中心においてRを臨む角度である。
【0047】図8で、dは隣接画素間の座標系内の距離
であり、mは放物線Pを近似するのに必要な線分の数で
ある。
【0048】4.0 近似 この章では、前の章で導入した高次曲線を低次曲線によ
り所要レベルの正確さで近似することができる条件を求
めることにする。
【0049】4.1 3次曲線スプラインの放物線によ
る近似 [S(t)]=A+3(B-A)t+3(C-2B+A)t2+(D-3C+3B-A)t3 で記述される制御点〔A,B,C,D〕を有する3次曲
線スプラインは、 [P(t)]=A+2(E-A)t+(D-2E+A)t2 で記述される制御点〔A,E,D〕を有する放物線で、
下記条件が良好に保持されれば正確さを損なわずに、置
き換えることができる。
【0050】 D-3C+3B-A=0, E=(3B+3C-A-D)/4
【0051】上の2つの条件は第3の方程式に3を掛
け、これに第2の方程式を加えることにより下に示す2
つの条件に縮小することができる。
【0052】 D-3C+3B-A=0, E=(3B+3C-A-D)/4
【0053】制御点〔A,B,C,D〕を有する3次曲
線スプラインSは制御点〔A,(3B+3C−A−D)
/4,D〕を有する放物線で近似することができ、2つ
の曲線の間の差dは規定誤差ベクトル「e」の関数とし
て次のように表される。
【0054】 d(t)=[S(t)-P(t)]=-(e/2)[2t 3 -3t 2 +t] ここで e=3C-3B-D+A
【0055】この差はt=0,0.5 および1のときゼロ
である。この差はt=0.2113および0.7887で最大にな
り、最大差は次式で与えられる。
【0056】
【0057】最大誤差は原制御点〔A,B,C,D〕の
単純な関数であることに注目されたい。最大誤差が隣接
画素間の間隔のような公差限界内にあれば、近似は受容
可能である。計算を簡単にするには上の式で│e│を
(│ex │+│ey │)で置き換えればさらに厳格な制
約を課すことができる。
【0058】4.2 3次曲線スプラインの放物線によ
る近似 上で計算した最大差が公差限界を超えていれば、3次曲
線スプラインを細分割して各セグメントを放物線で近似
することができる。今度はスプラインのセグメントの放
物線近似に対する最大差の式をスプライン全体の放物線
近似に対する最大差の関数として求める。
【0059】S1(t)をx≦t≦x+δについて3次曲線
スプラインS(t) のセグメントを表すものとする。
【0060】t=(x+uδ)をS(t) に代入して並べ
換えると次の方程式が得られる。
【0061】 [S1(u)]=X0+3X1(x+δu)+3X2(x+δu)2+X3(x+δu)3 ただし0≦u≦1、ここで X0=A, X1=(B-A), X2=(C-2B+A), X3=(D-3C+3B-A)
【0062】展開して並び換えると次の方程式を得る。
【0063】 [S1(u)]=Y0+3Y1u+3Y2u2+Y3u3 ただし0≦u≦1、ここで Y0=A+3(B-A)x+3(C-2B+A)x2+(D-3C+3B-A)x3 Y1=[(B-A)+2(C-2B+A)x+(D-3C+3B-A)x2]δ Y2=[(C-2B+A)+(D-3C+3B-A)x]δ2 Y3=(D-3C+3B-A)δ3
【0064】予想されるように、S1 も3次曲線スプラ
インである。これは下に示すように制御点〔A1,B1,C
1,D1 〕を備えている。
【0065】 A1=Y0, B1=Y1+Y0, C1=(Y2+2Y1+Y0), D1=(Y3+3Y2+3Y1+Y0)
【0066】前述のように、S1 を制御点〔A1,E1,D
1 〕を有する放物線Pで近似することができる。ただ
し、E1 =(3B1 +3C1 −A1 −D1 )/4であ
る。A1=S(x) であり、D1 =S(x+δ) であることに
注意されたい。
【0067】A1,B1,C1 およびD1 を代入し、E1
式をS,x,およびδの項で下のように簡単にすること
ができる。
【0068】 E1=(4Y0+6Y1-Y3)/4
【0069】更に簡単化しかつS(x) の導関数に記号
S' を使用すれば、次式が得られる。
【0070】 E1=S(x)+S'(x)δ/2-S'''(x)δ3/24
【0071】P1 の制御点はいま、次のように与えられ
る。
【0072】 [S(x), S'(x)δ/2-S'''(x)δ 3 /24, S(x+δ)]
【0073】曲線S1 とP1 との間の差d1 は規定の誤
差ベクトル「e1 」の関数として下のように示される。
【0074】 d1(u)=[S1(u)-P1(u)]=-(e/2)[2u3-3u2+u] ここでe1=3C1-3B1-D1+A1
【0075】再び、この差はu=0,0.5,1のときゼロで
ある。この差はu=0.2113および0.7887のとき最大にな
り、最大差は│d1 max =0.0481│e1 │で与えられ
る。
【0076】代入し、簡単化すると、d1 およびe1
対して次の式が得られる。
【0077】
【0078】結論:d1 は元のスプラインの「t」軸に
沿うセグメントの「長さ」,「δ」の関数に過ぎないの
であって、セグメントの開始点「x」の関数ではないこ
とに注目されたい。d1 はδの3次関数であるから、3
次曲線スプラインを放物線で近似する過程は急速に収束
する。したがって、所要レベルの正確さについて、放物
線による近似に必要なセグメントの数「n」(≧1/
δ)は細分過程を経ずに演繹的に決定することができ
る。各セグメントについてδを同じにすることにより、
一般性が失われることはないことに注目されたい。計算
の目的では、「n」を2の累乗にするのが有利である。
【0079】4.3 放物線の直線による近似 [P(t)]=A+2(E-A)t+(D-2E+A)t2 により記述される制御点〔A,E,D〕を有する放物線
は、 [L(t)]=A+(D-A)t により記述される制御点〔A,D〕を有する直線Lで置
き換えることができ、下記条件が良好に保持されていれ
ば正確さは損なわれない。
【0080】 D-2E+A=0 および 2(E-A)=(D-A)
【0081】上の2つの条件は下に示すように1つの条
件に縮小することができる。
【0082】 D-2E+A=0
【0083】制御点〔A,E,D〕を有する放物線Pは
制御点〔A,D〕を有する直線Lで近似することがで
き、2つの曲線の間の差dは次のように規定誤差ベクト
ル「e」の関数である。
【0084】 d(t)=[P(t)-L(t)]=e[t 2 -t] ここで e=D-2E+A
【0085】この差はt=0および1のときゼロであ
る。この差はt=0.5 のとき最大となり、最大差は次の
ように与えられる。
【0086】
【0087】最大誤差は原制御点〔A,E,D〕の単純
な関数であることに注目されたい。最大誤差が1画素の
大きさのような公差限界内にあれば、近似は受容可能で
ある。計算を簡単にするには、上の式で│e│を(│e
x │+│ey │)で置き換えれば一層厳格な制約を課す
ことができる。
【0088】4.4 放物線セグメントの直線による近
似 前記で計算した最大差が公差限界を超えていれば、放物
線を細分割し、各セグメントを直線で近似することがで
きる。今度は放物線セグメントき直線近似に対する最大
差の式を放物線全体の直線近似に対する最大差の関数と
して求める。
【0089】P1(t)を、x≦t≦x+δについて、放物
線P(t) のセグメントを表すものとする。
【0090】t=(x+uδ)をP(t) に代入し、並べ
換えれば次の方程式を得る。
【0091】 [P1(u)]=A1+2(E1-A1)u+(D1-2E1+A1)u2 ただし0≦u≦1、ここで A1=A+2(E-A)x+(D-2E+A)x2 E1=A1+[(E-A)+(D-2E+A)x] δ D1=2E1-A1+(D-2E+A)δ2
【0092】予想されるように、P1 も制御点〔A1,D
1 〕を有する直線L1 で近似することができる放物線で
あり、この近似での曲線間の差は規定誤差ベクトル「e
1 」の関数として次のように表される。
【0093】 d1(u)=[S1(u)-P1(u)]=e1[u2-u] ここで e1=(D1-2E1+A1)=(D-2E+A)δ2
【0094】再び、この差はu=0および1のときゼロ
である。この差はu=0.5 のとき最大になり、最大差は
│d1 max =0.25│e1 │で与えられる。
【0095】置換および簡略化の後、d1 およびe1
対して次の式を得る。
【0096】
【0097】検討:d1 は元の放物線の「t」軸に沿う
セグメントの「長さ」,「δ」の関数に過ぎないのであ
って、セグメントの開始点「x」の関数ではないことに
注目されたい。d1 はデルタの2次関数であるから、放
物線セグメントを直線で近似する過程も、3次曲線スプ
ラインを放物線で近似する過程ほど速くはないにして
も、急速に収束する。したがって、所要レベルの正確さ
について、直線による近似に必要なセグメントの数
「n」(≧1/δ)は細分過程を経ずに演繹的に決定す
ることができる。各セグメントについてデルタを同じに
することにより、一般性が失われることはないことに注
目されたい。計算の目的ではnを2の累乗にするのが有
利である。
【0098】4.5 円錐曲線の放物線による近似 制御点〔A,B,C〕および (q+pcost)N(t)]=[(A+C)/2]q-[(A-C)/2]qsint+pBcost ここで −π/2≦t≦π/2 および q=1-p で記述される形状パラメータpを有する円錐曲線Nは、 (1+cost)P(t)]=[(A+C)/2]-[(A-C)/2]sint+Bcost ここで −π/2≦t≦π/2 または代わりに、 [P(u)]=A+2(B-A)u+(C-2B+A)u2 ここで0≦u≦1 で記述される制御点〔A,B,C〕を有する放物線で置
き換えることができ、次の条件が良好に保持されていれ
ば正確さは失われない。
【0099】 q=p=0.5
【0100】制御点〔A,B,C〕を有する円錐曲線N
は制御点〔A,B,C〕を有する放物線Pで近似するこ
とができ、この近似での2つの曲線間の差dは次式で与
えられる。
【0101】 (2+2cost-2psin 2 t)d(t)=(q-p)[(C-2B+A)+(C-A)sint]cost
【0102】この差はt=−π/2および+π/2のと
きゼロである。この差の最大値を簡単に計算することは
できない。しかしt=0のときその値は最大値に非常に
近く、最大値を近似するにはこの値を使用する。それゆ
え、
【0103】
【0104】最大誤差が1画素の大きさのような公差限
界内にあれば、近似は受容可能である。計算を簡単にす
るには上の式で│e│を(│ex │+│ey │)で置き
換えれば一層厳格な制約を課すことができる。
【0105】4.6 円錐曲線セグメントの放物線によ
る近似 上で計算した最大差が公差限界を超えていれば、円錐曲
線を細分割して各セグメントを放物線で近似することが
できる。今度は、円錐曲線セグメントの放物線近似に対
する最大差の式を円錐曲線全体の放物線近似に対する最
大差の関数として求める。
【0106】N1(t)およびN2(t)が細分割後のN(t) の
副円錐曲線を表すものとする。
【0107】円錐曲線の性質に関する章で先に述べた通
り、N1 およびN2 に対する制御点および形式パラメー
タ「P1 」および「p2 」は次式で与えられる。
【0108】 N1に対し[A,(qA+pB),q(A+C)/2+pB] N2に対し[q(A+C)/2+pB,(qC+pB),C] p1=p2=1/[1+ √2(1-p)]
【0109】さてN1 は、 [P1(u)]=A1+2(C1-A1)u+(C1-2B1+A1)u2 ただし0≦u≦1ここで A1=A, B1=(qA+pB), C1=q(A+C)/2+pB) で規定される放物線P1 で近似することができ、そのと
きの最大近似誤差は、次のように与えられる。
【0110】
【0111】置換すると、次式を得る。
【0112】
【0113】同様にN2 は、 [P2(u)]=A2+2(C2-A2)u+(C2-2B2+A2)u2 ただし0≦u≦1ここで A2=q(A+C)/2pB, B2=(qC+pB), C1=C で規定される放物線P2 に近似することができ、そのと
きの最大近似誤差は次で与えられる。
【0114】
【0115】置換すると次式を得る。
【0116】
【0117】p=0.5 −δとし、デルタの2次以上の高
次項を無視すると、次の簡略式を得ることができる。
【0118】 p1=p2≒0.5 −δ/4
【0119】検討:上の式は各セグメントを放物線で近
似しようとして円錐曲線を細分割する過程が急速に収束
し、そのときの近似誤差が各細分についてほぼ16分の
1に減少することを示している。リウ(Liu) はそのレポ
ートの中で細分割過程を停止する判定基準として、現在
のところδを0.01に設定して、│p’−0.5 │≦δの試
験を行っている。この試験を行うと誤差は円錐曲線を細
分割する毎に4分の1だけしか減少しない。このような
場合には近似により生じる誤差が1画素より大きくなる
ようにメジアンが充分長い円錐曲線を作図することが可
能である。不必要な細分割を行って試験をちょうど満足
する充分短いメジアンの円錐曲線を作図することも可能
である。ここでは│d│max ≦隣接画素間の間隔という
更に最適な試験を細分割過程停止の判定基準として行う
ことを示しておく。
【0120】p1 およびp2 の近似: 円錐曲線を細分割する毎に新しい形状パラメータを計算
しなければならない。この計算には、共に計算の費用が
大きい、平方根および除算の演算を行う必要があること
に注目されたい。ここでは平方根および除算の演算子を
使用しない簡略近似公式を示しておく。ここでは誘導の
過程を省いて公式だけを示す。
【0121】 p 1 =p 2 ≒0.5-0.25 (δ−δ 2 +δ 3 ) ここでδ=(0.5-p)
【0122】表2は上の公式を使用したときのpの差値
についてp1 およびp2 の正確な値と近似値との間の差
を示すものである。
【0123】
【表2】
【0124】今度はp’に関する所定の簡略化公式を使
用して細分割した円錐曲線での画素誤差の半分以下にし
か寄与しないという判定基準を使用する。また原円錐曲
線は包囲三角形のメジアンを8.5”×11”(22c
m×28cm)の紙の対角線の長さ程にすることができ
るようなものであると仮定する。この判定喜寿を使用す
ると近似に対する最大許容誤差は600spiで3.3
×10-4、300spiで6.6×10-4になり、次の
ルールを述べることができる。
【0125】「600spiでは 0.25≦p≦0.
62 に関して簡略式を使用し、その他の場合には正確
な式を使用すること。」
【0126】更に600spiでは、以後の細分割に簡
略式を使用することができる前に0.0≦p<0.25
および 0.62<p≦0.8 に関して正確な公式
をちょうど1回使用しなければならないということを立
証することができる。
【0127】「300spiでは 0.21≦p≦0.
66 に関して簡略式を使用し、その他の場合には正確
な式を使用すること。」
【0128】更に300spiでは、以後の細分割に簡
略式を使用することができる前に0.66≦p<0.2
1 および 0.66<p≦0.87 に関して正確な
公式をちょうど1回使用しなければならないということ
を立証することができる。
【0129】4.7 円弧の放物線による近似 (q+pcost)R(t)]=[(A+C)/2]q-[(A-C)/2]qsint+pBcost ここで−π/2≦t≦π/2 および q=1-p で記述される制御点〔A,B,C〕および形状パラメー
タpを有する円弧Rは (1+cost)P(t)]=[(A+C)/2]-[(A-C)/2]sint+Bcost ここで−π/2≦t≦π/2 または代わりに、 [P(u)]=A+2(B-A)u+(C-2B+A)u2 ここで0≦u≦1 で記述される制御点〔A,B,C〕を有する放物線Pで
近似することができ、このとき2つの曲線の間の差dは
次式で与えられる。
【0130】 (2+2cost-2psin2t)d(t)=(q-p)[(C-2B+A)+(C-A)sint]cost
【0131】この差はt=−π/2および+π/2のと
きゼロである。この差はt=0のとき最大になり、最大
差は次式で与えられる。
【0132】
【0133】最大誤差が1画素の大きさのような公差限
界内にあれば、近似は受容可能である。計算を簡単にす
るには上の式で│e│を(│ex │+│ey │)で置き
換えれば一層厳格な制約を課すことができる。
【0134】図10で円弧Rの半径を「r」とし、その
中心ZからRを臨む角を図のように「θ」とする。
【0135】次の関係を得ることができる。
【0136】 (1-2p)=(1-cosθ/2)2/sin2θ/2
【0137】表3は半径「r」の円を放物線で近似する
ときの「θ」の異なる値に対する最大誤差を示す。この
表は誤差を1画素に限定した場合の円の最大半径をも示
している。
【0138】
【表3】
【0139】検討:円弧をその中心から臨む角が15度
以下になるように細分すれば、各副円弧を放物線で直接
置き換えることができ、関係するすべての解像度および
半径について受容可能誤差内にすることができる。2
2.5度の臨み角も受容可能であり、おそらくは好適な
選択であろう。
【0140】5.0 隠れた画線の放物線で規定される
埋め込み領域による近似 インタープレスおよびポストスクリプトは用紙上の隠れ
た画線を描くように太くすることができる軌道を規定す
ることができる。軌道それ自身は直線、円弧、円錐曲
線、放物線、および3次曲線スプラインから構成するこ
とができる。一般に、他の曲線に平行な曲線は元のもの
より次数の高い数学方程式でのみ表すことができるとい
うことに注目すべきである。隠れた画線の充足のほとん
どはこれをすべての曲線を線分に分解し、その中心線が
分解した線分である一連の台形を埋めることにより行っ
ている。曲線を直線に分解することに関連する計算の他
に、各台形の頂点を計算するにはかなりな量の計算を行
わなければならない。必要な計算の量は近似に必要な線
分の数に直接比例する。ジャック・ルイ (Jack Lui)は
彼の論文で太くした放物線の内部軌道および外部軌道を
一連の放物線自身で近似することができる方法を示し
た。3次曲線スプライン、円弧、および円錐曲線は少数
の放物線セグメント (第3章に示されているような) に
分解することができることから、隠れた画線は放物線お
よび直線の閉軌道を埋めることにより実現することがで
きる。カリーナ (Carina) のチームによりこれまでに行
われた測定で、内部軌道および外部軌道を楕円ブラシを
放物線の中心線に沿って歩行させることにより計算する
リウの方法は多量の計算を必要とするという事実にも拘
わらず効率の良い過程であることがわかった。この章で
は、放物線の隠れた画線の内部軌道および外部軌道を放
物線自身で近似し、中心線軌道に沿って実際に歩行させ
る必要のない改良されたアルゴリズムを作ることができ
る方法に関する数学理論を展開する。
【0141】図11は放物線軌道WXYを示す。軌道B
CDおよびEFAはWXYに平行な曲線であり、軌道A
BCDEFAは、埋めれば曲線WXYの隠れた画線を発
生する領域を規定する。BCDおよびEFAは一般に放
物線ではないことに注目されたい。
【0142】この章では、放物線WXYがBCDおよび
EFAを放物線で近似することができるために満たさな
ければならない試験しやすい条件を求める。またWXY
を最適に細分して細分した放物線が原放物線WXYが必
要な条件を満足しないときその必要な条件を満たすよう
にする方法を求める。
【0143】5.1 正規化放物線 数学方程式の幾つかを簡単にするために、正規化放物線
を規定し、正規化放物線に対するすべての条件を求め
る。任意の放物線はすべて変位、回転、および拡大縮小
からなる一連の変換の後ここに規定する正規化放物線に
帰着させることができる。結果の一般性を維持するに
は、この拡大縮小をX軸およびY軸に沿って対称にする
必要がある。
【0144】制御点〔A,B,C〕を有する放物線は、
A=(0,0),C=(0,1),およびB=(Bx ,
y ) でBx およびBy に制約が無い場合、正規化放物
線である。図12は任意の放物線を正規化放物線に変換
することに関連する各段階を示している。放物線の形状
はこの正規化過程の後で変形しないことに注目された
い。
【0145】それゆえ、正規化放物線は原放物線に必要
な6個のパラメータ(Ax, Ay,Bx, By, Cx, Cy)
に反して2個のパラメータ(Bx, By) により完全に規
定することができる。ここでの議論の目的に対しては、
議論を正規化放物線の族に限定することで充分である。
また正規化放物線を、k(後にねじれという)を辺AB
とACとの長さの比、θをその夾角ABCとして、パラ
メータ(SD,θ)で規定することが便利であることもわ
かる。後の説明では、kをねじれパラメータと言うこと
にする。(k,θ)および(Bx,By)は次の方程式に
より関連付けられていることを確認することができる。
【0146】 k=(B2 x+B2 y)/([1-B2 x]+B2 x 5.1.1 cosθ=(B2 x+B2 y-Bx)/√{(B2 x+B2 y)([1-B2 x]+B2 y)} 5.1.2 Bx=(k2-kcosθ)/(1+k2-2kcosθ) 5.1.3 By=(sinθ)/(1+k2-2kcosθ) 5.1.4
【0147】5.2 「平行」放物線の構成 図13に示すように、〔A,B,C〕で規定される放物
線P1を考える。DEがABに平行に、EFがBCに平
行に、かつ、dのある値に対して、│AD│=│CF│
=dになるように〔D,E,F〕で規定される他の放物
線P2を考える。次に、A,B,C,およびdを知って
D,E,およびFを計算する方程式を示す。
【0148】下記方程式が有効である。
【0149】 D=A+d[-sinθ1, cosθ1] 5.2.1 E=B-d[(cosθ1+cosθ2), (sinθ1+sinθ2)]/sin(θ12) 5.2.2 F=C+d[sinθ2,-cosθ2] 5.2.3 T=(C+2B+A)/4 および U=(F+2E+D)/4 5.2.6 Ux-Tx=d[sinθ2-sinθ1-2(cosθ1+cosθ2)/sin(θ12)]/4 5.2.7 Uy-Ty=d[cosθ1-cosθ2-2(sinθ1+sinθ2)/sin(θ12)]/4 5.2.8
【0150】次に、P1に平行な曲線からのP2の偏
差、およびその曲線からの距離「d」を決定する。構成
により、この偏差は端点DおよびFではゼロである。詳
細な計算に進む前に、ある特別な場合を考え、解に対す
る直観的感触を求める。放物線P1がその二等分線BX
に沿って対象である場合を考える。この場合には、│A
B│=│AC│であり│TU│と「d」との差は平行曲
線をP2で近似するときの誤差の推定値を与える。この
特別な場合については、この差は事実最大誤差に等し
い。分かるとおり、この差はθが180度に近づくにつ
れて小さくなり、ゼロになる。この限られた場合には、
放物線は直線に退化し、したがって近似は正確である。
予想したように誤差は夾角θがゼロに近づくとき無限大
になる。
【0151】θが180度に近づく場合には、方程式
5.2.2の各項は限界0/0に近づき、計算誤差を生
ずる。Eを計算する下記代替公式を限界の場合に使用す
るとよい。
【0152】 E=B+d[-sinθ1+cosθ1cotθ/2), (cosθ1+sinθcotθ/2)] 5.2.10
【0153】5.3 近似平行放物線に対する誤差の計
算 5.2章で、考慮した特別な場合に対し、放物線に平行
な曲線を他の適切に選択した放物線で近似するときの最
大誤差を精密に与える公式を得た。誤差を推定するため
のこのような閉じた形態の解は任意の放物線に対しては
不可能である。それゆえ、この章では一般的な場合に対
する誤差推定値を得る数学的方法を追求する。筆者らは
この探索を、そうすることで充分であるから、我々の考
慮を正規化放物線の等級に限定することにより絞り込
む。
【0154】表4は平行曲線を端点で原放物線に平行な
放物線で近似するとき数値探索手順の結果として観察さ
れる最大百分率誤差のリストである。このプロセスを正
規化放物線の等級内の等級内の異なるメンバーについて
繰り返す。等級内の各放物線について、外部平行放物線
と原放物線との間の距離を、「t」を0.0から1.0
まで0.01きざみに進めたとき原放物線に沿う異なる
点で計算した。2曲線間の所要分離長dの百分率として
観察した最大誤差を下表に掲げる。構成により、この誤
差はt=0.0およびt=0で常にゼロである。表5は
内部平行放物線について得られた結果のリストである。
【0155】表6は表5および表4のデータを異なる方
法で表したものである。この表では、平行曲線のいずれ
かに対する最大許容ねじれ(k)をθ(夾角)および最
大許容誤差限界の関数として掲げている。図14は同じ
データを図式形態で対数尺度により描いたものである。
【0156】
【表4】
【0157】
【表5】
【0158】
【表6】
【0159】図14から分かるとおり、θが(120,
150)の範囲にあるときは適度な大きさのねじれの値
を、θが(150,170)の範囲にあるときははるか
に大きなねじれの値を、許容することができ、θが(1
70,180)の範囲にあるときはねじれに関する実際
上の制限は存在しない。次章では夾角θを有する任意の
放物線を各成分放物線の夾角が(90+θ/2)になる
ように常に細分割できる方法を示す幾つかの結果を求め
る。このプロセスを継続するにつれて、各成分放物線
が、平行曲線を放物線で近似するとき、最大誤差が所要
誤差原価以内にあるように値(k,θ)を有する状態に
急速に到達する。表7は原放物線をn個の成分に細分割
した後の各成分放物線の夾角を示す。
【0160】
【表7】
【0161】5.4 放物線の細分割 この章では任意の放物線を各成分放物線の夾角が元の夾
角より大きいように細分割することができる仕方を示
す。事実、θを原放物線の夾角とすれば、ここで得られ
る細分手順は両成分放物線について(90+θ/2)の
夾角を常に生ずる。この細分は継続すると、急速に収束
して各成分放物線の夾角およびねじれが近似レベルに対
する限界内にあるようになる。
【0162】P=〔A,B,C〕が図15に示す放物線
を規定するとする。t=uでPを細分割することにより
得られた2つのPのセグメントをP1およびP2とす
る。P1=〔A,D,E〕およびP2=〔E,F,C〕
とする。
【0163】θ,θ1 およびθ2 をそれぞれP,P1お
よびP2に対する夾角とする。k,k1およびk2をそ
れぞれP,P1およびP2に対するねじれとする。そこ
で次の方程式が得られる。
【0164】 (180-θ1)+(180-θ2)=180-θ 5.4.4 θ1 =θ2 であれば θ1 =θ2 =90+θ/2 5.4.5 θ<180 であれば 90+θ/2>θ 5.4.6
【0165】ベクトル代数学から、V1 =(V1x,V
1y)およびV2 =(V2x,V2y)が2つのベクトルで
あれば、これら2つのベクトルの間の角φは次の方程式
で与えられる。なお、本明細書において、倍角文字はベ
クトルを示すものである。
【0166】
【0167】3.4章の結果を使用して、D,Eおよび
Fに対する次の式を書くことができる。
【0168】 D=A+(B-A)u,E=A+2(B-A)u+(C-2B+A)u2 および F=C+(B-C)(1-u) 5.4.8
【0169】θはベクトルBAとBCとの間の
角であり、θ1 はベクトルDAとDFとの間の
角であり、θ2 はベクトルFDとFCとの間の
角であるから、次の式を書くことができる。
【0170】 cosθ=[(Ax-Bx)(Cx-Bx)+(Ay-By)(Cy-By)]/l1l2 5.4.9
【0171】次の方程式が有効であることを立証するこ
とができる。
【0172】 A−D=(A−B)u 5.4.13 F−D=(C−B)u (B−A)(1-u) 5.4.14 C−F=(C−B)(1-u) 5.4.15
【0173】もしθ1 =θ2 、したがって cosθ1 = c
osθ2 と簡略化すれば、最終的に、両成分放物線の夾角
が大きくなるように放物線を分解しなければならない点
である「u」に対する下記の簡単な解が得られる。
【0174】 u=l 1 /(l 1 +l 2 ) または u=k(k+1) 5.4.18
【0175】今度は成分放物線についての幾つかの有用
な性質を、原放物線の性質によって求め、成分放物線を
試験しやすくしてそれらが近似に対する必要条件を満た
しているか否か確認することができるようにする。特
に、 cosθ1, cosθ2,k1 およびk2 の式を cosθおよ
びkの項により表す。
【0176】k1 およびk2 の式を求める前にまず│D
E│および│EF│を計算する。
【0177】 5.4.21 uにk/(k+1)を代入すると次式を得る。 k 1 =(1+k)/√[2(1-cosθ)] 5.4.26
【0178】同様にして、│EF│およびk2 に対して
次式を得ることができる。
【0179】 k2=(k√[2(1-cosθ)]/(1+k) 5.4.28
【0180】θ1 =θ2 =(90+θ/2)であるか
ら、次の方程式が得られる。
【0181】 cosθ1 = cosθ2 =−√[(1-cosθ)/2] 5.4.29
【0182】5.5 経験的に得られた試験判定基準 5.4章で、放物線に平行な曲線を放物線自身により近
似することができるために放物線を如何に細分割するか
に関する理論を展開した。また、成分放物線の性質を原
放物線の性質によってかなり容易に計算することができ
る結果を得た。5.2章で、記述した近似過程を使用し
て観察される最大誤差の表を作った。この章では、放物
線を更に細分すべきか否かを試験するのに使用すること
ができる簡単ではあるが経験的に得られた判定基準を示
す。またこの判定基準を使用する場合、観察される最大
誤差の表を作る。ここで展開する理論は、判定基準それ
自身の最大許容誤差および受容可能な複雑さに関する仮
定の異なる組合せに基づいて、全く異なる試験判定基準
を選択するのにもやはり使用することができることに注
目すべきである。事実、異なる場合について異なる試験
判定基準を選択することさえできる。ここに示す試験判
定基準は下に掲げる3つの望ましい資質に基づいて選択
した。
【0183】1.試験するのに簡単である。 2.広範囲の曲線にわたって使用できる。 3.線幅に関して導入される最大誤差が受容可能であ
る。
【0184】θおよびkをそれぞれ、先に規定したよう
な所定放物線の夾角およびねじれとすれば、下記試験を
行って放物線を細分割すべきか否かを決定することがで
きる。放物線を細分割するときはすべて方程式5.4.
14で与えられる点で行われる。
【0185】下記試験はkの許容範囲を、画線幅に対す
る最大誤差限界が所定幅の1.25%に設定されている
とき、夾角の余弦の関数として与える。
【0186】 -0.391≧cosθ>-0.843:1(-0.11-3.61cosθ)≦k≦(-0.11-3.61cosθ) -0.843≧cosθ>-0.940:1(-21.00-28.25cosθ)≦k≦(-21.00-28.25cosθ) -0.940≧cosθ>-0.980:1(-334.76-362.00cosθ)≦k≦(-334.76-362.00cosθ) -0.980≧cosθ>-1.000:0≦k≦∞
【0187】下記試験はkの許容範囲を、画線幅に対す
る最大誤差限界が所要幅の2.50%に設定されている
とき、夾角の余弦の関数として与える。
【0188】 -0.340≧cosθ>-0.891:1(-1.19-6.75cosθ)≦k≦(-1.19-6.75cosθ) -0.891≧cosθ>-0.965:1(-160.50-187.50cosθ)≦k≦(-160.50-187.50cosθ) -0.965≧cosθ>-1.000:0≦k≦∞
【0189】下記試験はkの許容範囲を、画線幅に対す
る最大誤差限界が所要幅の5.00%に設定されている
とき、夾角の余弦の関数として与える。
【0190】 -0.010≧cosθ>-0.710:1(-1.70-4.20cosθ)≦k≦(-1.70-4.20cosθ) -0.710≧cosθ>-0.874:1(-21.50-37.00cosθ)≦k≦(-21.50-37.00cosθ) -0.874≧cosθ>-0.950:1(-880.00-1020.00cosθ)≦k≦(-880.00-1020.00cosθ) -0.950≧cosθ>-1.000:0≦k≦∞
【0191】上に示した条件における夾角の余弦は、制
御点を知れば、方程式5.4.9を使用して三角法の演
算を行わずに直接計算することができることに注目され
たい。このようにして計算するには一つの除算、一つの
平方根の演算、および幾つかの加算および除算が必要で
ある。考察中の放物線を他の放物線を細分割することに
より得ている場合には、この放物線に対する新しい夾角
の余弦を親放物線に対する夾角の余弦を知って方程式
5.4.29を使用して更に容易に計算することができ
る。
【0192】図16から図21までは、kに対する限界
を上に示した方程式に従って選択した場合の実際の最大
誤差限界を夾角の関数としてプロットしたものである。
三つのプロットは設計最大誤差限界をそれぞれ1.25
%,2.5%,および0.50%になるように選んだ三
つの場合に対応する。図はまた夾角の関数としてのkの
プロットを示している。
【0193】本発明について特定の実施例を参照して説
明してきたが、当業者には本発明の真の精神および範囲
から逸脱することなく、各種変更を行うことができ、そ
の要素について同等なものを置き換えることができるこ
とを理解するであろう。加えて、多数の修正を本発明の
本質的教示から逸脱することなく行うことができる。
【図面の簡単な説明】
【図1】 第1章の解析例に使用した曲線である。
【図2】 第1章の解析例に使用した曲線である。
【図3】 3次曲線スプラインを理解する際の補助のた
めの説明図である。
【図4】 円錐曲線を理解する際の補助のための説明図
である。
【図5】 3次曲線スプラインを放物線セグメントで近
似するアルゴリズムのフローチャートである。
【図6】 円弧を放物線セグメントで近似するアルゴリ
ズムのフローチャートである。
【図7】 円錐曲線を放物線セグメントで近似するアル
ゴリズムのフローチャートである。
【図8】 放物線を線分に分解するアルゴリズムのフロ
ーチャートである。
【図9】 放物線を副放物線に分解し、パラゾイドを発
生するアルゴリズムのフローチャートである。
【図10】 円弧の近似を示す説明図である。
【図11】 放物線軌道を示す説明図である。
【図12】 任意の放物線を正規化放物線に変換する際
に関係するステップを示す。
【図13】 放物線の一例を示す説明図である。
【図14】 最大ねじれを夾角の関数として示すグラフ
である。
【図15】 第5.4章で規定した放物線を示す図であ
る。
【図16】 ねじれと夾角との間の関係を示すグラフで
ある。
【図17】 ねじれと夾角との間の関係を示すグラフで
ある。
【図18】 ねじれと夾角との間の関係を示すグラフで
ある。
【図19】 ねじれと夾角との間の関係を示すグラフで
ある。
【図20】 ねじれと夾角との間の関係を示すグラフで
ある。
【図21】 ねじれと夾角との間の関係を示すグラフで
ある。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータで生成された、ページ記述
    言語で記述された画像をラスタ出力スキャナ上に表示す
    るための、次のステップを含む方法: 前記ページ記述言語から、ページ記述言語で記述される
    軌道を生成するステップ; 前記軌道の一部を近似する原放物線によって、前記軌道
    の一部を、予め定められた誤差範囲内に近似するステッ
    プ; 前記原放物線に対し、共に前記原放物線に対し平行で、
    かつ該原放物線から予め定められた距離離れた2つの曲
    線を構成する近似放物線の一組を生成するステップであ
    って、この生成ステップは次のことを含む: a.各セグメントに対して近似放物線を生成し得るよう
    に、原放物線が分割されるべきセグメント数を決定し、 b.原放物線を前記セグメント数に分割し、そして c.前記セグメントのそれぞれに対して前記近似放物線
    を生成する。 前記近似放物線の組をビットマップに変換し、同ビット
    マップをラスタ出力スキャナに送るステップ。
  2. 【請求項2】 前記決定ステップが次のことを含む請求
    項1記載の方法: a.制御点A,B,Cを持つ原放物線を、ABおよびB
    Cの長さの長い方を短い方により分割することによって
    試験し、そしてその結果Kを夾角ABCの関数であるあ
    る制限値と比較し、 b.もしその結果が前記制限値よりも小さければ、放物
    線は細分割不要とし、 c.もしその結果が前記制限値よりも大きければ、放物
    線を細分割し、そして結果的に得られた各セグメントに
    ついて、aのステップに戻って処理を行う。
  3. 【請求項3】 各近似放物線A,B,Cに対する前記発
    生のステップが、次のことを含む、請求項1記載の方
    法。 ABおよびBCにそれぞれ平行な線A1 1 およびB1
    1 を決定し、そして 前記近似放物線を生成するために制御点A1 1 1
    用いる。
JP3139296A 1990-06-14 1991-06-11 ストロークに相当する輪郭線を迅速に生成する曲線近似方法 Expired - Fee Related JPH0810467B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53795190A 1990-06-14 1990-06-14
US537951 1990-06-14

Publications (2)

Publication Number Publication Date
JPH04233087A JPH04233087A (ja) 1992-08-21
JPH0810467B2 true JPH0810467B2 (ja) 1996-01-31

Family

ID=24144801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3139296A Expired - Fee Related JPH0810467B2 (ja) 1990-06-14 1991-06-11 ストロークに相当する輪郭線を迅速に生成する曲線近似方法

Country Status (2)

Country Link
EP (1) EP0461919A3 (ja)
JP (1) JPH0810467B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280576A (en) * 1991-12-24 1994-01-18 Xerox Corporation Method of adjusting the weight of a character of an outline font
CN103390283B (zh) * 2012-05-09 2017-10-31 腾讯科技(深圳)有限公司 绘制平行曲线的方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3860805A (en) * 1973-05-07 1975-01-14 Bendix Corp Method and apparatus for producing a fairing contour in numerical control systems
US4620287A (en) * 1983-01-20 1986-10-28 Dicomed Corporation Method and apparatus for representation of a curve of uniform width

Also Published As

Publication number Publication date
EP0461919A3 (en) 1993-05-19
EP0461919A2 (en) 1991-12-18
JPH04233087A (ja) 1992-08-21

Similar Documents

Publication Publication Date Title
JP3989451B2 (ja) カラー・グラディエント・パス
Selinger Potrace: a polygon-based tracing algorithm
US6587104B1 (en) Progressive hulls
US20090027398A1 (en) Method for recognizing a shape from a path of a digitizing device
US20090027396A1 (en) Method for fitting a parametric representation to a set of objects
US7969440B1 (en) Method and system for curve fitting using digital filtering
Surazhsky et al. Controllable morphing of compatible planar triangulations
US8988420B2 (en) Visual file representation
US20090027397A1 (en) Method for fitting a parametric representation to a set of objects generated by a digital sketching device
JPS6367220B2 (ja)
JP4885196B2 (ja) 細分表面における滑らかな特徴線の生成
US20130293554A1 (en) A method for stroking paths
JP3287685B2 (ja) データ変換装置及び方法
TW201439667A (zh) 電子束描繪裝置、電子束描繪方法及記錄媒體
Yang et al. Effective clipart image vectorization through direct optimization of bezigons
US8659786B2 (en) Curve vectorization with preserved tangents at endpoints
US5471574A (en) Method for displaying a computer generated graphic on a raster output scanner
Kilgard Polar stroking: New theory and methods for stroking paths
JPH0810467B2 (ja) ストロークに相当する輪郭線を迅速に生成する曲線近似方法
Nehab Converting stroked primitives to filled primitives
Bajaj et al. Regular algebraic curve segments (III)—applications in interactive design and data fitting
JPH04233084A (ja) 輪郭線を迅速に分解する曲線近似方法
Frisken Efficient curve fitting
US6614940B2 (en) System, method and computer program product for generic outline font compression
Nuntawisuttiwong et al. Approximating handwritten curve by using progressive-iterative approximation

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19960809

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees