JP3377815B2 - 自由形式ストロークの生成方法を実行する装置 - Google Patents

自由形式ストロークの生成方法を実行する装置

Info

Publication number
JP3377815B2
JP3377815B2 JP33671692A JP33671692A JP3377815B2 JP 3377815 B2 JP3377815 B2 JP 3377815B2 JP 33671692 A JP33671692 A JP 33671692A JP 33671692 A JP33671692 A JP 33671692A JP 3377815 B2 JP3377815 B2 JP 3377815B2
Authority
JP
Japan
Prior art keywords
curve
offset
point
processor
points
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
JP33671692A
Other languages
English (en)
Other versions
JPH05250480A (ja
Inventor
ヴィー.クラセン ロバート
Original Assignee
ゼロックス・コーポレーション
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 ゼロックス・コーポレーション filed Critical ゼロックス・コーポレーション
Publication of JPH05250480A publication Critical patent/JPH05250480A/ja
Application granted granted Critical
Publication of JP3377815B2 publication Critical patent/JP3377815B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、自由形式ストローク
(描線)の生成と表示の方法と装置、特に、自由形式ス
トロークの中心線曲線の幅が中心線曲線の水平垂直座標
と同じパラメータで変化する、自由形式ストロークの中
心線曲線や左右オフセット曲線に沿って複数の点を生成
し表示する方法と装置に関する。 【0002】 【従来の技術】自由形式曲線は、例えば、コンピュータ
援用設計(CAD)やコンピュータ援用製造(CAM)
のシステム、コンピュータグラフィック、図形芸術、タ
イプセット技術などで一定幅と可変幅の両方の曲線を作
成するのに有効に利用される。また、そのような自由曲
線を図形表示する方法や装置は、多数存在している。例
えば、メシュカットらの米国特許第4、933、889
号には、物体の形状を表現するための有限要素を生成す
る方法が開示されている。 【0003】特に、スプライン曲線について広く研究さ
れており、コンピュータグラフィックに一般的に使用さ
れている(RH.バーテルスらの「コンピュータグラフ
ィックや幾何造形で使用されるスプライン曲線の紹
介」、モルガン・カフマン出版、カリフォルニア州ロス
アルトス、1987年発行や、G.ファリンの「コンピ
ュータ援用設計のための曲線と曲面」、アカデミックプ
レス、カリフォルニア州サンディゴ、1988年発行を
参照のこと)。 【0004】スプライン曲線も、幅をもたない曲線に加
えて、一定幅と可変幅の両方の自由形式ストロークを生
成し表示するのに、コンピュータグラフィックで一般的
に使用されている。例えば、YS.チュアの論文「ベジ
ェのブラシ描線(ストローク)」、CAD誌(バターワ
ース・ハイネマン)、第22巻9号、1990年11
月、ページ550−555、ページ604(以下チュア
の論文と呼ぶ)、に記述されている方法では、ブラシス
トロークを数学的に実現(モデル化)するためにベジェ
曲線(Bezier curve)を使っている。チュ
アの論文では、用紙の特性と同様に、ブラシストローク
の形状や輪郭、ブラシストロークに沿っての及びを横切
る陰影や色変化、ブラシの含水量変化による効果などの
ブラシストロークの多様な属性をモデル化するために、
ベジェ関数が利用されている。また、チュアの論文で
は、ブラシストロークは少なくとも1個のブラシセグメ
ントにより定義されており、その形状(あるいは輪郭)
は、2つの(ベジェセグメントと呼ばれる)立方ベジェ
曲線でモデル化されている。各ベジェセグメントはブラ
シセグメント追従変数と呼ばれるパラメータuをもって
おり、セグメントの始めではu=0であって、セグメン
トの終わりではu=1となる。1個またはそれ以上のブ
ラシセグメントを使って、一般的なブラシ描線の形状が
形成できる。 【0005】米国特許第4、912、659号に記載の
別の例では、ラスター画像表示でのワイヤフレームとソ
リッド(中実)/陰影の両方の表現のためのパッチ曲面
を作成するパイプライン平行処理装置が開示されてお
り、変換処理部への入力信号が論理的ベジェ曲面のため
のパラメータとなっている。 【0006】オフセット曲線もまた、特にCAD技術分
野では かなりの注目を集めている(例えば、G.ファ
リンの論文「ピースワイズ円錐形の曲線連続性とオフセ
ット曲線」、TOG8/2号(1989年4月)、ペー
ジ89−99;R.ファロウキとC.ネフの論文「平面
オフセット曲線の代数学特性」、CAGD、ページ29
7−299;同じく、R.ファロウキとC.ネフの論文
「平面オフセット曲線の分析学特性」、CAGD、ペー
ジ297−299;J.ホスチェクの論文「オフセット
曲線のスプライン近似法」、CAGD5号(1988
年)、ページ33−40;R.クラスの論文「平面曲線
のためのオフセットスプライン近似法」、CAD15/
5号(1983年9月)、ページ297−299)。オ
フセット曲線については、様々な定義がなされている。
しかしながら、そのうちの有力な定義では、中心線つま
り「母線」曲線からのオフセット距離wが、中心線曲線
の各点の単位法線に沿って定義されているものである。
単位法線の符号設定が無い場合は、オフセット曲線は中
心曲線の両側に存在するものと定義される。普通、用語
「左オフセット曲線」というと、プラスの符号の単位法
線でのオフセット曲線を指し、用語「右オフセット曲
線」はマイナス符号の単位法線でのオフセット曲線を指
す。さらにまた、用語「オフセット曲線」は、左オフセ
ット曲線と右オフセット曲線のどちらかを意味し、用語
「オフセット曲線対」は左オフセット曲線と右オフセッ
ト曲線の両方を意味する。 【0007】オフセット曲線の汎用性が増すにつれて、
その他の従来技法よりも強力な曲線や曲面を表現する手
段となってきており、今ではその使用方法も自然な適用
に限定されている。例えば、オフセット曲面は、許容範
囲ゾーンを表現するのに(J.ホスチェクの論文「オフ
セット曲線のスプライン近似法」、CADG5号(19
88年)、ページ33−40など)、内側面を基準とす
る物体の外側面を表現するのに(J.ホスチェクの論文
「オフセット曲線のスプライン近似法」、CADG5号
(1988年)、ページ33−40やR.クラスの論文
「平面曲線のためのオフセットスプライン近似法」、C
AD15/5号(1983年9月)、ページ297−2
99など)、さらに、工作機械での加工パス線を表現す
るのに(R.ファロウキとC.ネフの論文「平面オフセ
ット曲線の分析学特性」、CAGD、ページ297−2
99など)利用されている。 【0008】 【発明が解決しようとする課題】オフセット曲線利用の
多くは、一定幅オフセット曲線に属する物理的問題に終
始している。スプライン曲線の一定幅オフセット曲線は
スプライン曲線ではないので(普通、代数学的ではな
い)、オフセット曲線の代数学的曲線(一般に論理的ま
たは非論理的曲線)への効率的な近似方法が重視されて
いる。しかしながら、オフセット曲線は、可変幅をもつ
場合がある。 【0009】例えば、ヤンの米国特許第4、620、2
87号(以下ヤンの特許と呼ぶ)で開示されているの
は、一定幅曲線つまり一定幅をもつストロークを表現す
る方法と装置である。ヤンの特許では、曲線が1連のベ
ジェ曲線により近似される技術が開示されている。各ベ
ジェ曲線は、予め決められた幅をもつ対応矩形で定義さ
れる所定幅を備えている。各矩形の端部は滑らかにされ
て丸められているので、隣接した矩形が一定幅をもつ曲
線に近似する。 【0010】別の従来例では、一定立方Bスプライン曲
線の可変オフセット近似を元にしたブラシストロークの
モデル化方法が、B.ファムの論文「表現ブラシ描
線」、CVGIP:図形モデルと画像処理、第53巻1
号(1991年1月)、ページ1−6(以下ファムの論
文と呼ぶ)に記述されている。まず、操作者によりブラ
シ描線を表す曲線上の複数の点つまりノットが特定され
る。反転アルゴリズムを使って、立方Bスプライン曲線
の制御角頂を算出し、ノットから1個の立方Bスプライ
ン曲線を作成する。次に、源曲線の各ノット毎にオフセ
ット距離が与えられると、対応オフセットノットが得ら
れる。源曲線の対応ノットから曲線に垂直な方向へのオ
フセット距離が測定される。そして、反転アルゴリズム
を使って、複数のオフセットノットからオフセット制御
角頂が演算されて、オフセットノットの立方オフセット
Bスプライン曲線が作成される。 【0011】本発明の目的は、中心線曲線と左右オフセ
ット曲線から自由形式ストローク(描線)を生成し表示
する新規で有用な方法と装置を提供することである。特
に、本発明の方法と装置は、中心線曲線と左右オフセッ
ト曲線に沿て複数の点を生成し表示するものである。 【0012】 【課題を解決するための手段】上記目的を達成するため
の、下記に詳細に記述してある、本発明の自由形式スト
ロークを生成し表示する方法は、メモリー部と表示部と
を備えるデータ処理装置にて実行される。本発明の一態
様の方法は、自由形式ストロークの中心線曲線に沿った
複数の点をメモリー部内で生成する工程であって、前記
中心線曲線がパラメータtの関数として変化し、前記中
心線曲線に沿った前記複数の点の各々が関数x(t)で
定義される水平座標と関数y(t)で定義される垂直座
標と関数w(t)で定義される幅とに関連する工程と、
前記中心線曲線に沿った前記複数点の各々に関連する法
線ベクトルを生成する工程と、前記中心線曲線に沿う前
記複数の点の内の対応する点に対して、メモリー部内
で、右側オフセット曲線と左側オフセット曲線に沿って
複数の点を生成する工程であって、前記左右オフセット
曲線が前記自由形式ストロークの輪郭(外側境界)を定
義しかつ前記パラメータtの関数として変化し、前記左
右オフセット曲線に沿う複数の点の各々が前記中心線曲
線に沿う対応点に関連する水平座標、垂直座標、幅、法
線ベクトルに従って生成される水平オフセット座標と垂
オフセット標とに関連する工程と、前記左右オフセ
ット曲線に沿う点の図形表示を表示部で行って、自由形
式ストロークの輪郭(外側境界)を表示する工程と、か
ら成る。 【0013】また、本発明のほかの態様は、自由形式ス
トロークの生成方法であって、前記自由形式ストローク
の中心線曲線に沿って複数の点を決定する工程であっ
て、前記中心線曲線がパラメータtの関数として変化
し、前記中心線曲線に沿った前記複数の点の各々が関数
x(t)で定義される水平座標関数y(t)で定義さ
れる垂直座標、及び、関数w(t)で定義される幅を有
する、工程と、前記中心線曲線に沿った前記複数点の各
における前記中心線曲線に対する法線ベクトルを生成
する工程と、右側オフセット曲線及び左側オフセット曲
線に沿って複数の点の水平及び垂直オフセット座標を決
定することにより前記自由形式ストロークの輪郭を生成
する工程であって、前記右側オフセット曲線及び左側オ
フセット曲線に沿った前記複数の点の各々が前記中心線
曲線に沿った対応する点の右側及び左側に各々配置さ
れ、前記対応する点における前記法線ベクトルの方向
に、前記対応する点における前記幅により前記対応する
点から離される、工程と、を有する自由形式ストローク
の生成方法を提供する前記中心線曲線に沿って複数の
点を決定する工程は、前記関数x(t)及びy(t)を
特定する工程と、前記パラメータtの値の所定の数を特
定する工程と、を有してもよい。また、前記中心線曲線
に沿って複数の点を決定する工程は、前記中心線曲線の
形状を決定するために複数の制御点を特定する工程と、
セグメントを特定するために前記複数の制御点から選択
された制御点をグループ化する工程であって、前記セグ
メントを特定する前記制御点の2つは前記セグメントの
端点であり、前記端点は前記中心線曲線に沿った点であ
る、工程と、複数の追加制御点を特定するために前記セ
グメントをさらに分割する工程であって、前記追加制御
点の一つは前記中心線曲線に沿った点である、工程と、
を有してもよい。 【0014】また、本発明の目的の一つである、下記に
詳細に記述されている、自由形式ストロークを生成し表
示する装置は、自由形式ストロークの中心線曲線に沿っ
て複数の点を生成する回路であって、前記中心線曲線が
パラメータtの関数として変化し、前記中心線曲線に沿
う前記複数の点の各々が関数x(t)で定義される水平
座標と関数y(t)で定義される垂直座標と関数w
(t)で定義される幅とに関連する回路と、前記中心線
曲線に沿った前記複数の点の各々に関連する法線ベクト
ルを生成する回路と、前記中心線曲線に沿う前記複数の
点の内の対応する点に対して、右側オフセット曲線と左
側オフセット曲線に沿って複数の点を生成する回路であ
って、前記左右オフセット曲線が前記自由形式ストロー
クの輪郭(外側境界)を定義しかつ前記パラメータtの
関数として変化し、前記左右オフセット曲線に沿う前記
複数の点の各々が前記中心線曲線に沿う対応点に関連す
る水平座標、垂直座標、幅、法線ベクトルに従って生成
される水平オフセット座標と垂直オフセット座標とに関
連する回路と、前記左右オフセット曲線に沿う複数の点
の図形表示を行い、前記自由形式ストロークの輪郭(外
側境界)を表示する表示部と、から成る。 【0015】なお、好適な実施例では、前記中心線曲線
はスプライン曲線であって、また、中心線曲線上の前記
複数点は、所定の終了基準値に従って細分割技法にて生
成されるものとする。 【0016】 【実施例】本発明の好適な実施例を、付随図面を参照し
て説明する。なお、図面中の同様のまたは相当する部品
には同様の番号が付けてある。 【0017】図1に示されているのは、自由形式ストロ
ーク(描線)を生成し表示するデータ処理システム10
である。データ処理システム10は、メモリー30、表
示装置40、入力装置50に接続されたプロセッサー2
0から成る。 【0018】入力装置50は、データ処理システム10
の操作者が生成表示される自由形式ストロークのデータ
をプロセッサー20へ入力できるよう、例えば、キーボ
ード、マウス、タッチ画面パネル、デジタイザーのいず
れかで構成されている。メモリー30は、プロセッサー
20で使用する処理域や格納域をもつ、例えば、光学デ
ィスク、磁気ディスク、あるいは半導体メモリーから構
成されている。プロセッサー20は、自由形式ストロー
クの中心線曲線に沿って複数の点及び左右オフセット曲
線に沿って複数の点を生成することができ、これら点の
図形表示を表示装置40で行うことができる、例えば、
標準CPUで構成されている。例えば、モトローラ68
0x0モデル、インテル/IBMのR6000モデル、
SPARCモデルなどが、プロセッサー20として使用
できる。表示装置40は、プロセッサー20で生成され
た中心線曲線や左右オフセット曲線に沿った点を図形表
示できる、例えば、カラーまたはモノクロ画像表示装置
で構成されている。同様に、表示装置40は、レーザー
プリンタやプロッターなどのプリント装置で構成しても
よい。 【0019】図1のデータ処理システムの動作の多様な
実施例を、図2から7を参照してさらに詳しく説明す
る。 【0020】第1実施例 図2に示されているのは、本発明の第1実施例に従った
図1のデータ処理システムの動作のフローチャート10
00である。図1のデータ処理システム10と図3
(a)から3(g)を参照して、フローチャート100
0を説明する。 【0021】ステップS1010では、データ処理シス
テム10の操作者が、生成表示される自由形式曲線の中
心線曲線p(t)に沿った各点に関連する水平及び垂直
座標を特定するために、関数x(t)と関数y(t)と
をそれぞれ入力装置50から入力する。当業者には明白
であるが、関数x(t)とy(t)は、中心線曲線の所
望間隔沿う各点で法線ベクトルを生成する方法にて中心
線曲線p(t)が定義される範囲に限定されている。 【0022】それ故、本発明によれは、作成表示される
自由形式曲線の中心線曲線はパラメータtの関数として
変化し、中心線曲線に沿った各点は、x(t)関数で定
義される水平座標とy(t)関数で定義される垂直座標
とに関連する。 【0023】関数x(t)、関数y(t)、関数p
(t)の例が、それぞれ図3(a)、3(b)、3
(c)に開区間(0、1)で示されている。図(a)、
3(b)、3(c)で明かなように、x(t)=sin
(Πt)、y(t)=sin(2Πt)、p(t)=
[x(t)、y(t)]である。コンピュータグラフィ
ックでは、パラメータが開区間(0、1)に限定される
場合に、本発明の中心線曲線のようなパラメータ立方曲
線を考察することは通例である。例えば、ベジェスパイ
ライン曲線は、どこよりも開区間(0、1)内で数値的
に安定することがよく知られている。従って、本発明で
は、パタメータtがこの区間範囲に限定されるのが望ま
しい。また、関数p(t)が(0、1)区間でパラメー
タ化される場合、パラメータ段階はt/2より大きくな
らないことが望ましい。ステップS1010の終了後、
動作はステップS1020へ移る。 【0024】ステップS1020では、中心線曲線p
(t)に沿った各点に関する幅を特定する関数w(t)
が、操作者により入力装置50から入力される。かくし
て、中心線曲線に沿った各点は、水平垂直座標及び垂直
座標に加えて、関数w(t)で定義される幅とも関連す
る。関数w(t)の例が、図3(d)の区間(0、1)
に示されている。図3(d)のように、w(t)=1/
2{1+sin(Π+Πt/2)}である。ステップS
1020の動作終了後、次にステップS1030へ進
む。 【0025】ステップS1030では、プロセッサー2
0により、メモリー30内に中心線曲線p(t)に沿う
複数の点が生成される。詳しく言えば、所望区間内での
パラメータの変動値に対して、プロセッサー20は、関
数x(t)、y(t)、w(t)を用いて、中心線曲線
p(t)に沿う複数の点と関連する水平座標、垂直座
標、幅をそれぞれ生成する。前述のように、好ましく
は、区間は(0、1)であって、パラメータtの最大ス
テップサイズはt/2である。その後、プロセッサー2
0は算出された座標と幅をメモリー30に記憶する。 【0026】理論的に言えば、プロセッサー20は中心
線曲線に沿う無限数の点に関連する座標、幅を生成可能
ではあるが、実際には、自由形式ストロークを正確に表
示するには、所定数の点の座標と幅だけが必要とされ
る。プロセッサー20で生成される座標と幅のための点
の数は、メモリー30の容量、プロセッサー20の処理
速度、表示装置40の解像度などの多様な条件を考慮し
て操作者によって決定されるのが望ましい。ステップS
1030の終了後、動作はステップS1040へ移動す
る。 【0027】ステップS1040では、ステップS10
30で中心線曲線に沿て生成された各点に関連する法線
ベクトルが、プロセッサー20にて生成される。また、
座標と幅が生成される区間(0、1)内のパラメータt
の各値毎に、下記のように表される単位法線ベクトルn
(t)がプロセッサー20にて生成されるのが望まし
い。 【数1】 【0028】等式(2−0)から明らかのように、単位
正規べクトルn(t)はx成分とy成分の両方をもつ。
各法線ベクトルは、生成後にプロセッサー20によりメ
モリー30へ記憶されるのが望ましい。図3(c)の中
心線曲線p(t)と共に単位法線ベクトル値n(t)の
例が、図3(e)にそれぞれt=0、1/4、1/2、
3/4、1として示されている。ステップS1040の
終了後、動作はステップS1050へ進む。 【0029】ステップS1050では、プロセッサー2
0の作用により、メモリー30内に、ステップS103
0で中心線曲線に沿って生成された複数の点の内の対応
する点に対して、左右オフセット曲線に沿う複数の点が
生成される。左右オフセット曲線はパラメータtの関数
として変化し、これらオフセット曲線に沿う各点は、中
心線曲線に沿う対応点と関連する水平座標、垂直座標、
幅、法線ベクトルに従ってプロセッサー20で生成され
た水平座標と垂直座標に関連する(結び付く)。つま
り、プロセッサー20は、所望区域内でのパラメータt
の値に対して、メモリ30に記憶された座標、幅、法線
ベクトルからオフセット曲線に沿う点と関連する水平座
標や垂直座標を生成する。このステップでの結果は、下
記の等式(3)で定義されるように、点o(t)の軌跡
となる。 o(t)=p(t)±w(t)n(t) 等式(3−0) 【0030】w(t)>0の場合、右側オフセット曲線
に沿う点には等式(3)でマイナス符号が付加され、左
側オフセット曲線の点にはプラス符号が付与される。図
3(c)から3(e)のそれぞれの関数p(t)、w
(t)、n(t)での点o(t)の軌跡は、図3(f)
に示されている。オフセット曲線に沿う各点に関連する
座標は、生成された後、プロセッサー20によりメモリ
30へ記憶される。ステップS1050の動作終了後、
ステップS1060へ進む。 【0031】ステップS1060では、プロセッサー2
0により、ステップS1050で左右オフセット曲線に
沿って生成された点の図形表示が表示装置40で実行さ
れ、自由形式ストロークの輪郭(外側境界)が表示され
る。特に、プロセッサー20は、メモリー30からオフ
セット曲線に沿う点の座標を読み取り、表示装置40を
制御して、読み取られた座標に対応する表示装置40の
画素の位置にそれらの点を表示する。このオフセット曲
線に沿う点の座標と表示装置40の画素位置との対応関
係を特定する方法については、当業者にはよく知られて
おり、その詳細な説明は省略する。図3(a)から3
(f)で示されている前述の例では、表示装置40は図
3(g)のような画像を表示する。 【0032】第2実施例 本発明の第2実施例では、自由形式曲線の中心線曲線が
スプライン曲線であって、中心線曲線に沿った点は細分
割方法にて生成される。本発明において、スプライン曲
線は、一連の制御点列にて定義される形状の曲線であっ
て、当業者には既知の曲線である。スプライン曲線の例
として、ベジェ曲線やBスプライン曲線がある。 【0033】図4に示されているのは、本発明の第2実
施例による図1のデータ処理装置10の動作を説明する
フローチャート2000である。図1のデータ処理装置
10と図5(a)から5(f)のグラフ表示とを参照し
てフローチャート2000を説明する。 【0034】ステップS2010では、中心線曲線の形
状を定義するよう、複数の制御点に関連する水平座標、
垂直座標、幅が操作者により入力装置50から入力され
る。説明を簡単にするため、操作者は10個の制御点に
関連する座標と幅を入力するものとする。例えば、図5
(a)に示されているように、制御点AからJに対して
水平座標xA−J、垂直座標yA−J、幅wA−Jがそ
れぞれ入力される。入力された座標と幅はプロセッサー
20によりメモリー30に記憶される。なお、制御点に
関連する水平座標と垂直座標は、表示装置40の画素の
水平位置と垂直位置にそれぞれ対応している。例えば図
6のように、表示装置40の各画素の位置は、それぞ
れ、制御点AからJに関連する水平座標値xA−Jと垂
直座標値yA−Jとに対応する水平座標xと垂直座標y
とに関連する。特に、表示装置40の中央画素はxy座
標が(0、0)に関連し、それゆえ制御点に関連する水
平座標と垂直座標がプラス値またはマイナス値になるが
望ましい。 【0035】ステップS2010は、多くの方法で実行
できる。例えば、入力装置50がフロッピーディスクド
ライブを装備していると、各制御点に関連する座標や幅
はフロピーディスクに記憶され、直接プロセッサー20
へ転送させてメモリー30へ記憶させることもできる。
また別法として、入力装置50がキーボードを備える場
合は、操作者が座標や幅をタイプ入力すればプロセッサ
ー20で読み取られる。更に、入力装置40はマウスを
装備するのが望ましく、図6に示されているように、マ
ウスを制御して、画面40’に沿ってポインター200
を制御点と関連する所望座標に対応する画面40’上の
点へと移動する。そして、データ処理システム10へ座
標を入力するには、操作者は、例えば、画面40’の制
御位置でマウスをクリックすればよい。幅を入力するに
は、図6に図示されているように、本発明では半径Rで
各制御点を中心とする円を提供する。半径Rは、各制御
点と関連する幅に一致している。制御点に関連する幅を
設定するには、操作者は、マウスを操作して画面上のポ
インター200を制御点を囲む円の円周上に合わせる。
円の円周線を内側あるいは外側へ引っ張れば、操作者
は、円の半径Rを変更することができ、各制御点での幅
を変えることができる。更に、制御点での幅は、対応す
る円の半径Rが変化するたびに、自動的にプロセッサー
20によりメモリー30へ記憶されるのが望ましい。ス
テップS2010の終了後、動作はステップS2020
へ移る。 【0036】ステップS2020では、セグメントを生
成する為に、プロセッサー20は制御点の内の選択され
たものをグループ化する。好ましくは、プロセッサー2
0により制御点が4つのグループにグループ化され、4
つの制御点の各グループが一つのセグメントを特定し、
各グループの2個の制御点でセグメントの両端点を特定
する。中心線曲線は、1個または端部どうし接続された
2個以上のセグメントで構成されるのはいうまでもな
い。例えば、図5(a)に関連して、プロセッサー20
は、制御点AからDまでを共にグループ化し、端点とし
ての制御点AとDをもつセグメントABCDを特定し、
制御点DからGまでを共にグループ化し、端部制御点D
とGをもつセグメントDEFGを生成しており、更に、
制御点GからJまでを共にグループ化し、端部制御点G
とJをもつセグメントGHIJを生成している。なお、
図5(a)から明らかなように、プロセッサー20は、
制御点AからJまでをグループ化し、隣接セグメントが
共通端点をもつようにしてもよい。また、各セグメント
の両端点が中心線曲線に沿う実際の点であってもよい。 【0037】ステップS2030では、プロセッサー2
0がステップS2020で特定された各セグメントを細
分割して、複数の追加制御点を特定する。追加制御点の
うちの1個が中心線曲線に沿う一点である。詳しく言え
ば、プロセッサー20が1個のセグメントを細分割する
毎に、2個の追加セグメントを特定し、中心線曲線に沿
う一点である1個の追加制御点が生成される。 【0038】図7のフローチャート3000を参照し
て、ステップS2030をさらに詳しく説明する。説明
を簡単にするため、図5(b)のセグメントABCDの
細分割だけを説明する。もちろん、プロセッサー20
は、セグメントABCDの細分割の後、前、または同時
に他のセグメントDEFG、GHIJも細分割すること
が理解されるべきである。 【0039】図7に示されているように、ステップS3
010では、プロセッサー20がメモリー30から制御
点A、B、C、Dの各々に関連する水平座標、垂直座
標、幅を読み取る。 【0040】ステップS3020では、下記の等式から
制御点AとBの中間点に位置する点Kに関連する水平座
標xK、垂直座標yK、幅wKがプロセッサー20にて
生成される。 【数2】【0041】また、同じくステップS3020では、下
記の等式から制御点BとCの中間点に位置する点Lに関
連する水平座標xL、垂直座標yL、幅wLがプロセッ
サー20にて生成される。 【数3】 【0042】更に、ステップS3020では、下記の等
式から制御点CとDの中間点に位置する点Mに関連する
水平座標xM、垂直座標yM、幅wMがプロセッサー2
0にて生成される。 【数4】 【0043】点K、L、Mは、図5(b)に図形的に示
されている。ステップS3020の動作終了後、ステッ
プS3030へ進む。 【0044】ステップS3030では、下記の等式から
制御点KとLの中間点に位置する点Nに関連する水平座
標xN、垂直座標yN、幅wNがプロセッサー20にて
生成される。 【数5】 【0045】また、同じくステップS3030では、下
記の等式から制御点LとMの中間点に位置する点Oに関
連する水平座標xO、垂直座標yO、幅wOがプロセッ
サー20にて生成される。 【数6】【0046】中間点NとOは、図5(c)に図形的に示
されている。ステップS3030の動作終了後、ステッ
プS3040へ進む。 【0047】次のステップS3040では、下記の等式
から制御点NとOの中間点に位置する点Pに関連する水
平座標xP、垂直座標yP、幅wPがプロセッサー20
にて生成される。 【数7】 【0048】点Pは、図5(d)に図形的に示されてい
る。続いて、中間点Pに関連する水平座標、垂直座標、
幅はプロセッサー20によりメモリー30へ記憶され
る。図5(d)に示されているように、前述の細分割処
理の結果、5個の追加制御点、即ち、点K、N、P、
O、Mが作成され、追加制御点Pは中心線曲線に沿う点
となる、。同じく図5(d)に図示されているように、
前述の細分割処理の結果、2個の追加セグメント、即
ち、セグメントAKNPとセグメントPOMD、が形成
され、それぞれ端部制御点AとP、PとDをもつ。ステ
ップS3040の終了後、動作はステップS3050へ
進む。 【0049】ステップS3050では、図4のステップ
S2030でプロセッサー20で特定されたセグメント
の各々について、ステップS3010からS3040の
処理がプロセッサー20で実行される。即ち、図7のス
テップS3010からS3050は、本発明の第2実施
例の細分割処理の1パスを構成する。図7のセグメント
に実行された細分割処理の1パスの結果、総計15個の
追加制御点が作成され、その内の3個が中心線曲線に沿
った点になる。図7で説明したステップS3050の動
作終了後、図4のステップS2040へ進む。 【0050】ステップS2040では、プロセッサー2
0が終了テストを行い、所定の終了基準条件が満足され
ているかを判定する。特に、プロセッサー20は、中心
線曲線に沿う点である選択数の制御点が生成されている
か否かが調べられる。制御点の選択数は、中心線曲線を
生成する場合の操作者が望む精度によって異なる。生成
される中心線曲線に沿う制御点の数が多いほど、曲線の
精度が高くなる。中心線曲線に沿う制御点の適正(十分
な)数が生成されたか否かを決める方法はたくさん知ら
れているが、本発明の第2実施例では、プロセッサー2
0は、ステップS2030で生成された各追加セグメン
トが直線に近似するような精度に決めて、次に、追加セ
グメントの各制御点に関連する幅が一定になるような、
あるいは1次関数に近似するような精度を決める。所望
精度で、各追加セグメントが直線に近似し、追加セグメ
ントの各制御点に関連する幅が一定、あるいは1次関数
に近似すると、プロセッサー20が判断した場合、動作
は次のステップS2050へ進む。そうでない場合、動
作はステップS2020へ戻り、プロセッサー20は、
追加制御点を4つのグループにグループ化して、前述の
元のセグメントに関して述べたように、細分割される複
数の追加セグメントを生成して、中心線曲線に沿う点に
なるさらに多くの制御点を作成する。図4では細分割処
理の1パス動作後に終了テストが実施されているが、フ
ローチャート2000の連続工程のどの工程の終了後で
も細分割処理テストを実行しても構わない。 【0051】図4のステップS2050では、プロセッ
サー20により、中心線曲線に沿ってそれ以前のステッ
プで生成された各点に関連する法線ベクトルが生成され
る。例えば、セグメントABCDの細分割処理後、プロ
セッサー20は下記の等式から制御点A,P,Dに関連
する法線ベクトルNA、NP、NDを生成する。 NA=[NAx,NAy]=[(yK−yA),−(xK−xA)] (等式7−0) NP=[NPx,NPy]=[(yP−yN),−(xP−xN)] (等式7−1) ND=[NDx,NDy]=[(yD−yM),−(xD−xM)] (等式7−2) 【0052】法線ベクトルNA、NP、NDは図5
(e)に図形的に示されている。ステップS2050の
動作終了後、次のステップS2060へ進む。 【0053】ステップS2060では、プロセッサー2
0により、ステップS2050で生成された各法線ベク
トル値が正規化されて、対応する単位法線ベクトルが生
成される。例えば、法線ベクトルNA、NP、NDの生
成後、プロセッサー20は下記の等式から単位法線ベク
トルnA、nP、nDを生成する。 【数8】 【0054】ただし、上記の等式(7−0)から(8−
2)から理解されるように、法線ベクトル、単位法線ベ
クトルともそれぞれx成分とy成分とをもつ。ステップ
S2060の終了後、動作はステップS2070へ移
る。 【0055】ステップS2070では、中心線曲線に沿
って生成された複数の点の内の対応する点に対して、両
左右オフセット曲線に沿って点が、プロセッサー20に
よりメモリー30内で生成される。左右オフセット曲線
メータtの関数して変化し、左右オフセット曲
線に沿う各点は、中心線曲線に沿って生成された対応点
に関連する水平座標、垂直座標、幅、単位法線ベクトル
に従って、プロセッサー20で生成された水平座標と垂
直座標に関連する。即ち、左右オフセット曲線に沿う各
点は、中心線曲線に沿う対応点から、その中心線曲線に
沿う対応点に関連する単位法線ベクトルに平行な方向に
距離wに位置することになる。例えば、単位法線ベクト
ルnA、nP、nDの生成後、プロセッサー20は、下
等式のように、制御点Aに対応する右側オフセット
点ROAと左側オフセット点LOAとを生成する。な
お、右側オフセット点ROAは、水平座標xROAと垂
直座標yROAとに関連し、左側オフセット点LOA
は、水平座標xLOAと垂直座標yLOAとに関連す
る。 xROA=xA+(nAx)(WA) 等式(9−0) yROA=yA+(nAy)(WA) 等式(9−1) xLOA=xA−(nAx)(WA) 等式(9−2) yLOA=yA+(nAy)(WA) 等式(9−3) 【0056】同様に、プロセッサー20により、制御点
Pに対応する右側オフセット点ROPと左側オフセット
点LOPとが下記のように生成される。ただし、右側オ
フセット点ROPは、水平座標xROPと垂直座標yR
OPとに関連し、左側オフセット点LOPは、水平座標
xLOPと垂直座標yLOPとに関連する。 xROP=xP+(nPx)(WP) 等式(10−0) yROP=yP+(nPy)(WP) 等式(10−1) xLOP=xP−(nPx)(WP) 等式(10−2) yLOP=yP−(nPy)(WP) 等式(10−3) 【0057】さらに同様に、プロセッサー20は、下記
に等式のように、制御点Dに対応する右側オフセット点
RODと左側オフセット点LODとを生成する。ただ
し、右側オフセット点RODは、水平座標xRODと垂
直座標yRODとに関連し、左側オフセット点LOD
は、水平座標xLODと垂直座標yLODとに関連す
る。 xROD=xD+(nDx)(WD) 等式(11−0) yROD=yD+(nDy)(WD) 等式(11−1) xLOD=xD−(nDx)(WD) 等式(11−2) yLOD=yD−(nDy)(WD) 等式(11−3) 【0058】制御点A、P、Dに対応する左右オフセッ
ト点は、図5(f)にそれぞれ図形的に示されている。
各オフセット点に関連する水平座標と垂直座標は、プロ
セッサー20によりメモリー30へ記憶される。ステッ
プS2070の動作終了後、次のステップS2080へ
進む。 【0059】ステップS2080では、ステップS20
70の間に左右オフセット曲線に沿って生成された点
が、プロセッサー20により表示装置40上に図形表示
されて、自由形式ストロークの輪郭(外側境界)が表示
される。詳しく言えば、プロセッサー20は、メモリー
30に記憶されている左右オフセット曲線に沿って生成
された各点に関連する水平座標と垂直座標とを読み取
り、表示部40を制御して、水平座標値と垂直座標値に
対応する表示装置40上の位置に点を表示する。当然、
対応する左右オフセット点は、中心線曲線に沿う対応点
に関連する幅から決定された間隔分だけ互いに離れて表
示される。そして結果として、自由形式ストロークの輪
郭が表示される。 【0060】本発明の第2実施例は、特定の細分割処理
方法に関連して説明されているが、各制御点に関連する
水平座標と垂直座標と同じパラメータでその制御点に関
連する幅が変化する範囲において、当業者には既知のそ
の他様々な方法が本発明に適用できるには言うまでもな
い。 【0061】本発明のさらなる特徴や変更は、当業者に
は十分理解できるであろう。例えば、図1のデータ処理
システム10は、図8のハードウエアシステム100な
どの別のハードウエアシステムに変更することができ
る。 【0062】図8に示されているように、ハードウェア
システム100は、図1のデータ処理システム10の入
力装置50と表示装置40とそれぞれ同じ役目をする入
力装置Iと描線装置Dとで構成されている。ただし、図
8のシステム100では、図1のデータ処理システム1
0のプロセッサー20とメモリー30とが、セグメント
配列制御器Q、法線ベクトル発生器V、正規化処理器
N、オフセット発生器O、終了テスト器T、細分割処理
器Sの回路に変えられている。 【0063】制御点はセグメント配列制御器Qに入力さ
れて、そこから一度に1セグメントの割合で法線ベクト
ル発生器Vとオフセット発生器Oとに転送される。法線
ベクトル発生器Vは、法線ベクトルをベクトル正規化処
理器Nへ伝送し、そこから正規化されたベクトル値がオ
フセット発生器Oへと出力される。オフセット発生器O
は、ベクトル正規化処理器Nからの正規化された法線ベ
クトル値をセグメント配列制御器Qからの制御点のw成
分にてスケール処理して、成分別に、それらの値をセグ
メント配列制御器Qから入力された制御点のx成分とy
成分とに加算する。オフセット発生器Oは、正規化され
た法線ベクトルと共に、オフセット点データを終了テス
ト器Tへ伝送する。終了テスト器Tでは、正規化された
法線ベクトルとオフセット点とから、1個またはそれ以
上の描線指令信号を描線装置Dへ送信するかどうか、同
じく、細分割処理器Sへ細分割処理をさせる信号を送信
するかどうかが、判断される。細分化処理器Sは、制御
点を細分割して、終了テスト器Tからの指令信号を受信
した場合、細分化データをさらなる処理するためセグメ
ント配列制御器Qへ転送する。適当なタイミング信号制
御を使えば、数個のセグメントが所定時間でパイプライ
ン処理可能である。 【0064】図8の個別機能の詳細については、当業者
には明白である。例えば、セグメント配列制御器は、ア
ップ/ダウンカウンターと適切配線されたメモリー配列
とで構成することができる。カウンターは、(常に以前
に生成されたアドレスからカウントアップするかあるい
はカウントダウンするか一方向カウント処理する)スタ
ック方法にてメモリーへアドレスを作成する。法線ベク
トル発生器Vには、細分化処理を実行するための1個ま
たはそれ以上の加算器が必要である。ベクトル正規化処
理器Nでは、平方根抽出器と乗算器が必要である。これ
ら機能は、モトローラ680x0シリーズモデルなどの
標準浮動小点補助プロセッサーで実現できる。さらに、
オフセット発生器Oには1個またはそれ以上の加算器、
終了テスト器には数個の加算器と条件テスト論理回路、
細分化処理器Sには桁移動にて2で割り算するための配
線と1個以上の加算が装備されているのが望ましく、ま
た、描線装置Dは標準描線装置である。
【図面の簡単な説明】 【図1】本発明による自由形式曲線を作成し表示するデ
ータ処理システムのブロック図である。 【図2】本発明の第1実施例の図1記載のデータ処理シ
ステムの動作を説明するフローチャートである。 【図3】図3(a)から3(g)は、図2のフローチャ
ートに関する説明図である。 【図4】本発明の第2実施例の図1記載のデータ処理シ
ステムの動作を説明するフローチャートである。 【図5】図5(a)から5(f)は、図4のフローチャ
ートに関する説明図である。 【図6】制御点に関連する水平座標、垂直座標、幅を図
1のデータ処理システムに入力する方法の説明図であ
る。 【図7】図4のフローチャートの細分割動作の一例を説
明するフローチャートである。 【図8】本発明による自由形式曲線を作成し表示するハ
ードシステムのブロック図である。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 11/20 G09G 5/00

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】 プロセッサーおよびメモリーを有する、
    自由形式ストロークの生成方法を実行する装置であっ
    て、 前記プロセッサーにより、前記自由形式ストロークの中
    心曲線に沿って複数の点を決定する工程であって、前記
    自由形式ストロークの中心線曲線がパラメータtの関数
    として変化し、前記中心線曲線に沿った前記複数の点の
    各々に対する関数x(t)で定義される水平座標、関数
    y(t)で定義される垂直座標、および関数w(t)で
    定義される幅が前記メモリーに記憶され、 前記プロセッサーにより、前記中心線曲線の形状を決定
    するために複数の 制御点を特定する工程と、 前記プロセッサーにより、セグメントを生成するために
    前記複数の制御点 から選択された制御点を1つもしくは
    それ以上のグループにグループ化する工 程であって、各
    々のグループが一つのセグメントを特定し、各々のグル
    ープの 2個の制御点でセグメントの両端点が特定され、
    前記端点は前記中心線曲線に 沿った点である、工程と、 前記プロセッサーにより、複数の追加制御点を特定する
    ために前記セグメン トをさらに分解する工程であって、
    前記追加制御点の一つは前記中心線曲線に 沿った点であ
    る、該工程と、 を含む、該工程と、 前記プロセッサーにより、前記中心線曲線に沿った前記
    複数点の各点における前記中心線曲線に対する法線ベク
    トルを生成する工程と、 前記プロセッサーにより、右側オフセット曲線および左
    側オフセット曲線に沿って複数の点の水平および垂直オ
    フセット座標を決定することにより前記自由形式ストロ
    ークの輪郭を生成する工程であって、前記右側オフセッ
    ト曲線および左側オフセット曲線に沿った前記複数の点
    の各々が前記中心線曲線に沿った対応する点の右側およ
    び左側に各々配置され、前記対応する点における前記対
    応する点における前記幅により前記対応する点から離さ
    れる、該工程と、 を有する自由形式ストロークの生成方法を実行する装
    置。
JP33671692A 1991-12-02 1992-11-24 自由形式ストロークの生成方法を実行する装置 Expired - Fee Related JP3377815B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/801,291 US5325477A (en) 1991-12-02 1991-12-02 Method and apparatus for generating and displaying freeform strokes
US801291 1991-12-02

Publications (2)

Publication Number Publication Date
JPH05250480A JPH05250480A (ja) 1993-09-28
JP3377815B2 true JP3377815B2 (ja) 2003-02-17

Family

ID=25180704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33671692A Expired - Fee Related JP3377815B2 (ja) 1991-12-02 1992-11-24 自由形式ストロークの生成方法を実行する装置

Country Status (4)

Country Link
US (1) US5325477A (ja)
EP (1) EP0545664B1 (ja)
JP (1) JP3377815B2 (ja)
DE (1) DE69229669T2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP3641283B2 (ja) * 1994-04-08 2005-04-20 富士通株式会社 グラフィックデータ生成装置
US6509912B1 (en) * 1998-01-12 2003-01-21 Xerox Corporation Domain objects for use in a freeform graphics system
US6067094A (en) * 1998-04-07 2000-05-23 Adobe Systems Incorporated Brushstroke envelopes
US6498868B1 (en) 1998-06-11 2002-12-24 Xerox Corporation Image scaling using pattern matching to select among scaling algorithms
US6870550B1 (en) * 1999-04-26 2005-03-22 Adobe Systems Incorporated Digital Painting
US6501855B1 (en) 1999-07-20 2002-12-31 Parascript, Llc Manual-search restriction on documents not having an ASCII index
KR100519696B1 (ko) * 1999-12-27 2005-10-12 한국전자통신연구원 스윕/언스윕을 이용한 평면 물체의 오프셋 곡선 계산 방법
DE10226270A1 (de) * 2002-06-07 2004-01-08 Cocreate Software Gmbh & Co. Kg Verfahren und Computersystem zum Erzeugen einer mehrdimensionalen Abstandsfläche
DK2453661T3 (en) * 2009-07-10 2017-10-30 Panasonic Ip Man Co Ltd PLAYBACK, RECORDING PROCEDURE AND SYSTEM, INCLUDING A RECORDING MEDIUM AND PLAYBACK
US8270807B2 (en) * 2009-07-13 2012-09-18 Panasonic Corporation Recording medium, playback device, and integrated circuit
US9786083B2 (en) * 2011-10-07 2017-10-10 Dreamworks Animation L.L.C. Multipoint offset sampling deformation
AU2012202651A1 (en) 2012-05-04 2013-11-21 Canon Kabushiki Kaisha A method for stroking paths
TWI476640B (zh) 2012-09-28 2015-03-11 Ind Tech Res Inst 時間資料序列的平滑化方法與裝置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4674058A (en) * 1981-12-07 1987-06-16 Dicomed Corporation Method and apparatus for flexigon representation of a two dimensional figure
US4620287A (en) * 1983-01-20 1986-10-28 Dicomed Corporation Method and apparatus for representation of a curve of uniform width
JPS61246877A (ja) * 1985-04-25 1986-11-04 Canon Inc 図形変換装置
US4855935A (en) * 1987-05-08 1989-08-08 Sun Microsystems, Inc. Method and apparatus for rendering vectors using bresenham parameters
JP2752975B2 (ja) * 1987-09-25 1998-05-18 株式会社東芝 3次曲線プロット方法
US4912659A (en) * 1987-10-30 1990-03-27 International Business Machines Corporation Parallel surface processing system for graphics display
US4933889A (en) * 1988-04-29 1990-06-12 International Business Machines Corporation Method for fine decomposition in finite element mesh generation
JP2659557B2 (ja) * 1988-07-27 1997-09-30 株式会社日立製作所 描画システム及び描画方法
US5212769A (en) * 1989-02-23 1993-05-18 Pontech, Inc. Method and apparatus for encoding and decoding chinese characters

Also Published As

Publication number Publication date
US5325477A (en) 1994-06-28
EP0545664A3 (ja) 1994-01-05
JPH05250480A (ja) 1993-09-28
EP0545664A2 (en) 1993-06-09
DE69229669D1 (de) 1999-09-02
EP0545664B1 (en) 1999-07-28
DE69229669T2 (de) 1999-12-16

Similar Documents

Publication Publication Date Title
JP3377815B2 (ja) 自由形式ストロークの生成方法を実行する装置
Lévy et al. Least squares conformal maps for automatic texture atlas generation
Nealen et al. A sketch-based interface for detail-preserving mesh editing
Sheng et al. Triangulation of trimmed surfaces in parametric space
Hinds et al. Interactive garment design
Ma et al. Parameterization of randomly measured points for least squares fitting of B-spline curves and surfaces
Agrawala et al. 3D painting on scanned surfaces
Rockwood et al. Real-time rendering of trimmed surfaces
Blinn A generalization of algebraic surface drawing
US5892691A (en) Method, apparatus, and software product for generating weighted deformations for geometric models
US5107444A (en) Method and apparatus for flattening three-dimensional surfaces
AU747230B2 (en) Longest-edge refinement and derefinement system and method for automatic mesh generation
US20010056308A1 (en) Tools for 3D mesh and texture manipulation
US20110202856A1 (en) Systems and methods for interfacing with a virtual object in a haptic virtual environment
JPH06223197A (ja) グラフィック画像をテッセレーション化する方法および装置
GB2383245A (en) Texture data generator
Akman et al. Sweeping with all graphical ingredients in a topological picturebook
JPH05269956A (ja) 任意の線に沿って組版する電子組版装置
US6392648B1 (en) Three dimensional graphical display generating system and method
JP3792584B2 (ja) 工具経路面計算方法、工具経路面計算プログラム及び工具経路面計算プログラムを記録した記録媒体
Bornik et al. Interactive editing of segmented volumetric datasets in a hybrid 2D/3D virtual environment
CN110046335B (zh) 一种外形检测报告的快速生成方法
JP3786412B2 (ja) フィレット作成方法、及び3次元cadプログラム
JP3147391B2 (ja) 3次元境界適合メッシュ分割における曲面の設定方法及びその装置
Mykhaylov et al. 3D shape modeling using perturbation functions

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: 20021119

LAPS Cancellation because of no payment of annual fees