JPH1139501A - パラメータ関数曲線編集方法及びシステム - Google Patents

パラメータ関数曲線編集方法及びシステム

Info

Publication number
JPH1139501A
JPH1139501A JP10093329A JP9332998A JPH1139501A JP H1139501 A JPH1139501 A JP H1139501A JP 10093329 A JP10093329 A JP 10093329A JP 9332998 A JP9332998 A JP 9332998A JP H1139501 A JPH1139501 A JP H1139501A
Authority
JP
Japan
Prior art keywords
vector
function curve
determining
parameter function
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10093329A
Other languages
English (en)
Inventor
Gangune Michel
ガングネ ミシェル
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JPH1139501A publication Critical patent/JPH1139501A/ja
Pending 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)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 単調状態を自動的に維持する関数曲線を編集
する。 【解決手段】 パラメータ関数曲線を編集する方法とシ
ステムによって、選択されたキーの位置での接線ハンド
ルを初期化し、この接線ハンドル内の1つをドラッグす
るとそれに応答してこのパラメータ関数曲線を更新し、
この更新されたパラメータ関数曲線が単調であるか検証
し、もし単調でなければ、パラメータ関数曲線が単調に
なるまでこの接線ハンドルを繰り返し修正する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パラメータ関数曲
線を編集するシステムに関する。
【0002】
【従来の技術】大部分のコンピュータで実行するアニメ
ーション・システムは、動画として表現された変数の値
が時間に対してどのように修正されるかをモデル化する
ための関数曲線を用いる。関数曲線の編集は、スプライ
ン関数かスプライン・パラメータかのいずれかに基づい
ていた。
【0003】
【発明が解決しようとする課題】スプラインには、例え
ばBezier、Cardinal、B スプライン、Hermite 等があ
る。これらのスプラインは全て、スプライン関数でもス
プライン・パラメータでもあり得る。3次関数のBezier
スプラインは、3次多項式から成る区分関数で定義さ
れ、3次パラメータのBezierスプラインは、パラメータ
3次曲線の集合によって定義される。ある関数を定義す
るには、スプライン・パラメータは、その成分の1つと
してパラメータに関して常に増加する成分、例えばX 成
分を持たなければならない。
【0004】同一の曲線形状を達成するには理論的には
2つの方法がある。しかしながら、スプライン関数の場
合は、関数曲線を定義するのにスプライン・パラメータ
と比べてはるかに多くの点を必要とする。その結果、ユ
ーザは、パラメータ関数曲線をアニメーションに関して
より広範囲でより容易な調整と見なしている。
【0005】いずれのシステムにおいても、編集プロセ
スはユーザが1つの関数曲線に対して複数のキーを作成
することから始まる。キーとはユーザが定義する時間と
値の対である。したがって、関数曲線は、キーで分離さ
れた順序付けされた関数曲線セグメントの1つの集合で
ある。ユーザが2つのキーに挟まれた関数曲線セグメン
トの形状を修正したい場合、望みの形状を近似する、し
たがってセグメントの数を増大させる新たな中間キーを
追加すればよい。さらに、曲線のセグメントの形状を修
正する調整方式を用いても良い。
【0006】SOFTIMAGE 3D v3.5 に使用されている関数
曲線エディタは、スプライン関数に基づいている。関数
曲線F は、時間tの区分多項式関数である。関数F を定
義するのに用いられる各々のキーにおいて、ユーザが処
理するように接線が与えられる。ユーザはこの接線の方
向を修正することしかできない。接線の長さは、多項式
のスプライン関数を使用するときに固定されるので修正
できない。
【0007】2つのキーに挟まれた関数曲線の形状を調
整するために、スプライン関数には、両端における接線
方向というただ2つの自由度しかない。これと対照的
に、スプライン・パラメータは、両端における接線方向
と接線長という4つの自由度を持つ。従って、前者のシ
ステムによって到達され得る曲線形状の集合は、後者に
よって到達され得る集合よりはるかに小さい。
【0008】SOFTIMAGE 3D v3.51のパーティクルモジュ
ール(Particle module)で使用されている関数曲線エデ
ィタは、スプライン・パラメータに基づいている。キー
の位置におけるスプラインの勾配を修正するために接線
が与えられる。ユーザはキー・接線のハンドルをドラッ
グして曲線セグメントを編集して、接線角度と接線長を
調整する。しかしながら新しい接線が、X 方向に単調で
ない新しいパラメータ曲線セグメントを定義すると、曲
線セグメントの使用不可能な小片がユーザに対して強調
または送信され、このためユーザは、曲線セグメントが
単調状態を検証するようにその接線を修正しなけばなら
ない。
【0009】
【課題を解決するための手段】従来技術の欠点は、単調
状態を自動的に維持する関数曲線を編集するシステムを
提供することによって克服される。
【0010】パラメータ関数曲線に適用され、これによ
ってユーザが、曲線の一貫性を自動的に維持しつつ関数
曲線を自由に編集できる編集システムを提供することが
望ましい。
【0011】単調状態を維持しつつもパラメータ関数曲
線の接線を処理する方法を提供することが望ましい。
【0012】選択されたキーの位置で接線ハンドルを初
期化し、これらの接線ハンドルの内から選択された1つ
がドラッグされたらそれに応答してパラメータ関数曲線
を更新し、更新されたパラメータ関数曲線が単調である
か検証し、それが単調でない場合は、パラメータ関数曲
線が単調になるまで隣り合う接線ハンドルの修正を繰り
返すようなパラメータ関数曲線の編集方法、及びシステ
ムを提供するのが望ましい。
【0013】第1の発明によれば、パラメータ関数曲線
を編集する方法が提供される。この方法は次のステップ
を有する。
【0014】(i) 第1と第2のキーの各々の位置におけ
る接線ハンドルを初期化する。 (ii)これら接線ハンドルの内の1つのドラッグに応答し
てパラメータ関数曲線を更新する。
【0015】(iii) 更新されたパラメータ関数曲線が単
調であるか検証する。 (iv)単調でない場合、単調になるまでパラメータ関数曲
線を繰り返し修正する。
【0016】第2の発明によれば、キーの接線ハンドル
のドラッグに応答してパラメータ関数曲線を修正する方
法が提供される。この方法は次のステップを有する。
【0017】(i) 第1のキーの接線ハンドルを定義する
第1のベクトルを決定する。 (ii)第1のキーに近接する第2のキーの接線ハンドルを
定義する第2のベクトルを決定する。
【0018】(iii) ドラッグした後で第1のキーの接線
ハンドルを定義する第3のベクトルを決定する。
【0019】(iv)第3および第2のベクトルならびに2
つのキーによって定義された第1と第2のキーの間にあ
る修正済みパラメータ関数曲線断片を決定する。
【0020】(v) 修正済みパラメータ関数曲線断片が単
調であるか検証する。 (vi)単調であれば、修正済みパラメータ関数曲線断片で
パラメータ関数曲線を更新する。
【0021】(vii) 単調でなければ、第2のキーの接線
ハンドルの第1の候補位置を定義する第4のベクトルを
決定する。
【0022】(viii)第3および第4のベクトルならびに
2つのキーによって定義された第1と第2のキーの間に
ある修正済みパラメータ関数曲線断片を決定する。
【0023】(ix)修正済みパラメータ関数曲線断片が単
調であるか検証する。 (x) 単調であれば、修正済みパラメータ関数曲線断片で
パラメータ関数曲線を更新する。
【0024】(xi)単調でなければ、第1のキーのハンド
ルの第2の候補位置を定義する正規化された第5のベク
トルを選択する。
【0025】(xii) 第5および第4のベクトルならびに
2つのキーによって定義された第1と第2のキーの間に
ある修正済みパラメータ関数曲線断片を決定する。
【0026】(xiii)修正済みパラメータ関数曲線断片が
単調であるか検証する。 (xiv) 単調であれば、修正済みパラメータ関数曲線断片
でパラメータ関数曲線を更新する。
【0027】(xv)単調でなければ、ステップ(vii) およ
びステップ(xiv) を繰り返す。
【0028】
【発明の実施の形態】図1を参照すると、パラメータ関
数曲線のセグメント12が、3次多項式のBezier曲線と
して定義されている。言い換えれば、2つのキーP0(x0,
y0)とP3(x3,y3)(ここで、x3 > x0 )の間の曲線セグ
メント12は、調整点P1(x1, y1)とP2(x2, y2)によって
定義される。この曲線セグメントの式は以下の通りであ
る。
【0029】
【数1】 X(u) = (1-u)3x0+3u (1-u)2x1+3u 2(1-u)x2+u 3x3 ・・・ (1) Y(u) = (1-u)3y0+3u (1-u)2y1+3u 2(1-u)y2+u 3y3 ・・・ (2) ここで、u は、区間[0, 1]である。P0での接線ハンドル
は点P1である。P3での接線ハンドルは点P2である。単調
状態は、X の導関数が[0, 1]のu に対しては負ではない
という事実で表されている。従って、次の4つの不等式
は[0, 1]のすべてのu に対して真でなければならない。
【0030】
【数2】 x3>x0 ・・・(3) x1≧x0 ・・・(4) x2≦x3 ・・・(5) (x3-3x2+3x1-x0) u 2+2(x2-2x1+x0)u +(x1-x0)≧0 ・・・(6) これらの不等式を証明するx 座標を持つ4つの調整点
P0、P1、P2、P3で有効な関数曲線セグメントを形成す
る。
【0031】単調パラメータ3次曲線セグメントの場
合、P0とP1、P3とP2を結ぶベクトルのx 成分の絶対値
は、2つのキーに挟まれるx 方向距離、すなわちx3 - x
0 の4/3より大きくはなり得ないということを示すこと
ができる。従って、更新モジュール15はステップ1で
この結果を用いる。
【0032】図2を参照すると、本発明によるシステム
は2つのモジュール、すなわち初期化モジュール13と
更新モジュール15を持っている。初期化モジュール1
3は、接線ハンドルの選択に関連したマウス・ダウン事
象で実行される。更新モジュール15は、マウス・ポイ
ンタの新しい位置に関連した各々のマウス運動事象に対
して実行される。関数曲線セグメントは1つ1つの運動
事象の後で一貫した状態に置かれるので、マウス・アッ
プ事象でモジュールを終了する必要はない。
【0033】接線ハンドルP1を編集する場合は、P2の編
集と類似の計算が実行されることに関して本発明による
システムを説明する。P2を編集する場合は、P3の代わり
にP0を、P2の代わりにP1を用いる。
【0034】初期化 4つの点P0、P1、P2、P3の初期座標値が、マウス・アッ
プ事象に至るまでアクセス可能とされる文脈データ構造
(context data structure)に記録される。P0とP3はこの
プロセス中は修正されないが、必要に応じて曲線上に読
み出される。ベクトルP1P0およびP3P2は正規化されて後
で使用されるように文脈データ構造中に記憶される。
【0035】更新 ユーザが接線ハンドルをドラッグしながらマウス・ポイ
ンタを移動させると、システムは座標(xc1, yc1)を持つ
現在点C1を含む事象を発生させる。この事象を受け取る
と、次に示すステップが実行される。
【0036】1. C1 はP1の新しい値の候補点である。
xc1 が厳密にx0未満であれば、xc1 はx0で置き換えられ
る。このステップの代わりに、xc1 をx0以上の値で置き
換える他のなんらかの方法を採用してもよい。xc1 が厳
密にx3 + 1/3(x3-x0) より大きい場合、C1座標は、x3 +
1/3(x3-x0) に等しいx 座標を持ち、線分P0C1上にある
一意の点の座標で置き換えられる。
【0037】2.4つの点P0、C1、P2、P3によって有効
曲線セグメントが定義される場合、C1は新しい点P1とし
て認められる。すると、文脈データ構造および関数曲線
が更新され、更新モジュールが復帰する。
【0038】3.そうでない場合は、本方法は、P2の候
補点であるC2の座標(xc2, yc2)を計算する。最初に、xc
1 の現在値と関連する区間[x2low, x2high] が計算され
る。この区間が空でない場合、xc2 は、初期化モジュー
ルの間に記憶された初期P2点のx 座標にどちらが近いか
によってx2low またはx2highのいずれかに設定される。
次に、ベクトルP3C2が初期化時に記憶されたベクトルP3
P2と同一直線上にありこれと同一の方向を持つようなyc
2 が計算される。4つの点P0、C1、C2、P3によって有効
な曲線セグメントが定義される場合、C1とC2は新しいP1
とP2として受け入れられる。次に、文脈データ構造と関
数曲線は更新され、更新モジュールは復帰する。
【0039】4.そうでない場合、区間[x2low,
x2high] が空であるか4つの点P0、C1、C2、P3が有効で
ないかいずれかである。どちらの場合も、ここに提案さ
れる方法は、ステップ3でP1とP2の役割を交換すること
によってP1やD1の新しい候補点を計算するものである。
最初に、初期化時に記憶された初期P1点のx 座標と関連
する区間[x1low, x1high] が計算される。この区間が空
でなければ、どちらがxc1 にもっとも近いかによってx
1low かx1highのいずれかにx D1が設定される。次に、
ベクトルP0D1がベクトルP0C1と同一直線上にありこれと
同一方向になるようなy D1が計算される。4つの点P0
D1、P2、P3によって有効な曲線セグメントが定義される
場合は、D1が新しいP1として受け入れられ、文脈データ
構造および関数曲線が更新され、更新モジュールが復帰
する。
【0040】5.そうでない場合は、関数曲線セグメン
トは修正されない。しかしながら、このような事態は決
して発生しない。ステップ2、3または4の内のいずれ
か1つが常に起こり得る。
【0041】本システムと方法の効果は、隣り合う接線
ハンドルが、パラメータ関数曲線セグメントの単調状態
を維持するために選択された接線ハンドルを処理する際
のユーザ入力に応答して修正される点にある。
【0042】有効性試験 不等式(3) から(6) が成立する場合は、4つの点が有効
な関数曲線セグメントを定義する。(3) から(5) を試験
することは自明なことである。(6) の左辺は、[0, 1]内
のすべてのu に対して負であってはならないu の2次関
数である。これらはこの条件を試験する方法である。好
ましい方法では、この2次関数の最小値を計算し、この
最小値が負ではないことを試験する。
【0043】区間の計算 式(6) の左辺をQ(u)とする。Q(u ) は、Q(u min ) が負
でない場合にだけ(ここで、u min はQ(u)がその最小に
達する値である)、[0, 1]の範囲で負ではない。ある区
間にわたって2次関数がその最小に達する値を計算する
ことは単純なので、Q(u min ) はx2とG の関数として次
のように表される。
【0044】 G(x2)=-x2 2+(x1+x0)x2+x3(x1-x0)-x1 2 ・・・ (7) G(x2) の極限は、x2がプラスまたはマイナスの無限大に
なるとマイナス無限大に等しくなる。したがって、G
(x2) がすべてのx2に対して厳密に負になるかまたは、
区間r1r2内のx2に対してQ(x2) が負でないような2つの
根r1とr2(r1 ≦ r2)が存在する。
【0045】x1の区間を計算する場合も同様のステップ
が実行される。
【0046】以上の説明は、接線ハンドルP1とP2をそれ
ぞれ調整点P0とP3から発するものとして説明したが、補
角の接線ハンドルが接線ハンドルP1、P2の反対側に放射
状に伸張し得ることが当業者には明らかであろう。1つ
の接線ハンドルが運動すると、補角の形でキーの反対側
の曲線C に影響がある。例えば、選択されたハンドルを
ユーザが操作する結果としてキーの補角の接線ハンドル
が操作中であり、2つの接線が同一直線上にあることを
ユーザが指定する場合は、補角の接線ハンドルの候補
は、その候補が選択されたハンドルを直接に編集してい
るユーザによって定義されたかのように決定される。
【0047】図3を参照して、本発明は以下の例につい
て説明するのが最良であろう。図3に、区分多項式パラ
メータ2次元曲線C によって定義されるパラメータ関数
である関数曲線F を示す。νは任意の変数であり、t は
時間であって、ν= F( t )である。関数F は真の関数で
ある、すなわち各々の時間値t に対してνの値は1つで
なければならない。
【0048】x = X(u) とy = Y(u)とを、曲線パラメー
タであるC とu の座標と関連する2つの関数であると仮
定する。時間t でこの関数曲線を評価するには次の2つ
のステップが必要である。
【0049】a) t を既知の時間として、t = X(u1) と
なるようなu の一意の値u1を見つける。
【0050】b) 結果として生じるν= Y( u1)を計算す
る。この第1のステップを解決するに必要な条件は、関
数x = X(u) が単調であること、すなわちu のすべての
値に対して増加するか減少するかである。ここでは、x
が増加するものと仮定されるが、x が減少するものと仮
定しても同様の結果が得られる。
【0051】関数曲線を編集する場合、ユーザは曲線C
を、したがって関数曲線F を多くの編集ツールを使用し
て修正できる。これらのツールがこの曲線にどのような
作用を持とうとも、X(u ) の単調条件は確保しなければ
ならない。本発明によれば、ユーザは、単調条件を自動
的に維持しながらも、関数曲線の形状に関する最大自由
度で曲線を編集できる。
【0052】接線ハンドルは、各々のキーの位置でスプ
ラインの勾配を修正したり中断したりするために提供さ
れる。図3の例では、接線ハンドル14、16、18は
それぞれキー20、22、24の位置に与えられてい
る。接線ハンドル14、16、18の各々の端部には、
それぞれボックス26、28、30、32、34、36
がある。接線ハンドルの反対側の端部にあるそれぞれの
ボックスは、1つのボックスが運動すると、補角の形で
接線ハンドルの反対側の端部にあるボックスが運動する
ように1つの組に編成されている。
【0053】ユーザは、接線ハンドルの端部にあるボッ
クスの内の1つにあるマウス・ポインタをクリックし、
選択されたキーの接線ハンドルをドラッグすることによ
って曲線セグメントを編集し、接線の角度と長さを調整
する。
【0054】例中では、ユーザはマウス・ポインタをボ
ックス32に移動してクリックし、そのボックスを図4
に示す位置までドラッグする。それに応答して、接線ハ
ンドル16はキー22の回りをマウス・ポインタと共に
移動する。この点においては、関数曲線セグメントは可
能性がある、すなわち関数は上記4つの不等式を検証す
ると仮定される。
【0055】ハンドル16が増分運動する毎に、システ
ムは初期化モジュール13と更新モジュール15とをこ
の順で通過する。ボックス32が増分運動をする毎に、
曲線C がそれに応答して更新され改訂される。ユーザ
は、編集に満足すれば、編集された関数曲線を次に使用
するために保存することができる。
【0056】本発明はあらゆるタイプの関数曲線に応用
可能であり、これらの時間対値の写像に制限されない。
例えば、コンピュータで実行する塗装システムにおいて
は、本発明は、絵筆の色に対する絵筆を使用していると
きに筆に印加される圧力に関連する関数曲線に応用され
る。
【0057】本発明は曲線セグメントを修正する方法を
説明する。この説明を通じて、一般性を損なうことな
く、セグメントを限定する2つのキーでの時間と値は固
定されているものと仮定された。
【0058】本発明の上記の実施態様は本発明の例示目
的であり、添付クレームによってのみ制限される本発明
の範囲から逸脱することなく変更や修正が可能であるこ
とが当業者には明らかであろう。
【図面の簡単な説明】
【図1】本発明のパラメータ関数曲線の図である。
【図2】本発明によるシステムのフローチャートであ
る。
【図3】本発明によって編集される関数曲線の画面表示
である。
【図4】本発明によって編集された後の図3の関数曲線
の画面表示である。
【符号の説明】
12 曲線セグメント 14、16、18 接線ハンドル 26、28、30、32、34、36 ボックス

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】(i) 第1と第2のキーの各々の位置におけ
    る接線ハンドルを初期化するステップと; (ii)前記接線ハンドルの内の1つがドラッグされるとそ
    れに応答してパラメータ関数曲線を更新するステップ
    と; (iii) 更新されたパラメータ関数曲線が単調であるか検
    証するステップと;(iv)単調でない場合、単調になるま
    でパラメータ関数曲線を繰り返し修正するステップと; を含むパラメータ関数曲線を編集する方法。
  2. 【請求項2】前記初期化ステップが: (i) 第1のキーの接線ハンドルを定義する第1のベクト
    ルを決定するステップと; (ii)前記第1のキーに近接する第2のキーの接線ハンド
    ルを定義する第2のベクトルを決定するステップと;を
    含む請求項1記載の方法。
  3. 【請求項3】前記パラメータ関数曲線更新ステップが: (i) ドラッグした後で第1のキーの接線ハンドルを定義
    する第3のベクトルを決定するステップと; (ii)第3と第2のベクトルで定義される第1と第2のキ
    ーの間の修正済みパラメータ関数曲線断片を決定するス
    テップと;を含む請求項2記載の方法。
  4. 【請求項4】前記繰り返し修正ステップが: (i) 第2のキーの接線ハンドルの第1の候補位置を定義
    する第4のベクトルを決定するステップと; (ii)第3と第4のベクトルで定義される第1と第2のキ
    ーの間の修正済みパラメータ関数曲線断片を決定するス
    テップと; (iii) 第1のキーの接線ハンドルの第2の候補位置を定
    義する第5のベクトルを決定するステップと; (iv)第5と第4のベクトルによって定義される第1と第
    2のキーの間の修正済みパラメータ関数曲線断片を決定
    するステップと;を含む請求項3記載の方法。
  5. 【請求項5】キーの接線ハンドルがドラッグされること
    に応答してパラメータ関数曲線を修正するパラメータ関
    数曲線の修正方法であって、 (i) 第1のキーの接線ハンドルを定義する第1のベクト
    ルを決定するステップと; (ii)前記第1のキーに近接する第2のキーの接線ハンド
    ルを定義する第2のベクトルを決定するステップと; (iii) ドラッグした後で第1のキーの接線ハンドルを定
    義する第3のベクトルを決定するステップと; (iv)第3と第2のベクトルで定義される第1と第2のキ
    ーの間の修正済みパラメータ関数曲線断片を決定するス
    テップと; (v) 修正済みパラメータ関数曲線断片が単調であるか検
    証するステップと; (vi)単調であれば、修正済みパラメータ関数曲線断片で
    パラメータ関数曲線を更新するステップと; (vii) 単調でなければ、第2のキーの接線ハンドルの第
    1の候補位置を定義する第4のベクトルを決定するステ
    ップと; (viii)第3と第4のベクトルによって定義される第1と
    第2のキーの間の修正済みパラメータ関数曲線断片を決
    定するステップと; (xi)修正済みパラメータ関数曲線断片が単調であるか検
    証するステップと; (x) 単調であれば、修正済みパラメータ関数曲線断片で
    パラメータ関数曲線を更新するステップと; (xi)単調でなければ、第1のキーのハンドルの第2の候
    補位置を定義する第5のベクトルを決定することを選択
    するステップと; (xii) 第5と第4のベクトルによって定義される第1と
    第2のキーの間の修正済みパラメータ関数曲線断片を決
    定するステップと; (xiii)修正済みパラメータ関数曲線断片が単調であるか
    検証するステップと; (xiv) 単調であれば、修正済みパラメータ関数曲線断片
    でパラメータ関数曲線を更新するステップと; (xv)単調でなければ、ステップ(vii) および(xiv) を繰
    り返すステップと;を含むパラメータ関数曲線の修正方
    法。
  6. 【請求項6】前記第4のベクトルを決定するステップ
    が: (i) 第2のベクトルから予め決定された区間内にあるx
    座標の範囲を計算するステップと; (ii)第2のベクトルに最も近いx 座標を選択するステッ
    プと; (iii) 第4のベクトルが第2のベクトルと同一直線上で
    かつ同一方向にあるようなy 座標を計算するステップ
    と;を含む請求項5記載の方法。
  7. 【請求項7】前記第5のベクトルを決定することを選択
    するステップが: (i) 第1のベクトルから予め決定された区間内にあるx
    座標の範囲を計算するステップと; (ii)第1のベクトルに最も近いx 座標を選択するステッ
    プと; (iii) 第5のベクトルが第3のベクトルと同一直線上に
    ありこれと同一方向にあるようなy 座標を計算するステ
    ップと;を含む請求項5記載の方法。
  8. 【請求項8】(i) 第1と第2のキーの各々の位置におけ
    る接線ハンドルを初期化する手段と; (ii)前記接線ハンドルの内から選択された1つがドラッ
    グされるとそれに応答してパラメータ関数曲線を更新す
    る手段と; (iii) 更新されたパラメータ関数曲線が単調であるか検
    証する手段と; (iv)パラメータ関数曲線を単調になるまで繰り返し修正
    する手段と; を含むパラメータ関数曲線を編集するためのコンピュー
    タ実行システム。
  9. 【請求項9】前記初期化手段が: (i) 第1のキーの接線ハンドルを定義する第1のベクト
    ルを決定する手段と; (ii)前記第1のキーに近接する第2のキーの接線ハンド
    ルを定義する第2のベクトルを決定する手段と;を含む
    請求項8記載のコンピュータ実行システム。
  10. 【請求項10】前記パラメータ関数曲線更新手段が; (i) ドラッグの後で第1のキーの接線ハンドルを定義す
    る第3のベクトルを決定する手段と; (ii)第3と第2のベクトルで定義される第1と第2のキ
    ーの間の修正済み関数曲線断片を決定する手段と;を含
    む請求項9記載のコンピュータ実行システム。
  11. 【請求項11】前記修正繰り返しステップが: (i) 第2のキーの接線ハンドルの第1の候補位置を定義
    する第4のベクトルを決定する手段と; (ii)第3と第4のベクトルによって定義される第1と第
    2のキーの間の修正済みパラメータ関数曲線断片を決定
    する手段と; (iii) 第1のキーの接線ハンドルの第2の候補位置を定
    義する第5のベクトルを決定する手段と; (iv)第5と第4のベクトルで定義される第1と第2のキ
    ーの間の修正済みパラメータ関数曲線断片を決定する手
    段と;を含む請求項10記載のコンピュータ実行システ
    ム。
  12. 【請求項12】前記第4ベクトル決定手段が: (i) 第2のベクトルから予め決定された区間内にあるx
    座標の範囲を計算する手段と; (ii)第2のベクトルに最も近いx 座標を選択する手段
    と; (iii) 第4のベクトルが第2のベクトルと同一直線上で
    かつ同一方向にあるようなy 座標を計算する手段と; を含む請求項11記載のコンピュータ実行システム。
  13. 【請求項13】前記第5ベクトル決定手段が: (i) 第1のベクトルから予め決定された区間内にあるx
    座標の範囲を計算する手段と; (ii)第1のベクトルに最も近いx 座標を選択する手段
    と; (iii) 第5のベクトルが第3のベクトルと同一直線上で
    かつ同一方向にあるようなy 座標を計算する手段と; を含む請求項12記載のコンピュータ実行システム。
  14. 【請求項14】前記システムが、選択された接線ハンド
    ルの大きさを制限する手段を更に含む請求項8記載のコ
    ンピュータ実行システム。
