JPH1049691A - ベジェ曲線による点列トレースの方法および装置 - Google Patents

ベジェ曲線による点列トレースの方法および装置

Info

Publication number
JPH1049691A
JPH1049691A JP21931996A JP21931996A JPH1049691A JP H1049691 A JPH1049691 A JP H1049691A JP 21931996 A JP21931996 A JP 21931996A JP 21931996 A JP21931996 A JP 21931996A JP H1049691 A JPH1049691 A JP H1049691A
Authority
JP
Japan
Prior art keywords
point
coordinate point
coordinate
bezier curve
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
JP21931996A
Other languages
English (en)
Other versions
JP3464874B2 (ja
Inventor
Hiroshi Murayama
博 村山
Takuro Matsumura
卓郎 松村
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.)
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Dainippon Screen Manufacturing Co 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 Dainippon Screen Manufacturing Co Ltd filed Critical Dainippon Screen Manufacturing Co Ltd
Priority to JP21931996A priority Critical patent/JP3464874B2/ja
Publication of JPH1049691A publication Critical patent/JPH1049691A/ja
Application granted granted Critical
Publication of JP3464874B2 publication Critical patent/JP3464874B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 点列を適切なベジェ曲線でトレースする技術
を提供する。 【解決手段】 座標点を順次指定し、最後に指定された
第1、第2の座標点間と、第2、第3の座標点間を、そ
れぞれ第1、第2のベジェ曲線でトレースする。このと
き、第2の座標点から第1の座標点に向かう直線と、第
3の座標点から第2の座標点を通って外挿される直線と
がはさむ第1の角度から、第2の座標点と第1のベジェ
曲線を制御する第1の制御点とを結ぶ第1の方向を、第
1の設定式に従って決定し、第1の制御点の位置を第2
の設定式に従って決定する。また、第2の座標点から第
3の座標点に向かう直線と、第1の座標点から第2の座
標点を通って外挿される直線とがはさむ第2の角度か
ら、第2の座標点と第2のベジェ曲線を制御する第2の
制御点とを結ぶ第2の方向を、第3の設定式に従って決
定し、第2の制御点の位置を第4の設定式に従って決定
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、製版システム等
のコンピュータシステムにおいて、指定された複数の座
標点の間を3次のベジェ曲線でトレースする技術に関す
る。
【0002】
【従来の技術】入力された点座標間を3次のベジェ曲線
で近似する方法としては、特開平6−103356号公
報に記載されたものがある。
【0003】一般に、3次のベジェ曲線は次の数式1で
表される。
【0004】
【数1】
【0005】なお、明細書における説明ではベクトルを
示す矢印は省略する。
【0006】図7は、数式1で示した3次のベジェ曲線
を示す平面図である。数式1において、tは0≦t≦1
の範囲にあるパラメータ、P(t)はパラメータtによ
って決定される曲線上の点座標、P1 は曲線の始点の座
標、P2は曲線の終点の座標、P11およびP22は制御点
とよばれる点の座標である。このように、3次のベジェ
曲線P(t)はパラメータtの関数であり、第1制御点
P11および第2制御点P22の座標と始点P1 および終点
P2 の座標によって構成される多項式である。従って、
ベジェ曲線の形状(膨らみ)は、2つの制御点P11およ
びP22の座標によって制御される。
【0007】3次のベジェ曲線を用いて、複雑な曲線を
発生させる場合は、2つの制御点を任意に設定可能と
し、曲線発生後も任意に修正可能とすることが望まし
い。しかし、画像輪郭をトレースする場合には、トレー
スしたい画像輪郭にそって、順次点座標を入力して、近
似曲線を生成する方が使い勝手がよく、制御点までも順
次入力しなければならないとすると、作業が煩雑にな
る。そこで、特開平6−103356号公報に記載され
た方法に示すように、入力された点座標列から計算によ
って自動的に制御点を算出する技術が考えられている。
【0008】図8は、従来例において、入力された点座
標列データに基づいて座標点間のベジェ曲線を発生させ
る過程を示している。以下、図8(a)に示す4つの座
標点P1 、P2 、P3 、P4 が入力され、この座標点の
うちP2 とP3 とを結ぶ3次のベジェ曲線を発生させる
場合に、その制御点を決定する方法について説明する。
【0009】まず、座標点P2 およびP3 間の第1制御
点P21を決定する。図8(b)に示すように、座標点P
2 の前後の座標点P1 とP3 とを結ぶ線分P1 P3 を平
行移動して、P2 を通る線分P1'P2'を求める。この
時、線分P1 P1'と線分P3 P3'がそれぞれ線分P1 P
3 と垂直になるように線分P1'P3'を決める。そして、
第1制御点P21は、線分P2 P3'を1:3に内分する点
に決定される。同時に、座標点P1 およびP2 間の第2
制御点P22が、線分P1'P2 を3:1に内分する点に決
定される。次に、座標点P2 およびP3 間の第2制御点
P32を決定する。図8(c)に示すように、座標点P3
の前後の座標点P2 とP4 とを結ぶ線分P2 P4 を平行
移動して、P3 を通る線分P2'P4'を求める。この時、
線分P2 P2'と線分P4 P4'がそれぞれ線分P2 P4 と
垂直になるように線分P2'P4'を決める。そして、第2
制御点P32は、線分P2'P3 を1:3に内分する点に決
定される。同時に、座標点P3 およびP4 間の第1制御
点P31が、線分P3 P4'を1:3に内分する点に決定さ
れる。このようにして求めた第1制御点P21および第2
制御点P32を用い、座標点P2 を開始点、座標点P3 を
終点とすると、図8(d)に示すように3次のベジェ曲
線を発生させることができる。また、入力された複数の
座標点において、同様にして制御点を求めることによ
り、連続した複数のベジェ曲線を発生させることができ
る。また、上述したように、ある座標点に隣り合う制御
点は、その座標点を通る直線上に位置するため、ベジェ
曲線の性質から隣り合うベジェ曲線を滑らかに接続させ
ることが可能である。このように、従来の方法では、3
つの座標点が指定されたときに、その中央の座標点に近
い2つの制御点が、両端の座標点を結ぶ直線と平行な方
向に沿って、中央の座標点を通るような直線上に設定さ
れていた。
【0010】
【発明が解決しようとする課題】上述の方法により制御
点を求める場合、図9に示すように、座標点P4 の位置
が座標点P3 とP4 とを結ぶ線分上の新たな座標点P4V
であるとすると、座標点P2 とP3 とを結ぶベジェ曲線
の第2制御点P32は新たな制御点P32V となり、ベジェ
曲線の形状(膨らみ)が変化する結果となる。ところ
で、4つ目の座標点がP4 である場合も、また、P4Vで
ある場合も、4つの座標点P1 〜P4 (またはP1 〜P
4V)を順次接続する線分の方向は変わっていない。従っ
て、ベジェ曲線でトレースした結果も、4つ目の座標点
がP4 であるかP4Vであるかに関わらず、3つ目の座標
点P3 の位置までは、同一であることが好ましい場合が
ある。しかし、上述したように、従来の方法では、最後
の座標点P4 の位置によっては、その前の二つの座標点
P2 、P3 の間のベジェ曲線が変わってしまうという問
題があった。
【0011】この発明は、従来技術における上述の課題
を解決するためになされたものであり、従来とは異なる
方法に従って、点列を適切なベジェ曲線でトレースする
技術を提供することを目的とする。
【0012】
【課題を解決するための手段およびその作用・効果】上
述の課題の少なくとも一部を解決するため、第1の発明
は、3次のベジェ曲線によって点列をトレースする方法
であって、(a)トレースされるべき複数の座標点を順
次指定する工程と、(b)最後に指定された第1ないし
第3の座標点のうちの前記第1の座標点と前記第2の座
標点との間を第1のベジェ曲線でトレースするために、
前記第1のベジェ曲線を規定する2つの制御点のうちで
前記第2の座標点に近い第1の制御点を決定する工程
と、(c)前記第2の座標点と前記第3の座標点との間
を第2のベジェ曲線でトレースするために、前記第2の
ベジェ曲線を規定する2つの制御点のうちで、前記第2
の座標点に近い第2の制御点を決定する工程と、を備
え、前記工程(b)は、前記第2の座標点から前記第1
の座標点に向かう直線と、前記第3の座標点から前記第
2の座標点を通って外挿される直線とがはさむ第1の角
度から、前記第2の座標点と前記第1の制御点とを結ぶ
第1の方向を、所定の第1の設定式に従って決定する工
程と、前記第1の方向において、前記第1の制御点の位
置を所定の第2の設定式に従って決定する工程と、を備
え、前記工程(c)は、前記第2の座標点から前記第3
の座標点に向かう直線と、前記第1の座標点から前記第
2の座標点を通って外挿される直線とがはさむ第2の角
度から、前記第2の座標点と前記第2の制御点とを結ぶ
第2の方向を、所定の第3の設定式に従って決定する工
程と、前記第2の方向において、前記第2の制御点の位
置を所定の第4の設定式に従って決定する工程と、を備
えることを特徴とする。
【0013】第2の座標点に隣り合う二つの制御点、即
ち、第1のベジェ曲線を制御する第1の制御点および第
2のベジェ曲線を制御する第2の制御点、の方向を示す
第1の方向および第2の方向が、第1の座標点と第2の
座標点とを結ぶ直線と、第2の座標点と第3の座標点と
を結ぶ直線とがなす角度から決定されるため、第2の座
標点と第3の座標点とを結ぶ直線の長さに影響されるこ
とがない。このように、第1の発明によれば、点列をト
レースするベジェ曲線を生成する際に、トレースされる
点座標を指定しながら、従来とは異なる方法に従って、
順次適当な制御点を求めてベジェ曲線を生成することが
可能となる。
【0014】上記第1の発明において、前記第1の設定
式および前記第3の設定式は、前記第1の座標点から前
記第2の座標点に向かう第1の単位ベクトルと前記第2
の座標点から前記第3の座標点に向かう第2の単位ベク
トルとを所定の割合でそれぞれ合成することによって、
前記第1の方向および前記第2の方向をそれぞれ決定す
る、ことが好ましい。
【0015】ここで、「単位ベクトル」とは、大きさが
1のベクトルである。単位ベクトルの合成により決定さ
れる第1の方向および第2の方向は、第2の座標点と第
3の座標点とを結ぶ線分の長さに影響されない。従っ
て、最後の座標点の入力が、その前の二つの座標点間に
既に生成されたベジェ曲線に、影響を与えることがな
い。
【0016】また、上記第1の発明において、前記第1
の設定式および前記第3の設定式は、前記第1の角度と
前記第2の角度を、所定の割合で内分する方向をそれぞ
れ決定することによって、前記第1の方向および前記第
2の方向を決定してもよい。
【0017】第1の座標点と第2の座標点とを結ぶ直線
と、第2の座標点と第3の座標点とを結ぶ直線がなす角
度を、所定の割合で内分する方向も、第2の座標点と第
3の座標点とを結ぶ線分の長さに影響されない。従っ
て、最後の座標点の入力が、その前の二つの座標点間に
既に生成されたベジェ曲線に影響を与えることがない。
【0018】また、上記第1の発明において、前記第2
の座標点から前記第1の座標点に向かう線分と、前記第
1の方向とがはさむ角と、前記第2の座標点から前記第
3の座標点に向かう線分と、前記第2の方向とがはさむ
角と、を等しく設定する、ことが好ましい。
【0019】ベジェ曲線は、その両端点では、端点と制
御点とを結ぶ直線を接線とする曲線となる。従って、制
御点の方向を決定する角度の設定によって、第1の座標
点と第2の座標点とを結ぶ第1のベジェ曲線と、第2の
座標点と第3の座標点とを結ぶ第2のベジェ曲線との、
第2座標点における接続性を変えることができる。
【0020】また、上記第1の発明において、前記第1
の方向および前記第2の方向を、前記第1の角度と前記
第2の角度をそれぞれ2等分する方向に設定する、こと
が好ましい。
【0021】こうすれば、第1の方向と第2の方向が第
2の座標点を挟んで反対方向、即ち、第2の座標点にお
ける第1のベジェ曲線の接線と第2のベジェ曲線の接線
が直線となる。従って、第1のベジェ曲線と第2のベジ
ェ曲線の傾きが、第2の座標点の前後で一致し、両者を
滑らかに接続可能である。
【0022】また、上記第1の発明において、前記第1
の方向および前記第2の方向を決定するための前記所定
の割合として、複数の割合をあらかじめ登録し、前記複
数の割合の中から、トレースの途中で選択可能としても
よい。
【0023】こうすれば、トレースの途中で適当なベジ
ェ曲線の接続性を選択しながら、順次トレースを実行す
ることができる。
【0024】また、上記第1の発明において、前記第2
の設定式は、前記第1の座標点と前記第2の座標点とを
結ぶ線分の長さに所定の値を乗じた距離だけ前記第2の
座標点から離れた位置に前記第1の制御点を決定し、前
記第4の設定式は、前記第2の座標点と前記第3の座標
点とを結ぶ線分の長さに所定の値を乗じた距離だけ前記
第2の座標点から離れた位置に前記第2の制御点を決定
する、ことが好ましい。
【0025】こうすれば、ベジェ曲線の制御点を一義的
に決定でき、ベジェ曲線を生成する事ができる。
【0026】また、上記第1の発明において、前記所定
の値として複数の値をあらかじめ登録し、前記複数の値
の中から、トレースの途中で選択可能としてもよい。
【0027】こうすれば、トレースの途中で、適当なベ
ジェ曲線の制御点位置を選択しながら、順次トレースを
実行することができる。
【0028】第2の発明は、3次のベジェ曲線によって
点列をトレースする装置であって、トレースされるべき
複数の座標点を順次指定する点座標入力部と、最後に指
定された第1ないし第3の座標点のうちの前記第1の座
標点と前記第2の座標点との間を第1のベジェ曲線でト
レースするために、前記第1のベジェ曲線を規定する2
つの制御点のうちで前記第2の座標点に近い第1の制御
点を決定するとともに、前記第2の座標点と前記第3の
座標点との間を第2のベジェ曲線でトレースするため
に、前記第2のベジェ曲線を規定する2つの制御点のう
ちで、前記第2の座標点に近い第2の制御点を決定する
制御点算出部と、を備え、前記制御点算出部は、前記第
2の座標点から前記第1の座標点に向かう直線と、前記
第2の座標点から前記第3の座標点を通って外挿される
直線とがはさむ角度から、前記第2の座標点と前記第1
の制御点とを結ぶ第1の方向を、所定の第1の設定式に
従って決定するとともに、前記第2の座標点から前記第
3の座標点に向かう直線と、前記第1の座標点から前記
第2の座標点を通って外挿される直線とがはさむ角度か
ら、前期第2の座標点と前記第2の制御点とを結ぶ第2
の方向を、所定の第3の設定式に従って決定する制御点
方向決定部と、前記第1の方向において、前記第1の制
御点の位置を所定の第2の設定式に従って決定するとと
もに、前記第2の方向において、前記第2の制御点の位
置を所定の第4の設定式に従って決定する制御点位置決
定部と、を備えることを特徴とする。
【0029】第2の発明も、上記第1の発明と同様の作
用・効果を有しており、点列をトレースするベジェ曲線
を生成する際に、トレースされる点座標を指定しなが
ら、従来とは異なる方法に従って、順次適当な制御点を
求めてベジェ曲線を生成することが可能となる。
【0030】
【発明の他の態様】この発明は、以下のような他の態様
も含んでいる。第1の態様は、コンピュータシステムの
マイクロプロセッサによって実行されることによって、
上記の発明の各工程または各手段を実現するソフトウェ
アプログラムを格納した携帯型記憶媒体である。
【0031】
【発明の実施の形態】次に、本発明の実施の形態を実施
例に基づき説明する。図1は、この発明の一実施例を適
用する画像処理装置を示すブロック図である。
【0032】図1において、ハードディスク装置10
は、トレースされる画像データを記憶した記憶装置であ
る。画像表示部50は、ハードディスク装置10に記憶
された画像データを、CRT(表示装置)60に表示す
る回路である。点座標入力部20は、CRT60に表示
された画像を参照して、ユーザが点座標データを入力す
る手段である。点座標入力部20としては、マウス等の
ポインティングデバイスが使用される。制御点設定条件
入力部22は、入力された点座標データに基づいて発生
させるベジェ曲線を制御する制御点の設定条件(後述す
る)を入力する手段である。制御点設定条件入力部22
としては、キーボード等が使用される。メモリ30は、
点座標入力部20で入力された点座標データを配列デー
タとして格納する。点座標描画部52は、メモリ30に
格納された点座標データを、CRT60に表示する回路
である。制御点算出部40は、制御点の設定方向を決定
する制御点方向決定部40aと、制御点位置を決定する
制御点位置決定部40bとを備え、メモリ30に格納さ
れた点座標データ、および制御点設定条件入力部22で
入力された設定条件に基づいて、ベジェ曲線を制御する
制御点データを算出する回路である。ベジェ曲線発生部
42は、メモリ30に格納された点座標データ、および
制御点算出部40で算出された制御点データに基づい
て、ベジェ曲線を発生させる回路である。また、これら
の各手段は、ハードウエア回路としてだけでなくソフト
ウエアプログラムによっても実現可能である。また、ソ
フトウエアプログラムは、フロッピーディスクやCD−
ROM等の携帯型記憶媒体(可搬型記憶媒体)に格納さ
れ、携帯型記憶媒体から、図示しないソフトウエアプロ
グラム格納用のメモリまたはハードディスク装置10に
転送される。ベジェ曲線描画部54は、ベジェ曲線発生
部42で発生させたベジェ曲線データを、CRT60に
表示させる回路である。CRT60は、画像表示部5
0、点座標描画部52、ベジェ曲線描画部54から出力
された表示データを表示する表示装置である。
【0033】次に、本実施例の動作を図2、図3を用い
て説明する。図2は、本実施例の動作手順を示したフロ
ーチャートである。図3は、図2に示した手順に従っ
て、入力座標点間に発生させたベジェ曲線の生成過程を
示した説明図である。
【0034】図3(a)に示す半リング状の画像の輪郭
を、座標点P1 、P2 、P3 、P4…を順次入力してト
レースすることとする。まず、図2に示すステップS
1、ステップS2において、ユーザが第1座標点(画像
トレースの始点)、第2座標点の入力を行う。この工程
は、図1に示す点座標入力部20で行われる。入力され
たデータはメモリ30に配列データとして格納される。
ステップS3では、第1座標点P1 と第2座標点P2 と
の間を結ぶ第1のベジェ曲線を制御する第1制御点P11
および第2制御点P22の座標を算出する。この工程は、
図1の制御点算出部40で行われる。2つの座標点P1
、P2 が入力された時点では、後述する方法によって
制御点を算出することができない。そこで、まず仮の制
御点P11、P22を、数式2を用いて算出する。図3
(b)は、その算出結果と、ベジェ曲線表示結果を示し
ている。
【0035】
【数2】
【0036】図3(b)に示すように、数式2で示され
る第1制御点P11および第2制御点P22は、第1座標点
P1 と第2座標点P2 とを結ぶ線分を1:1:1に内分
する点である。従って、ステップS4において、座標点
P1 およびP2 と制御点P11およびP22によって生成さ
れるベジェ曲線は、数式1より求められ、直線となる。
このステップS4の工程は、図1に示すベジェ曲線発生
部42およびベジェ曲線描画部54で実行され、得られ
たベジェ曲線が元の画像とともにCRT60に表示され
る。
【0037】ステップS5では入力座標点の番号を示す
パラメータnが3に設定される。ステップS6〜S10
では、3番目の座標点である第3座標点を入力し、第1
のベジェ曲線の再描画および第2のベジェ曲線の描画を
行い、表示する。図3(c)はその結果を示している。
まず、ステップS6においてユーザが第3座標点を入力
すると、入力されたデータはメモリ30に配列データと
して格納される。この工程は、ステップS1およびステ
ップS2と同様に、図1に示す点座標入力部20を用い
て行われる。次に、ステップS7において、ユーザが、
後述するパラメータαおよびβを設定する。この工程
は、図1に示す制御点条件入力部22を用いて行われ
る。なお、ステップS7は、ステップS6における座標
点入力時と同時に実行するようにしてもよく、あるいは
ステップS6の前に実行してもよい。例えば、あらかじ
め複数のパラメータ条件を登録しておき、座標点入力時
の前後に、所定の条件選択ボタン(キーボードのシフト
キーやコントロールキー等)を用いて、その中の1つを
選択して設定可能とする方法等がある。このとき、条件
選択ボタンを押さえない状態では、パラメータ条件の初
期値が使用される。
【0038】ステップS8では、ステップS4で生成し
て表示された第1のベジェ曲線を、一旦消去する。この
工程はベジェ曲線描画部54で行われる。その後、新た
にステップS9において、第1座標点ないし第3座標点
に基づいて、第1のベジェ曲線および第2のベジェ曲線
の制御点の算出が行われる。
【0039】ステップS9における制御点の算出は、図
1に示す制御点算出部40で実行される。まず、図3
(c)に示すように、座標点P2 と座標点P3 とを結ぶ
第2のベジェ曲線の第1制御点P21の方向を表す第1方
向ベクトルV21および第1のベジェ曲線における第2制
御点P22の方向を表す第2方向ベクトルV22を、算出す
る。この工程は、図1に示す制御点方向決定部40aで
実行される。その算出式を数式3に示す。
【0040】
【数3】
【0041】ここで、nはステップS6で入力した座標
点の番号である。ここでは、上記のように第3の座標点
P3 を入力した場合、即ち、n=3の場合について説明
する。図4は、数式3に従った第1方向ベクトルV21の
算出方法を示す説明図である。数式3からも理解できる
ように、第2のベジェ曲線の第1方向ベクトルV21は、
第1の座標点P1 から第2の座標点P2 に向かう単位ベ
クトルVa と、第2の座標点P2 から第3の座標点P3
に向かう単位ベクトルVb とに、αと(1−α)の重み
をつけて合成したベクトルである。また、図4(b)に
示すように、この方向ベクトルV21は、線分P1 P2 と
線分P2 P3 とがなす角∠Q1 P2 P3を、パラメータ
αによって内分する方向を示しているとみることもでき
る。また、数式3に示される第1ベジェ曲線の第2方向
ベクトルV22も同様に、線分P2P1 と線分P3 P2 と
がなす角∠Q2 P2 P1 を、パラメータαによって内分
する方向を示す。パラメータαは、0≦α≦1の範囲で
設定可能であり、V21およびV22の方向は、パラメータ
αの設定により任意の方向に設定可能である。
【0042】図5は、パラメータαと、第2座標点にお
ける第2のベジェ曲線の第1方向ベクトルV21および第
1のベジェ曲線の第2方向ベクトルV22との関係を説明
する説明図である。パラメータαの値としては0.5が
好ましい。この場合には、図5(a)に示すように、第
1方向ベクトルV21は、角∠Q1 P2 P3 を2等分する
方向である。なお、第1方向ベクトルV21と第2方向ベ
クトルV22とは、座標点P2 を挟んで反対方向に設定さ
れる。一般にベジェ曲線は、両端点付近では、端点と制
御点とを結ぶ方向に沿った傾きを有している。従って、
α=0.5に設定すれば、座標点P2 で接続される第1
のベジェ曲線と第2のベジェ曲線の傾きが、座標点の前
後で一致し、両者を滑らかに接続できる。
【0043】α=0とすれば、図5(b)に示すよう
に、方向ベクトルV21は線分P2 P3の方向となり、方
向ベクトルV22は線分P2 P1 の方向となる。従って、
座標点P2 における第1のベジェ曲線と第2のベジェ曲
線の接続は、ベジェ曲線の性質から、外側に折れ曲がっ
た形状となる。
【0044】また、α=1とすれば、図5(c)に示す
ように、V21は線分P1 P2 の方向となり、V22は線分
P3 P2 の方向となる。従って、座標点P2 における第
1のベジェ曲線と第2のベジェ曲線の接続は、ベジェ曲
線の性質から、内側に折れ曲がった形状となる。このよ
うに、パラメータαの設定により、ステップS6で最後
に入力した座標点Pn の一つ前の座標点Pn-1 の前後に
おける2つのベジェ曲線の接続性を変化させることがで
きる。
【0045】次に、上述のようにして求めた第2のベジ
ェ曲線の第1方向ベクトルV21を用いて、第2のベジェ
曲線の第1制御点P21を、以下に示す数式4により算出
する。同様に、第1のベジェ曲線の第2方向ベクトルV
22を用いて、第1のベジェ曲線の第2制御点P22を、以
下に示す数式4により算出する。
【0046】
【数4】
【0047】図6は、パラメータβと、第2のベジェ曲
線の第1制御点P21および第1のベジェ曲線の第2制御
点P22との関係を説明する説明図である。数式4からも
理解できるように、第2のベジェ曲線の第1制御点P21
は、座標点P2 から第1方向ベクトルV21の方向に存在
し、線分P2 P3 の長さにパラメータβを乗じた距離に
位置する点である。同様に、第1のベジェ曲線の第2制
御点P22は、座標点P2 から第2方向ベクトルV22であ
って、線分P1 P2 の長さにパラメータβを乗じた距離
に位置する点である。また、パラメータβは、0≦β≦
1の範囲で設定可能である。従って、βの設定値を変え
て、制御点の位置を任意に変化させることができ、ベジ
ェ曲線の形状を変化させることができる。本実施例で
は、通常はβ=1/5として制御点を算出する。β=1
/3、即ち、βの値を大きくして制御点を算出すれば、
ベジェ曲線の膨らみを強調することができる。逆に、β
を小さくすれば、ベジェ曲線の膨らみを小さくすること
ができる。例えばβ=1/2では、真円に対して、4点
のトレースで誤差が精度の高い疑似円が生成できる。
【0048】なお、2つのパラメータα、βの値の組を
1つのパラメータ条件としたとき、複数のパラメータ条
件をあらかじめ登録しておくことが好ましい。例えば、
{α=0.5、β=1/5}、{α=0.5、β=1/
3}、{α=0、β=1/5}、{α=0、β=1/
3}の4つのパラメータ条件をあらかじめ登録してお
き、そのうちのひとつのパラメータ条件をデフォルトと
して設定しておく。通常は、デフォルト条件に基づいて
制御点を決定し、トレースの最中に、他のパラメータ条
件に切り換えできるようにしてもよい。
【0049】図3(c)の第1のベジェ曲線の第1制御
点P11は、座標点P1 の前に連続する座標点が入力され
ていないため、線分P1 P2 の垂直2等分線lを対称軸
として、制御点P22に線対称な点をP11とする。同様
に、第2のベジェ曲線の第2制御点P32は、座標点P3
の後に連続する座標点が入力されていないので、線分P
2 P3 の垂直2等分線mを対称軸として、制御点P21に
線対称な点とする。
【0050】以上のようにして制御点を算出すれば、次
のような操作も可能である。例えば、パラメータαをα
=0として連続的に座標点を入力すれば、数式3、数式
4により算出される制御点は各座標点を結ぶ直線上に存
在することになるので、直線を連続して生成することが
可能である。従って、アルゴリズムを変更することな
く、多角形を表すベジェ曲線を生成することができる。
【0051】ステップS10では、図3(c)に示すよ
うに、ステップS9で算出した第1、第2のベジェ曲線
のそれぞれの制御点、および入力された座標点から第
1、第2のベジェ曲線を生成して、表示する。この工程
は、上記ステップS4と同様に、図1に示したベジェ曲
線発生部42およびベジェ曲線54で実行され、得られ
たベジェ曲線が元の画像とともにCRT60に表示され
る。
【0052】次に、ステップS11でパラメータnに1
を加算する。即ち、ここではn=4とする。そして、以
下に説明するように、ステップS6に戻って第4座標点
を入力し、ステップS7からステップS11を繰り返
し、第2のベジェ曲線の再生成および第3のベジェ曲線
の生成を行い、表示する。図3(d)はその結果を示し
ている。
【0053】まず、ステップS6において、ユーザが第
4座標点を入力し、ステップS7において、パラメータ
αおよびβを設定する。パラメータαおよびβの設定方
法は上述の通りである。ステップS8では、第2のベジ
ェ曲線を、一旦消去する。その後、新たにステップS9
において、制御点の算出が行われる。
【0054】ステップS9において、図3(d)に示す
ように、座標点P3 と座標点P4 とを結ぶ第3のベジェ
曲線の第1制御点P31の方向を表す第1方向ベクトルV
31および第2のベジェ曲線における第2制御点P32の方
向を表す第2方向ベクトルV32を、数式3により算出す
る。そして、第3のベジェ曲線の第1制御点P31および
第2のベジェ曲線の第2制御点P32を数式4により算出
する。
【0055】ここで、第3のベジェ曲線の第2制御点P
42は、座標点P4 の後に連続する座標点が入力されてい
ないため、図3(d)に示すように、線分P3 P4 の垂
直2等分線mを対称軸として、制御点P31に線対称な点
をP42とする。
【0056】ステップS10では、図3(d)に示すよ
うに、ステップS9で算出した第2のベジェ曲線の第2
制御点P32と既に算出されている第1制御点P21と座標
点P2 と座標点P3 から、数式1によりベジェ曲線を生
成して、表示する。同様に、ステップS9で算出した第
3のベジェ曲線の第1制御点P31と第2制御点P42と座
標点P3 と座標点P4 とから、数式1によりベジェ曲線
を生成して、表示する。
【0057】次に、ステップS11でパラメータnに1
を加算する。即ち、ここではn=5とする。そして、第
5座標点を入力するならば、ステップS6に戻り、ステ
ップS7からステップS11を繰り返すことになる。つ
まり、ステップS6からステップS11を繰り返すこと
により、次々に座標点入力とベジェ曲線の発生とを繰り
返し実行し、ベジェ曲線による連続した輪郭線を生成す
ることができる。
【0058】本実施例によれば、以上の手順により、ト
レースされる点座標を指定しながら、順次適当な制御点
を求めてベジェ曲線を生成することができる。従って、
座標を入力して、発生させたベジェ曲線による近似結果
を確認しながら作業を進めることができる。また、近似
結果を修正したければ、一旦入力した座標点を取り消し
て、パラメータαおよびβを設定し直して再度ベジェ曲
線を発生させることが可能である。従って、操作性のよ
い、点列を適切なベジェ曲線でトレースする技術を提供
することができる。
【0059】なお、この発明は上記の実施例や実施形態
に限られるものではなく、その要旨を逸脱しない範囲に
おいて種々の態様において実施することが可能である。
例えば、次のような変形も可能である。
【0060】(1)数式3および数式4に示されるパラ
メータαおよびβは、第1方向ベクトルVn-1 1 と第2
方向ベクトルVn-1 2 および第1制御点Pn-1 1 と第2
制御点Pn-1 2 において、それぞれ共通であるが、これ
を独立のパラメータとして、設定自由度の向上を図って
もよい。
【0061】(2)第1方向ベクトルVn-1 1 および第
2方向ベクトルVn-1 2 は、座標点Pn-2 と座標点Pn-
1 とを結ぶ直線と、座標点Pn と座標点Pn-1 とを結ぶ
直線とがなす角度を、パラメータαによって一定の割合
で内分する方向を表す方向ベクトルとしてもよい。
【0062】(3)図2に示すステップS6において、
ユーザがポインティングデバイスにより点座標を入力指
定するまで、ポインティングデバイスが現在示している
座標位置を仮の座標点とみなして、ステップS6からS
10を繰り返し実行するようにしてもよい。こうすれ
ば、生成されるベジェ曲線を確認しながら点座標を入力
指定することができる。また、このとき、パラメータα
およびβの条件を、上述した条件選択ボタンにより選択
するようにすれば、1つ前の既に入力された座標点の前
後の座標点を結ぶ2つのベジェ曲線の接続性(折れ曲が
り具合)や形状(膨らみ)を確認しながら点座標を入力
指定することができる。従って、操作性のよい、点列を
適切なベジェ曲線でトレースする技術を提供することが
できる。
【図面の簡単な説明】
【図1】この発明の一実施例を適用する画像処理装置を
示すブロック図。
【図2】本実施例の動作手順を示したフローチャート。
【図3】図2に示した手順に従って、入力点座標間に発
生させたベジェ曲線の生成過程を示した説明図。
【図4】数式3に従った第1方向ベクトルV21の算出方
向を示す説明図。
【図5】パラメータαと、第2座標点における第2のベ
ジェ曲線の第1方向ベクトルV21および第1ベジェ曲線
の第2方向ベクトルV22との関係を説明する説明図。
【図6】パラメータβと、第2座標点における第2のベ
ジェ曲線の第1制御点P21および第1のベジェ曲線の第
2制御点P22との関係を説明する説明図。
【図7】数式1で示した3次のベジェ曲線を示す平面
図。
【図8】従来例において、入力された点座標列データに
基づいて座標点間のベジェ曲線を発生させる過程を示す
説明図。
【図9】従来例の問題点を説明する説明図。
【符号の説明】
10…ハードディスク装置 20…点座標入力部 22…制御点設定条件入力部 30…メモリ 40…制御点算出部 40a…制御点方向決定部 40b…制御点位置決定部 42…ベジェ曲線発生部 50…画像表示部 52…点座標描画部 54…ベジェ曲線描画部 60…表示装置(CRT)

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 3次のベジェ曲線によって点列をトレー
    スする方法であって、(a)トレースされるべき複数の
    座標点を順次指定する工程と、(b)最後に指定された
    第1ないし第3の座標点のうちの前記第1の座標点と前
    記第2の座標点との間を第1のベジェ曲線でトレースす
    るために、前記第1のベジェ曲線を規定する2つの制御
    点のうちで前記第2の座標点に近い第1の制御点を決定
    する工程と、(c)前記第2の座標点と前記第3の座標
    点との間を第2のベジェ曲線でトレースするために、前
    記第2のベジェ曲線を規定する2つの制御点のうちで、
    前記第2の座標点に近い第2の制御点を決定する工程
    と、を備え、 前記工程(b)は、前記第2の座標点から前記第1の座
    標点に向かう直線と、前記第3の座標点から前記第2の
    座標点を通って外挿される直線とがはさむ第1の角度か
    ら、前記第2の座標点と前記第1の制御点とを結ぶ第1
    の方向を、所定の第1の設定式に従って決定する工程
    と、 前記第1の方向において、前記第1の制御点の位置を所
    定の第2の設定式に従って決定する工程と、を備え、 前記工程(c)は、前記第2の座標点から前記第3の座
    標点に向かう直線と、前記第1の座標点から前記第2の
    座標点を通って外挿される直線とがはさむ第2の角度か
    ら、前記第2の座標点と前記第2の制御点とを結ぶ第2
    の方向を、所定の第3の設定式に従って決定する工程
    と、 前記第2の方向において、前記第2の制御点の位置を所
    定の第4の設定式に従って決定する工程と、を備えるこ
    とを特徴とする方法。
  2. 【請求項2】 請求項1に記載の方法であって、 前記第1の設定式および前記第3の設定式は、前記第1
    の座標点から前記第2の座標点に向かう第1の単位ベク
    トルと前記第2の座標点から前記第3の座標点に向かう
    第2の単位ベクトルとを所定の割合でそれぞれ合成する
    ことによって、前記第1の方向および前記第2の方向を
    それぞれ決定する、ことを特徴とする方法。
  3. 【請求項3】 請求項1に記載の方法であって、 前記第1の設定式および前記第3の設定式は、前記第1
    の角度と前記第2の角度を、所定の割合で内分する方向
    をそれぞれ決定することによって、前記第1の方向およ
    び前記第2の方向を決定する、ことを特徴とする方法。
  4. 【請求項4】 請求項1ないし3のいずれかに記載の方
    法であって、 前記第2の座標点から前記第1の座標点に向かう線分
    と、前記第1の方向とがはさむ角と、 前記第2の座標点から前記第3の座標点に向かう線分
    と、前記第2の方向とがはさむ角と、を等しく設定する
    ことを特徴とする方法。
  5. 【請求項5】 請求項1ないし4のいずれかに記載の方
    法であって、 前記第1の方向および前記第2の方向を、前記第1の角
    度と前記第2の角度をそれぞれ2等分する方向に設定す
    る、ことを特徴とする方法。
  6. 【請求項6】請求項2ないし5のいずれかに記載の方法
    であって、 前記第1の方向および前記第2の方向を決定するための
    前記所定の割合として、複数の割合をあらかじめ登録
    し、前記複数の割合の中から、トレースの途中で選択可
    能とすることを特徴とする方法。
  7. 【請求項7】 請求項1ないし6のいずれかに記載の方
    法であって、 前記第2の設定式は、前記第1の座標点と前記第2の座
    標点とを結ぶ線分の長さに所定の値を乗じた距離だけ前
    記第2の座標点から離れた位置に前記第1の制御点を決
    定し、 前記第4の設定式は、前記第2の座標点と前記第3の座
    標点とを結ぶ線分の長さに所定の値を乗じた距離だけ前
    記第2の座標点から離れた位置に前記第2の制御点を決
    定する、ことを特徴とする方法。
  8. 【請求項8】 請求項7に記載の方法であって、 前記所定の値として複数の値をあらかじめ登録し、前記
    複数の値の中から、トレースの途中で選択可能とするこ
    とを特徴とする方法。
  9. 【請求項9】 3次のベジェ曲線によって点列をトレー
    スする装置であって、 トレースされるべき複数の座標点を順次指定する点座標
    入力部と、 最後に指定された第1ないし第3の座標点のうちの前記
    第1の座標点と前記第2の座標点との間を第1のベジェ
    曲線でトレースするために、前記第1のベジェ曲線を規
    定する2つの制御点のうちで前記第2の座標点に近い第
    1の制御点を決定するとともに、前記第2の座標点と前
    記第3の座標点との間を第2のベジェ曲線でトレースす
    るために、前記第2のベジェ曲線を規定する2つの制御
    点のうちで、前記第2の座標点に近い第2の制御点を決
    定する制御点算出部と、を備え、 前記制御点算出部は、前記第2の座標点から前記第1の
    座標点に向かう直線と、前記第2の座標点から前記第3
    の座標点を通って外挿される直線とがはさむ角度から、
    前記第2の座標点と前記第1の制御点とを結ぶ第1の方
    向を、所定の第1の設定式に従って決定するとともに、
    前記第2の座標点から前記第3の座標点に向かう直線
    と、前記第1の座標点から前記第2の座標点を通って外
    挿される直線とがはさむ角度から、前期第2の座標点と
    前記第2の制御点とを結ぶ第2の方向を、所定の第3の
    設定式に従って決定する制御点方向決定部と、 前記第1の方向において、前記第1の制御点の位置を所
    定の第2の設定式に従って決定するとともに、前記第2
    の方向において、前記第2の制御点の位置を所定の第4
    の設定式に従って決定する制御点位置決定部と、を備え
    ることを特徴とする装置。
