JPH0346077A - 曲線発生装置 - Google Patents

曲線発生装置

Info

Publication number
JPH0346077A
JPH0346077A JP18316089A JP18316089A JPH0346077A JP H0346077 A JPH0346077 A JP H0346077A JP 18316089 A JP18316089 A JP 18316089A JP 18316089 A JP18316089 A JP 18316089A JP H0346077 A JPH0346077 A JP H0346077A
Authority
JP
Japan
Prior art keywords
curve
segment
bezier
conversion
spline
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
JP18316089A
Other languages
English (en)
Inventor
Mitsuru Yamauchi
山内 満
Tomohiro Fukuoka
智博 福岡
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 VLSI Ltd
Fujitsu Ltd
Original Assignee
Fujitsu VLSI Ltd
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 VLSI Ltd, Fujitsu Ltd filed Critical Fujitsu VLSI Ltd
Priority to JP18316089A priority Critical patent/JPH0346077A/ja
Publication of JPH0346077A publication Critical patent/JPH0346077A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 曲線発生装置に関し、 B−スプライン曲線のデータを高速にベジェ曲線のデー
タに変換することができ、かつメモリ容量も少なくて済
む曲線発生装置を提供することを目的とし、 n次B−スプライン曲線及び8次ベジェ曲線の制御点が
連続して与えられ、その制御点により表される曲線を発
生するとともに、n次B−スプライン曲線の形状を定義
する制御点から、同一形状の8次ベジェ曲線を定義する
制御点への変換を行う曲線発生装置において、n次B−
スプライン曲線の(n+1)個の制御点に対して、連続
する2つの制御点座標間の距離から所定数を座標差によ
って予め算出し、この値と制御点の間との値に基づいて
n次B−スプライン曲線の制御点から8次ベジェ曲線の
制御点への曲線セグメントの変換を行うとともに、次の
曲線セグメントへの変換の際に8次ベジェ曲線の制御点
が既知の部分については記憶手段から該当する値を読み
出し、その読出し値を用いて次の曲線セグメントの変換
処理を行う変換手段と、1つの前の曲線セグメントの変
換処理の過程において算出された値および算出されたベ
ジェ曲線の制御点を保持する前記記憶手段と、変換手段
より変換されたベジェ曲線の制御点から曲線セグメント
を順次生成してベジェ曲線を発生させる曲線発生手段と
を設けるように構成する。
〔産業上の利用分野〕
本発明は、曲線発生装置に係り、詳しくは、図形表示装
置やコンピュータ・グラフィックスに用いられ、自由曲
線の形状を直線列で近似した座標列を出力する曲線発生
装置に関する。
近年、文字パターンの定義(フォント)を輪郭線の情報
によって行うものが増加しつつある。輪郭線情報を定義
(作成)するには自由曲線が用いられる。特に、比較的
簡単なアルゴリズムで発生可能で、曲線形状を定義する
制御点と呼ばれる点から曲線形状を容易に推測可能で、
視覚的には充分に滑らかな曲線形状を得ることが出来る
3次ベジェ曲線を用いることが多い。
しかし、一方において近年は、図形表示装置、CAD/
CAMやコンピュータ・グラフィックス図形印刷装置に
、高次の自由曲線の描画や表示が要求されている。
ところが、ベジェ曲線には、複数の曲線部分(曲線セグ
メント)を滑らかに接続することが難しく、データ量が
膨大であるという問題点がある。
そこで、曲線セグメントの接続に関して優れた性質を持
っており、ベジェ曲線よりも少ないデータ量ですみ、か
つベジェ曲線に変換が可能なり一スプライン曲線を用い
て曲線データの作成、保存を行いベジェ曲線として発生
を行うということが考えられている。したがって、B−
スプライン曲線からベジェ曲線への変換を高速に実行す
ることが要求されている。
〔従来の技術〕
3次B−スプライン曲線は曲線形状を定義する制御点列
から連続する4個の制御点を一組として、その位置ベク
トルの一次結合で1つの曲線セグメントが表される。し
たがって、従来の曲線発生装置で、例えば8個の制御点
列Q0〜Q7がある場合は第8図に示すように セグメント数=8(制御点数)−3 =5 となり、5個の曲線セグメントが表される。一般には、
i個の制御点列で(i−3)個の曲線セグメントが表さ
れる。
また、従来の曲線発生手段でB−スプライン曲線を連続
してベジェ曲線に変換するには、まず第9図に示すよう
に制御点列Q0〜Q、を加工して曲線セグメントを表す
組に変換する処理を行い、それからそれぞれのセグメン
トに対して以下の式に示す変換処理を行っている。
但し、B:ベジェ曲線制御点 Q:B−スプライン曲線制御点 〔発明が解決しようとする課題〕 しかしながら、このような従来の曲線発生装置にあって
は、B−スプライン曲線で曲線データを作成しても、デ
ータをベジェ曲線の形式に変換するのに時間がかかって
しまい、高速性に劣るという問題点があった。
一方、文字フォントのような場合にはその曲線の形状が
当初から明らかであるから、予めベジェ曲線にデータを
変更しておくことも考えられるが、そのようにするとデ
ータ量が増えてしまい、メモリ容量の増大を招くという
新たな問題点が発生する。
そこで、本発明は、B−スプライン曲線のデータを高速
にベジェ曲線のデータに変換することができ、かつメモ
リ容量も少なくて済む曲線発生装置を提供することを目
的としている。
〔課題を解決するための手段〕
本発明による曲線発生装置は上記目的達成のため、n次
B−スプライン曲線及びn次ベジェ曲線の制御点が連続
して与えられ、その制御点により表される曲線を発生す
るとともに、n次B−スプライン曲線の形状を定義する
制御点から、同一形状のn次ベジェ曲線を定義する制御
点への変換を行う曲線発生装置において、n次B−スプ
ライン曲線の(n+1)個の制御点に対して、連続する
2つの制御点座標間の距離から所定数を座標差によって
予め算出し、この値と制御点の間との値に基づいてn次
B−スプライン曲線の制御点からn次ベジェ曲線の制御
点への曲線セグメントの変換を行うとともに、次の曲線
セグメントへの変換の際にn次ベジェ曲線の制御点が既
知の部分については記憶手段から該当する値を読み出し
、その読出し値を用いて次の曲線セグメントの変換処理
を行う変換手段と、1つの前の曲線セグメントの変換処
理の過程において算出された値および算出されたベジェ
曲線の制御点を保持する前記記憶手段と、変換手段より
変換されたベジェ曲線の制御点から曲線セグメントを順
次生成してベジェ曲線を発生させる曲線発生手段とを設
けるように構成する。
〔作用〕
本発明では、n次B−スプライン曲線の(n+1)個の
制御点に対して、連続する2つの制御点座標間の距離の
所定数分の1が座標差によって予め算出され、この値と
制御点の間との値に基づいてn次B−スプライン曲線の
制御点からn次ベジェ曲線の制御点への1つの曲線セグ
メントの変換が行われる。
また、このときの曲線セグメントの変換処理の過程にお
いて算出された値および算出されたベジェ曲線の制御点
は記憶手段で保持され、次の曲線セグメントへの変換の
際にn次ベジェ曲線の制御点が既知の部分については記
憶手段から該当する値が読み出され、その読出し値を用
いて次の曲線セグメントの変換処理が行われ、以下、順
次同様に曲線セグメントが生成されて曲線が発生する。
したがって、制御点の既知部分を有効に利用するため、
連続したセグメントの変換を高速化することができ、ま
た、必要なデータも一部重複するので、結局、変換処理
に必要なメモリ容量も低減する。
〔原理説明〕
最初に本発明の詳細な説明する。第1図は本発明の原理
説明図であり、この例はn=3の場合である。第1図に
おいて、11は制御点の入力する入力手段、12は曲線
形式を変換する変換手段で、3次B−スプライン曲線の
4個の制御点に対して、連続する2つの制御点座標間の
距離の173を座標差によって予め算出し、この値と制
御点の間との値に基づいて3次B−スプライン曲線の制
御点から3次ベジェ曲線の制御点への曲線セグメントの
変換を行うとともに、次の曲線セグメントへの変換の際
に3次ベジェ曲線の制御点が既知の部分については記憶
手段から該当する値を読み出し、その読出し値を用いて
次の曲線セグメントの変換処理を行う。B3は記憶手段
で、1つ前の曲線セグメントの変換処理の過程において
算出された値および算出されたベジェ曲線の制御点を保
持する。
14は曲線発生手段で、変換手段12により変換された
ベジェ曲線の制御点から曲線セグメントを順次生成して
ベジェ曲線を発生させて出力手段15に送り、出力手段
15はベジェ曲線を外部(例えば、CRTを含む表示装
置)に出力する。
以上の構成において、B−スプライン曲線の制御点は入
力手段11が取り込んで変換手段12へ転送し、このと
き入力手段11は、通常の処理の様に制御点列から、セ
グメント毎の制御点の組への変換を行うことはせず、デ
ータを受は取った後は、以下に示す方式で座標変換が行
われる。
まず、前式■の変換は、幾何学には第2図に示す処理を
意味する。すなわち、B−スプライン曲線の4つの制御
点Q、、Q、、Q、、Q3の隣接する2つの制御点に対
して、QoとQ、を2=1に内分する点を求めてqoと
し、以下同様にQlとQ2を1:2に内分する点を求め
てqIとし、Ql とQ2を2:1に内分する点を92
とし、Q2とQ3をl:2に内分する点を93とする。
ここにおいて、qoと91の中点がBo、qzとq。
の中点がB:1.qlがBt、qzがB2となる。
そこでこの変換を行うために、予め制御点のうち連続す
る2つの距離の1/3を座標差で算出して、それぞれを
Po、P+ 、Pzとしておく。このP0P+、P友を
制御点Q、、Q、、Q、、Q、に対して加減算を行うこ
とで、qo、  qI 、  qZ、Q3が算出できる
。これでqoとqI、qzとq3の中点を算出すれば、
ベジェ曲線の制御点が求まる。
次に連続したセグメントの変換を第3図を用いて説明す
る。2番目のセグメントを表す制御点はQ、、Q、、Q
3.Q、である。これらに対して先程と同様な処理を行
うと、求められた座標値のなかに1番目のセグメントに
おいて算出された値と一致するものがあることがわかる
。すなわち、R初の座標は1番目のセグメントにおける
最終座標である。2番目の座標は1番目のセグメントの
変換途中で算出された座標q3である。また、Q2とQ
3の距離の1/3であるP2も既に求まっている値であ
る。したがって、これらの3座標とQ。
を最初のセグメントの処理過程で、記憶手段13に格納
しておく。この値を用いて次のセグメントの変換処理を
順次行う。そして、変換された座標は、曲線発生手段1
4に転送され曲線の発生が行われ、出力手段35から出
力される。
このような処理を行うことで、前記の式のような複雑な
演算が不用で、しかも既知の値を適切に使えるから、連
続したセグメントの変換を高速に行うことが可能となる
。また、最初に座標間の距離の1/3という値を算出し
ておくことで、演算負荷の比較的大きな除算の回数が減
少し、これによっても処理が高速化されることになる。
さらに、曲線発生に際して必要なデータは一部を重複し
て記憶手段13に保持しておけばよいから、変換処理に
必要なメモリ容量を低減させることができる。
〔実施例〕
次に、上記原理に基づく本発明の一実施例について説明
する。第4〜7図は本発明に係る曲線発生装置の一実施
例を示す図であり、3次ベジェ曲線を発生する例である
まず、構成を説明する。第4図は本発明に係る曲線発生
装置を用いた画像処理装置の全体構成図であり、画像処
理装置は大きく分けてCPU21、メモリ22、キーボ
ード23、曲線発生装置24およびCRT部25により
構成される。CP U21はCAD/CAMやコンピュ
ータ・ゲラフックスあるいはワードプロセッサにおける
自由曲線の描画や文字パターンの表示を行うための処理
を行う部分で、描画のための外部からの指示、要求はキ
ーボード23を通して与えられ、メモリ22には描画に
必要なデータやプログラム等が格納されている。CPU
21は描画表示に必要なデータを曲線発生装置24に出
力し、曲線発生装置24はデータの解析を初めとして曲
線発生に必要な処理を行い、CRT部25は曲線発生装
置24からの出力に基づいて画像信号等を生成してデイ
スプレィであるCRTに曲線を表示する。
なお、本実施例における曲線発生部W24はベジェ曲線
の発生、B−スプライン曲線の発生、B−スプライン曲
線からベジェ曲線への曲線形式の変換が可能である。
ここで、曲線発生装置24の詳細なブロック図は第5図
のように示される。曲線発生装置24は入力部31、変
換部3,2、レジスタ33、曲線発生部34、出力部3
5および制御部36により構成され、そのうち31〜3
5で表される各部は第1図における各手段11〜15に
それぞれ対応する機能を有している。また、制御部36
は全体の制御を行うものである。なお、変換部32内部
の演算器は加減算、シフト演算が可能なものであり、ま
た、変換部32および曲線発生部34は演算等を行わな
くても済むときはデータをバイパス可能なようになって
いる。
以上の横取において、曲線発生装置24の動作は次のよ
うにして行われる。入力部31に制御点列が入力される
と、人力された制御点がB−スプライン曲線の制御点で
あれば、入力部31は制御部の制御に従って座標を変換
部32へ順に転送し、転送された座標、例えば最初の座
標Q、、Q、  Q、。
Q3はレジスタ33に書き込まれ、以後、第6図に示す
プログラムに従って座標変換処理が行われて曲線が発生
する。
まず、St(ステップを示す。以下、同様)でセグメン
ト番号iをリセットし、S2でi≧1であるか否かを判
別し、最初はNoであるから、次いでS、でレジスタ3
3に書ぎ込まれた座標のうち連続する座標を読み出す。
例えば、第7図(a)に示すようにQo  (Xs 、
  yo )とQ、(x、。
yt)を読み出し、この読み出した2座標の座標値を次
式のように減じ、 D(x、  y)=(X+   xo、  yt−yo
)これから座標間の距離D(x、y)が求まるので、こ
れに対してシフト演算と加算を繰り返すことで、Q、〜
Q4のうちの2座標間の距離の1/3の値P、、P、、
pzを次式に従って演算する。
次いで、S、では求まったP0〜P2の値と制御点′の
間で次式に示すような加減算を行って第7図(b)に示
すようにqo+  q++  qt、(13を求める。
qo ””Qt   P 。
q+ =Qt +p。
qz=Qz  p+ q 3 = Q3  P z なお、Pは次式で与えられる。
次いで、SSで次式のように加算とシフト演算を行って
第7図(C)に示すように中点りの算出を行い、 これから最初のセグメントのベジェ曲線への変換として
次式に従ってベジェ曲線の制御点B。〜B、を求める。
B+=q+ Bz=qt ここで、次のセグメントの処理のために13+、(1,
3P、、Q、はレジスタ33に保持しておく。変換され
た座標は曲線発生部34に転送され、曲線発生部34に
おいて曲線の発送が行われる。その後、次のセグメント
の変換のために入力部31はQ4を変換部32に転送し
、変換部32はレジスタ33に格納されているB31 
 q:ll p、、Qlと受は取ったQ4を用いて座標
変換を行う。まず、B3.q3はすでにベジェ曲線の制
御点の1.2番目の座標そのものである。次に3番目の
座標B、は、第3図のようにQI  Pzの演算を行う
のみで求められる。
あとは、最初のセグメントにおいて、B、を求めた時と
同様にQ3とQ4の座標差の1/3を求めてP、とし、
Ch+(laでq、を求め、B、とq4の中点が4番目
の座標B、である。これで2番目のセグメントの変換が
終了してB4 + BS +  86 +B7が求まる
。ここで、前回同様に次のセグメントの処理のためにB
T、  qs、P3.Q4はレジスタ33にとっておい
て制御点を曲線発生部34に転送し、曲線を発生する。
以後同様の処理を繰り返すことで、高速にB−スプライ
ン曲線の発生が行われる。
以上の処理はS、以降のステップで実行される。
すなわち、S2でYESに分岐すると、S6でを演算し
、 S、で q2□* Z =Q i。Z  Pi、1q!1eff
=Qt+z + P i+2を演算し、 さらに、P8で B4t  =B4i−1 B a=*+= 92!+1 B aL+t= q !i*2 を演算する。次いで、S、で曲線発生を行うか否かを判
別し、YESのときはStOで曲線の発生を行い、No
のときはS、でB。+ B4i+l+ B4i+g、B
 4 i 03の各制御点を出力して変換処理のみを行
う。
次いで、Stzで1=N−1(但し、Nは曲線セグメン
ト数)であるか否かを判別し、Noのときはsrsでi
を〔1〕だけインクリメントしてs2に戻り、YESの
ときはルーチンを終了する。
なお、最初に入力部31に入力された制御点がベジェ曲
線の制御点であれば、制御部36は変換部32を制御し
て直接曲線発生部34に転送させることにより、ベジェ
曲線を発生できる。また、B−スプライン曲線の発生で
はなくベジェ曲線への変換処理を行うには、上述の如く
、曲線発生部34を制御して変換された座標値を出力部
35に直接転送させることにより行う。処理の内容は、
コマンドとして制御部36に与えればよい。
以上の処理を実行することにより、本発明の原理で述べ
たのと同様の論理により連続したセグメントの変換を高
速化することができ、かつメモリ容量も低減できる。ま
た、ベジェ曲線、B−スプライン曲線が同一の曲線発生
装置を用いて発生可能となるために、装置の汎用化、高
速化に寄与するところが大きい。
なお、本実施例では座標変換部と曲線発生部が別々のブ
ロックになっているが、同一ユニットで演算を実行させ
るような構成も可能である。
〔発明の効果〕
本発明によれば、B〜スプライン曲線のデータを高速に
ベジェ曲線に変換することができ、かつ変換に必要なメ
モリ容量も低減することができる。
【図面の簡単な説明】
第1〜3図は本発明の詳細な説明する図であり、第1図
はそのブロック図、 第2図はそのB−スプライン曲線からベジェ曲線への変
換手順lを示す図、 第3図はそのB−スプライン曲線からベジェ曲線への変
換手順2を示す図、 第4〜7図は本発明に係る曲線発生装置の一実施例を示
す図であり、 第4図はその曲線発生装置を適用した画像処理装置の全
体構成図、 第5図はその曲線発生装置のブロック図、第6図はその
曲線発生処理のフローチャート、第7図はその曲線変換
処理を説明する図、第8図はB−スプライン曲線の制御
点とそれによって表されるセグメントの関係を示す図、
第9図は制御点列からセグメントを表す制御点の組の生
成を説明する図である。 11・・・・・・入力手段、 12・・・・・・変換手段、 13・・・・・・記憶手段、 14・・・・・・曲線発生手段、 15・・−・・・出力手段、 21・・・・・−CPU。 22−・・・・・メモリ、 23・・・・・・キ〒ボード、 24・・・・・・曲線発生装置、 25・・・・・・CRT部、 31・・・・・・入力部、 32・・・・・・変換部(変換手段)、33・・・・・
−レジスタ(記憶手段)、34・・・・・・曲線発生部
(曲線発生手段)35・・・−・・出力部、 36・・・・・・制御部。 第 図 第 図 第 4 図 h−(Cxa +x、 ) /2、 (Y、+Y、)/2) 一実施例の曲線変換処理を説明する図 第7図

Claims (2)

    【特許請求の範囲】
  1. (1)n次B−スプライン曲線及びn次ベジェ曲線の制
    御1点が連続して与えられ、その制御点により表される
    曲線を発生するとともに、 n次B−スプライン曲線の形状を定義する制御点から、
    同一形状のn次ベジェ曲線を定義する制御点への変換を
    行う曲線発生装置において、n次B−スプライン曲線の
    (n+1)個の制御点に対して、連続する2つの制御点
    座標間の距離から所定数を座標差によって予め算出し、
    この値と制御点の間との値に基づいてn次B−スプライ
    ン曲線の制御点からn次ベジェ曲線の制御点への曲線セ
    グメントの変換を行うとともに、 次の曲線セグメントへの変換の際にn次ベジェ曲線の制
    御点が既知の部分については記憶手段から該当する値を
    読み出し、その読出し値を用いて次の曲線セグメントの
    変換処理を行う変換手段と、 1つの前の曲線セグメントの変換処理の過程において算
    出された値および算出されたベジェ曲線の制御点を保持
    する前記記憶手段と、 変換手段により変換されたベジェ曲線の制御点から曲線
    セグメントを順次生成してベジェ曲線を発生させる曲線
    発生手段と、 を設けたことを特徴とする曲線発生装置。
  2. (2)n次B−スプライン曲線及びn次ベジェ曲線につ
    いてn=3であるとき、 前記変換手段は、3次B−スプライン曲線の4つの制御
    点に対して、連続する2つの制御点座標間の距離の1/
    3を座標差により予め算出することを特徴とする請求項
    1記載の曲線発生装置。
JP18316089A 1989-07-13 1989-07-13 曲線発生装置 Pending JPH0346077A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18316089A JPH0346077A (ja) 1989-07-13 1989-07-13 曲線発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18316089A JPH0346077A (ja) 1989-07-13 1989-07-13 曲線発生装置

Publications (1)

Publication Number Publication Date
JPH0346077A true JPH0346077A (ja) 1991-02-27

Family

ID=16130847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18316089A Pending JPH0346077A (ja) 1989-07-13 1989-07-13 曲線発生装置

Country Status (1)

Country Link
JP (1) JPH0346077A (ja)

Similar Documents

Publication Publication Date Title
US5973705A (en) Geometry pipeline implemented on a SIMD machine
JPH0916806A (ja) 立体画像処理装置
JP2670875B2 (ja) 適応前進差分および整数算術を用いてパラメトリツク関数を表示する装置および整数算術を用いて実現する方法
JPS6282484A (ja) 線形図形の変換方法
JPH0346077A (ja) 曲線発生装置
US5261034A (en) Graphics microcomputer for generating geometric figures
US5721885A (en) Pixel data transfer system
JP2588257B2 (ja) 輪郭近似方式
JPH01257995A (ja) 文字図形生成装置
JPH10207694A (ja) ディジタルべき乗演算装置及びそれを用いたグラフィックスシステム
JP2675282B2 (ja) 画像データ処理装置及びそれを用いたシステム
JP2656753B2 (ja) 画像データ処理装置及びそれを用いたシステム
JPH11328438A (ja) 高効率浮動小数点zバッファリングの方法および装置
JPH01191192A (ja) 高品質文字発生装置
JP3511301B2 (ja) 曲面データ生成方法
JP2656754B2 (ja) 画像データ処理装置及びそれを用いたシステム
JPH03198169A (ja) 曲線発生方式
JPH0378888A (ja) 図形データ処理装置における図形表示方法
JPH06231261A (ja) 折線近似によりパラメトリックトリミング曲線を表示する方法およびグラフィック表示システム
JPH0383096A (ja) 文字発生方式
JPH01150988A (ja) 円弧を三次曲線へ近似して座標変換する装置
JPH02116981A (ja) 曲線発生装置
JP3502901B2 (ja) 3次元グラフィックス画像表示装置及び方法
JPH03242694A (ja) 文字発生用アフィン変換・ドットメモリアドレス計算方式および装置
JPH01103784A (ja) クリッピング方式