JP10093329A 1997-04-04 1998-04-06 パラメータ関数曲線編集方法及びシステム Pending JPH1139501A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US834496 1997-04-04
US08/834,496 US6154221A (en) 1997-04-04 1997-04-04 Parametric function curve editing

Publications (1)

Publication Number Publication Date
JPH1139501A true JPH1139501A (ja) 1999-02-12

Family

ID=25267069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10093329A Pending JPH1139501A (ja) 1997-04-04 1998-04-06 パラメータ関数曲線編集方法及びシステム

Country Status (2)

Country Link
US (1) US6154221A (ja)
JP (1) JPH1139501A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037877A (zh) * 2017-12-15 2018-05-15 广州视源电子科技股份有限公司 函数曲线的处理方法、装置、设备和存储介质

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6469702B1 (en) 1999-04-16 2002-10-22 Avid Technology, Inc. Method and system for editing function curves in two dimensions
US7345786B2 (en) * 2003-02-18 2008-03-18 Xerox Corporation Method for color cast removal in scanned images
US7610553B1 (en) * 2003-04-05 2009-10-27 Apple Inc. Method and apparatus for reducing data events that represent a user's interaction with a control interface
US7218326B1 (en) * 2003-06-11 2007-05-15 Autodesk, Inc. Spline manipulation tool
GB2406028A (en) * 2003-09-11 2005-03-16 Autodesk Canada Inc Tangent handle adjustment for Bezier curves
US7725828B1 (en) * 2003-10-15 2010-05-25 Apple Inc. Application of speed effects to a video presentation
US7483030B2 (en) * 2005-01-26 2009-01-27 Pixar Interactive spacetime constraints: wiggly splines
US7496416B2 (en) * 2005-08-01 2009-02-24 Luxology, Llc Input/output curve editor
US7884834B2 (en) * 2007-04-13 2011-02-08 Apple Inc. In-context paint stroke characteristic adjustment
US8379030B1 (en) * 2007-05-07 2013-02-19 Pixar Computer graphics variable transformation interface
US8548251B2 (en) * 2008-05-28 2013-10-01 Apple Inc. Defining a border for an image
US8280171B2 (en) * 2008-05-28 2012-10-02 Apple Inc. Tools for selecting a section of interest within an image
US8452105B2 (en) * 2008-05-28 2013-05-28 Apple Inc. Selecting a section of interest within an image
US8331685B2 (en) 2008-05-28 2012-12-11 Apple Inc. Defining a border for an image
US8566721B2 (en) * 2009-04-30 2013-10-22 Apple Inc. Editing key-indexed graphs in media editing applications
US8286081B2 (en) 2009-04-30 2012-10-09 Apple Inc. Editing and saving key-indexed geometries in media editing applications
WO2014205632A1 (en) * 2013-06-24 2014-12-31 Adobe Systems Incorporated Gravity point drawing method
US9665206B1 (en) * 2013-09-18 2017-05-30 Apple Inc. Dynamic user interface adaptable to multiple input tools
US10510186B2 (en) 2017-12-22 2019-12-17 Adobe Inc. Digital media environment for intuitive modifications of digital graphics
US10388045B2 (en) 2018-01-04 2019-08-20 Adobe Inc. Generating a triangle mesh for an image represented by curves
US10410317B1 (en) * 2018-03-26 2019-09-10 Adobe Inc. Digital image transformation environment using spline handles
US10832446B2 (en) 2019-01-07 2020-11-10 Adobe Inc. Bone handle generation
US10943375B2 (en) 2019-04-17 2021-03-09 Adobe Inc. Multi-state vector graphics
CN110930498B (zh) * 2019-07-25 2023-03-31 上海钢通网络科技有限公司 基于参数化截面模板和构件关键位的三维任意构件建模方法
US11631207B2 (en) 2021-09-09 2023-04-18 Adobe Inc. Vector object stylization from raster objects

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317682A (en) * 1989-10-24 1994-05-31 International Business Machines Corporation Parametric curve evaluation method and apparatus for a computer graphics display system
EP0461577B1 (en) * 1990-06-11 1998-12-02 Hitachi, Ltd. Apparatus for generating object motion path
JP3327622B2 (ja) * 1992-04-29 2002-09-24 キヤノン株式会社 ベジェスプラインから2次多項式フラグメントへの変換
US5717905A (en) * 1994-12-15 1998-02-10 Kao Corporation CAD system and bezier-curve data converting apparatus and method thereof in said CAD system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037877A (zh) * 2017-12-15 2018-05-15 广州视源电子科技股份有限公司 函数曲线的处理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US6154221A (en) 2000-11-28

Similar Documents

Publication Publication Date Title
JPH1139501A (ja) パラメータ関数曲線編集方法及びシステム
US6628295B2 (en) Modifying a stylistic property of a vector-based path
US6256039B1 (en) Methods for manipulating curves constrained to unparameterized surfaces
CN1916966B (zh) 由网格产生一组拓扑学同构参数化曲面的方法
US7969440B1 (en) Method and system for curve fitting using digital filtering
EP1840841B1 (en) Evolutionary direct manipulation of free form deformation representations for design optimisation
MX2007014662A (es) Deformacion de engranaje sin limitaciones utilizando grafica volumetrica laplaciana.
JPH10293859A (ja) コンピュータディスプレイ上での曲線の形成及び修正
KR20020021800A (ko) 제어 기하학을 이용한 기하학적 디자인 및 모델링 시스템
KR20070017070A (ko) 요구되는 기하학적 연속성을 가지는 파라메트릭 표면 생성프로세스
US7057616B2 (en) Using constrained optimization in curve editing
EP1675068A1 (en) Evolutionary optimisation and free form deformation
EP1562138B1 (en) A process for drafting a curve in a computer-aided design system
US5742511A (en) Models for computer integrated manufacturing
US7542948B2 (en) Genetic design method and apparatus
Lipp et al. PushPull++
EP1439494B1 (en) Method for subdividing a mesh or polyline
JP3770840B2 (ja) 調和された点ネットワークを生成し、処理するための方法およびシステム
US11164355B1 (en) Shape aware transformation
JPH11195139A (ja) 自由曲面生成装置および方法、並びに提供媒体
EP0869457A2 (en) Parametric function curve editing
JP3464874B2 (ja) ベジェ曲線による点列トレースの方法および装置
Hildebrandt et al. Evolution of 3d curves under strict spatial constraints
JP3382546B2 (ja) 座標群湾曲化補正装置および座標群湾曲化補正方法
JP3039387B2 (ja) 3次元cadにおけるb−スプライン曲線と直線との交点算出装置