JP21931996A 1996-07-31 1996-07-31 ベジェ曲線による点列トレースの方法および装置 Expired - Fee Related JP3464874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21931996A JP3464874B2 (ja) 1996-07-31 1996-07-31 ベジェ曲線による点列トレースの方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21931996A JP3464874B2 (ja) 1996-07-31 1996-07-31 ベジェ曲線による点列トレースの方法および装置

Publications (2)

Publication Number Publication Date
JPH1049691A true JPH1049691A (ja) 1998-02-20
JP3464874B2 JP3464874B2 (ja) 2003-11-10

Family

ID=16733621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21931996A Expired - Fee Related JP3464874B2 (ja) 1996-07-31 1996-07-31 ベジェ曲線による点列トレースの方法および装置

Country Status (1)

Country Link
JP (1) JP3464874B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002216151A (ja) * 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2012256280A (ja) * 2011-06-10 2012-12-27 Nippon Telegr & Teleph Corp <Ntt> 動画像処理方法、動画像処理装置及び動画像処理プログラム
CN109949393A (zh) * 2019-01-09 2019-06-28 广州小鹏汽车科技有限公司 一种动画效果处理方法、系统及装置
CN114564106A (zh) * 2022-02-25 2022-05-31 北京字跳网络技术有限公司 交互指示线的确定方法、装置、电子设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002216151A (ja) * 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2012256280A (ja) * 2011-06-10 2012-12-27 Nippon Telegr & Teleph Corp <Ntt> 動画像処理方法、動画像処理装置及び動画像処理プログラム
CN109949393A (zh) * 2019-01-09 2019-06-28 广州小鹏汽车科技有限公司 一种动画效果处理方法、系统及装置
CN114564106A (zh) * 2022-02-25 2022-05-31 北京字跳网络技术有限公司 交互指示线的确定方法、装置、电子设备及存储介质
CN114564106B (zh) * 2022-02-25 2023-11-28 北京字跳网络技术有限公司 交互指示线的确定方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP3464874B2 (ja) 2003-11-10

Similar Documents

Publication Publication Date Title
JP2811501B2 (ja) カーソル移動制御方法及び装置
JPH0668758B2 (ja) カーソル制御方法及び3次元図形表示装置
US5734383A (en) Apparatus and method for generating a three-dimensional model on a graphic display from a two-dimensional image
JPH06110992A (ja) Cadシステムにおける形状変形入力操作方法
JP2828271B2 (ja) Cadシステムにおける形状生成方式
JPH06309395A (ja) 画像作成装置
JP3464874B2 (ja) ベジェ曲線による点列トレースの方法および装置
JPH0721224A (ja) 図形修正方法
JPH05269956A (ja) 任意の線に沿って組版する電子組版装置
JP3356552B2 (ja) 三次元画像処理装置及び三次元画像処理方法
JP2538645B2 (ja) 曲線の折線近似装置
JP2669366B2 (ja) 線対称図形入力装置
JP2829692B2 (ja) オペレーションマクロ方式cad装置
JP2723058B2 (ja) 線対称図形入力装置
JPH0755635Y2 (ja) 小型電子式計算機
JPH0477882A (ja) 三角形ポリゴン描画方法およびその装置
JP2571178B2 (ja) 3次元図形処理装置
JP2683114B2 (ja) 曲線制御装置
JP2616443B2 (ja) 図形描画装置
JPH06274308A (ja) ベジェ曲線均等肉付け作成処理方法
JPH0785304A (ja) 図形編集装置
JPH0453318B2 (ja)
JPH02130689A (ja) 図形処理装置
JPH0896158A (ja) 図形情報処理方法及び装置
JPH08147463A (ja) 図形作成装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080822

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees