(57)【特許請求の範囲】
【請求項１】
コンピュータに備えられたコントローラーにより実行される曲線を編集する方法であって、
編集される曲線上の選択された複数のポイントを受信するステップと、
該選択された複数のポイントの編集情報を受信するステップであって、該編集情報が距離の情報及び方向の情報を含み、前記複数のポイントの編集情報のそれぞれに含まれる距離の情報及び方向の情報はそれぞれ異なる距離及び方向を指示する、ステップと、
該編集情報に基づいて、該選択されたポイントの一つを、編集する方向に、編集する距離分移動させるステップと、
少なくとも一つの補助のポイントを、該編集する方向に、編集される該曲線の特性に応じた距離分移動させるステップと、
前記選択されたポイントの一つを移動させるステップと前記補助のポイントを移動させるステップとを、選択された前記複数のポイントの個数に相当する回数だけ順次繰り返すステップと、
該選択されたポイントと、該補助のポイントとに基づいて、編集された曲線を描くステップと、
を含むことを特徴とする、曲線を編集する方法。
【請求項２】
前記選択されたポイントを移動させるステップにおいて、曲線を移動させる距離をコントロールするために、ノットベクトルにノットを挿入することを特徴とする請求項１に記載の方法。
【請求項３】
該選択されたポイントと該補助のポイントの両方が、該曲線のコントロール用頂点であることを特徴とする請求項１又は２に記載の方法。
【請求項４】
該選択されたポイントが該曲線のコントロール用頂点ではない場合、該選択されたポイントが該曲線のコントロール用頂点として定義されるまで、該曲線にノットを挿入するステップを、前記選択されたポイントを受信するステップの後であって、前記選択されたポイントを移動させるステップより前に、さらに含むことを特徴とする請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
該曲線がまた、コントロール用多角形に従っても再度描かれることを特徴とする請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
該選択されたポイントと編集情報がユーザーから提供されることを特徴とする請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
該選択されたポイントと編集情報が自動化された曲線の更新プロセスから提供されることを特徴とする請求項１乃至５のいずれか一項に記載の方法。
【請求項８】
少なくともプロセッサとアクセス可能なメモリとを有するデータ処理システムにおいて、
編集される曲線上の選択された複数のポイントを受信するための手段と、
該選択された複数のポイントの編集情報を受信する手段であって、該編集情報が距離の情報及び方向の情報を含み、前記複数のポイントの編集情報のそれぞれに含まれる距離の情報及び方向の情報はそれぞれ異なる距離及び方向を指示する、該手段と、
該編集情報に基づいて、該選択されたポイントの一つを、編集する方向に、編集する距離分移動させるための手段と、
少なくとも一つの補助のポイントを、該編集する方向に、編集される該曲線の特性に応じた距離分移動させるための手段と、
前記選択されたポイントの一つを移動させるための手段と前記補助のポイントを移動させるための手段とに、選択された前記複数のポイントの個数に相当する回数だけ動作を順次繰り返させるための手段と、
該選択されたポイントと、該補助のポイントとに基づいて、編集された曲線を描くための手段と、
を備えることを特徴とするデータ処理システム。
【請求項９】
前記選択されたポイントを移動させるための手段は、曲線を移動させる距離をコントロールするために、ノットベクトルにノットを挿入することを特徴とする請求項８に記載のデータ処理システム。
【請求項１０】
該選択されたポイントと該補助のポイントの両方が、該曲線のコントロール用頂点であることを特徴とする請求項８又は９に記載のデータ処理システム。
【請求項１１】
該選択されたポイントが該曲線のコントロール用頂点ではない場合、該選択されたポイントが該曲線のコントロール用頂点として定義されるまで、該曲線にノットを挿入するための手段をさらに備えることを特徴とする請求項８乃至１０のいずれか一項に記載のデータ処理システム。
【請求項１２】
該曲線がまた、コントロール用多角形に従っても再度描かれることを特徴とする請求項８乃至１１のいずれか一項に記載のデータ処理システム。
【請求項１３】
該選択されたポイントと編集情報がユーザーから提供されることを特徴とする請求項８乃至１２のいずれか一項に記載のデータ処理システム。
【請求項１４】
該選択されたポイントと編集情報が自動化された曲線の更新プロセスから提供されることを特徴とする請求項８乃至１２のいずれか一項に記載のデータ処理システム。
【請求項１５】
編集される曲線上の選択された複数のポイントを受信する手順と、
該選択された複数のポイントの編集情報を受信する手順であって、該編集情報が距離の情報及び方向の情報を含み、前記複数のポイントの編集情報のそれぞれに含まれる距離の情報及び方向の情報はそれぞれ異なる距離及び方向を指示する、該手順と、
該編集情報に基づいて、該選択されたポイントの一つを、編集する方向に、編集する距離分移動させる手順と、
少なくとも一つの補助のポイントを、該編集する方向に、編集される該曲線の特性に応じた距離分移動させる手順と、
前記選択されたポイントの一つを移動させる手順と前記補助のポイントを移動させる手順とを、選択された前記複数のポイントの個数に相当する回数だけ順次繰り返させる手順と、
該選択されたポイントと、該補助のポイントとに基づいて、編集された曲線を描く手順と、
をコンピュータに備えられたコントローラーに実行させるためのコンピュータプログラム。
【請求項１６】
前記選択されたポイントの一つを移動させる手順は、曲線を移動させる距離をコントロールするために、ノットベクトルにノットを挿入する手順を含むことを特徴とする請求項１５に記載のコンピュータプログラム。
【請求項１７】
該選択されたポイントと該補助のポイントの両方が、該曲線のコントロール用頂点であることを特徴とする請求項１５又は１６に記載のコンピュータプログラム。
【請求項１８】
該選択されたポイントが該曲線のコントロール用頂点ではない場合、該選択されたポイントが該曲線のコントロール用頂点として定義されるまで、該曲線にノットを挿入する手順を、前記選択されたポイントを受信する手順の後であって、前記選択されたポイントの一つを移動させる手順より前に、さらに含むことを特徴とする請求項１５乃至１７のいずれか一項に記載のコンピュータプログラム。
【請求項１９】
該曲線がまた、コントロール用多角形に従っても再度描かれることを特徴とする請求項１５乃至１８のいずれか一項に記載のコンピュータプログラム。
【請求項２０】
該選択されたポイントと編集情報がユーザーから提供されることを特徴とする請求項１５乃至１９のいずれか一項に記載のコンピュータプログラム。
【請求項２１】
該選択されたポイントと編集情報が自動化された曲線の更新プロセスから提供されることを特徴とする請求項１５乃至１９のいずれか一項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にグラフィックス編集テクニックに関するものである。
【背景技術】
【０００２】
コンピュータグラフィックスの分野、また特にＢスプライン（ｓｐｌｉｎｅ）もしくはナーブス（ＮＵＲＢＳ）曲線の編集および操作の分野において、グラフィックスの曲線（ｇｒａｐｈｉｃａｌ  ｃｕｒｖｅ）を、そのドラフト（ｄｒａｆｔ）後にユーザーが編集することは良くあることである。従来技術では、既存の解決方法において曲線を編集するには主に二つのアプローチ（ａｐｐｒｏａｃｈ）がある。
【０００３】
第一番目の従来技術でのアプローチは、曲線データ、すなわち曲線の編集ポイントもしくはコントロール用多角形のコントロール用頂点のどちらかを直接編集することである。
【０００４】
この方法において、ユーザーは例えば編集ポイントを直接選択し、それを新しい位置に移動させる。曲線上のその他のポイントは固定されたままで、曲線はこの新しい位置を通して再補間する。他の編集ポイントをこの編集に対してインテリジェントにどのように反応するか分からないため、曲線の形状はしばしば歪み、理想的形状を再び得るために多くの更なる編集が必要となる。
【０００５】
第二番目の従来技術でのアプローチは特別コマンド（ｓｐｅｃｉａｌ  ｃｏｍｍａｎｄ）を使用した編集（ｅｄｉｔ）である。この方法において、ユーザーは曲線を編集するための特別コマンドを選択し、この特別コマンドが、ポイントを一まとめにしてどのように編集するかについてのインテリジェンス（ｉｎｔｅｌｌｉｇｅｎｃｅ）をある程度含む。例えば、ユーザーはスケールコマンドを選択し、Ｘ方向に曲線をスケールし、Ｙ方向およびＺ方向にはスケールしないことにする。これにより曲線の一般的な形状は維持されるが、重大な欠点もいくつかある。もっとも重要な欠点は、このようにコマンドをベースとすることで、このコマンドの範囲外の編集を要求された場合、エレメントは適切に反応することが出来ないということである。例えば、現行の関連性（もしくは履歴ベースの）システムにおいては、別の曲線を変えるにあたり、接続を維持するために、この曲線自体が変化することが必要になる場合もある。「形状を保持」したままの変更に必要なインテリジェンスはこの曲線の中に維持されてはいないので、この曲線を適切に反応させることが出来ず、代わりに、上記の第一番目の従来技術のテクニックについて記述した「ローカル」なやり方で編集を行う。
【０００６】
曲線編集機能を備えた市販のソフトウェアツールの中には、デフォルト（ｄｅｆａｕｌｔ）して曲線が変形せずスケール（ｓｃａｌｅ）する、曲線を編集するための「グローバル」（ｇｌｏｂａｌ）なアプローチを採用するものもある。つまり、曲線のグラフィックのスケール用ハンドルが特定の方向に引っ張られた場合、曲線はＸディメンション、Ｙディメンションもしくはその両方でスケールするが、その元々の形状の基本的フォームは維持される。しかしながら、この原始的な「形状保持」の方法には特定の制限がある。
【０００７】
このテクニックの制限の一つは、曲線の編集が間接的であるということである。つまりは、グローバルなスケーリングハンドルポイント（ｓｃａｌｉｎｇ  ｈａｎｄｌｅ  ｐｏｉｎｔ）を操作することでしか、スケーリングを行うことが出来ない。ユーザーは曲線上のポイントを特に変更し、この曲線の他の部分をグローバルに更新（ｕｐｄａｔｅ）することは出来ない。
【０００８】
更に、このタイプの曲線の編集は、一つの編集に制限される。つまり、ユーザーは曲線上の複数のポイントを複数の異なる方向に編集し、それに対してこの曲線が適切に反応するということは出来ない。
【０００９】
最後に、この従来技術のグラフィックス編集は、例えば他のオブジェクト（ｏｂｊｅｃｔ）の変更といった、外部のイベント（ｅｖｅｎｔ）をきっかけとして行うことは出来ない。つまり、ユーザーが手動で編集を行う必要がある。
【００１０】
従って、この技術分野においては、曲線を手動もしくは自動で編集する場合に、その曲線の形状特性をインテリジェントに保持するための、改良されたシステム、方法、およびコンピュータプログラム製品が必要とされている。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記に説明された従来技術の欠点に対応するため、本発明は、グラフィックスの改良された編集テクニックを提供することを主な目的とする。
【課題を解決するための手段】
【００１２】
好ましい実施例では、挙動を曲線のエレメント内に組み込むことによって、更に多彩な手動の編集および自動の編集を可能にするシステム、方法、およびコンピュータプログラム製品を提供する。これらの挙動を組み込むことによって、曲線が編集されてもインテリジェントに形状を保持することが出来る。それぞれの曲線は、編集された場合にいかに反応すべきかを示す挙動特性を有している。これが意味するのは、例えばフィーチャーツリー（ｆｅａｔｕｒｅ  ｔｒｅｅ）の高レベルでのオブジェクトの再算出といった、外部からの理由で編集が開始された場合であっても、この曲線とグラフィックスシステムが、実行されるべき正しい編集のタイプに関して完全な知識を有しているということである。
【００１３】
上記は、当業者が後述する発明の詳細な説明をよりよく理解出来るように、本発明の特徴及び技術的な効果についてかなり広範に概要を述べたものである。本発明の追加的な特徴及び効果は、以下、本発明の特許請求項の範囲の対象として記述する。当業者は、本発明と同様の目的を実行するために、他の構造を変更またはデザインすることを基礎として、開示される概念及び具体的な実施例を容易に使用することが出来ると理解するであろう。当業者はまた、そのような同等の構成は、広義の形態における本発明の精神及び範囲から逸脱するものではないということを認めるであろう。
【００１４】
下記の発明の詳細な説明に進む前に、本特許で使用している単語または語句の定義を説明することは有意義であろう。「含む」（ｉｎｃｌｕｄｅ）および「から成る」（ｃｏｍｐｒｉｓｅ）という用語およびそれらの派生語は、制限のない包含を意味する。「または」（ｏｒ）という用語は包含的であり、「および／または」（ａｎｄ／ｏｒ）を意味する。「に関連する」（ａｓｓｏｃｉａｔｅｄ  ｗｉｔｈ）または「と関連する」（ａｓｓｏｃｉａｔｅｄ  ｔｈｅｒｅｗｉｔｈ）という語句およびそれらの派生語は、〜を含む、〜内に含まれる、相互に接続する、〜を包含する、〜に包含される、〜に接続する、〜と接続する、〜と連結する、〜に連結する、〜と伝達出来る、〜と提携する、インターリーブする（ｉｎｔｅｒｌｅａｖｅ）、並列する（ｊｕｘｔａｐｏｓｅ）、〜に隣接する、〜に境を接する、〜と境を接する、〜を有する、〜の性質を有する、等を意味する。「コントローラー」（ｃｏｎｔｒｏｌｌｅｒ）という用語は、少なくとも一つの操作を制御するデバイス、システム、またはそれらの部品の全てを意味し、そのようなデバイスが、ハードウェア、ファームウェア、ソフトウエアまたは少なくとも二つの同様なものを組み合わせたものに実装されているかを問わない。特定のコントローラーに関連する機能性は集中型でも分散型でもよく、ローカルかまたは遠隔かは問わないことに留意されたい。本特許では特定の単語および語句の定義を提供するが、当業者は、そのような定義は、ほとんどではないにしても多くの場合、そのように定義された単語および語句の従来の使用および今後の使用に当てはまることが理解出来るであろう。
【発明を実施するための最良の形態】
【００１５】
本特許においては、後述する図１乃至図３及び本発明の原理を記述するために用いられる様々な実施例は説明するためだけのものであり、本発明の範囲はこれらのみに限定して解釈されるべきではない。当業者は、本発明の原理は他の好適に構成されたいかなるものでも実行出来ることは理解出来る。本出願の多数の革新的な教えを、特にここに好ましい実施例を参照しながら説明する。
【００１６】
定義：本出願で使用されているいくつかの技術用語の一般的意味の簡潔な定義を以下に述べる。（しかしながら、当業者は文脈上別の解釈が必要であるかどうか理解するであろう。）追加の定義は、標準的な技術用語集及び専門誌に記載されている。
【００１７】
Ｂスプライン曲線（Ｂ−ｓｐｌｉｎｅ  ｃｕｒｖｅ）−頂点のそれぞれが曲線の所定の範囲に影響を及ぼす、パラメータを使って定義される自由曲線。
【００１８】
ナーブス曲線（ＮＵＲＢＳ  ｃｕｒｖｅ）−非均一な有理（ｒａｔｉｏｎａｌ）Ｂスプライン曲線。パラメータ化が均一ではなく、コントロール用頂点の重みづけが不均等（または有理的）であるＢスプライン曲線。
【００１９】
コントロール用頂点（Ｃｏｎｔｒｏｌ  Ｖｅｒｔｅｘ）−曲線のコントロール用多角形の頂点を定義する一群のポイントの一つ。
【００２０】
Ｂスプライン曲面（Ｂ−ｓｐｉｉｎｅ  ｓｕｒｆａｃｅ）−頂点のそれぞれが曲面の所定の範囲に影響を及ぼす、パラメータを使って定義される自由曲面。
【００２１】
等パラメトリック曲線（Ｉｓｏ−ｐａｒａｍｅｔｒｉｃ  ｃｕｒｖｅ）−（ｕ，ｖ）パラメータの一つパラメータ値を一定に保ったままで、もう一方のパラメータのドメイン全体に沿ってＢスプライン曲面をトレースすることで得られるＢスプライン曲線。パラメータｕを一定に保つことで得られる等パラメトリック曲線は、「ｕが一定の等パラメトリック曲線」と呼ばれる。「ｖが一定の等パラメトリック曲線」も同様である。
【００２２】
ノット（ｋｎｏｔｓ）−ノットとはＢスプライン曲線もしくはＢスプライン曲面を定義する一要素である数値であり、ノットはその形状のコントロールに用いられる。一つのＢスプラインに使用される全ノットの集合体をノットベクトルと呼ぶ。ノット値間の距離を、ノット間隔と呼ぶ。均一Ｂスプラインにおいてはノット間隔は（通常）１に設定され、非均一な有理Ｂスプラインの場合は、不均等なノット間隔が許容される。
【００２３】
Ｂスプラインセンスの互換性（Ｃｏｍａｔｉｂｌｅ  ｉｎ  ｔｈｅ  Ｂ−ｓｐｌｉｎｅｓｅｎｓｅ）−−同一の次数とノット配列を有する場合、一群のＢスプライン曲線はＢスプラインセンスにおいて互換性があるとされる。
【００２４】
更に、本特許においては、読者は当業者であり、当分野で使用される一般的な用語及び頭字語には精通しているとの前提に立っている。特に、フィーチャーツリー（ｆｅａｔｕｒｅ  ｔｒｅｅ）は、一つのグラフィック要素または複数のグラフィック要素に関係するフィーチャー、ステータス、またはイベントの順序に関するリストを含むことを記す。本特許で言う「アップストリーム」（ｕｐｓｔｒｅａｍ）とはフィーチャーツリーにおいて時系列的に早い位置にあるフィーチャー、ステータスまたはイベントのことであり、「ダウンストリーム」とはフィーチャーツリーにおいて時系列的に遅い位置にあるフィーチャー、ステータスまたはイベントのことである。更に、「依存ツリー」とはフィーチャーツリーにおいてダウンストリームにあるフィーチャー、ステータスまたはイベントのツリーのことである。遅いイベントは必然的に早いイベントに依存するからである。
【００２５】
好ましい実施例では、挙動を曲線のエレメント内に組み込むことによって、更に多彩な手動の編集および自動の編集を可能にするシステム、方法、およびコンピュータプログラム製品（ｃｏｍｐｕｔｅｒ  ｐｒｏｇｒａｍ  ｐｒｏｄｕｃｔ）を提供する。これらの挙動を組み込むことによって、曲線が編集されてもインテリジェントに形状を保持することが出来る。それぞれの曲線は、編集された場合にいかに反応すべきかを示す挙動特性を有している。これが意味するのは、例えばフィーチャーツリーの高レベルでのオブジェクトの再算出といった、外部からの理由で編集が開始された場合であっても、この曲線とグラフィックスシステムが、実行されるべき正しい編集のタイプに関して完全な知識を有しているということである。
【００２６】
このことは、一つのポイントを編集するとダウンストリームにある他のポイントの編集プロセスが自動的にスタートする場合であっても、ユーザーの介入を全く必要とせずに曲線の形状が維持できるという意味で、特に有益である。
【００２７】
変曲が生じないように端での接線角の大きさを調節することも、好ましい実施例の更なる特徴の一つである。更に、複数のポイントをそれぞれ異なる方向に所定の距離分、同時に移動させることが出来て、（凹凸、変曲等の）形状特性は保持される。
【００２８】
好ましい実施例によるプロセスの一つは、曲線のコントロール用頂点の一つを編集するものである。まず最初に、選択された頂点を所定の変位分だけ、手動もしくは自動で移動させる。次に、この曲線の特性に基づいて導出した変位分だけ他の頂点を移動させることで、この曲線を再算出する。これらの導出した変位の方向は所定の変位の方向と同じである。しかしながら、この曲線の好ましい特性に基づいて導出したこれらの変位の大きさは、他の頂点のそれぞれと選択された頂点間のコントロール用多角形上に沿った距離に比例する。
【００２９】
この好ましい実施例に基づいて編集された曲線の例を図１に示す。ここには、編集前の曲線１１０が、編集後の曲線１２０と共に示されている。編集前のコントロール用多角形１１２は、編集前の曲線１１０に対応し、コントロール用頂点１１４を有する。編集後のコントロール用多角形１２２は、編集後の曲線１２０に対応し、コントロール用頂点１２４を有する。大きく描かれた点は、説明を分かり易くするために本図上のみに表示されているもので、好ましい実施例には表示されないことに留意されたい。
【００３０】
この実施例においては、前述のように、コントロール用多角形１１２のコントロール用頂点１１４を、コントロール用頂点１２４によって示される新しい位置に移動させることにより、編集前の曲線１１０を編集する。このコントロール用頂点が移動すると、（また好ましくは、このコントロール用頂点が移動している最中にも、）編集後の曲線１２０と編集後のコントロール用多角形１２２が、前述のプロセスに基づいて再度描かれる。
【００３１】
このコントロール用多角形は、本発明を実際に実施する段階では必ずしも表示する必要はないが、好ましい実施例の原理を図示するために表示していることに留意されたい。
【００３２】
好ましい実施例によるもう一つのプロセスは、曲線上の一つのポイントを編集することに関連している。所定のポイントにおいて所定の距離分曲線を移動させるために、このシステムは、ノットの数が曲線の次数と等しくなるまでノットベクトルにノットを挿入する。これは、コントロール用頂点の一つを、曲線上の選択されたポイントと合致させるためである。この選択されたポイントは、この時点で上述のプロセスに記載されているコントロール用頂点として扱うことが出来る。従って、曲線を所定の距離分だけ正確に移動させることが可能となる。このプロセスが完了次第、複数のノットは消去される。ユーザーには、このノットの挿入と消去のどちらも見えない。
【００３３】
好ましい実施例による更にもう一つのプロセスは、複数のポイントを異なる方向に、それぞれ異なる距離分だけ移動する編集をするものである。ここでもまた、曲線の移動距離をコントロールすることを可能にするために、また、複数のポイントを同時に移動させる間に、一つの編集のポイントを他のポイントからシールドすることを可能にするために、複数のノットをノットベクトルに挿入する。
【００３４】
上述のプロセスに基づいて、複数のポイントにおいて同時に編集された曲線の例を図２に示す。ここには編集前の曲線２１０が、編集後の曲線２２０と共に示されている。編集前の曲線２１０は、コントロール用頂点２１２、２１４、２１６、２１８と共に示されている。編集後の曲線２２０は、コントロール用頂点２２２、２２４、２２６、２２８と共に示されている。これらのコントロール用頂点は編集のポイントとして表示されているが、本願に記載の複数のノットを挿入するテクニックによってコントロール用頂点として扱われているということに留意されたい。この点において、好ましい実施例によれば、コントロール用頂点と編集のポイントは機能的に同等である。
【００３５】
大きく描かれた点は、説明を分かり易くするために本図上のみに表示されているもので、好ましい実施例には表示されないことに留意されたい。
【００３６】
この実施例においては、前述のように、コントロール用頂点２１２をコントロール用頂点２２２によって示される新しい位置に、（これらのコントロール用頂点を結ぶ直線が示すように、）同時に移動させ、コントロール用頂点２１４をコントロール用頂点２２４によって示される新しい位置に（これらのコントロール用頂点を結ぶ直線が示すように）、コントロール用頂点２１６をコントロール用頂点２２６によって示される新しい位置に（これらのコントロール用頂点を結ぶ直線が示すように）、コントロール用頂点２１８をコントロール用頂点２２８によって示される新しい位置に（これらのコントロール用頂点を結ぶ直線が示すように）、同時に移動させることで編集前の曲線１１０が編集されている。コントロール用頂点のそれぞれが、異なる方向に、異なる距離分だけ移動されていることに留意されたい。これらのコントロール用頂点が移動すると、（また好ましくは、このコントロール用頂点が移動している最中にも、）編集後の曲線２２０が、前述のプロセスに基づいて描かれる。
【００３７】
コントロール用多角形１１２、１２２は、本発明を実際に実施する段階では必ずしも表示する必要はないが、ここでは、好ましい実施例の原理を図示するために表示していることに留意されたい。（この図にはコントロール用多角形は表示していない。）更に、編集前と編集後のコントロール用頂点を結ぶ直線は、本発明を実際に実施する段階では表示されないが、ここでは、それぞれの頂点の相対的位置の関係を図示するために示されている。
【００３８】
前述のプロセスの特徴を一体化し、曲線上のどの部分にも設定することが出来る一つもしくは複数のポイントを同時に編集出来る改良された曲線編集を可能にする一つのプロセスにすることが出来るということが、ここで当業者には明らかなはずである。更に、このプロセスはユーザーによる手動操作、もしくは自動化されたシステムプロセスによって開始出来る。
【００３９】
本発明の好ましい実施例による、このような一体化されたプロセスのフローチャートを図３に示す。選択されたステップが、図に示された順序通りに実行されるべきなのか、もしくは、異なる順序で実行することも可能なのかを、当業者は理解するであろうことを特記しておく。
【００４０】
ここではまず最初に、システムは編集される曲線上の選択された一つもしくは複数のポイントを受信する（ステップ３１０）。下記の説明は、単一のポイントが選択された場合に関するものである。複数のポイントが選択された場合、このステップは、好ましくは選択されたそれぞれのポイントに対して同時に実行される。このポイントの選択と編集は、ユーザーが手動で行うか、もしくは、自動プロセス、特にアップストリームのイベントが編集された後の更新を含むプロセスによって行われるということにも留意されたい。
【００４１】
その後、このシステムは選択されたポイントがコントロール用頂点であることを確認する（ステップ３１５）。そうでない場合は、上述のようにこのポイントがコントロール用頂点として定義されるまでノットが追加される。
【００４２】
このシステムはこの選択されたポイントの編集情報を受信する（ステップ３２０）。選択されたポイントは要求通りに移動する（ステップ３２５）。その後この曲線上の他の頂点は、選択されたポイントが移動した方向と同じ方向に移動する（ステップ３３０）。この他の頂点はこの方向に、それぞれの頂点と選択されたポイント間のコントロール用多角形上に沿った距離に比例した距離分だけ移動する。
【００４３】
複数のポイントが同時に編集される場合、それぞれのポイントが上述のように移動し、頂点のそれぞれも同様に移動するので、頂点のそれぞれは異なる方向へ様々な異なる移動を行うこともある。この場合、頂点のそれぞれは下記に例示される方法で移動する。
【００４４】
複数の頂点を編集するために、このプロセスでは曲線上の一部分は変化させずに、頂点のそれぞれに対して繰り返し行われる。３方向に移動する３つのポイントがあると仮定し、左から右の順に１、２、３と番号を付ける。このプロセスでは、ポイント２の右側にある曲線が変化しないように、ポイント２に複数のノットを挿入する。その後このプロセスは、ポイント１を移動するべき位置に移動させる。その後このプロセスでは、ポイント１の左側にある曲線全体が移動しないように、ポイント１に複数のノットを挿入する。
【００４５】
次に、このプロセスでは移動２が実行される（この時点で、ポイント１及びポイント２は正しい位置にある）。そこでこのプロセスでは、ポイント２の左側にあるもの全てが移動しないようにポイント２に複数のノットを挿入し、その後ポイント３を移動する。最後にこのプロセスでは、移動のために挿入された複数のノット全てが消去される。
【００４６】
最終的に、この曲線は新しいコントロール用頂点とコントロール用多角形に従って再度描かれる（ステップ３３５）。
【００４７】
当業者は、本発明の利用が適するデータ処理システムの全てのものの全体の構成及び作用は、説明を簡素かつ明瞭にするためにここに図示または記述していないことを理解するであろう。代わりに、本発明に特有のデータ処理システムの部分のみ、または本発明を理解する上で必要であるデータ処理システムの部分のみを図示及び記述している。データ処理システムの残りの構成及び作用は、当業者に知られている様々な現行の実施形態及び実行形態のいかなるものに準拠するものでも良い。
【００４８】
本発明は完全に機能するシステムとして記述されるが、当業者は、少なくとも本発明のメカニズムの一部分は、様々な形態で機械が使用出来る媒体内に含まれた命令の形で配布可能であり、本発明は実際に配布を実行するために使用される特別な命令のタイプまたは信号を保持する媒体にかかわらず、同じように適用されることに留意することが重要である。機械が使用出来る媒体の例としては、以下のものがある。例えばロム（ＲＯＭ）［ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ］またはイーイーピーロム（ＥＥＰＲＯＭ）［ｅｌｅｃｔｒｉｃａｌｌｙ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ］といった不揮発性のハードコードされた媒体（ｈａｒｄ−ｃｏｄｅｄ  ｔｙｐｅ  ｍｅｄｉｕｍ）、フロッピーディスク、ハードディスクドライブ、シーディーロム（ＣＤ−ＲＯＭ）またはディーブィディー（ＤＶＤ）［ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ］といったユーザーが書き込むことが出来る媒体、デジタルとアナログとの通信リンクといった送信タイプの媒体である。
【００４９】
本発明の例として示す実施形態は詳細に記述されているが、当業者は、ここに開示される本発明は、広義の形態における本発明の精神及び範囲から逸脱することなく、様々に変更、代替、変形、改良することが出来るということを理解するであろう。
【００５０】
本願の記述は、特別な要素、ステップまたは機能が特許請求項の範囲に含まれるべき必須の要素であることを示唆するものとして読まれるべきではない。特許を受ける対象となる範囲は、特許請求項の範囲によってのみ定義される。更に、分詞が続く「のための手段」という厳密な記載がない場合、いずれの請求項も米国法典第３５編１１２条第６段を行使する意図があるものではない。
【００５１】
本発明及び本発明による効果をより完全に理解するために、付随する図面と併せながら下記に説明をする。なお、図内の同じ数字は同じものを示す。
【図面の簡単な説明】
【００５２】
【図１】本発明の好ましい実施例に基づく、曲線の例を図示している。
【図２】本発明の好ましい実施例に基づく、曲線の例を図示している。
【図３】本発明の好ましい実施例に基づく、プロセスのフローチャートを示す。
【図１】
0004653732.tif 000002
【図２】
0004653732.tif 000003
【図３】
0004653732.tif 000004