JPH11328431A - スケッチを基にした曲線の編集 - Google Patents
スケッチを基にした曲線の編集Info
- Publication number
- JPH11328431A JPH11328431A JP11100518A JP10051899A JPH11328431A JP H11328431 A JPH11328431 A JP H11328431A JP 11100518 A JP11100518 A JP 11100518A JP 10051899 A JP10051899 A JP 10051899A JP H11328431 A JPH11328431 A JP H11328431A
- Authority
- JP
- Japan
- Prior art keywords
- curve
- points
- sketch
- existing
- trajectory
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
を編集する方法及び装置を提供する。 【解決手段】 本発明方法は、入力としてスケッチ曲線
を受取ることを包含している。該スケッチ曲線は第一修
正端点と第二修正端点とを有している。該既存曲線にお
ける第一ターゲット端点及び第二ターゲット端点を見つ
け出すことによって該既存の曲線のターゲットセクショ
ンを計算する。第一ターゲット端点は、第一修正端点に
最も近い既存の曲線上の点であり、且つ第二ターゲット
点は第二修正端点に最も近い既存曲線上の点である。該
ターゲットセクションは該既存の曲線から除去される。
置換曲線が作成され且つターゲットセクションの代わり
に既存の曲線内に挿入する。該既存の曲線及び置換曲線
はそれらの夫々の隣りの端点において整形される。
Description
タグラフィックシステムに関するものである。
いては、曲線は、しばしば、グラフィックとして描画さ
れる。然しながら、曲線は、典型的に、例えばマウス又
はグラフィックタブレット等の入力装置を使用してフリ
ーハンドの所作で描画することは困難である。不所望の
凹凸及び平坦部分が発生することがしばしばである。
る場合には、アーチストは不所望の区域内に別の直線又
は曲線を描画し、不所望の部分をカバーすることによっ
て曲線を修正することが可能である。繰り返し直線及び
曲線を付加することは「スケッチング(sketchi
ng)」と呼称される場合がある。曲線が数学的な式に
よって表わされるコンピュータグラフィックシステムに
おいては、単一の所望の曲線の様相を得るために1つの
曲線の上に別の曲線を積層させることは望ましいことで
はない場合がある。
集機能を提供している。1つのアプローチはその曲線を
再度描画することである。別のアプローチは、曲線を画
定する「コントロールハンドル」を操作することであ
る。これらアプローチは、両方とも、しばしば、時間が
かかり且つ不便なものである。
てブラシストローク即ち筆の一書きを編集する場合に同
様の問題が存在している。この場合にも、不所望な部分
の上に曲線又はブラシストロークのレイヤー(層)を付
加することは時間がかかり且つ最初に不所望な部分を発
生させたものと同一のエラーを発生させる蓋然性があ
る。
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、電子文書における曲線又はブラシストロー
クを編集する方法及び装置を提供することを目的とす
る。
おいては、本発明は、電子文書における曲線を編集する
方法及びその方法を実行する装置を特徴としている。本
方法は、ユーザから入力としてスケッチ曲線を受取り、
該スケッチ曲線は2つの端点を有しており、前記スケッ
チ曲線の端点のうちの各々に最も近い既存の曲線内の点
を見つけ出すことによって既存の曲線のターゲットセク
ションを識別し、該ターゲットセクションは見つけられ
た点の間の既存の曲線の部分であり、既存の曲線からタ
ーゲットセクションを除去し、既存の曲線内に2つの内
部端点を残し、置換曲線を形成し、該置換曲線は2つの
端点を有しており、ターゲットセクションの代わりに既
存の曲線内に置換曲線を挿入し、且つ既存の曲線と置換
曲線との間の各端点におけるギャップを閉じるためにそ
れらの夫々の隣りの端点において既存の曲線及び置換曲
線を整形することを包含している。
の1つ又はそれ以上を包含している。点と点との間の距
離はユークリッド距離によって測定される。既存の曲線
及び置換曲線を整形する場合に、置換曲線の各端点にお
いて置換曲線を短縮させ、各内部端点において既存の曲
線を短縮させ、且つ短縮させた置換曲線と短縮させた既
存の曲線とを連結させるためにスミ肉曲線(fille
t curve)を形成することを包含している。既存
の曲線及び置換曲線の隣接する短縮された端部の各対の
各端部が同一の量だけ短縮される。短縮された端部の各
々は短縮された端部に隣接するギャップの寸法から計算
した量だけ短縮される。置換曲線はスケッチ曲線であ
る。置換曲線を作成する場合に、ターゲットセクション
を平滑化して置換曲線を形成する。ターゲットセクショ
ンを平滑化する場合に、ターゲットセクションを表わす
点の順番付けしたシーケンスを形成し、その点の順番付
けしたシーケンスの点を点の1つ又はそれ以上の隣接す
るセグメントへグループ化し、各セグメントの点を平滑
化して平滑化した点からなるセグメントを発生し、平滑
化した点の各セグメントに対して1つ又はそれ以上の数
学的曲線を当て嵌め、該1つ又はそれ以上の数学的曲線
は一体となって置換曲線を形成する。点の順番付けした
シーケンスを形成する場合に、点の順番付けしたシーケ
ンスにおける点と点との間の間隔距離が最大間隔を超え
ることがなく且つ点の順番付けしたシーケンスにおける
2つの相次ぐ点の間に形成される直線とターゲットセク
ションとの間の平坦性距離が平坦性許容値を超えること
がないように点を選択する。既存の曲線は包絡線を有す
るブラシストロークの軌跡曲線であり、且つ本方法は、
更に、編集した軌跡曲線及び既存のブラシストロークの
包絡線情報を使用して新たなブラシストロークに対する
新たな包絡線を計算する。
は、対話的グラフィックシステムのユーザと対話する方
法及びその方法を実現する装置を特徴としている。本方
法は、ディスプレイ装置上に曲線を表示し、グラフィカ
ルユーザインターフェースを介してユーザの制御下にお
いて動作可能な平滑化ツールをユーザへ供給し、該曲線
の一部の選択を表わすために該曲線の一部の上に該平滑
化ツールを移動させるユーザからの所作を受取り、且つ
該曲線の選択された部分に対して平滑化フィルタを適用
することによって該曲線の選択された部分を平滑化させ
る、ことを包含している。
1つ又はそれ以上を包含している。本方法は曲線のサン
プルを選択し、選択したサンプルを別の曲線として平滑
化し、且つその平滑化したサンプルを該曲線内に再度当
て嵌めるために、グラフィカルユーザインターフェース
を介してユーザの制御下において動作可能な平滑化ツー
ルをユーザに対して提供する。
は、グラフィックシステムにおいてブラシストロークを
編集する方法及びその方法を実現する装置を特徴として
いる。ブラシストロークは軌跡曲線と、包絡線曲線と、
包絡線情報とを有している。本方法は、スケッチを基に
した編集によってブラシストロークの軌跡曲線を編集
し、スケッチを基にした編集は入力としてスケッチ曲線
を受取り且つ該スケッチ曲線に基づいて軌跡曲線を修正
するものであり、且つ編集した軌跡曲線及び既存のブラ
シストロークの包絡線情報を使用して新たなブラシスト
ロークに対する新たな包絡線曲線を計算することを包含
している。
1つ又はそれ以上を有している。スケッチを基にした編
集は、スケッチ曲線を使用して軌跡曲線上のターゲット
セクションを識別し、尚ターゲットセクションの端点は
スケッチ曲線の端点に対して最も近い軌跡曲線上の点で
あり、ターゲットセクションを軌跡曲線内のスケッチ曲
線で置換させ、且つ前記軌跡曲線及びスケッチ曲線を互
いに整形して編集した軌跡曲線を作成することを包含し
ている。スケッチを基にした編集は、スケッチ曲線を受
取り、該スケッチ曲線を使用して軌跡曲線上のターゲッ
トセクションを識別し、該ターゲットセクションの端点
は該スケッチ曲線の端点に最も近い軌跡曲線上の点であ
り、該ターゲットセクションを平滑化し、該ターゲット
セクションを該軌跡曲線内の平滑化させたターゲットセ
クションで置換させ、且つ該軌跡曲線及び平滑化したタ
ーゲットセクションを互いに整形させて編集した軌跡曲
線を形成することを包含している。新たなブラシストロ
ークに対する新たな包絡線曲線を計算する場合に、元の
軌跡曲線からの包絡線情報を編集した軌跡曲線に対して
マッピングすることによって編集した軌跡曲線に対する
新たな包絡線情報を計算することを包含している。新た
なブラシストロークに対して新たな包絡線曲線を計算す
ることは、編集した軌跡曲線の円弧長及び既存のブラシ
ストロークの軌跡曲線の円弧長に基づいて既存のブラシ
ストロークの軌跡曲線の包絡線情報を線形補間すること
によって新たな包絡線情報を計算し、且つその新たな包
絡線情報を編集した軌跡曲線へ適用させることを包含し
ている。該包絡線情報はブラシ形状と、軌跡曲線に沿っ
ての対応する1つ又はそれ以上の位置においてブラシ形
状に対してなされるべき修正を画定する1個又はそれ以
上のアフィンマトリクスとを有している。アフィンマト
リクスは、ユーザによる入力装置の物理的操作に応答し
て入力装置から受取られるデータを使用して計算され
る。ユーザは入力装置から受取ったデータをアフィンマ
トリクスにおける値へ変換させるための変換パラメータ
を定義する。
shstroke Envelope) ブラシ軌跡モデルにおいては、中央軌跡(即ち、複数個
の点からなるシーケンス)に沿ってブラシ(即ち、閉じ
た形状)をスイープ即ち掃引することによってストロー
ク(stroke)が構成される。このようなストロー
クの形状は軌跡に沿ってのブラシの経路を取囲むエンベ
ロープ即ち包絡線として数学的に定義される。
10は軌跡60に沿っての任意のアフィン変換に従って
変化する多角形ブラシ15に対する包絡線近似17の個
別的な近似を計算するためのブラシストロークプロセス
14を包含する汎用コンピュータ11を有している。ブ
ラシストロークプロセス14は、例えば、カリフォルニ
ア州サンノゼのアドビシステムズインコーポレイテッド
から入手可能なアドビイラストレーター(Adobe
Illustrator)(商標)等のペイントアプリ
ケーション12の1つの特徴として実現することが可能
である。コンピュータシステム10は、更に、コンピュ
ータ11の出力を視覚的に表示するためのモニタ18、
及び永続的にデータを格納するためのハードディスクド
ライブ28を有している。入力装置は、キーボード2
0、マウス22、スタイラス26と結合された描画用タ
ブレット24を有している。
ケーション12内において、ユーザがステップ40aに
おいてペイントすべきブラシ15を選択する。ブラシ1
5はJ個の点からなるシーケンスbjを格納するデータ
構造であり、尚j=1,2,...,Jであり、且つb
0は原点における点である。図3に示したように、ブラ
シ15は五角形形状をしており、5個の点52a−52
eを有している。点52fは原点に位置している。ユー
ザは例えばマウス22又は描画用タブレット24等の入
力装置を使用してブラシ15で描画することが可能であ
る。以下の説明では、ユーザが描画用タブレット24上
においてスタイラス26を使用して描画を行うものと仮
定する。
ブレット24上にスタイラス26を押圧させると、それ
はユーザは新たなストロークの描画が開始せんとしてい
ることを表わし、ペイントアプリケーション12はステ
ップ40cにおいて軌跡60をクリアする。ユーザがス
タイラス26を描画用タブレット24上に押し付けたま
まスタイラス26を移動させると、描画用タブレット2
4は、周期的に、位置(即ち、x及びy座標)、圧力
(即ち、どれほど強くユーザが描画用タブレット24に
対してスタイラス26を押圧させているか)、及び描画
用タブレット24に関するスタイラス26の傾斜及び方
位角角度のサンプルをペイントアプリケーション12へ
送る。図4Aに示したように、スタイラス26の傾斜
(仰角とも呼称される)は描画用タブレット24の面と
スタイラス26との間の面外角度54である。図4Bに
示したように、ライン27は描画用タブレット24上に
射影したスタイラス26の「影」を表わしている。スタ
イラス26の方位角角度は描画用タブレット24の面に
垂直な面とライン27との間の面内角度56である。
率は毎秒百回の範囲内である。1個のサンプルが取られ
る度に、サンプル情報(即ち、位置、圧力、傾斜及び方
位角)がペイントアプリケーション12へ送られ、ペイ
ントアプリケーション12はサンプル情報をブラシデー
タ構造15へ適用されるべきアフィン変換を表わす軌跡
マトリクス内へ変換させる。ペイントアプリケーション
12はステップ40dにおいて軌跡マトリクスを軌跡6
0へアペンド即ち付属させ、軌跡マトリクスからなるシ
ーケンスを発生させる。ユーザがステップ40eにおい
て描画用タブレット24からスタイラス26を解放させ
ると、ペイントアプリケーション12はユーザがストロ
ークを描画することを停止したものと決定する。その結
果得られる軌跡60は軌跡マトリクスtkからなるシー
ケンスであり、k=1,2,..,Kであり、尚Kは描
画用タブレット24から得られたサンプルの数である。
ルsx及びsy、水平及び垂直オフセットtx及びty、及
び水平及び垂直回転rx及びryを有している。軌跡60
に沿っての各点におけるブラシ15の形状はdk,j=tk
*bjとして定義され、尚*はマトリクス乗算を意味し
ている。与えられたk及びj=1,2,...,Jに対
して、点bk,jはtkに対応する軌跡60における点にお
いてのブラシ15の寸法及び形状を画定する。換言する
と、bk,jはtkによって定義されたアフィン変換をブラ
シ15に対して適用した結果である。
レット24によって与えられるサンプル情報から派生さ
せることが可能である。典型的に、軌跡マトリクスにお
けるtx及びtyはサンプル情報におけるx及びy座標の
夫々の値が割り当てられる。成分sx及びsyは、夫々、
サンプル情報内に含まれる圧力情報に比例する値が割り
当てられ、実効的に、ユーザがスタイラス26上の圧力
を変化させることによって軌跡60によってのブラシ1
5の寸法を増加及び減少させることを可能とさせる。r
x及びryの値は、それぞれ、スタイラスの傾斜角度及び
方位角角度の関数とすることが可能であり、実効的に、
スタイラス26の傾斜角度及び方位角角度を変化させる
ことによって軌跡60に沿ってユーザがブラシ15を回
転させることを可能としている。
を発生することを終了した後に、ペイントアプリケーシ
ョン112はステップ40fにおいてブラシストローク
プロセス14を呼出し、軌跡60に沿ってのブラシ15
の包絡線近似17を発生させる。ペイントアプリケーシ
ョン12は包絡線近似17の内側をカラー又はテクスチ
ャで充填させる。
セス14がパス即ち経路70としてグラフィック的に軌
跡60を表わしている。軌跡60は夫々グラフィック的
に点72a,72b,72cとして表わした3個の軌跡
マトリクスt1,t2,t3を有している。点72a−7
2cのxy座標は、夫々、軌跡マトリクスt1,t2,t
3のtx及びty成分に対応している。ラインセグメント
74a及び74bは連続する点72a−72cを接続す
る。軌跡60の軌跡マトリクスt1,t2,t3によって
画定されるアフィン変換をブラシ15へ適用する結果
は、グラフィック的にブラシインスタンス76a−76
cとして表わされる。包絡線近似17を計算するために
ブラシストロークプロセス14はパス70又はブラシイ
ンスタンス76a−76cをレンダリングすることは必
要ではないが、パス70及びブラシインスタンス76a
−76cは、ここにおいては、例示的な目的のために示
してある。
セス14はステップ40fにおいて以下の如くにして包
絡線近似17を発生する。ブラシストロークプロセス1
4はパス70の左側から最も遠いブラシインスタンス7
6a−76c上の点を見つけ出す。ステップ42aにお
いて可変の側部にLEFTの値が割り当てられ、ブラシ
ストロークプロセス14がパス70の左側を探すべきで
あることを表わす。ブラシストロークプロセス14はス
テップ42bにおいてインデックス用の変数kを1の値
へ初期化させる。ブラシストロークプロセス14はステ
ップ42cにおいて軌跡マトリクスtk-1を表わす点を
軌跡マトリクスtkを表わす点へ接続させるパス70に
おけるラインセグメント及び軌跡マトリクスtkを表わ
す点を軌跡マトリクスtk+1を表わす点へ接続させるパ
ス70におけるラインセグメントを識別する。図5の例
の場合には、ラインセグメント74a及び74bが識別
される。
42eにおいてtk-1,tk,tk+1に対応する点を含む
ブラシインスタンスを識別する。図5の場合においはブ
ラシインスタンス76a,76b,76cが識別され
る。各識別されたラインセグメントに対して、ブラシス
トロークプロセス14はステップ42fにおいて可変の
側部の値によって表わされたラインセグメントの側部か
ら最も遠いラインセグメントを含むブラシインスタンス
の境界上の点を見つけ出す。図5においては、例えば、
点80aがラインセグメント74aの左側に対して最も
遠いブラシインスタンス76aにおける点であり、且つ
点80bがラインセグメント74aの左側に対して最も
遠いブラシインスタンス76bにおける点である。識別
されたラインセグメントの側部から最も遠いブラシイン
スタンス76a−76cの点を見つけ出すプロセスの詳
細については図7に示してある。包絡線発生プロセス4
0fはステップ42gにおいて図9に関して更に詳細に
説明するようにステップ42fにおいて識別された点を
接続させる。
に、インデックス用変数kがK−1と等しくない場合に
は、kがステップ42iにおいてインクリメントされ、
且つ制御がプロセス42c−42gへ復帰され、それは
包絡線近似17の1つの側部の残りを発生することを継
続して行うために繰り返し行われる。包絡線近似17の
左側が発生された後に、可変側部はステップ42kにお
いてRIGHTの値が割り当てられ、且つ包絡線近似1
7の右側がプロセス42b−42iに従って発生され
る。包絡線近似17の左側がステップ40fによって発
生された後に、ブラシストローク14は復帰し、その点
において、ペイントアプリケーション12は、例えば、
包絡線近似17をカラー又はパターンで充填することが
可能である。図7を参照すると、ブラシストロークプロ
セス14は、以下のようにして、特定したラインセグメ
ントの特定した側部から最も遠い1対の連続したブラシ
インスタンスにおける点を識別する。ブラシストローク
プロセス14は、ステップ44aにおいて、ラインセグ
メントの特定された側部から第一ブラシインスタンスの
境界へ垂直のラインを描画する。図8に示したように、
ラインセグメント78がラインセグメント74aの左側
に対して垂直に描画される。ブラシストロークプロセス
14は、ステップ44bにおいて、第一候補点として、
垂直のラインセグメント78のうちの最も長いものへ接
続されている第一ブラシインスタンス上の点を選択す
る。図8に示したように、点80aと接触するラインセ
グメントがラインセグメント78のうちの最も長いもの
であり、従って、点80aが第一候補点として選択され
る。
プ44cにおいて、第二のラインを描画し且つステップ
44dにおいて上述したのと同一の態様で第二ブラシイ
ンスタンス上の第二候補点を選択する。ブラシストロー
クプロセス14は、ステップ44eにおいて、第一及び
第二候補点の間に新たなラインセグメントを描画し、且
つこの新たなラインセグメントを使用してプロセス44
a−44dを繰り返し行ってステップ44fにおいて新
たな第一候補点と新たな第二候補点とを識別する。この
新たな第一候補点及び前の候補点がステップ44gにお
いて比較される。新たな第一候補点が第一候補点と異な
っているか又は新たな第二候補点が第二候補点と異なっ
ている場合には、プロセス42fがステップ44iにお
いて該新たな第一候補点を第一候補点として且つ該新た
な第二候補点を第二候補点として割り当て、且つプロセ
ス44e−44gが繰り返される。
二候補点と同じである場合には、ブラシストロークプロ
セス14はステップ44hにおいて該第一及び第二候補
点をラインセグメントの指示された側部から最も遠い点
として識別する。図5に示したように、点80a及び8
0bはラインセグメント74aの左側に対して最も遠い
ものとして識別され、且つ点80b及び80cはライン
セグメント74bの左側において最も遠いものとして識
別される。
然に終了することなしに繰り返す可能性がある。この可
能性を回避するために、ブラシストロークプロセス14
は、それが所定の回数を超えて繰り返した後にループを
終了し且つ軌跡60からラインセグメントの端点のうち
の1つを取り除くことが可能である。
セスは、ステップ42gにおいて、ステップ42fにお
いて識別された点を接続させて以下のようにして包絡線
近似の1つの側部を形成する。bk-1,w及びbk,xが、夫
々、ライン(bk-1,w,bk,x)の左側において最も遠く
に存在しているbk-1,j及びbk,jの点であるとする。例
えば、図5に示したように、点bk-1,wが点80aであ
り且つ点bk,xが点80bである。何故ならば、点80
a及び80bは、夫々、ラインセグメント74aの左側
において最も遠くに存在しているブラシインスタンス7
6a及び76bの点だからである。同様に、点bk,yが
点80bであり且つ点bk-1,zが点80cである。何故
ならば、点80b及び80cは、夫々、ラインセグメン
ト74bの左側において最も遠くに存在しているブラシ
インスタンス76b及び76cの点だからである。
と同じ点であると、ブラシストロークプロセス14はス
テップ46bにおいて点bk-1,wを点bk,xへ接続させ且
つステップ46cにおいて、点bk,xを点bk-1,zへ接続
させる。図5は、bk,xがbk ,yと同一の点である場合の
例であり、その結果ラインセグメント82a及び82b
が得られる。
と同一の点ではないが、ブラシインスタンス76a,7
6b,76cが同様の相対的な配向状態を有している場
合には、ブラシストロークプロセス14はステップ46
eにおいて点bk-1,wを点bk ,xへ接続し、ステップ46
fにおいて、点bk,x及びbk,yの間の全ての点を接続
し、且つステップ46gにおいて点bk,yを点bk+1,zへ
接続させる。図10は点bk,xがbk,yと同一の点ではな
いが、ブラシインスタンス84a−84cが同様な相対
的な配向状態を有している場合の例であって、その結果
ラインセグメント86a−86cが得られる。点b,x
とbk,yとの間のブラシインスタンス84b上に付加的
な点が存在している場合には、これらの点は接続され
る。
条件、即ち、 angle(bk,x−bk-1,w,bk+1,z−bk,y)<0 (式1) の条件が満足される場合にのみ、3個のブラシインスタ
ンスがtkにおいて同様の相対的な配向状態を有してい
るものとみなす。
le(a,b)はa及びbとの間の符号付きangle
(角度)として定義される。
及びbのクロス積を計算する。式2における関数sig
n(cross(a,b))は、a及びbのクロス積の
符号を計算し、その結果+1又は−1のいずれかのスカ
ラー値となる。式2における関数dot(a,b)は、
ベクトルa及びbの内積を計算し、それはスカラー値で
ある。式2における値|a|及び|b|は、夫々、ベク
トルa及びbの大きさを表わす。式2における関数ac
osは、その引き数のアークコサイン(逆余弦)を計算
する。式1の結果は、ベクトルa及びbの間の符号付き
角度を表わす符号付きスカラー値を発生させることであ
る。
されない場合には、ブラシストロークプロセス14はス
テップ46hにおいて点bk-1,wを点bk,xへ接続し、ス
テップ46iにおいて点bk,xを点bk,yへ接続し、且つ
ステップ46aにおいて点b k,yを点bk+1,zへ接続させ
る。図11はこの場合を示している。bk,xとbk,yとの
間のどの点も接続されることはない。何故ならば、それ
らは、包絡線の内側に存在しており、従って、余分なも
のだからである。点bk,x及びbk,yはステップ46kに
おいてブレーク点としてマーク付けされる。プロセス4
6a−258において点を接続させることによって形成
されるラインセグメントが、ステップ262において、
包絡線近似17へ付加される。
15及び軌跡60に対応するその結果得られる包絡線近
似17はラインセグメント82a,82b,82c,8
2dを包含している。
絡線近似17に対して曲線当て嵌め技術を適用し、包絡
線近似17に対応する滑らかな曲線を発生させることが
可能である。好適な技術について図14A−19に関連
して以下に説明する。このような場合には、ブラシスト
ロークプロセス14は「ショートカット最適化」と呼称
されるプロセスを使用して包絡線近似17の所定の距離
より小さな範囲内にある包絡線から点を削除することが
可能である。例えば、図13Aを参照すると、距離d2
が所定のスレッシュホールドより小さい場合には、包絡
線近似17から点bk,yが削除され、且つ距離d1が所
定のスレッシュホールドより小さい場合には、包絡線近
似17から点dk,xが削除される。包絡線近似17から
1つの点が削除されると、その削除された点に先行する
点がその削除された点に続く点へ接続される。例えば、
点bk,yが包絡線近似17から削除されると、点bk-1,w
が点bk,xへ接続される。点bk,y及びbk,xの両方が包
絡線近似17から削除されると、点bk-1,wが点bk+1,z
へ接続される。図13Bに示したように、長い軌跡90
は鋭利な角部96を有している。軌跡90に対応する包
絡線近似の2つの側部92a−92bのうちの1つは、
ショートカット最適化によって削除される可能性のある
ラインセグメント94を包含している。
似17に対して曲線当て嵌め技術を適用すると、ブラシ
ストロークプロセス14は、その曲線当て嵌めプロセス
を助けるために、包絡線内の各ラインセグメントの勾配
を包絡線近似17内に格納することが可能である。ショ
ートカット最適化が包絡線近似17に対して上述した如
く適用されると、ショートカット最適化が行われた後に
勾配の格納が行われる。
オリジナルの開いたシーケンスに対する曲線平滑化の適
用が示されている。複数個の点からなるオリジナルのシ
ーケンスの1つの発生源は、上述した包絡線発生プロセ
スから与えることが可能である。図14Aにおいて、複
数個の点100からなるオリジナルのシーケンスはユー
ザによる描画所作に応答して対話的グラフィックシステ
ムにおける入力として受取られた複数個の点からなる順
番付けされたシーケンスである。このオリジナルのシー
ケンス100に対してノイズフィルタを適用し、高周波
数ノイズを除去し、複数個の点105からなるフィルタ
したシーケンスを発生させることが可能である。ノイズ
フィルタは高周波数変動(即ち、ノイズ)を除去し一方
より低い周波数の曲線特徴部を保存する。フィルタした
シーケンス105を1個又はそれ以上のセグメントへ分
割する。各フィルタした点において曲率を評価すること
によって、フィルタしたシーケンスにおいて角部の点が
見つけられる。図14Aにおいて、フィルタしたシーケ
ンス105において1個の角部の点110が存在してい
る。フィルタした点115からなる第一セグメントがシ
ーケンス100の端点120から角部の点110へ延在
している。第二セグメント125は、角部の点110か
ら第二端点130へ延在している。この図において、シ
ーケンス100及び105の点及び複数個の点からなる
その他のシーケンスの点はラインセグメントによって接
続して示してある。このことは、説明の便宜上のために
のみなされたものであり、ラインセグメントは複数個の
点からなるシーケンスの要素ではない。
滑化させる。フィルタした点115からなる第一セグメ
ントを平滑化して複数個の点135からなる第一平滑化
セグメントを発生させる。フィルタした点125からな
る第二セグメントを平滑化させて第二平滑化セグメント
140を発生させる。平滑化したセグメント135,1
40はフィルタしたシーケンス105よりも一層滑らか
である。
させたセグメントに対して曲線を当て嵌める。試行的曲
線を形成し且つその試行的曲線の該平滑化したセグメン
トに対する忠実性を評価する。その試行的曲線が平滑化
したセグメントに対して十分に忠実なものではない場合
には、その平滑化したセグメントを複数個のサブセグメ
ントへ分割し、且つ各サブセグメントに対して曲線当て
嵌めプロセスを繰り返し行う。従って、第一平滑化セグ
メント135をブレーク点147,152,157によ
って分離された4個の曲線145,150,155,1
60へ分割する。第二平滑化セグメント140は第一平
滑化セグメント135よりも一層簡単であり、従って第
一曲線165が第二平滑化セグメント142に対して当
て嵌めることが可能である。曲線145,150,15
5,160,165は、一体となって、複数個の点10
0からなるオリジナルのシーケンスを表わす。
複数個の点からなる閉じたシーケンスに対するプロセス
が示されている。全体的なプロセスは開いたシーケンス
のものと異なるものではない。平滑化の詳細は、以下に
説明するように、コーナー即ち角部がない閉じたシーケ
ンスに対して異なっている。図14Dは複数個の点17
0からなるオリジナルのシーケンス及びそのオリジナル
のシーケンス170に対してノイズフィルタを適用する
ことによって発生された複数個の点175からなるフィ
ルタしたシーケンスを示している。フィルタしたシーケ
ンス175において角部の点は存在していない。従っ
て、複数個の点からなる1個のセグメントが存在してい
る。該セグメントは複数個の点からなる閉じたシーケン
スである。説明の便宜上、オリジナルのシーケンス17
0が開始する点180を該セグメントの第一端点及び第
二端点の両方として取扱う。図14Eは複数個の点17
5からなるフィルタしたシーケンス及び図14Dに示し
た複数個の点180からなるセグメントを平滑化させる
ことによって発生された複数個の点185からなる平滑
化したセグメントを示している。図14Fは端点180
を平滑化させることから派生されたブレーク点192及
びブレーク点194によって分離されている2個の曲線
190,195へ分割されている複数個の点185から
なる平滑化したセグメントを示している。これら2つの
曲線190,195は複数個の点170からなるオリジ
ナルのシーケンスの表現を形成している。
シーケンスに対して曲線を当て嵌める方法200は、複
数個の点202からなるオリジナルのシーケンスを受取
るシステムを包含している。複数個の点202からなる
オリジナルのシーケンスは複数個の点からなる順番付け
されているシーケンスである。該システムはユーザのフ
リーハンドの所作に応答してマウス又はグラフィクタブ
レット等のユーザ入力装置からの入力としてオリジナル
のシーケンスを受取ることが可能である。一方、複数個
の点202からなるオリジナルのシーケンスは、データ
ファイル、コンピュータソフトウエアアプリケーショ
ン、又は信号処理システム等の供給源から供給すること
が可能である。
の点200からなるオリジナルのシーケンスに対してノ
イズフィルタを適用し、フィルタした複数個の点からな
るシーケンスを発生させる(それは、フィルタしたシー
ケンスとも呼称することが可能である)(ステップ20
5)。ノイズフィルタ処理の1つの利点は、例えばスパ
イク等の複数個の点の間における大きな急激な孤立した
変動を取除くことである。これらの極端な変動は複数個
の点からなるオリジナルのシーケンスを入力する場合の
ユーザのエラーの結果であるか、又は崩壊したか又はノ
イズを有するデータである蓋然性が高く、従ってこれら
の点を曲線当て嵌めのために維持することは通常は望ま
しいことではない。
は、G. Taubin、T. Zhang、G. G
olub著「フィルタ設計としての最適な表面平滑化
(Optional Surface Smoothi
ng as Filter Design)」、テクニ
カルレポートRC−20404、IBMリサーチ、19
96年3月の文献において導入されているローパスλ−
μフィルタに基づくものであって、尚その文献は引用に
よって本明細書に取込む。このノイズフィルタの具体例
は、 fd(k)=((1−λk)(1−μk))d/2 によって与えられる伝達関数fd(k)を有する次数d
のλ−μフィルタとしてのものであり、周波数k、0≦
k≦2、0≦λ<−μ、及びdは偶数である。λ及びμ
は、 f2(p)=1 f2(2)=h がパスバンド周波数p、0<p<1及び高周波数許容値
h、0≦h≦1に対して成立するように定義される。パ
スバンド即ち通過帯域はk=0からk=pへ延在してお
り、尚fd(k)≒1である。kがk≒pからk=2へ
増加すると、fd(k)は単調的にhd/2へ減少する。従
って、次式が得られる。
共に変化する場合がある。デジタル化マウス及びグラフ
ィックテーブルからの入力として受取った複数個の点か
らなるオリジナルシーケンスの場合には、p≒1/1
0、h≒<1/10及びd≒4は忠実性を殆ど失うこと
なしに良好な結果を発生する。
ケンスに関し複数回のパスで実施される。オリジナルの
シーケンスはn個の点を有しており且つsとして示さ
れ、且つ各点はsiとして示され、尚i=1,...,
n−1である。伝達関数fdkの次数dに等しい回数の
パスが、以下の如くにして、j=1,...,dに対し
て実施される。
シアン(ラプラス演算子)△sは以下の如くに定義され
る。
シーケンスである場合には、インデックスi,jは上述
したノイズフィルタ処理用の式におけるインクリメント
され且つデクリメントされるモジュロnである。オリジ
ナルのシーケンスsが開いたシーケンスである場合に
は、 △sn-1=0 △s0=0 であり、従ってオリジナルのシーケンスの端点の位置は
不変のままである。
ンス(上述した如くノイズに対してフィルタする場合も
しない場合もある)を1個又はそれ以上のセグメントへ
分割する(ステップ210)。そうするために、本シス
テムは複数個の点からなるシーケンスにおけるブレーク
点を見つけ出す。該シーケンスの各端点はブレーク点で
ある。角部の点もブレーク点である。
の点からなるシーケンスにおける点である。図16に示
したように、複数個の点からなるシーケンスにおいて角
部の点を見つけ出すための方法300を実施する場合
に、システムが順番付けされているシーケンスにおける
点302に先行する点302のある距離内の点に対する
平均角度、及び順番付けされているシーケンスにおける
点302に続く同一の距離内の点に対する平均角度を計
算する(ステップ305)。一方、その距離は先行する
点及び後続する点に対して異なるものとすることが可能
である。複数個の点からなるグループに対する平均角度
は、オリジナルの点302を介しての基準ラインと相対
的な各点からの角度を平均化することによって計算され
る。点302に対する推定曲率は、これらの平均角度を
比較することによって計算される(ステップ310)。
本システムは、点302に対する推定曲率を曲率許容値
と比較する(ステップ315)。曲率許容値より大きい
か又はそれに等しい推定曲率を有する点は角部の点であ
る(ステップ320)。曲率許容値より小さな推定曲率
を有する点は角部の点ではない(ステップ325)。
Itoh及びY. Oho著「キャラクタフォントに対
する曲線当て嵌めアルゴリズム(A Curve Fi
tting Algorithm for Chara
cter Fonts)」、エレクトロニックパブリシ
ング、6(3):195−206、1993年9月の文
献における方法に基づくものであり、尚該文献は引用に
よって本明細書に取込む。この具体例においては、オリ
ジナルのシーケンスにおける各点siにおける推定曲率
ci、−1≦ci≦1は次式のように定義される。
行する点sx及び後続する点syの間の正規化にしたベク
トル差の和である。点siのオリジナルのシーケンスが
開いたシーケンスである場合には、ai及びbiは次式の
如くに定義される。
ように0≦x<iであり、且つly-1<li+lであるよ
うにi<y≦l−1である。各点siに対する弦長liは
次式の如くに定義される。
には、ai及びbiは同様の弦長有界インデックスx,y
モジュロnの範囲にわたる。
の点siは、角部角度許容値cに対して角部の点として
定義される。l>≒f及びc≒cos(2π/3)の値
は、通常良好な結果を発生し、尚fは曲線の当て嵌めに
関して後に説明する忠実性許容値である。
(ステップ215)。この平滑化技術は、そのセグメン
トが複数個の点からなる閉じたシーケンスであるか又は
開いたシーケンスであるかに依存して異なるものであ
る。セグメントを平滑化すると中程度又はより高い周波
数の曲率変動を取除き、一方低い周波数の変動を保存す
る。その結果得られる平滑化されたセグメントは1つ又
はそれ以上の曲線と効率的に当て嵌めることが可能であ
る。
スであり且つオリジナルのシーケンス内に角点が存在し
ない場合には閉じたシーケンスのセグメントが発生する
(図14d乃至14f参照)。
る閉じたセグメントである(ステップ402)セグメン
トを平滑化する方法400を実施する場合に、システム
が該セグメントの周波数−空間表現を計算する(ステッ
プ405)。この周波数−空間表現は、該セグメントの
離散的フーリエ変換を取ることによって計算される。本
システムは、該セグメントの周波数−空間表現を平滑化
する(ステップ410)。該周波数−空間表現は、該周
波数−空間表現に対してローパスフィルタを適用するこ
とによって平滑化される。本システムはその平滑化され
た周波数−空間表現を反転させる(ステップ415)。
その平滑化された周波数−空間表現はその平滑化された
周波数−空間表現の逆離散的フーリエ変換を取ることに
よって反転される。その反転され平滑化された周波数空
間表現は平滑化されたセグメント420である。
からなる開いたセグメントであるセグメントを平滑化す
るための方法450を実施する場合に、システムがセグ
メント452から線形傾向を減算する(ステップ45
5)。本システムは、減算したセグメントの周波数−空
間表現を計算する(ステップ460)。その周波数−空
間表現は、該セグメントの離散型正弦変換を取ることに
よって計算される。その減算されたセグメントの端点は
不変量として保持され、従って離散型正弦変換は所望の
結果を発生する。本システムは該減算したセグメントの
周波数−空間表現を平滑化する(ステップ465)。そ
の周波数−空間表現は、該周波数−空間表現に対してロ
ーパスフィルタを適用することによって平滑化される。
本システムは平滑化された周波数−空間表現を反転させ
る(ステップ475)。その平滑化された周波数−空間
表現は、その平滑化された周波数−空間表現の逆離散型
正弦変換を取ることによって反転される。本システムは
前に減算した線形傾向をその反転され平滑化された周波
数−空間表現へ加算して平滑化されたセグメント480
を形成する(ステップ475)。
せる1つの具体例は、J. Oliensis著「収縮
のない局所的再現性のある平滑化(Local Rep
roducible Smoothing Witho
ut Shrinkage)、IEEE・トランズアク
ションズ・オブ・パターン・アナリシス・アンド・マシ
ンインテリジェンス、15(3):307−323、1
993年3月の文献に記載されている方法に基づくもの
であり、尚、該文献は引用によって本明細書に取込む。
更に、該平滑化技術は上述したTaubin著「フィル
タ設計としての最適な表面平滑化」の文献に提案されて
いる態様に拘束される。この具体例においては、セグメ
ントの全体的なスペクトルパワーの減少は平滑化許容値
Sによって拘束されており、尚Sは小さな数である。
z=0,...,m−1の場合には、セグメントtzの
離散型フーリエ変換を取ってそのセグメントの周波数−
空間表現tz_を形成する。尚、英文字記号の後にアン
ダーラインの符号を付けたものはその英文字記号の上に
「山形記号」即ち「∧」(アクサンシルコンフレック
ス)を付けたものと同一である。周波数−空間表現tz
_は以下の如くに定義される。
子の固有ベクトルの線形結合で表現したものである。各
サンプルtz_に対し、νZがこの分解においてt z_と
関連した固有ベクトルの対応する固有値であるとする。
νzは次式のように定義される。
下の如くにして平滑化フィルタを適用することによって
計算される。
≦w≦m−1及び0<g0≦1であるように選択され
る。w及びg0の値は、gが平滑性許容値Sによってtz
_内に存在する全体的な非DC(即ち、非直流)スペク
トルパワーを減少させ、従って以下の式が成立するよう
に選択される。
散型フーリエ変換を取って平滑化したセグメントuzを
形成する。
いたセグメントtzの場合には、セグメントtz内の線形
傾向を減算して以下の如くにして減算したセグメント
t′Zを形成する。
算したセグメントの周波数−空間表現t′z_を形成す
る。周波数−空間表現t′z_は以下の如くに定義され
る。
算子の固有ベクトルの線形結合によって表わしている。
各サンプルt′z_に対して、νzをこの分解における
t′z_と関連する固有ベクトルの対応する固有値とす
る。νzは次の如くに定義される。
は以下の如くにして平滑化フィルタを適用することによ
って計算される。
≦w≦m−1及び0<g0≦1であるように選択され
る。w及びg0の値は、gが平滑性許容値Sによって
t′z_内に存在する全体的なスペクトルパワーを減少
させ、従って次式が成立するように選択される。
離散型正弦変換を取って減算したセグメントu′zを形
成する。前に減算した線形傾向をu′zへ加算して平滑
化したセグメントuzを形成する。
n)高速フーリエ及び正弦変換アルゴリズムを利用す
るために、2の羃に等しい数の点を有するために充分な
数の隣接する点の間に線形補間によってセグメントをア
ップサンプルする。
各平滑化したセグメントに対して当て嵌める(図15に
おけるステップ220)。図18を参照すると、平滑化
したセグメント505に対する曲線を当て嵌める方法5
00において、システムが平滑化したセグメント505
に対する試行的曲線を計算する(ステップ510)。そ
の試行的曲線は複数個の点からなるシーケンスではなく
数学的に定義された直線である。1つの具体例において
は、該試行的曲線はパラメトリック曲線又はベジェ曲線
である。本システムは、平滑化したセグメント505に
対する該試行的曲線の忠実性基準を計算する(ステップ
515)。平滑化したセグメント内の全ての点に対し
て、忠実性許容値より小さいか又はそれに等しい距離内
にある試行的曲線上に1つの点が存在する場合には、そ
の忠実性基準が満足される。その忠実性基準が満足され
ると、その試行的曲線は平滑化したセグメント505に
対して充分な忠実性を有しており、且つ本システムはそ
の試行的曲線を平滑化したセグメント505を表現する
ものとして格納する(ステップ520)。その忠実性基
準が満足されない場合には、本システムは平滑化したセ
グメント505を2個又はそれ以上のサブセグメントへ
分割する(ステップ525)。次いで、本システムは各
サブセグメントに対して曲線当て嵌めプロセスを適用す
る(ステップ530)。
ト612上の点610及び試行的曲線605に対する忠
実性基準を計算するための方法600において、システ
ムが試行的曲線605をサンプリングすることによって
複数個の試行的点からなるシーケンスを発生する。その
試行的曲線は、試行的曲線605に対する連続する点の
間の弦からの矢状距離が平坦性許容値を超えることがな
いように試行的曲線をサンプリングする。本システム
は、平滑化したセグメント612の第一端点(不図示)
からの点610の正規化した距離を見つけ出す。点61
0の正規化した距離は平滑化したセグメントの端点と相
対的な平滑化したセグメント612上の点610の位
置、例えば10%、50%等を表わす。同様に、該試行
的曲線上の試行的点の正規化した距離は該試行的曲線上
のその試行的点の相対的位置を表わす。次いで、本シス
テムは、このような試行的な点が存在する場合には、試
行的曲線605の第一端点(不図示)からの同一の正規
化した距離である試行的な点を見つけ出す。このような
試行的な点が見つかると、その試行的な点から点610
への距離が忠実性許容値より小さいか又はそれに等しい
場合には、忠実性基準が満足される。このような試行的
な点が見つからない場合には、本システムは、夫々、平
滑化したセグメント612における点610の正規化し
た距離より小さく且つそれより大きな試行的曲線605
の第一端点からの正規化した距離である2つの連続した
試行的な点620,625を見つけ出す。例えば、点6
10が55%の正規化した距離を有している場合には
(点610がセグメント612の第一端点から第二端点
への距離の55%であることを表わす)、本システムは
2個の試行的な点を探し出し、その場合に1つの試行的
な点は55%未満の正規化した距離を有しており且つ1
つの試行的な点は55%より大きな正規化した距離を有
している。本システムは2個の試行的な点620,62
5の間の弦635を計算する。本システムは平滑化した
セグメント612における点610に最も近い弦635
上の弦点640を見つけ出す。別の具体例においては、
弦点640は平滑化したセグメント612における点6
10の正規化した距離と同一の試行的曲線605の第一
端点からの正規化した距離である弦635上の点であ
る。以下のうちのいずれかが成立する場合に忠実性基準
が満足される。即ち、(1)平滑化したセグメント内の
点610から試行的な点620への距離が忠実性許容値
から小さいか又は等しい場合、(2)平滑化したセグメ
ントにおける点610から試行的な点625への距離が
忠実性許容値より小さいか又は等しい場合、(3)弦点
640からの距離が忠実性許容値の割合であって、平坦
性許容値に基づいている割合より小さいか又は等しい場
合である。
Tudet著「手でスケッチした圧力ブラシストローク
の実時間当て嵌め(Real Time Fittin
gof Hand−Skeched Pressure
Brushstrokes)」、ユーログラフィック
スプロシーディングズ、13(3):205−220、
1994年の文献に記載されている方法に基づくもので
あり、尚該文献は引用によって本明細書に取込む。この
具体例においては、本システムが忠実性許容値fに対し
端点の弦長θ≒2f内の平滑化したセグメント内におけ
る全ての点にわたり局所的二次補間を使用して平滑化し
たセグメントの端点における接線ベクトルの推定を計算
する。本システムは、正規化した弦長パラメータ化で最
小二乗法を使用して平滑化したセグメントに対して拘束
された端点及び接線を有する試行的な曲線としてベジェ
(Bezier)セグメントを当て嵌める。接線連続性
拘束条件はM. Plass及びM. Stone著
「部分的パラメトリック曲線での曲線の当て嵌め(Cu
rve−Fitting with Piecewis
e Prametric Curves)」、グラフィ
ックスプロシーディングズ、アニュアル・コンフェレン
ス・シリーズ、17(3):229−239、1983
年7月の文献に記載されている方法を使用してx成分と
y成分の両方を同時的に当て嵌めることによって取扱
う。
の技術を使用して当て嵌めの忠実性を評価する。上述し
た如く、当て嵌めが充分に忠実なものでない場合には、
平滑化したセグメントを2つの部分へ細分化し且つ全体
的な平滑化したセグメントが満足のいくように当て嵌め
られるまで、両方のサブセグメントに関して該技術を反
復的に繰り返す。
メントφψ、ψ=0,...,γ-1が与えられ、且つ弦長θψ及
び試行的な曲線b(T)が与えられると、全てのφψに対し
て、忠実性許容値fに対し|φψ-b(Ti)|≦fであるよう
にTi、0≦Ti≦1、が存在する場合には、その当て嵌
めは充分に忠実なものである。特に、このテストは以下
のようにして実現される。
1、内における試行的曲線b(T)の多角形近似を計算
する。該多角形近似は弦長Θω、尚ω=0,...,α-1、を有
するα個の点Φωから構成されている。平滑化したシーケンス
における各点φψに対し、Φω ψは、
尚、Ωωψは点φψに最も近いΦωψ及びΦωψ+1を介
してのライン上の点である。尚、本明細書において、キ゛リシャ文
字記号のキ゛リシャ文字の添え字が2個連続している添え字の
場合には、2番目の添え字が1番目の添え字の添え字であ
ることに注意すべきである。
b(T)は、平滑化したセグメントの全ての点φψに対
し、以下の条件のうちのいずれかが成立する場合には、忠
実なものであり上述した忠実性基準を満足するものであ
る。
いる。
ストと同様に、この技術は、多角形近似の点Φω及び平
滑化したセク゛メントの点φψを並列的にトラハ゛ースし、どれかの
点φ ψに対して忠実性基準が満足されない場合にはすぐ
さま停止することによってワンハ゜スで平滑化したセク゛メントに
おける全ての点φψに対し効率的に実施することが可能
である。
する。εの値を減少させることによって、より長い多角
形近似を計算する付加された負担が、実際には試行的な
曲線が満足のいくものである場合に、その試行的曲線が
充分忠実なものではないと結論付けるより小さな蓋然性
と利益衡量される。その結果、一般的に所望の結果を発
生するためにはε≒1/16の値が好適である。
ィックシステムにおいてスケッチを基にした編集の異な
る側面が示されている。スケッチを基にした編集の1つ
の技術は、曲線の一部を置換曲線で置換させることであ
る。別の技術はユーザの描画所作に応答して曲線の一部
を平滑化させる。3番目の技術はスケッチを基にした編
集をブラシストロークの編集へ適用する。曲線編集技術
について、コンピュータグラフィックシステム具体例に
関連して以下に説明するが、その場合に、ソフトウエア
とハードウエアとの結合によって、システムはユーザ入
力に応答して適宜の技術を実施する。1つの有益的な具
体例においては、コンピュータグラフィックシステムが
グラフィカルユーザインターフェース(GUI)を提供
し、それはユーザによって選択され且つ適用される場合
に、曲線編集技術を実行することの可能な編集用のツー
ルを提供している。
テム10(図1)の具体例700が示されている。シス
テム10は、ディスプレイ18を有しており、例えば描
画用タブレット24及ぶスタイラス26(図1)のよう
な入力装置でユーザによって入力された曲線708をレ
ンダリングさせる。システム700はGUIを介してユ
ーザによって選択可能な種々の編集用ツールを提供す
る。該ツールは曲線編集ツール及び曲線平滑化ツールを
包含している。これらのツールは、ブラシストローク編
集及びブラシストローク平滑化ツールを包含することが
可能であり、又曲線編集及び平滑化ツールはブラシスト
ロークへ適用させて以下に説明するブラシストローク用
の技術の結果を達成することが可能である。
れている。曲線710(及び、図20C乃至20Gにお
ける図示)は図20Aに示した具体例700のディスプ
レイ装置18上に表示される。ユーザ、例えばアーチス
トが、曲線710の一部712を編集することを所望す
る場合がある。そのアーチストは曲線編集ツールを使用
してアーチストが変更することを望む曲線710の部分
712の近くにスケッチ曲線714を描画する。図20
Cに示したように、以下に説明するシステムの動作によ
り、スケッチ曲線714が不所望の部分712を置換し
且つ新たな曲線716が得られる。
示されている。この場合にも、アーチストが曲線720
の一部725を変更することを望む場合がある。そのア
ーチストは平滑化ツールを使用して曲線720の不所望
の部分725近くにスケッチ曲線730を描画する。図
20Eに示したように、曲線720の不所望の部分72
5は平滑化され、その結果新たな曲線735が得られ、
それは、好適には、元の曲線720よりも一層滑らかな
ものである。
740が示されている。ブラシストローク740は軌跡
曲線745及び包絡線曲線750を有している。該軌跡
曲線はブラシストローク740がなぞった中心線を定義
している。包絡線曲線750は1個又はそれ以上の曲線
から構成されており且つユーザ入力装置からの種々の入
力パラメータによって修正されることのあるモデルブラ
シ形状から形成される。アーチストがブラシストローク
740の一部755を変更することを望む場合がある。
そのアーチストはブラシストローク740近くにブラシ
ストローク編集ツールでスケッチ曲線760を描画す
る。図20Gに示したように、そのスケッチ曲線760
は、以下に説明するシステムの動作によって、軌跡曲線
745の一部755を置換する。本システムは、元のブ
ラシストローク740からの包絡線情報及び新たな軌跡
曲線770に基づいて新たな軌跡曲線770及び新たな
包絡線曲線775を使用して新たなブラシストローク7
65を形成する。一方、軌跡曲線745の一部755
は、図20D及び20Eに関して上述した如く平滑化さ
せることが可能である。
ッチを基にした編集は6個の一般的なステップを有して
いる。手始めに、アーチストが観察するために表示され
た既存の曲線又はブラシストロークに関連してユーザの
対話が行われる(ステップ800)。そのアーチストは
描画用の所作を行い、それは例えばマウス又はグラフィ
ックタブレット等のユーザ入力装置によって記録され
る。本コンピュータグラフィックシステムはこの所作を
解釈してスケッチ曲線を発生する(ステップ805)。
好適には、そのスケッチ曲線は、アーチストが所作を行
うに従ってシステム内に表示し、アーチストに対して動
的な視覚的フィードバックを与える。そのスケッチ曲線
は数学的な曲線、複数個の点からなる順番付けされた
組、又はアーチストの所作の内容を表わす何らかのその
他の形態として本システム内において表現することが可
能である。
クションを見つけ出す(ステップ810)。該スケッチ
曲線は2個の端点を有している。本システムは既存の曲
線上の2個のターゲット点を見つけ出す。該ターゲット
点は該スケッチ曲線の夫々の端点の各々に最も近い点で
ある。好適には、該ターゲット点はユークリッド距離に
おける修正端点に対して最も近い点である。該ターゲッ
ト点の間の既存の曲線のセクション(部分)はターゲッ
トセクションである。スケッチ曲線は、本システムがス
ケッチ曲線を使用する前にオプションとして編集するこ
とが可能である(例えば、端部からフックを取除くた
め)。アーチストが1個を超える既存の曲線の近くにス
ケッチ曲線を描画する場合には、本システムは、好適に
は、スケッチ曲線に最も近い曲線を既存の曲線として選
択する。一方、アーチストはシステムのユーザインター
フェースを介して既存の曲線を選択する場合がある。従
って、本システムは、スケッチ曲線により近いその他の
既存の曲線が存在する場合であっても、その選択された
曲線に対してターゲットセクションを決定する。
クションを除去する(ステップ815)。実際の具体例
においては、ディスプレイ又は既存の曲線情報を包含す
るいずれかのデータ構造から視覚的に除去又は削除する
ことが必要なものではない。該ターゲットセクション
は、本システムが既存の曲線のそのターゲットセクショ
ンが後のステップにおいて置換されるということを覚え
ているようにマーク付けされることが必要であるに過ぎ
ない。
プ820)。アーチストが曲線編集ツールを選択し且つ
使用する場合に、その置換曲線はターゲットセクション
の付加的な変更なしのスケッチ曲線である。一方、アー
チストが平滑化ツールを選択し且つ使用した場合には、
本システムはターゲットセクションを平滑化し且つその
結果平滑化されたターゲットセクションが置換曲線であ
る。
に多様な平滑化プロセスを使用することが可能である。
好適な平滑化技術のうちの1つの例は図14A−19に
関連して上に説明している。然しながら、ターゲットセ
クションに対してフィルタを使用する等の別の平滑化技
術を使用することが可能である。
番付けされているシーケンスを平滑化させ且つその平滑
化された複数個の点からなるシーケンスに対して曲線を
当て嵌める。本システムはターゲットセクションを表わ
すために複数個の点からなる順番付けされているシーケ
ンスを発生する。本システムは好適にはアンダーサンプ
リング及びオーバーサンプリングを回避する順番付けさ
れているシーケンスに対する多数の点を選択する。この
数を選択するために、本システムは候補数を選択する。
本システムは候補数と等しい数の点で複数個の点からな
る候補シーケンスを計算する。この候補シーケンスにお
ける点と点との間の間隔が最大間隔許容値を超える場合
には、その候補数は低過ぎ且つ本プロセスはより高い候
補数で繰り返す。その間隔が許容可能なものである場合
には、本システムは候補シーケンス内の連続する点の間
のラインを計算する。各ラインとそのラインを形成して
いる2つの点の間のターゲットセクションとの間の距離
が平坦性許容値を超える場合には、その候補数は低過ぎ
且つ本プロセスはより高い候補数で繰り返す。複数個の
点からなる順番付けされているシーケンスが形成される
と、本システムは上述した平滑化プロセスに従って平滑
化したターゲットセクションを形成する。
りに既存の曲線内に置換曲線を挿入する(ステップ82
5)。置換曲線はターゲットセクションを除去すること
によって形成された既存の曲線内の切除部内に正確に当
て嵌まるものでない場合があるので、置換曲線と既存の
曲線の端点の間にギャップが残存する場合がある。本シ
ステムは置換曲線の端点から既存の曲線上のターゲット
点への距離が最小であるように置換曲線を配置させる。
1つの具体例においては、該置換曲線は、該切除部に当
て嵌められる場合に回転させず、水平方向又は垂直方向
に変位させることが可能である。
テップ830)。本システムは置換曲線と既存の曲線と
を滑らかに連結させるためにスミ肉曲線を発生する。該
整形が完了すると、編集が完了する。1つの具体例にお
いては、T. Baudel著「フリーハンド描画用の
マークを基にした対話パラダイム(A Mark−ba
sed Interaction Paradigm
for Free−Hand Drawing)」、プ
ロシーディングズ・オブ・ジ・ACM・シンポジウム・
オン・ユーザ・インターフェース・ソフトウエア・アン
ド・テクノロジィ、マリナデルレイ、カリフォルニア、
ACMプレス、1994年11月の文献に記載されてい
る方法を使用して発生される。
いる。本システムがターゲットセクションを計算する
と、そのターゲットセクションに対する第一及び第二端
点900,902が既存の曲線904上において見つけ
られる。既存の曲線904上のターゲット端点900,
902と置換曲線910の挿入端点906,908との
間にギャップが存在している。本システムは既存の曲線
904と置換曲線910とを連結するスミ肉曲線91
2,914を発生する。滑らかなスミ肉曲線を発生する
ために、本システムは既存の曲線904及び置換曲線9
10から小さなセクションを除去し、ギャップを拡大さ
せる。本システムは既存の曲線904上の第一整形点9
16を見つける。本システムは、置換曲線910上に第
二整形点918を見つける。第一及び第二整形点91
6,918は、2個の端点900,906の間の距離に
基づいて決定されるそれらの夫々の端点900,906
からの距離である。本システムは、置換曲線910上の
第三の整形点920を見つけ出す。本システムは、既存
の曲線904上の第四の整形点922を見つけ出す。第
一及び第二整形点916,918と同様に、第三及び第
四整形点920,922及びそれらの夫々の端点90
8,902の間の距離はこれらの端点908,902の
間の距離に基づいている。第一スミ肉曲線912が第一
整形点916及び第二整形点912を連結する。第二ス
ミ肉曲線914が第三整形点920及び第四整形点92
2を連結する。各スミ肉曲線912,914は、好適に
は、各端点916,918,920,922において端
点接線連続性を有している。
大処理が滑らかなスミ肉曲線を発生する。更に、ギャッ
プを拡大させることによって、フック924等の置換曲
線の端部における人工的な効果が除去される。フック9
24は、例えばストロークの終りにスタイラスがグラフ
ィックタブレットから持ち上げられる場合等のアーチス
トによる意図しない所作によって発生される場合があ
る。
ーク1000のスケッチを基にした編集用の技術が示さ
れている。ブラシストロークを描画する技術を図1−1
3に関連して上に説明してある。ブラシストロークは軌
跡曲線と包絡線曲線とを有している。軌跡曲線はブラシ
ストロークの中心線を画定する。包絡線曲線は、包絡線
情報を軌跡曲線へ適用することによって形成される。包
絡線情報は包絡線パラメータの1個又はそれ以上のアフ
ィンマトリクスを有している。包絡線パラメータは、好
適には、ユーザ入力装置から受取ったデータから計算さ
れる。該データは入力装置の移動速度、入力装置へ付与
される圧力、入力装置の回転、入力装置の傾斜等の情報
を包含することが可能である。グラフィックシステムの
ユーザは包絡線パラメータ内へのデータの変換を制御す
るためにシステム内のパラメータを設定することが可能
である。各アフィンマトリクスは1個又はそれ以上の包
絡線パラメータを包含している。該包絡線パラメータは
ブラシストロークグラフィックにおいて現実的なブラシ
効果を形成するためにユーザによって選択されたブラシ
形状に対するモデルブラシ形状に適用される。該包絡線
パラメータはスケール、オフセット、回転等の情報を包
含している。
テップ1005)、且つ既存の軌跡曲線上にターゲット
セクションを見つけ出す(ステップ1010)。上述し
た如く、該ターゲットセクションは第一ターゲット端点
と第二ターゲット端点との間の既存の軌跡曲線のセクシ
ョンである。第一ターゲット端点は、スケッチ曲線の第
一端点に最も近い既存の軌跡曲線上の1つの点である。
第二ターゲット端点は、スケッチ曲線の第二端点に最も
近い既存の軌跡曲線上の点である。本システムは、既存
の軌跡曲線から該ターゲットセクションを除去し(ステ
ップ1015)、且つ置換曲線を形成する(ステップ1
020)。アーチストによる選択に依存して、該置換曲
線はスケッチ曲線であるか、又は上述した如くに平滑化
されたターゲットセクションとすることが可能である。
本システムは該置換曲線を該ターゲットセクションの代
わりに既存の軌跡曲線内に挿入する(ステップ102
5)。本システムは上述した如くに該置換曲線及び該既
存の軌跡曲線を整形する(ステップ1030)。整形が
完了した後に、該既存の軌跡曲線を編集して編集済の軌
跡曲線を形成する。一方、該編集済の軌跡曲線は、従来
技術において開示されているスケッチを基にした編集技
術を使用して形成することが可能である。
済の軌跡曲線と対応させ、新たな包絡線を形成する。本
システムは、既存の軌跡曲線のターゲットセクションか
ら及び編集済の軌跡曲線からの円弧長を使用して既存の
アフィンマトリクスを線形補間することによって新たな
アフィンマトリクスを形成する(ステップ1035)。
編集済の軌跡曲線上の円弧長位置における新たなアフィ
ンマトリクスに対して、本システムは編集済の軌跡曲線
上の新たなアフィンマトリクスの円弧長位置に対応する
ターゲットセクション上のマトリクス位置を見つけ出
す。本システムは、対応する既存のアフィンマトリクス
を有するマトリクス位置に対して最も近い円弧長位置で
あり且つそのマトリクス位置の両側に存在している該タ
ーゲットセクション上の2個のターゲット円弧長位置を
見つけ出す。次いで、本システムは、新たなアフィンマ
トリクスを発生するために、該マトリクス位置に対して
これら2個のターゲット位置の相対的な距離に基づいて
これらのターゲット円弧長位置に対応する既存のアフィ
ンマトリクスを線形補間する。本システムは、ブラシス
トロークが最初にエンターされた場合に新たな包絡線曲
線がアーチストの当初の意図に従うものであることを確
保するために、必要に応じて、ユーザ入力装置から受取
ったデータからのデータを組込むことが可能である。
を描画する場合に上述した態様で編集済の軌跡曲線に対
して新たなアフィンマトリクスを適用することによって
新たな包絡線曲線を計算する(ステップ1040)。1
つの具体例では、全体的な編集済軌跡曲線に沿って新た
な包絡線を全体として計算する。別の具体例では、スケ
ッチ曲線に対応する包絡線の部分に対して新たな包絡線
を計算し、必要に応じて包絡線部分を平滑化する。新た
な包絡線を計算した後に、編集済のブラシストローク1
045が完成する。
ュータハードウエア、ファームウエア、ソフトウエア、
又はそれらの組合わせで実現することが可能である。本
発明装置は、プログラム可能なプロセサによって実行す
るために機械読取可能な格納装置において格納されたコ
ンピュータプログラム製品の形態で実現することが可能
であり、且つ本発明の方法ステップは、入力データに関
して動作し且つ出力を発生することによって本発明の機
能を実施するための複数個の命令からなるプログラムを
実行するプログラム可能なプロセサによって実施するこ
とが可能である。本発明は、データ格納システムからデ
ータ及び命令を受取り且つデータ格納システムへデータ
及び命令を送るべく結合されている少なくとも1個のプ
ログラム可能なプロセサ、少なくとも1個の入力装置、
少なくとも1個の出力装置を包含するプログラム可能な
システム上で実行可能な1個又はそれ以上のコンピュー
タプログラムの形態で実現することが可能である。各コ
ンピュータプログラムは、ハイレベル手順又はオブジェ
クト指向型プログラミング言語で実現することが可能で
あり、又は、所望により、アッセンブリ言語又は機械言
語で実現することが可能であり、その言語はコンパイル
型又はインタプリタ型の言語とすることが可能である。
適宜のプロセサとしては、1例として、汎用及び特定目
的プロセサの両方を包含している。一般的に、プロセサ
はリードオンリメモリ及び/又はランダムアクセスメモ
リから命令及びデータを受取る。コンピュータプログラ
ム命令及びデータを格納するのに適した格納装置は、例
示として、EPROM、EEPROM等の半導体メモリ
装置や、フラッシュメモリ装置、内部ハードディスク及
び着脱自在なディスク等の磁気ディスク、MOディス
ク、及びCD−ROMディスク等を包含する全ての形態
の非揮発性メモリを包含している。前述したもののいず
れかを、ASIC(応用特定集積回路)によって補充す
るか、又はその中に組込むことが可能である。
は、ユーザに対して情報を表示するためのモニタ又はL
CDスクリーン等の表示装置及びキーボード及びユーザ
がコンピュータシステムへ入力を供給することの可能な
マウス又はトラックボール等のポインティング装置を具
備するコンピュータシステム上で実現することが可能で
ある。該コンピュータシステムは、コンピュータプログ
ラムがユーザと対話するグラフィカルユーザインターフ
ェースを与えるためにプログラムすることが可能であ
る。ユーザはグラフィカルユーザインターフェースを介
して電子文書を操作し、その場合に電子文書はアプリケ
ーションプログラムによって作成されるか又は編集され
た作品を有しており、且つ、特に、ファイルシステム内
に保存される場合には、別個のファイルとして保存され
る独立した作品を包含している。
詳細に説明したが、本発明は、これら具体例にのみ制限
されるべきものではなく、本発明の技術的範囲を逸脱す
ることなしに種々の変形が可能であることは勿論であ
る。
概略ブロック図。
包絡線を発生する方法を示したフローチャート。
概略側面図。
概略平面図。
方法を示したフローチャート。
ブラシインスタンス上の点を識別するための方法を示し
たフローチャート。
描画されたラインの概略図。
数個の点を接続する方法を示したフローチャート。
可能性のある包絡線近似を示した概略図。
可能性のある包絡線近似を示した概略図。
対して適用される曲線平滑化技術を示した概略図。
対して適用される曲線平滑化技術を示した概略図。
対して適用される曲線平滑化技術を示した概略図。
対して適用した曲線平滑化技術を示した概略図。
対して適用した曲線平滑化技術を示した概略図。
対して適用した曲線平滑化技術を示した概略図。
ローチャート。
ンスが閉じたシーケンスである場合にセグメントを平滑
化するプロセスを示したフローチャート。
ンスが開いたシーケンスである場合にセグメントを平滑
化するプロセスを示したフローチャート。
嵌めるためのプロセスを示したフローチャート。
合を示した概略図。
示した概略図。
ト。
た概略図。
フローチャート。
Claims (23)
- 【請求項1】 電子文書内の曲線を編集するコンピュー
タによって実行される方法において、 ユーザからの入力としてスケッチ曲線を受取り、前記ス
ケッチ曲線は2つの端点を有しており、 前記スケッチ曲線の端点の各々に最も近い既存の曲線内
の1つの点を見つけ出すことによって前記既存曲線のタ
ーゲットセクションを識別し、前記ターゲットセクショ
ンは見つかった点の間の既存の曲線の部分であり、 前記既存の曲線から前記ターゲットセクションを除去
し、前記既存の曲線内に2つの内部端点を残し、 置換曲線を作成し、前記置換曲線は2つの端点を有して
おり、 前記置換曲線を前記ターゲットセクションの代わりに前
記既存の曲線内に挿入し、 前記既存の曲線と前記置換曲線との間の各端点における
ギャップを閉じるためにそれらの夫々の隣りの端点にお
いて前記既存の曲線と前記置換曲線とを整形する、こと
を特徴とする方法。 - 【請求項2】 請求項1において、前記点の間の距離を
ユークリッド距離によって測定することを特徴とする方
法。 - 【請求項3】 請求項1において、前記既存の曲線及び
前記置換曲線を整形する場合に、 前記置換曲線の各端点において前記置換曲線を短縮さ
せ、 各内部端点において前記既存の曲線を短縮させ、 前記短縮させた置換曲線及び前記短縮させた既存の曲線
を連結させるためにスミ肉曲線を形成する、ことを特徴
とする方法。 - 【請求項4】 請求項3において、前記既存の曲線及び
前記置換曲線の隣接する短縮させた端部の各対の各端部
が同一の量だけ短縮されることを特徴とする方法。 - 【請求項5】 請求項3において、前記短縮させた端部
の各々が前記短縮させた端部に隣接するギャップの寸法
から計算した量だけ短縮されることを特徴とする方法。 - 【請求項6】 請求項1において、前記置換曲線が前記
スケッチ曲線であることを特徴とする方法。 - 【請求項7】 請求項1において、前記置換曲線を形成
する場合に、前記ターゲットセクションを平滑化して前
記置換曲線を形成することを特徴とする方法。 - 【請求項8】 請求項7において、前記ターゲットセク
ションを平滑化する場合に、 前記ターゲットセクションを表わす点の順番付けしたシ
ーケンスを形成し、 前記順番付けした点のシーケンスの点を1個又はそれ以
上の隣接した点のセグメントへグループ化し、 前記各セグメントの点を平滑化して平滑した点のセグメ
ントを発生し、 平滑した点の各セグメントに対して1個又はそれ以上の
数学的曲線を当て嵌め、前記1つ又はそれ以上の数学的
曲線が一体となって前記置換曲線を形成する、ことを特
徴とする方法。 - 【請求項9】 請求項8において、点の順番付けしたシ
ーケンスを形成する場合に、 前記点の順番付けしたシーケンスにおける点の間の間隔
距離が最大間隔を超えることがなく、且つ前記点の順番
付けしたシーケンスにおける2つの連続した点の間に形
成される直線と前記ターゲットセクションとの間の平坦
性距離が平坦性許容値を超えることがない、ように点を
選択することを特徴とする方法。 - 【請求項10】 請求項1において、前記既存の曲線が
包絡線を持ったブラシストロークの軌跡曲線であり、本
方法が、更に、既存のブラシストロークの包絡線情報と
編集した軌跡曲線を使用して新たなブラシストロークに
対する新たな包絡線を計算することを特徴とする方法。 - 【請求項11】 対話的グラッフィクシステムのユーザ
と対話を行う方法において、 ディスプレイ装置上に曲線を表示し、 グラフィカルユーザインターフェースを介してユーザの
制御の下で動作可能な平滑化ツールをユーザに供給し、 前記曲線の一部の選択を表示するために前記曲線の一部
の上で前記平滑化ツールを移動させるユーザからの所作
を受取り、 前記曲線の選択された部分に対して平滑化フィルタを適
用することによって前記曲線の選択された部分を平滑化
させる、ことを特徴とする方法。 - 【請求項12】 請求項11において、更に、前記曲線
のサンプルを選択し、前記選択したサンプルを別個の曲
線として平滑化し、且つ前記平滑化したサンプルを前記
曲線へ再度当て嵌めるためにグラフィカルユーザインタ
ーフェースを介してユーザの制御下で動作可能な平滑化
ツールをユーザに対して与えることを特徴とする方法。 - 【請求項13】 ブラシストロークが軌跡曲線と、包絡
線曲線と、包絡線情報とを有しているグラフィックシス
テムにおけるブラシストロークを編集する方法におい
て、 スケッチを基にした編集によってブラシストロークの軌
跡曲線を編集し、スケッチを基にした編集は入力として
スケッチ曲線を受取り且つ前記スケッチ曲線に基づいて
前記軌跡曲線を修正するものであり、 既存のブラシストロークの包絡線情報及び編集した軌跡
曲線を使用して新たなブラシストロークに対する新たな
包絡線曲線を計算する、ことを特徴とする方法。 - 【請求項14】 請求項13において、スケッチを基に
した編集を行う場合に、 前記軌跡曲線上のターゲットセクションを識別するため
に前記スケッチ曲線を使用し、前記ターゲットセクショ
ンの端点は前記スケッチ曲線の端点に最も近い前記軌跡
曲線上の点であり、 前記ターゲットセクションを前記軌跡曲線上の前記スケ
ッチ曲線と置換し、 編集した軌跡曲線を作成するために前記軌跡曲線及び前
記スケッチ曲線を互いに整形させる、ことを特徴とする
方法。 - 【請求項15】 請求項13において、スケッチを基に
した編集を行う場合に、 前記スケッチ曲線を使用して前記軌跡曲線上のターゲッ
トセクションを識別し、その場合に、前記ターゲットセ
クションの端点は前記スケッチ曲線の端点に最も近い前
記軌跡曲線上の点であり、 前記ターゲットセクションを平滑化し、 前記ターゲットセクションを前記軌跡曲線における平滑
化したターゲットセクションと置換し、 編集した軌跡曲線を作成するために前記軌跡曲線及び平
滑化したターゲットセクションを互いに整形させる、こ
とを特徴とする方法。 - 【請求項16】 請求項13において、新たなブラシス
トロークに対する新たな包絡線曲線を計算する場合に、 元の軌跡曲線からの包絡線情報を編集した軌跡曲線へマ
ッピングすることによって編集した軌跡曲線に対する新
たな包絡線情報を計算する、ことを特徴とする方法。 - 【請求項17】 請求項13において、新たなブラシス
トロークに対する新たな包絡線曲線を計算する場合に、 既存のブラシストロークの軌跡曲線の円弧長及び編集し
た軌跡曲線の円弧長に基づいて既存のブラシストローク
の軌跡曲線の包絡線情報を線形補間することによって新
たな包絡線情報を計算し、 前記新たな包絡線情報を編集した軌跡曲線へ適用する、
ことを特徴とする方法。 - 【請求項18】 請求項13において、包絡線情報が、 ブラシ形状、 軌跡曲線に沿っての対応する1つ又はそれ以上の位置に
おいてブラシ形状に対してなされるべき修正を画定する
1つ又はそれ以上のアフィンマトリクス、を有している
ことを特徴とする方法。 - 【請求項19】 請求項18において、前記アフィンマ
トリクスが、ユーザによって入力装置の物理的操作に応
答して入力装置から受取られるデータを使用して計算さ
れることを特徴とする方法。 - 【請求項20】 請求項19において、ユーザが入力装
置から受取ったデータをアフィンマトリクスにおける値
へ変換させるための変換パラメータを定義することを特
徴とする方法。 - 【請求項21】 コンピュータプログラムアプリケーシ
ョンにおけるグラフィックを編集するユーザと対話する
プログラム命令を格納しているコンピュータによって読
取可能な格納媒体を有する装置において、前記装置は、
プログラム可能なプロセサをして、 ユーザからの入力としてスケッチ曲線を受取らせ、前記
スケッチ曲線は2つの端点を有しており、 前記スケッチ曲線の端点の各々に最も近い既存の曲線内
の1つの点を見つけ出すことによって前記既存の曲線の
ターゲットセクションを識別させ、前記ターゲットセク
ションは見つけられた点の間の前記既存の曲線の部分で
あり、 前記既存の曲線から前記ターゲットセクションを除去
し、前記既存の曲線内に2つの内部端点を残存させ、 置換曲線を形成させ、前記置換曲線は2つの端点を有し
ており、 前記ターゲットセクションの代わりに前記置換曲線を前
記既存の曲線内に挿入させ、 前記既存の曲線と前記置換曲線との間の各端点における
ギャップを閉じるために整形させることによってそれら
の夫々の隣りの端点において前記既存の曲線と前記置換
曲線とを連結させる、ために動作可能な命令を有してい
ることを特徴とする装置。 - 【請求項22】 コンピュータによって読取可能な媒体
上に格納されているコンピュータプログラムにおいて、
コンピュータをして、 グラフィカルユーザインターフェースを介してユーザの
制御下において動作可能な平滑化ツールをユーザへ供給
し、 曲線の一部の選択を表わすために前記曲線の一部の上で
前記平滑化ツールを移動させるユーザから所作を受取
り、 前記曲線の選択した部分に対して平滑化フィルタを適用
することによって前記曲線の選択した部分を平滑化させ
る、命令を有していることを特徴とするコンピュータプ
ログラム。 - 【請求項23】 ブラシストロークが軌跡曲線と、包絡
線曲線と、包絡線情報とを有しているグラフィックシス
テムにおけるブラシストロークを編集するシステムにお
いて、 スケッチを基にした編集によってブラシストロークの軌
跡曲線を編集する手段が設けられており、スケッチを基
にした編集は入力としてスケッチ曲線を受取り且つ前記
スケッチ曲線に基づいて軌跡曲線を修正するものであっ
て、 編集した軌跡曲線及び既存のブラシストロークの包絡線
情報を使用して新たなブラシストロークに対する新たな
包絡線曲線を計算する手段が設けられている、ことを特
徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/56567 | 1998-04-07 | ||
US09/056,567 US6208355B1 (en) | 1998-04-07 | 1998-04-07 | Sketch-based editing of curves |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11328431A true JPH11328431A (ja) | 1999-11-30 |
JP4312295B2 JP4312295B2 (ja) | 2009-08-12 |
Family
ID=22005279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10051899A Expired - Lifetime JP4312295B2 (ja) | 1998-04-07 | 1999-04-07 | スケッチを基にした曲線の編集 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6208355B1 (ja) |
EP (2) | EP0953944B1 (ja) |
JP (1) | JP4312295B2 (ja) |
DE (2) | DE69940445D1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6806878B2 (en) | 2000-09-01 | 2004-10-19 | Nec Corporation | Graphic editing apparatus for adding or deleting curve to/from graphics by interactive processing |
JP2013546029A (ja) * | 2010-06-21 | 2013-12-26 | ギエリス ヨウハン | コンピュータ実装ツールボックスシステム及び方法 |
JP2015064858A (ja) * | 2013-08-27 | 2015-04-09 | キヤノン株式会社 | 画像処理装置およびその方法 |
JP2016537694A (ja) * | 2013-11-19 | 2016-12-01 | 株式会社ワコム | インクデータの生成、インクデータのレンダリング、インクデータの操作、及び、インクデータの伝達のための方法及びシステム |
KR20200073703A (ko) * | 2018-12-14 | 2020-06-24 | 네이버웹툰 주식회사 | 선따기 훈련 데이터 생성 방법, 시스템 및 컴퓨터 프로그램 |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US6628295B2 (en) * | 2001-01-31 | 2003-09-30 | Adobe Systems Incorporated | Modifying a stylistic property of a vector-based path |
US7057615B2 (en) * | 2001-06-28 | 2006-06-06 | Microsoft Corporation | Method and system for representing and displaying digital ink |
US7339597B1 (en) | 2002-06-21 | 2008-03-04 | Adobe Systems Incorporated | Creating and manipulating related vector objects in an image |
US7123269B1 (en) * | 2002-06-21 | 2006-10-17 | Adobe Systems Incorporated | Modifying vector objects |
US8442331B2 (en) | 2004-02-15 | 2013-05-14 | Google Inc. | Capturing text from rendered documents using supplemental information |
US7707039B2 (en) | 2004-02-15 | 2010-04-27 | Exbiblio B.V. | Automatic modification of web pages |
EP1562130A1 (en) * | 2004-02-06 | 2005-08-10 | Dassault Systèmes | A process for modifying a curve in a computer-aided design system |
US7812860B2 (en) | 2004-04-01 | 2010-10-12 | Exbiblio B.V. | Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device |
US10635723B2 (en) | 2004-02-15 | 2020-04-28 | Google Llc | Search engines and systems with handheld document data capture devices |
US20060098900A1 (en) | 2004-09-27 | 2006-05-11 | King Martin T | Secure data gathering from rendered documents |
US8146156B2 (en) | 2004-04-01 | 2012-03-27 | Google Inc. | Archive of text captures from rendered documents |
US9008447B2 (en) | 2004-04-01 | 2015-04-14 | Google Inc. | Method and system for character recognition |
US8081849B2 (en) | 2004-12-03 | 2011-12-20 | Google Inc. | Portable scanning and memory device |
US20060081714A1 (en) | 2004-08-23 | 2006-04-20 | King Martin T | Portable scanning device |
US7894670B2 (en) | 2004-04-01 | 2011-02-22 | Exbiblio B.V. | Triggering actions in response to optically or acoustically capturing keywords from a rendered document |
US9116890B2 (en) | 2004-04-01 | 2015-08-25 | Google Inc. | Triggering actions in response to optically or acoustically capturing keywords from a rendered document |
US9143638B2 (en) | 2004-04-01 | 2015-09-22 | Google Inc. | Data capture from rendered documents using handheld device |
US7990556B2 (en) | 2004-12-03 | 2011-08-02 | Google Inc. | Association of a portable scanner with input/output and storage devices |
US8713418B2 (en) | 2004-04-12 | 2014-04-29 | Google Inc. | Adding value to a rendered document |
US8489624B2 (en) | 2004-05-17 | 2013-07-16 | Google, Inc. | Processing techniques for text capture from a rendered document |
US8620083B2 (en) | 2004-12-03 | 2013-12-31 | Google Inc. | Method and system for character recognition |
US8874504B2 (en) | 2004-12-03 | 2014-10-28 | Google Inc. | Processing techniques for visual capture data from a rendered document |
US7057616B2 (en) * | 2004-04-23 | 2006-06-06 | Microsoft Corporation | Using constrained optimization in curve editing |
DE102004022320A1 (de) * | 2004-05-06 | 2005-11-24 | Daimlerchrysler Ag | Elektronische Konstruktionsvorrichtung |
US8346620B2 (en) | 2004-07-19 | 2013-01-01 | Google Inc. | Automatic modification of web pages |
EP2067119A2 (en) | 2006-09-08 | 2009-06-10 | Exbiblio B.V. | Optical scanners, such as hand-held optical scanners |
EP2164013B1 (en) * | 2008-09-02 | 2017-03-01 | F. Hoffmann-La Roche AG | Method and apparatus for setting a basal rate profile for an insulin pump |
EP2399385B1 (en) | 2009-02-18 | 2019-11-06 | Google LLC | Automatically capturing information, such as capturing information using a document-aware device |
US8447066B2 (en) | 2009-03-12 | 2013-05-21 | Google Inc. | Performing actions based on capturing information from rendered documents, such as documents under copyright |
WO2010105246A2 (en) | 2009-03-12 | 2010-09-16 | Exbiblio B.V. | Accessing resources based on capturing information from a rendered document |
US9081799B2 (en) | 2009-12-04 | 2015-07-14 | Google Inc. | Using gestalt information to identify locations in printed information |
US9323784B2 (en) | 2009-12-09 | 2016-04-26 | Google Inc. | Image search using text-based elements within the contents of images |
USD642587S1 (en) | 2010-04-30 | 2011-08-02 | American Teleconferencing Services, Ltd. | Animated graphical user interface for a portion of a display screen |
US10372315B2 (en) | 2010-04-30 | 2019-08-06 | American Teleconferencing Services, Ltd | Location-aware conferencing with calendar functions |
US8626847B2 (en) | 2010-04-30 | 2014-01-07 | American Teleconferencing Services, Ltd. | Transferring a conference session between client devices |
US9082106B2 (en) | 2010-04-30 | 2015-07-14 | American Teleconferencing Services, Ltd. | Conferencing system with graphical interface for participant survey |
USD656507S1 (en) | 2010-04-30 | 2012-03-27 | American Teleconferencing Services, Ltd. | Display screen portion with an animated image |
USD656506S1 (en) | 2010-04-30 | 2012-03-27 | American Teleconferencing Services, Ltd. | Display screen portion with an animated image |
US9189143B2 (en) | 2010-04-30 | 2015-11-17 | American Teleconferencing Services, Ltd. | Sharing social networking content in a conference user interface |
US9419810B2 (en) | 2010-04-30 | 2016-08-16 | American Teleconference Services, Ltd. | Location aware conferencing with graphical representations that enable licensing and advertising |
USD642586S1 (en) | 2010-04-30 | 2011-08-02 | American Teleconferencing Services, Ltd. | Portion of a display screen with a user interface |
USD656504S1 (en) | 2010-04-30 | 2012-03-27 | American Teleconferencing Services, Ltd. | Display screen portion with an animated image |
US9106794B2 (en) | 2010-04-30 | 2015-08-11 | American Teleconferencing Services, Ltd | Record and playback in a conference |
US9560206B2 (en) | 2010-04-30 | 2017-01-31 | American Teleconferencing Services, Ltd. | Real-time speech-to-text conversion in an audio conference session |
USD656505S1 (en) | 2010-04-30 | 2012-03-27 | American Teleconferencing Services, Ltd. | Display screen portion with animated image |
USD656941S1 (en) | 2010-04-30 | 2012-04-03 | American Teleconferencing Services, Ltd. | Display screen portion with an animated image |
US10268360B2 (en) | 2010-04-30 | 2019-04-23 | American Teleconferencing Service, Ltd. | Participant profiling in a conferencing system |
USD656942S1 (en) | 2010-04-30 | 2012-04-03 | American Teleconferencing Services, Ltd. | Display screen portion with an animated image |
CN102332173B (zh) * | 2011-09-13 | 2013-03-27 | 浙江万朋网络技术有限公司 | 一种基于向量代数的简明软笔效果生成方法 |
JP2015043159A (ja) * | 2013-08-26 | 2015-03-05 | シャープ株式会社 | タッチパネル装置及び表示装置 |
CN106462982B (zh) * | 2014-05-30 | 2019-07-12 | 株式会社迅销 | 图像处理终端、图像处理系统及非临时存储介质 |
US10930045B2 (en) | 2017-03-22 | 2021-02-23 | Microsoft Technology Licensing, Llc | Digital ink based visual components |
US10380175B2 (en) | 2017-06-06 | 2019-08-13 | International Business Machines Corporation | Sketch-based image retrieval using feedback and hierarchies |
US20230419567A1 (en) * | 2022-06-23 | 2023-12-28 | Adobe Inc. | Generating chain pull painting styles in digital applications |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4620287A (en) * | 1983-01-20 | 1986-10-28 | Dicomed Corporation | Method and apparatus for representation of a curve of uniform width |
GB2244892B (en) * | 1990-06-08 | 1994-12-14 | Electronic Graphics Ltd | Computer graphics |
US5594855A (en) * | 1992-02-11 | 1997-01-14 | Macromedia, Inc. | System and method for generating real time calligraphic curves |
US5367617A (en) * | 1992-07-02 | 1994-11-22 | Microsoft Corporation | System and method of hybrid forward differencing to render Bezier splines |
JPH06176122A (ja) * | 1992-12-09 | 1994-06-24 | Casio Comput Co Ltd | 図形編集装置 |
US5594853A (en) * | 1995-01-03 | 1997-01-14 | University Of Washington | Method and system for editing the general sweep and detail of a figure with a curve |
US5940083A (en) * | 1997-04-01 | 1999-08-17 | Novell, Inc. | Multi-curve rendering modification apparatus and method |
US6100904A (en) * | 1997-06-25 | 2000-08-08 | Adobe Systems Incorporated | Curvature smoothing |
-
1998
- 1998-04-07 US US09/056,567 patent/US6208355B1/en not_active Expired - Lifetime
-
1999
- 1999-03-29 EP EP99302435A patent/EP0953944B1/en not_active Expired - Lifetime
- 1999-03-29 DE DE69940445T patent/DE69940445D1/de not_active Expired - Lifetime
- 1999-03-29 EP EP05015813A patent/EP1612735B1/en not_active Expired - Lifetime
- 1999-03-29 DE DE69927738T patent/DE69927738T2/de not_active Expired - Lifetime
- 1999-04-07 JP JP10051899A patent/JP4312295B2/ja not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6806878B2 (en) | 2000-09-01 | 2004-10-19 | Nec Corporation | Graphic editing apparatus for adding or deleting curve to/from graphics by interactive processing |
JP2013546029A (ja) * | 2010-06-21 | 2013-12-26 | ギエリス ヨウハン | コンピュータ実装ツールボックスシステム及び方法 |
JP2015064858A (ja) * | 2013-08-27 | 2015-04-09 | キヤノン株式会社 | 画像処理装置およびその方法 |
JP2016537694A (ja) * | 2013-11-19 | 2016-12-01 | 株式会社ワコム | インクデータの生成、インクデータのレンダリング、インクデータの操作、及び、インクデータの伝達のための方法及びシステム |
KR20200073703A (ko) * | 2018-12-14 | 2020-06-24 | 네이버웹툰 주식회사 | 선따기 훈련 데이터 생성 방법, 시스템 및 컴퓨터 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
EP1612735B1 (en) | 2009-02-18 |
US6208355B1 (en) | 2001-03-27 |
DE69927738T2 (de) | 2006-07-20 |
EP0953944A2 (en) | 1999-11-03 |
JP4312295B2 (ja) | 2009-08-12 |
EP1612735A1 (en) | 2006-01-04 |
DE69927738D1 (de) | 2006-03-02 |
DE69940445D1 (de) | 2009-04-02 |
EP0953944B1 (en) | 2005-10-19 |
EP0953944A3 (en) | 2003-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4312295B2 (ja) | スケッチを基にした曲線の編集 | |
US6067094A (en) | Brushstroke envelopes | |
US6304677B1 (en) | Smoothing and fitting point sequences | |
CN106713923B (zh) | 三维建模对象的压缩 | |
CN106157339B (zh) | 基于低秩顶点轨迹子空间提取的动画网格序列压缩方法 | |
US7589720B2 (en) | Mesh editing with gradient field manipulation and user interactive tools for object merging | |
US7814441B2 (en) | System and method for identifying original design intents using 3D scan data | |
JP3318914B2 (ja) | ベツィエスプラインをレンダリングするためのシステムおよび方法 | |
US7936352B2 (en) | Deformation of a computer-generated model | |
JP7029283B2 (ja) | 画像の補完 | |
US7570264B2 (en) | Rig baking | |
JP5451285B2 (ja) | 画像処理装置、画像処理方法 | |
EP0926628A2 (en) | mpparatus and method for generating progressive polygon data | |
Pusch et al. | Improving the sketch-based interface: Forming curves from many small strokes | |
Gribov | Optimal compression of a polyline while aligning to preferred directions | |
Olsen et al. | Sketch-Based Mesh Augmentation. | |
Bendels et al. | Detail-Preserving Surface Inpainting. | |
Borouchaki et al. | Unstructured triangular-quadrilateral mesh generation. Application to surface meshing | |
US8520951B2 (en) | Image processing method, image processing apparatus, and computer readable storage medium | |
US8681156B2 (en) | Systems and methods for interactive vectorization | |
US7091969B2 (en) | Frontier advancing polygonization | |
Roy et al. | Multiresolution analysis for meshes with appearance attributes | |
WO2002077912A1 (en) | System, method and computer program product for generic outline font compression | |
Lanquetin et al. | Generalized SCODEF deformations on subdivision surfaces | |
Curila et al. | New prediction scheme for geometry coding of 3D meshes within the MPEG-4 framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081014 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090109 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090115 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090210 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090313 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090414 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090513 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |