JP5033216B2 - コンピュータグラフィックスシステムにおける立方ベジェ制御点の生成 - Google Patents

コンピュータグラフィックスシステムにおける立方ベジェ制御点の生成 Download PDF

Info

Publication number
JP5033216B2
JP5033216B2 JP2010098109A JP2010098109A JP5033216B2 JP 5033216 B2 JP5033216 B2 JP 5033216B2 JP 2010098109 A JP2010098109 A JP 2010098109A JP 2010098109 A JP2010098109 A JP 2010098109A JP 5033216 B2 JP5033216 B2 JP 5033216B2
Authority
JP
Japan
Prior art keywords
point
points
computer
bezier curve
sequence
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.)
Active
Application number
JP2010098109A
Other languages
English (en)
Other versions
JP2010257460A (ja
Inventor
達也 岩本
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Sony Computer Entertainment Inc
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 Sony Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JP2010257460A publication Critical patent/JP2010257460A/ja
Application granted granted Critical
Publication of JP5033216B2 publication Critical patent/JP5033216B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • Processing Or Creating Images (AREA)

Description

本発明は、簡潔かつ概略的には、コンピュータグラフィックスのためのコンピュータ実装方法及び装置に関し、特に、コンピュータグラフィックスシステムにおける点列からの立方ベジェ制御点の生成に関する。
ベジェ曲線は、曲線をモデル化するためにコンピュータグラフィックスシステムで使用されるパラメトリック曲線である。点P0からP3までの立方ベジェ曲線は、2つの制御点P1及びP2に沿う点によって定義される。点P0での曲線の接線は、制御点P1の方向で、且つ点P3での曲線の接線は、制御点P2の方向である。曲線は、以下のパラメータ方程式により定義される。
B(t)=(1−t)+3(1−t)tP+3(1−t)t+t、tは0≦t≦1
いくつかの双方向コンピュータグラフィックスアプリケーションでは、マウスを使うことによりユーザーはベジェ曲線を定義することができる。ユーザーは、点P0を特定するためマウスボタンをクリックし且つ押し続け、制御点P1の所望の位置に向けてボタンを押し続けながらマウスをドラッグすることができる。ユーザーがマウスボタンを離すとき、その時点のポインター位置が制御点P1となる。このプロセスは、点P3(所望の位置に向け、クリックし、押し続けことにより)及び点P2を(マウスを所望の位置にドラッグし、マウスボタンを離すことにより)を定義し続ける。このように、ユーザーは、ベジェ曲線を定義することができる。
さらに、いくつかの双方向コンピュータグラフィックスアプリケーションでは、ユーザーは、制御点P及びPと同様に点P及びPをクリック及びドラッグすることにより定義されたベジェ曲線を操作することができる。このように、ユーザーは、所望の形を達成するため曲線を調整することができる。しかし、点特定をポインターで指し制御するためのクリック・ドラッグアプローチは、フリーハンドでの図とは大いに違い、ある人にとって煩雑で、創造性を鈍らせるおそれもある。
一般に、点列からのベジェ曲線の生成を可能にする双方向コンピュータグラフィックスシステムが開示される。システムは、データ論理処理手段、ユーザー入力を受け取るための入力手段及びコンピュータ読み取り可能媒体を含む。点列は、入力手段により受け取られ、データ論理処理手段により処理するためにコンピュータ読み取り可能媒体に転送される。データ論理処理手段は、コンピュータ読み取り可能媒体からの点列のうちの複数点を読み出し、点列の連続点間の相対距離に従い1つ以上の点に対応する制御点を計算する。データ論理処理手段は、計算された制御点及び点列を用いベジェ曲線を生成し、コンピュータ読み取り可能媒体に作られたベジェ曲線を保存する。
幾つかの実施例において、制御点は、以下のように点列中の連続する点A、点B及び点Cから計算される。(i)点Bに対応し且つセグメントABに関連する制御点は、式B+RA*(RA*(B−C)+RC*(A−B))により決定され、及び(ii)点Bに対応し且つセグメントBCに関連する制御点は、式PBBC=B+RC*(RA*(C−B)+RC*(B−A))により決定される。この計算の目的のために、RA=|AB|/(|AB|+|BC|)、及びRC=|BC|/(|AB|+|BC|)とする。
この技術は、コンピュータグラフィックスアプリケーションにおけるベジェ曲線を定義するための改良方法を提供する。例えば、入力手段は、コンピュータキーボード、コンピュータ・ポインティング・デバイス(例えば、マウス)等として実施されても良い。幾つかの実施例において、ユーザーは、点列中の連続点を定義するためにマウスを用いポインターで示し且つクリックし、その結果点列は、点列中の連続点の相対位置に従い、ベジェ曲線に変換される。作られたベジェ曲線は例えば、追加の処理及び/又は表示のためにコンピュータ読み取り可能媒体中に保存されても良い。
又、各々が双方向コンピュータグラフィックスシステムのグラフィカルユーザーインターフェースを通じてユーザーにより特定される第1の点A、第2の点B及び第3の点Cの受け取りを含む双方向のコンピュータグラフィックスシステムのグラフィカルユーザーインターフェースにおけるベジェ曲線を定義する方法が一般に開示される。R=|AB|/(|AB|+|BC|)、及びR=|BC|/(|AB|+|BC|)とする時、式B+R*(R*(B−C)+R*(A−B))を用い点Bに対応し且つセグメントABに関連する制御点を計算し、及び式B+R*(R*(C−B)+R*(B−A))を用い点Bに対応し且つセグメントBCに関連する制御点を計算するようにシステムは構成される。点A、点B及び点Cを保存し、且つ点Bに関連する第1制御点及び第2制御点を保存するベジェ曲線データ構造を生成するようにシステムは更に構成される。ベジェ曲線データ構造は、コンピュータグラフィックスシステムによりディスプレーに表示され、ユーザーにより操作されても良い曲線を定義する。
又、データ論理処理手段、コンピュータ読み取り可能媒体及び経路データを受け取りコンピュータ読み取り可能媒体に経路データを保存する入力装置を含むシステムが一般に開示される。点列は、経路データから特定され、データ論理処理手段による処理のためコンピュータ読み取り可能媒体に保存される。データ論理処理手段は、コンピュータ読み取り可能媒体から特定された点列の複数点を読み出し、特定された点列の連続点間の相対距離に従い1以上の点に対応する制御点を計算する。
データ処理手段は、計算された制御点及び特定された点列を用いベジェ曲線を作り、作られたベジェ曲線は、コンピュータ読み取り可能媒体に保存される。点列は、距離ベース、時間ベース、形状ベース等の所定の間隔に従い、例えば、経路データから特定されても良い。入力装置は、例えば、マウス、タッチスクリーン等のユーザー入力装置を通じ、又はメモリ、記憶装置、ネットワークインターフェース等のコンピュータ読み取り可能媒体を通じることを含む如何なる方法でも経路データを受け取る事ができる。
1つ以上の実施の詳細は、添付図面及び下記の記述中に説明される。他の機能及び利点は、明細書、図面及び請求の範囲から明らかになるであろう。
ベジェ曲線の生成のために使われるべき点列を示す図である。 セグメントAB及びBCの相対的長さに基づき相対値RA及びRCの計算を示す図である。 点Bに対応する制御点の計算を示す図である。 制御点及び端点の位置を示すベジェ曲線の図である。 図1Dに示されるような端点及び制御点を持つベジェ曲線の図である。 本発明の実施形態に従い作られた制御点の図である。 点列からベジェ曲線を生成するために使用可能なコンピュータシステムのブロック図である。 点列からベジェ曲線を生成するためのプロセスのフローチャートである。 点列から複数のベジェ曲線を生成するためのシステムのブロック図である。 コンピュータ読み取り可能媒体にベジェ曲線を保存するためのデータ構造の図である。 ベジェ曲線への変換のための例示的経路を示す図である。 図7Aに示される経路に沿う制御点の位置を示す図である。
図1Aから1Eを参照して、本明細書は、点列からベジェ曲線を生成するための種々の技術を説明する。これらの技術は例えば、双方向コンピュータグラフィックスアプリケーション(例えば、ベクトルベースコンピュータ描画ツール、コンピュータ支援設計ツール、視覚化ツール、コンピュータアニメーションツール、グラフィックデザインツール等)において使用可能である。ユーザーは、所望のベジェ曲線上の点列中の連続点を定義するために、単にポイント及びクリックを行うことで、改良されたグラフィカルユーザーインターフェースを用いる双方向コンピュータグラフィックスアプリケーションの文書にベジェ曲線を挿入することができる。点列は、例えば、(i)各連続点が入力された時点、又は(ii)点列全体が入力された後、ベジェ曲線に変換される。このように、ベジェ曲線は、ユーザーが制御点を特定する必要なくユーザーにより定義可能である。制御点は、ある複数の点間の相対距離に基づき、自動的に定義される。ここに記述された技術は、2つの隣接点の相対位置から制御点の外挿を可能にし、位置にかかわらず安定制御点を提供する。これらの技術は、簡便性と数学的完全性との間をうまく両立させる。
本明細書においては、「ベジェ曲線」という用語は、本明細書の背景技術で説明された式により定義された曲線のみに限られるわけではなく、むしろ、端点と端点とを接続する一連のベジェ曲線セグメント(ベジェスプラインとして言及されることもあある)だけでなく、例えば、単一のベジェ曲線セグメントをも包含するよう、より広い用語として用いられている。
例えば、適切に滑らかに接続された一連の立方ベジェセグメントを生成するために隣接点の相対位置に基づき制御点を生成することにより図1Aに示される点A12、点B14及び点C16の3点からベジェ曲線を生成することができる。例えば、以下のように点B14に対応する制御点の生成を記述する。
点B14に隣接する制御点は、点A12及び点C16の相対位置に基づき生成することができる。立方ベジェ曲線セグメントは、各端点での接線を定義する2つの端点及び2つの制御点により定義される。この技術は、これらを貫通して点B14を共有する2つの立方ベジェセグメントAB及びBCに寄与する点B14での制御点を外挿法で推定する。セグメントABに沿う2つの制御点をPAAB及びPABBと称し、セグメントBCに沿う2つの制御点をPBBC及びPBCCと称する。A、B、Cの位置から外挿法で推定される制御点は、PABB及びPBBCである。
制御点の位置は、AB及びBC間の距離の比率に依存し、|AB|及び|BC|は、線セグメントAB及びBCの長さである。比率は、
=|AB|/(|AB|+|BC|)
=|BC|/(|AB|+|BC|)
として定義されうる。
A、B及びCは、位置ベクトルとして扱われ、制御点PABB及びPBBCは、以下のように定義される。
ABB=B+R*(R*(B−C)+R*(A−B))
BBC=B+R*(R*(C−B)+R*(B−A))
図1Bを参照して、点B14に対応する制御点は、点B14と隣接の端点12及び16との間の距離に依存する。図1Bは、距離|AB|は2.24、距離|BC|は2.82として示される。距離の合計|AB|+|BC|は5.06である。RA及びRCを計算すると
=|AB|/(|AB|+|BC|)=2.24/5.06=0.44、及び
=|BC|/(|AB|+|BC|)=2.82/5.06=0.56となる。
図1Cを参照して、これらの比率RA及びRCは、制御点PABB20及びPBBC18を計算するために使われる。制御点PABB20は、位置ベクトルPABB=B+R*(R*(B−C)+R*(A−B))=0.44(0.44(B−C)+0.56(A−B))によりスケーリングされる。図1Cは、ベクトルR(A−B)及びR(B−C)の和を示し、その結果は、係数R=0.44によりスケーリングされる。同様に、制御点PBBC18は、位置ベクトルPBBC=B+R*(R*(C−B)+R*(B−A))により定義される。図1Cは、ベクトルR(B−A)及びR(C−B)の和を示し、その結果は、係数R=0.56によりスケーリングされる。このように、ベクトルは、点B14で滑らかな接線を形成する。制御点20及び18、及び点A12、点B14及び点C16に対応する結果として生じるベジェ曲線22は、図1Dに示され、ベジェ曲線22は、図1Eにコンピュータグラフィックスアプリケーションで描画されるように示される。
ベジェ曲線を生成するために一連の端点から制御点を非明示的に生成することによって、例えば、コンピュータグラフィックスの手書きを容易にするために、ユーザーに使いやすいインターフェースを提供することができる。結果生じる端点及び制御点は、ユーザーによって望まれるようなベジェ曲線を調整するために従来の方法で操作可能である。この技術は、点列中の各点に適用されても良い。
上述の技術は、点列中の最初と最後の点を扱うために変更可能である。例えば、最初の点に関連する制御点と最後の点に関連する制御点は、それら自体をポイントに設定可能である。更に、上述の技術は、例えば、コンピュータ支援設計ツール、グラフィックエディター、ワードプロセッサ、エンターテインメントソフトウエア等を含む広範囲の種々のコンピュータ実装システムで使用可能である。
図2は、点A及びBの相対位置に関する制御点24及び26の相対位置を示す。例えば、制御点24は、ベクトル(B−C)と(A−B)との間の線上に存在する。この線の方向は、|AB|対|BC|の率により決定され、そのような線に沿った制御点24の位置は、同じ率により決定される。同様に、制御点26の位置は、点Bに対して反対方向でそのような線に沿ったものとなる。点24及び26は、同じ線に沿って存在するので、|AB|対|BC|の比率がどのようなものであっても、点Bにおける接線は、連続したものとなる。
図3を参照して、本明細書に記述された技術に従い、ベジェ曲線を生成するためのコンピュータシステム30を示す。コンピュータシステム30は、処理装置34、メモリ38、データストレージ40、表示装置36、及び入力装置38を接続するバス32を含む。一般に、これは、従来のフォンノイマンアーキテクチャに関するが、当業者は、本明細書に記述された技術は、例えば、別離のデータ及び命令バスを有するコンピュータシステムのような他のコンピュータアーキテクチャに等しく適用される事を理解するであろう。コンピュータシステム30は、データストレージ40中、又は如何なる他のコンピュータ読み取り可能媒体上にも保存された命令を含む。実行された時、これらの命令は、処理装置34がメモリ38中に保存された点列をベジェ曲線に変換し、メモリ38中にベジェ曲線を保存することを可能にするようにコンピュータシステム30を構成する。処理装置34は、従来の方法で曲線を表現することによってメモリ38に保存されたベジェ曲線を表示する。そのような表現された曲線は、表示装置36を用い見ることができる。好ましい実施形態において、複数の点は連続していて、マウス、キーボード及び/又はそれらの何らかの組み合わせを用い入力される。しかし、入力装置38は、キーボード、マウス、トラックボール、トラックパッド、ジャイロスコープポインティングデバイス等のうちの1つ又はそれ以上として具体化されうる。
処理装置34は、例えばパーソナルコンピュータ、ノート型パソコン、及び/又は携帯機器に一般に使われる処理装置のような、点列をベジェ曲線に変換するために命令を実行できる如何なる装置をも含む。更に、処理装置34は、同時及び平行実行のための複数コアを含むことができる。
図4を参照して、点列から、該点列の最初の点で始まるベジェ曲線を生成するための方法を示す。この技術は、現時特定点の前後に置かれた点の相対位置を用いる。しかし、第1の点については、点列中には直前点はない。したがって、対応する制御点は、定義されないでそのまま残るか又は制御点は、第1の点として同じ位置に設定されても良い。プロセスは、点列中の次の点へ、この場合、点列の第2の点へ動くことにより続く(42)。
点列中に3つ以上の点があると仮定すると(即ち、第2の点は点列中の最後の点ではない)、プロセスは、点列中の途中の点を通り繰り返し、各関連制御点を計算する。点列中の最後の点に達すると、プロセスは終了する(44)。点が残っている限り、プロセスは、点列中の現在の点の制御点を計算することにより継続する(46)。制御点が計算された後、プロセスは、点列中の次の点に行き(42)、点列中の最後の点に達するまで、繰り返し続く。点列中の最後の点に関連する制御点は、定義されず残ってもよく、又は点列中の最初の点として同じ位置に設定されても良い。
このプロセスは、全ての点がいったん入力されてから実施されてもよく、又は点が入力されるにつれて順次実施されてもよい。例えば、ユーザーは、第1の点及び第2の点でクリックできる。ユーザーが、点列中の第3の点でクリックする時、第2の点に対応する制御点は計算可能で、第1の点で始まり、制御点に従い第2の点を通って進み、第3の点で終わるベジェ曲線を示すように表示装置は更新される。もし、第4の点が追加されると、第2の点と第4の点は、第3の点に対応する制御点を設定するために使われても良く、表示装置を、それに応じて更新することができる。
このプロセスは、例えば、コンピュータグラフィックスシステム内で点列からベジェ曲線を生成するために使われても良い。1つの実施例において、システムは、ユーザーがベジェ曲線上の1点の所望の位置にカーソルを移動させ且つその位置を取得するためにマウスボタンをクリックすることによりベジェ曲線を定義することを可能にする。最後の点に達するまで複数の点はこのように連続して入力される。ユーザーは、例えば、最後の点を再びクリックすることにより、キーボードのボタンを押すことにより、マウスボタンをクリックすること等により、点列中の最後の点に達したことを示す。
別の実施例において、ユーザーは、ある特定の順又は続きで互いに接続された点列からなる経路を生成する。一旦経路が作られると、ユーザーはメニュー項目を選択して経路をベジェ曲線に変換することができる。一度ベジェ曲線が作られると、ユーザーは従来の方法で制御点及び端点を修正できる。
図5を参照すると、点列をベジェ曲線に変換するためのソフトウエアは、システムの種々の構成要素及び周辺機器と相互作用するためにプロセスモジュール54用の環境を提供するオペレーティングシステム52を含む。プロセスモジュール54、入力モジュール56、表示モジュール58各々は、点列60をベジェ曲線62に変換するためオペレーティングシステム52と及び互いに相互作用する。例えば、プロセスモジュール54は、グラフィカルユーザーインターフェースを実施する。ユーザー入力は、オペレーティングシステム52により受け取られ、点列中の複数の点を特定するため入力モジュール56により処理される。例えば、ユーザーがマウスを動かすとき、オペレーティングシステム52は、動きを処理し、表示装置上のポインターを表示する。点列に追加すべき点を示すためにユーザーがマウス又は他の入力装置上のボタンをクリックする時、入力モジュール56は、入力を受け取って処理し、プロセスモジュール54は、適切にデータ構造を更新する。
点列60中の複数の点は、例えば、ランダムアクセスメモリ、ハードドライブ、フラッシュメモリ等のようなコンピュータ読み取り可能媒体に保存される。メモリをシステムに対しローカルに又はリモートに置くことができる。プロセスモジュール54は点列60を読み出し、上述のやりかたでベジェ曲線のための制御点を計算する。結果生じる制御点は、ベジェ曲線62を定義する端点とともに保存される。
ベジェ曲線62は、図6で説明するようなデータ構造として保存されても良い。ベジェ曲線データ構造64は、点列中の第1の点を特定するタイプベジェ点66のpt列と呼ばれるデータ要素を含む。データタイプベジェ点66は、以下のデータ要素を含む:(i)ベジェ端点の座標を示すためのタイプポイントの「loc」、(ii)点列中のそれぞれ次の及び直前のベジェ点を示すためのタイプベジェポイントの「next」及び「prev」、及び(iii)制御点の座標を特定するためのタイプポイントの制御点「ptABB」及び「ptBBC」。データ要素ptABBは、セグメントABに対応するBにおける制御点であり、データ要素ptBBCは、セグメントBCに対応するBにおける制御点である。ベジェ曲線データ構造64を上述の方法で制御点を計算中にプロセスロジックにより生成することができる。
上記の実施例は、点列を如何にベジェ曲線に変換するかを記述するが、ベジェ曲線として如何なる与えられた経路をも表す又は近似することも可能である。例えば、図7Aは、ベジェ曲線へ変換されるべき典型的経路70を示す。例えば、タッチスクリーン、ペンタブレット、マウス、トラックボール、運動センサー、ジャイロスコープコントローラ等のような入力装置を用い経路70を生成することができる。
図7Bに示されるように、経路70は種々の点72でサンプリングされる。これらの点72は、その後図1A〜1Eに関し上述された方法でベジェ曲線を生成するために使われる。(1)時間ベース間隔、(2)距離ベース間隔、又は(3)形状ベース間隔という、少なくとも3つの異なるアプローチを用いて、複数の点72を選択できる。時間ベース間隔を用い、経路70は、それが受け取られる(例えば、入力装置から)時にサンプリングされる。周期的に、(例えば、毎N秒ごと)経路70に沿う点72は特定される。結果生じる複数の点72は、ベジェ曲線を生成するために使われる。距離ベース間隔を用い、経路70に沿い規則的距離間隔で点72が選択される。例えば、複数の点72は、経路70に沿い毎Nインチ(又は他の距離単位)ごとに特定されても良い。同様に、結果生じる複数の点72は、ベジェ曲線を生成するために使われる。
形状ベース間隔アプローチを用い、複数の点72は、経路70の特定された形状で又はその近くでより頻繁に特定される。当業者は、経路70の形状を特定するための種々の技術を理解するであろう。例えば、経路70に沿う点は、所定の時間間隔又は距離間隔を用いることにより周期的に特定されても良い。次に、1つの特定された点から次の点までのベクトルが決定される。形状を特定するために、連続的な複数のベクトルを比較して使うことができる。連続的な複数のベクトルが異なれば異なるほど、追加点72は、より有益となり、経路70の形状に沿う複数の点72の数がより多くなるように複数の点72が特定される。反対に、経路70が規則的であれば規則的であるほど、それを表すために必要となる点の数は小さくなる。
複数の点72を定義するために使われる方法に関係なく、図1A〜1Eに関する上述の方法で複数の点72からベジェ曲線を生成することができる。結果生じるベジェ曲線は、元の経路70のコンパクトな表現を提供する。何百、何千、又は更に多数の点列として経路70を表す代わりに、経路70は、ベジェ曲線を定義するコンパクトな点列72として表すことができ、結果としてかなりのデータ圧縮となる。更にこのように、望んだ時に、図1A〜1Eに関する上述の技術を用い制御点を生成することができるので、関連制御点なしの点列72としてベジェ曲線を表す事ができる。例えば、一実施例において、ベジェ曲線は、対応する制御点の明確な表現なしに点列として保存される。そのような曲線が表示装置(又は他に望まれるもの)用に表される時、制御点は決定される。制御点が修正されない限り、それらを明確に表現する必要はなく、結果として圧縮された表現となる。
多くの実施形態が記述されてきた。にもかかわらず、本発明の精神及び範囲から逸脱することなく種々の修正を為すことができる事は理解されるであろう。従って、その他の実施形態も、以下の請求項に記載される発明の範疇に含まれるものである。
26 制御点
30 コンピュータシステム
34 処理装置
36 表示装置
38 メモリ
40 データストレージ
52 オペレーティングシステム
54 プロセスモジュール
56 入力モジュール
58 表示モジュール
60 点列
62 ベジェ曲線
64 ベジェ曲線データ構造

Claims (16)

  1. 点列からのベジェ曲線の生成を可能にする双方向コンピュータグラフィックスのためのシステムであって、
    データ論理処理手段と、
    ユーザー入力を受け取るための入力手段と、
    コンピュータ読み取り可能媒体とを含み、
    ユーザー入力を受け取るための前記入力手段によって隣接する連続点である点A、点B及び点Cを含む点列を受け取り、前記データ論理処理手段により処理するために前記コンピュータ読み取り可能媒体に前記点列が転送され、前記データ論理処理手段は、前記コンピュータ読み取り可能媒体から前記点列の前記A、点B及び点C点を読み出し、前記点列の連続点間である点B,A間及び点B,C間の相対距離に従い点Bに対応する制御点を計算し、前記データ論理処理手段は、前記計算された制御点及び前記点列を用いてベジェ曲線を生成し、前記生成されたベジェ曲線は、前記コンピュータ読み取り可能媒体に保存されるシステム。
  2. 前記入力手段は、コンピュータポインティングデバイスを含む請求項1に記載のシステム。
  3. 前記コンピュータ読み取り可能媒体は、コンピュータメモリである請求項1に記載のシステム。
  4. 前記点Bに対応しセグメントABに関連する制御点は、式B+RA*(RA*(B−C)+RC*(A−B))により決定され、且つ点Bに対応しセグメントBCに関連する制御点は、式B+RC*(RA*(C−B)+RC*(B−A))により決定され、式中RA=|AB|/(|AB|+|BC|)、及びRC=|BC|/(|AB|+|BC|)である請求項1に記載のシステム。
  5. 前記データ論理処理手段は、前記コンピュータ読み取り可能媒体から前記作られたベジェ曲線を読み出し、前記出力装置上に前記作られたベジェ曲線を表すコンピュータ出力装置を更に含む請求項1に記載のシステム。
  6. 前記データ論理処理手段は、前記コンピュータ出力装置及び前記入力手段を用いるグラフィカルユーザーインターフェースを提供し、前記グラフィカルユーザーインターフェースはユーザーが前記ベジェ曲線の制御点を修正することができる請求項5に記載のシステム。
  7. 点列からベジェ曲線を生成するための方法を実行するためのコンピュータシステムにより実行可能な保存されたコンピュータ命令を有する非一時的コンピュータ読み取り可能媒体であって、前記方法は、
    コンピュータ読み取り可能媒体から、コンピュータ入力装置を用いる前記コンピュータシステムのユーザーにより特定された点列中の隣接する連続点である点A、B及びCを読み出すステップと、
    前記コンピュータシステムの処理装置において、前記読み出された点A、B、及びCの点B,A間及び点B,C間の相対距離に従い点Bに対応する制御点を計算するステップと、
    前記点A、B、及びC及び前記計算された制御点を含むベジェ曲線データ構造を生成するステップと、
    コンピュータ読み取り可能媒体に前記生成されたベジェ曲線データ構造を保存するステップと、
    グラフィカルユーザーインターフェースを用い前記作られたベジェ曲線データ構造をユーザーが操作することを可能にするステップと
    を含むコンピュータ読み取り可能媒体。
  8. 点Bに対応しセグメントABに関連する制御点は、式B+RA*(RA*(B−C)+RC*(A−B))により決定され、且つ点Bに対応しセグメントBCに関連する制御点は、式B+RC*(RA*(C−B)+RC*(B−A))により決定され、式中RA=|AB|/(|AB|+|BC|)、及びRC=|BC|/(|AB|+|BC|)である請求項7に記載のコンピュータ読み取り可能媒体。
  9. 双方向コンピュータグラフィックスシステムのグラフィカルユーザーインターフェースにおいて、ベジェ曲線を定義する方法であって、
    前記双方向コンピュータグラフィックスシステムの前記グラフィカルユーザーインターフェースを通じてユーザーにより特定された第1の点Aを受け取るステップと、
    前記双方向コンピュータグラフィックスシステムの前記グラフィカルユーザーインターフェースを通じてユーザーにより特定された第2の点Bを受け取るステップと、
    前記双方向コンピュータグラフィックスシステムの前記グラフィカルユーザーインターフェースを通じてユーザーにより特定された第3の点Cを受け取るステップと、
    RA=|AB|/(|AB|+|BC|)、及びRC=|BC|/(|AB|+|BC|)であって、式B+RA*(RA*(B−C)+RC*(A−B))により決定される、点Bに対応しセグメントABに関連する制御点を計算するステップと、
    式B+RC*(RA*(C−B)+RC*(B−A))により決定される、点Bに対応しセグメントBCに関連する制御点を計算するステップと、
    点A、点B及び点Cを保存するベジェ曲線データ構造を作り、且つ点Bに関連する前記第1制御点及び前記第2制御点を点Bに関連して保存するステップとを含む方法であって、 前記ベジェ曲線データ構造は、コンピュータグラフィックスシステムの表示装置上に表示するため及びユーザーによる操作のためベジェ曲線を表現するために使われる方法。
  10. データ論理処理手段と、
    コンピュータ読み取り可能媒体と、
    経路データを受け取り且つ前記コンピュータ読み取り可能媒体に前記経路データを保存する入力装置とを含み、
    隣接する連続点である点A、点B及び点Cを含む点列は、前記データ論理処理手段により処理するために前記経路データから特定され且つ前記コンピュータ読み取り可能媒体に保存され、前記データ論理処理手段は、前記コンピュータ読み取り可能媒体から前記特定された点列の前記点A、点B及び点C点を読み出し、前記特定された点列の連続点間である点B,A間及び点B,C間の相対距離に従い点Bに対応する制御点を計算し、前記データ論理処理手段は、前記計算された制御点及び前記特定された点列を用いるベジェ曲線を作り、前記作られたベジェ曲線は、前記コンピュータ読み取り可能媒体に保存されるシステム。
  11. 前記点列は、所定の間隔に従い前記経路データから特定される請求項10に記載のシステム。
  12. 前記所定の間隔は、距離ベースである請求項11に記載のシステム。
  13. 前記所定の間隔は、時間ベースである請求項11に記載のシステム。
  14. 前記所定の間隔は、形状ベースである請求項11に記載のシステム。
  15. 前記入力装置は、ユーザー入力装置から経路データを受け取る請求項10に記載のシステム。
  16. 前記入力装置は、コンピュータ読み取り可能媒体から経路データを受け取る請求項10に記載のシステム。
JP2010098109A 2009-04-21 2010-04-21 コンピュータグラフィックスシステムにおける立方ベジェ制御点の生成 Active JP5033216B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/427,524 US8248419B2 (en) 2009-04-21 2009-04-21 Generation of cubic Bezier control points in computer graphics systems
US12/427,524 2009-04-21

Publications (2)

Publication Number Publication Date
JP2010257460A JP2010257460A (ja) 2010-11-11
JP5033216B2 true JP5033216B2 (ja) 2012-09-26

Family

ID=42321204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010098109A Active JP5033216B2 (ja) 2009-04-21 2010-04-21 コンピュータグラフィックスシステムにおける立方ベジェ制御点の生成

Country Status (6)

Country Link
US (1) US8248419B2 (ja)
EP (2) EP2667357A3 (ja)
JP (1) JP5033216B2 (ja)
KR (1) KR20100116133A (ja)
CN (1) CN101923725B (ja)
TW (1) TWI427553B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9448706B2 (en) * 2009-07-29 2016-09-20 Synopsys, Inc. Loop removal in electronic design automation
WO2011061624A2 (en) * 2009-11-19 2011-05-26 Ocali Bilisim Teknolojileri Yazilim Donanim San. Tic. A.S. Direct 3-d drawing by employing camera view constraints
WO2011076248A1 (en) * 2009-12-21 2011-06-30 Promethean Limited Multi-point contacts with pressure data on an interactive surface
US20120050293A1 (en) * 2010-08-25 2012-03-01 Apple, Inc. Dynamically smoothing a curve
CN102663384B (zh) * 2012-03-31 2014-01-22 北京智安邦科技有限公司 基于贝塞尔控制点搜索的曲线识别方法及装置
JP6028486B2 (ja) * 2012-09-20 2016-11-16 カシオ計算機株式会社 情報処理装置、情報処理方法、及びプログラム
US9224219B2 (en) * 2012-12-21 2015-12-29 Citrix Systems, Inc. Systems and methods for presenting a free-form drawing
CN104463789A (zh) * 2013-09-12 2015-03-25 广东福地新视野光电技术有限公司 一种校正光学相干断层扫描图像边缘线的方法和装置
CN103971101A (zh) * 2014-05-21 2014-08-06 国家电网公司 一种基于贝塞尔控制点搜索的曲线识别方法
TW201629839A (zh) * 2015-02-07 2016-08-16 阿里巴巴集團服務有限公司 用於提供使用者設備的安全資訊的方法及設備
US10788641B2 (en) 2016-02-12 2020-09-29 Ppc Broadband, Inc. Cable spool and storage
CN110363828A (zh) * 2019-06-18 2019-10-22 深圳壹账通智能科技有限公司 一种绘制流程图的方法及绘制流程图的设备
CN113961008A (zh) * 2021-10-25 2022-01-21 上海同普电力技术有限公司 一种应用于agv曲线路径导航跟随方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241654A (en) * 1988-12-28 1993-08-31 Kabushiki Kaisha Toshiba Apparatus for generating an arbitrary parameter curve represented as an n-th order Bezier curve
KR930002339B1 (ko) 1989-04-20 1993-03-29 가부시기가이샤 도시바 짧은 직선 벡터의 곡선 세그멘트에 3차 베지어(Bzxier)곡선을 정합시키는 방법
JP3339648B2 (ja) 1993-06-28 2002-10-28 株式会社ジャストシステム 情報処理装置及び描画方法
JP3341548B2 (ja) 1995-11-14 2002-11-05 ミノルタ株式会社 3次元形状データの生成方法及び処理装置
US6850249B1 (en) * 1998-04-03 2005-02-01 Da Vinci Systems, Inc. Automatic region of interest tracking for a color correction system
US6304677B1 (en) * 1998-04-07 2001-10-16 Adobe Systems Incorporated Smoothing and fitting point sequences
US6677944B1 (en) * 1998-04-14 2004-01-13 Shima Seiki Manufacturing Limited Three-dimensional image generating apparatus that creates a three-dimensional model from a two-dimensional image by image processing
JPH11345344A (ja) 1998-06-01 1999-12-14 Matsushita Electric Ind Co Ltd 3次曲線を与える方法及び装置
JP4066585B2 (ja) 2000-01-24 2008-03-26 株式会社日立製作所 図形作成方法
CA2380105A1 (en) * 2002-04-09 2003-10-09 Nicholas Routhier Process and system for encoding and playback of stereoscopic video sequences
JP2004295317A (ja) * 2003-03-26 2004-10-21 Just Syst Corp 情報処理装置、描画方法およびその方法をコンピュータに実行させるプログラム
US20050007369A1 (en) * 2003-07-07 2005-01-13 Jiangen Cao Graphic engine for approximating a quadratic Bezier curve in a resource-constrained device
GB2406028A (en) 2003-09-11 2005-03-16 Autodesk Canada Inc Tangent handle adjustment for Bezier curves
US7116327B2 (en) 2004-08-31 2006-10-03 A{grave over (g)}fa Corporation Methods for generating control points for cubic bezier curves
WO2007032215A1 (ja) * 2005-09-12 2007-03-22 Fujifilm Corporation 感光性組成物、パターン形成材料、感光性積層体、並びにパターン形成装置及びパターン形成方法
US7903336B2 (en) * 2005-10-11 2011-03-08 Gsi Group Corporation Optical metrological scale and laser-based manufacturing method therefor
US7782324B2 (en) * 2005-11-23 2010-08-24 Dreamworks Animation Llc Non-hierarchical unchained kinematic rigging technique and system for animation
JP2007287114A (ja) 2006-04-19 2007-11-01 Yasushi Suga 三次ベジェ曲線入力プログラム

Also Published As

Publication number Publication date
EP2244229A3 (en) 2011-03-02
TW201044313A (en) 2010-12-16
US8248419B2 (en) 2012-08-21
KR20100116133A (ko) 2010-10-29
EP2244229B1 (en) 2013-09-18
CN101923725A (zh) 2010-12-22
US20100265255A1 (en) 2010-10-21
JP2010257460A (ja) 2010-11-11
EP2667357A2 (en) 2013-11-27
TWI427553B (zh) 2014-02-21
EP2244229A2 (en) 2010-10-27
EP2667357A3 (en) 2014-01-15
CN101923725B (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
JP5033216B2 (ja) コンピュータグラフィックスシステムにおける立方ベジェ制御点の生成
CN104423795B (zh) 使用最大曲率来拟合参数曲线
JP5668365B2 (ja) 描画処理システム、サーバ装置、ユーザ端末、描画処理方法、プログラム及び記録媒体
CN108475505A (zh) 使用部分条件从输入序列生成目标序列
JP7098793B2 (ja) 因果関係表示システム及び方法
TWI601020B (zh) 圖表分析系統及圖表分析方法
US20190295217A1 (en) Digital image transformation environment using spline handles
US10310715B2 (en) Transition controlled e-book animations
CN110069191B (zh) 基于终端的图像拖拽变形实现方法和装置
JP5992934B2 (ja) 三次元ビューイングの方法
US20150113453A1 (en) Methods and devices for simplified graphical object editing
JP2022551249A (ja) 画像処理方法、画像処理用コマンドの生成方法および装置
JP2008003823A (ja) 線形状処理装置、線形状処理方法、ならびに、プログラム
JP6126679B2 (ja) リンクの湾曲のインタラクティブコントロール
JP2008003825A (ja) 線形状処理装置、線形状処理方法、ならびに、プログラム
CN108507563B (zh) 巡航路径生成方法及装置
US11340761B2 (en) Systems and methods for indicating organizational relationships between objects
Fratarcangeli et al. A gpu-based implementation of position based dynamics for interactive deformable bodies
US11132821B1 (en) Providing graphical user interface tools for efficiently selecting handles in vector artwork on touch-based devices
WO2012126343A1 (zh) 一种用于对显示对象进行显示变换的方法、装置和设备
JP2001209816A5 (ja)
US9213475B2 (en) Information processing apparatus, program, and information processing method for representing correlation of parameters within objects
JP4745699B2 (ja) 3次元モデル表示制御プログラム及び3次元モデル表示制御方法
US20180276858A1 (en) Digital Ink Based Visual Components
CN113946264A (zh) 滑动条处理方法及装置、存储介质、电子设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120207

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5033216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

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

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