JPH09504631A - オブジェクト指向グラフィック掃引システム - Google Patents

オブジェクト指向グラフィック掃引システム

Info

Publication number
JPH09504631A
JPH09504631A JP7511739A JP51173995A JPH09504631A JP H09504631 A JPH09504631 A JP H09504631A JP 7511739 A JP7511739 A JP 7511739A JP 51173995 A JP51173995 A JP 51173995A JP H09504631 A JPH09504631 A JP H09504631A
Authority
JP
Japan
Prior art keywords
dimensional
contour
curve
trajectory
generating
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
JP7511739A
Other languages
English (en)
Inventor
シードル,ロバート
Original Assignee
オブジェクト テクノロジー ライセンシング コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オブジェクト テクノロジー ライセンシング コーポレイション filed Critical オブジェクト テクノロジー ライセンシング コーポレイション
Publication of JPH09504631A publication Critical patent/JPH09504631A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00—Three-dimensional [3D] modelling for computer graphics

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 2次元輪郭の3次元掃引の生成を可能にする方法と装置であって、3次元表現に対するある初期点を指定し、少なくとも1つの2次元輪郭を指定し、ある軌道ベクトルを指定して、この軌道ベクトルの経路に沿った2次元輪郭にしたがう3次元掃引を発生するものである。この掃引はこの軌道の経路に沿ったこの輪郭の3次元表現である。この掃引に対するスケーリング、ツイスティングおよび他の変更についてのサポートが提供されている。

Description

【発明の詳細な説明】 オブジェクト指向グラフィック掃引システム 発明の分野 本発明は、一般的にはコンピュータ・ディスプレイ上に3Dオブジェクトを生 成する分野に関するものであり、特に、オブジェクト指向オペレーティング・シ ステムにおいて掃引サーフェス(sweeping surface)を作成することに関するもの である。 発明の背景 多くの先行技術コンピュータ・システムは、そのコンピュータ・システムのユ ーザにグラフィック・イメージを典型的に提示するビットマップ・ディスプレイ を利用しているコンピュータ制御のディスプレイ・システムを含んでいる。これ らのコンピュータ制御のディスプレイ・システムにおいては、ビットマップ・イ メージは陰極線管(CRT)または液晶ディスプレイ(LCD)のような、ディ スプレイ装置上に現れる。ビットマップ・イメージは、このディスプレイ・シス テムのメモリとしての機能を果たすフレーム・バッファに典型的に生成され、ス トアされる。これらのディスプレイ・システムにおいて、ユーザは、マウスのよ うなカーソル制御装置を操作することによって、コンピュータ・システムと典型 的に相互作用を行う。ユーザは、ディスプレイ装置にコンピュータ・システムの 制御下でディスプレイされるオプションを選択するために、ビットマップ・イメ ージ上にカーソルを位置づけるためにこのマウスを用いる。 コンピュータ・グラフィックの進歩は、ユーザのための能力の範囲を拡げてき た。オブジェクトは今や3次元(3D)表現、たとえばワイヤーフレーム、ソリ ッドおよび/または陰影付けフォームでディスプレイすることができる。3Dト ラックボール入力コントローラ装置は、3D表現でディスプレイされたオブ ジェクトを操作するために利用されてきたが、それは複雑で高価なものである。 マウスのような2次元(2D)入力コントローラを利用する種々の技術が、オブ ジェクトの2D表現を3D表現へ変換するために開発されてきた。最も初期の仕 事のいくつかは、IBMメインフレーム・システム上でロッキードのためのCA DAMにおいてなされた。これらの、初期のシステムは、ディスプレイ上の1組 の点を典型的に用いて、これらの点を2Dディスプレイ上で3D表現を近似する ソリッド表現へ変換した。 発明の要約 本発明の目的は、関連づけられた軌道(trajectory)を有する2次元グラフィッ ク輪郭(two-dimensional graphic contour)を3次元グラフィック輪郭(three-di mensional graphic contour)へ変換するための改良された技術を提供することに ある。 好適実施例は、2次元輪郭の3次元掃引の生成を、3次元表現の初期点を指定 し、少なくとも1つの2次元輪郭を指定し、軌道ベクトルを指定し、この軌道ベ クトルの経路に沿った2次元輪郭に一致する3次元掃引を発生することにより可 能とする。この掃引は軌道の経路に沿った輪郭の3次元表現である。サポートは 掃引のスケーリング、ツイスティング(twisting)および他の変更についても提供 されている。 図面の簡単な説明 本発明は、例示のために図示されているが、付随の図面の形状や、類似の要素 を示す参照や、以下の図面に制限されるものではない。 図1は、本発明の好適実施例によるコンピュータの一般的ブロック・ダイアグ ラムを描く図である。 図2は、好適実施例による掃引の基礎を説明する図である。 図3は、好適実施例において輪郭の簡単な変形と掃引処理におけるその効果を 説明する図である。 図4は、好適実施例による、開いた輪郭を説明する図である。 図5は、好適実施例において掃引の形状に対する軌道曲線の影響のいくつかの 例を示す図である。 図6は、好適実施例において、2D座標系で定義されたある輪郭と、z軸の正 方向へその輪郭を引いた結果の掃引を説明する図である。 図7は、好適実施例において、輪郭が掃引サーフェスのパラメトリックu方向 を定義する方法と軌道がパラメトリックV値を定義する方法を説明する図である 。 図8は、好適実施例において、入力曲線のパラメトリック範囲が出力サーフェ スにおいて保存される方法を示す図である。 図9と図10は、好適実施例による「アリ(ant)」ルールの応用を説明する図 である。 図11は、好適実施例による不連続の輪郭とその結果である掃引を説明する図 である。 図12は、好適実施例による線形混合関数で混合された現輪郭を説明する図で ある。 図13は、好適実施例において、ある軌道に沿って掃引された輪郭を説明する 図である。 図14は、好適実施例において、ある輪郭、線形軌道、および複数の線形軌道 を用いて作られた結果の掃引オブジェクトの例を説明する図である。 図15は、好適実施例において、このプレーシング(placing)操作を説明する 図である。 図16は、好適実施例において、ある軌道の直観的なマッピングを説明する図 である。 図17と図18は、好適実施例において初期輪郭X方向ベクトルの例を説明す る図である。 図19と図20は、好適実施例においてスケールされた掃引サーフェスを説明 する図である。 図21と図22は、好適実施例によるツイスティングの例を説明する図である 。 図23は、好適実施例により提供されたいくつかのプリミティブを説明する図 である。 図24は、好適実施例による回転掃引を説明する図である。 図25は、好適実施例において対称な輪郭を用いてモデル化された中空(hollo w)オブジェクトを説明する図である。 図26は、好適実施例による変換掃引を説明する図である。 図27は、好適実施例の詳細な処理を示すフローチャートである。 図28は、好適実施例において、掃引パイプラインの間のどの点でメソッドが 呼ばれるかを示す第2のフローチャートである。 図29は、好適実施例において、3つの単位ベクトルおよび輪郭平面方向と座 標系を説明する図である。 図30は、好適実施例において、計算された接線の計算法を図形的に説明する 図である。 図31は、好適実施例において、ある輪郭リストにおける複数の輪郭を説明す る図である。 好適実施例による詳細な説明 好適実施例は、3次元フォームで表現された、コンピュータ・ディスプレイさ れるオブジェクトの操作を一般的に含んでいる。そして、適切なコンピュータ環 境についての簡潔な議論を提供することは有用であろう。さて図面を参照してみ ると、特に図1であるが、この発明は、汎用コンピュータ10に常駐するオペレ ーティング・システムのコンテキスト(context)における使用が好ましい。コン ピュータ10は、システム・ユニット12、陰極線管(CRT)あるいはまた液 晶ディスプレイ(LCD)のような高解像度ディスプレイ装置14を備えている 。グラフィック・ユーザ・インタフェース(GUIs)によくあるウィンドウ・ システムに要求される高解像度が可能なディスプレイであるべきことを除い て、ディスプレイのタイプは重要ではない。コンピュータへのユーザ入力は、キ ーボード16と、マウス18のようなカーソル・ポインティング装置による。マ ウス18はキーボード16に接続され、順に、キーボードはシステム・ユニット 12に接続されている。あるいはまた、マウス18はシステム・ユニット12の 専用またはシリアル・ポートに接続することができる。図面に示される型の汎用 コンピュータの例には、Apple Macintosh(Apple Computer社の登録商標)とIBM P S/2がある。他の例は,IBM RISC System/6000とSun Microsystems社コンピュー タのような種々のワークステーションを含む。 序 好適実施例は、3D掃引オブジェクトを利用して、簡単な曲線入力からサーフ ェス幾何形状を生成する。このオブジェクトは3D形状を生成する容易な方法を 提供する。それはまた非常に用途が広くそして拡張可能である。 好適実施例の特徴 製造物の形状は掃引技術を用いて表現することができる。多くの3次元オブジ ェクトは掃引を用いてモデル化することができる。数学的またはNURB曲線の 知識が要求されないため、掃引は使いやすい。アーク・セグメントと円、直線セ グメントとそれらの組み合せに沿った掃引は、正確に表現される。入力曲線には 何ら制限はない。したがって、任意の次数(order)、点の数または形状がサポー トされている。掃引オブジェクトは曲率の不連続性(すなわち、こぶ(kinks)、 湾曲(bends)、角(corners))をサポートする。掃引オブジェクトはまた区分的な 曲線のような不連続な入力曲線もサポートする。結果のサーフェスはこれらの不 連続性を継承し、角または裂け目を示す。言い換えれば、単一の掃引により、視 覚的に離れ離れのサーフェス断片を作成することができる。入力曲線のパラメー タ表示は保存される。輪郭曲線が結果のサーフェス・パラメトリック・u方向を 形成し、軌道曲線がサーフェス・パラメトリックv方向を定義す る。掃引プリミティブは、それらの入力または発生のデータを輪郭および軌道と して保存する。レンダリングのために、掃引オブジェクトサーフェス幾何形状を 生成する。 サブクラス化フレームワークを使用して、1つ以上のボトルネック・ルーチン をサブクラス化することにより、新しい形状の変形または付加的な幾何形状の生 成を単純化する。各ボトルネック・ルーチンは、掃引形状発生ルーチン内から呼 ばれ適当なデータを渡される。サブクラスは、任意のデータを読み、または変更 することができる。明確な定義が生成されたサーフェスの外面を決定するために 規定されている。異なるシェーダ(shaders)が1つの形状の内面と外面のサーフ ェスに対して使われることもあるため、柔軟なサブクラス定義は重要である。掃 引は、それらの入力曲線を単純な補間を用いてアニメーション化することができ る。 掃引(Sweeping) 掃引の基礎は図2に示されている。輪郭200は、220において示されるよ うに、中空(hollow)となり得る掃引サーフェス210を生成するために使用され る、関連する軌道205を有している。この関数を実行するためのC++コードは 以下に示される。 このように、掃引プロセスは空間における任意の経路に沿って輪郭曲線をドラ ッグすることと考えることができる(ここでこの経路は、どちらかと言えば単純 な直線である)。輪郭の単純な変形は図3に示される掃引サーフェスを作成する 。輪郭は閉じている必要はない。図4は開いた輪郭を説明する図であり、その中 には2つのこぶがある。図5は掃引の形状におよぼす軌道曲線の影響のいくつ かの例を示す図である。前出の例の円形輪郭が4つの掃引のすべてに使われてい る。 2D/3D座標系の関係 2D座標系(xy)と3D座標系(xyz)の相互作用の方法を定義すること は重要である。掃引オブジェクトはその入力を双方の世界から得るからである。 後に続く議論において、2D座標系を描くために数学的慣例を用いる。すなわち 、y軸が上を指すようにする。好適実施例を用いてスクリーン上に曲線例を得る ために、y軸を裏返す変換を適用する。2D座標系のy軸は下を指しているから である。図6は好適実施例において2D座標系により定義された輪郭とその輪郭 を正のZ軸方向へ引いた結果の掃引を説明する図である。 入力曲線パラメトリック範囲とサーフェスU,V座標 図7は、ある輪郭がその掃引サーフェスのパラメトリックu方向を定義する方 法と軌道がそのパラメトリックv値を定義する方法を説明する図である。図8は 入力曲線のパラメトリック範囲が出力サーフェスにおいて保存される方法を示す 図である。 サーフェス方向(Surface Orientation):「アリ(ant)」ルール ある掃引サーフェスのどちらの側がある掃引サーフェスの外面を指すようにな り、どちらの側が内面を指すようになるかを正確に予言するために、いわゆる「 アリ(ant)」ルールが用いられる。好適実施例はサーフェスの各面について異な るシェーダ(shader)を用いる。この「アリ」ルールはある輪郭曲線に沿ってその 最初から最後まで歩くアリに基づく(曲線は方向を有する)。図9と図10は好 適実施例による「アリ」ルールのある応用を説明する図である。このアリの左側 がサーフェスの外面を形成し右側が掃引サーフェスの内面を形成する。実例 コードが、好適実施例により、上に示した掃引を作るために、以下に与えられる 。 掃引クラスの説明 ある掃引オブジェクトは二つのコンストラクタを有する。1つ目は単一の輪郭 曲線を入力としてとり、二つ目はTCurveList補助オブジェクトを用いて数個の輪 郭曲線を入力としてとる。そして、このサーフェスは与えられた輪郭の間で滑ら かに混合される。 この輪郭と軌道パラメータはすでに議論されてきた。多数の輪郭コンストラク タ・オブジェクトは以下に与えられる。 ここでは重要でない関数はゲッタ(getter)とセッタ(setter)のみである。特に CopySurfaceは、即時レンダリング・オペレーションまたはその後の幾何形状モ デリング・オペレーションのための掃引サーフェスのコピーを生成する。 TContourListオブジェクトは、TGCurveの配列を保持することに加えて、各輪 郭曲線に対するvパラメータ値を記録している。TContourListは、Sweepオブジ ェクト・コンストラクタまたはTGSurface3Dのロフティング(lofting)・コンスト ラクタへの入力として、(TGCurveとして表現される)一組の輪郭オブジェクト を保持するために使用される。このオブジェクトは配列のようなセマンティック ス、すなわち、SetNumberContours、GetContour(i)等を備えている。輪郭曲線自 身に加えて、あるパラメトリック値が各曲線用に記録されている。これは実パラ メトリック値または軌道曲線に沿った弧長(arclength)のどちらかとして使用さ れる。パラメトリック値がパラメトリックまたは弧長値として使用されるかどう かを指定する、全体の輪郭リストに対する単一の論理型(Boolean)がある。実際 の使用においては、1つの輪郭リストにおいて使用されるすべての曲線は同じ方 向を持つべきであり、さもなければ、突然のフリップ(flip)が結果として得られ る掃引/サーフェスに起こることになる。TContourListオブジェクトは、掃引軌 道に沿って特定の輪郭が置かれるべき位置を指定する。値は、軌道自身と同じ範 囲におけるパラメトリック値かまたは曲線の弧長値のどちらかをとり、軌道の長 さのパーセンテージとして軌道に沿った輪郭曲線を位置づける。図31は、好適 実施例による1つの輪郭リストにおける複数の輪郭を説明するための図である。 輪郭曲線パラメータ(Contour Curve Parameter) 掃引オブジェクトに渡される輪郭は、部分的に、線形であったり、任意の次数 の滑らかな曲線から成っていたり、不連続でさえあったりする。この輪郭が不連 続である場合、結果の掃引は、図11において示されるように、視覚的にはっき りと識別しうるサーフェスを作り出す。多数の輪郭はコンストラクタの第2の形 式で指定され得る。次の例においては、4つの輪郭曲線がz軸方向を指す直線の 軌道に沿って位置づけられている。図12は好適実施例において線形混合関数で 混合されている現輪郭を説明する図である。異なる混合プロセスは掃引オブジェ クトのサブクラス化により代用され得る。 軌道曲線パラメータ(Trajectory Curve Parameter) 軌道は1つの曲線オブジェクトであり、その曲線は、任意の次数の曲線、滑ら かな曲線、こぶがあるような曲線、または不連続でさえあるような曲線として容 易に使うことができる。その上、軌道は視覚的に開いているか閉じている。ある 輪郭が軌道に沿って掃引されると、引き続く輪郭が、掃引された点においてその 軌道に垂直な平面内に置かれる。部分的に線形または円を描く弧の軌道に対して 、掃引サーフェスは正確である。すなわち、それぞれ、線形の一定直径の管か、 一定曲率で一定直径の管である。図13は、好適実施例において、ある軌道に沿 って掃引された輪郭を説明する図である。任意の軌道に対しては、掃引サーフェ スは1つの近似であり、したがって、その横断面は指定された輪郭に正確に対応 していないこともある。しかしながら、極端な軌道曲率が使用されない限り、こ の近似は目立つものではない。図14は、ある輪郭、線形軌道、および、複数の 線形軌道を使用して作られた結果の掃引オブジェクトの例を説明する図である。 ある掃引における輪郭平面は、その掃引に沿ったすべての点において軌道に対し 通常垂直である。線形掃引の問題は、角(corner)において軌道接線が未定義であ ることである。したがって、角において入ってくる接線と出ていく接線の平均を とる必要がある。結果として得られる輪郭平面は、2つの隣接する輪郭セ グメントを二等分する。 InitialContourXDirectionパラメータ 好適実施例において、掃引オペレーションを開始するために、輪郭はある初期 輪郭平面に置かれなければならず、軌道の開始に対しても垂直に置かれる。図1 5は好適実施例によるこのプレーシング(placing)オペレーションの例を説明す る図である。よりいっそうの情報がないと、その平面内における輪郭の方向、す なわち軌道がその平面に当たる点の周りの回転、は未定義である。応用の中で今 まで与えられてきた図において開発してきた、ある直観的なマッピングがある。 すべての軌道はxy平面から開始して、z軸上をまっすぐ上に指していた。この 場合、終端平面とxy平面は一致する。図16は好適実施例によるある軌道の直 観的なマッピングを説明する図である。 ある軌道が回転すると、結果の軌道は常に上を向くわけではない。したがって 、初期輪郭方向をセットするためのより一般的なメカニズムが要求される。掃引 コンストラクタにおいては、この能力は「InitialContourXDirection」ベクトル により可能となっている。このベクトルは、初期軌道平面内にその方向で射影さ れ、その射影されたベクトルは、その輪郭のx軸になるだろう。y軸はこのベク トルに垂直である。したがって、軌道がx軸の方へまっすぐに始まるか、または 一般的に、終端平面法線とinitialContourXDirectionベクトルが同一線上にある のでない限りx軸方向は軌道の終端平面内に常に見出すことができる。図17と 図18は好適実施例によるInitialContourXDirectionベクトルの例を説明する図 である。デフォルトのInitialContourXDirectionはTGPoint3D(1.,0.,0.)である 。したがって、輪郭方向は輪郭2D座標系とふつう一致するが、それは上で議論 された直観的なアクション(behavior-振舞い)である。 スケーリング曲線パラメータ(Scaling curve parameter) 輪郭は軌道に沿ってスケールされ得る。このスケーリング関数は「スケーリン グ曲線」と呼ばれる曲線オブジェクトにより定義される。スケーリング曲線が指 定されない場合は、その輪郭はスケールされない。掃引オブジェクトのためのコ ンストラクタは、輪郭のxおよびy方向に沿った一様の輪郭スケーリングを規定 する。非一様スケーリングが要求される場合は、その掃引オブジェクトをサブク ラス化して輪郭曲線を変更する。スケーリング曲線のy座標は0.0または正で あるべきである。負の値は内部的に正の値に反転(mirror)される。図19と図2 0は、好適実施例においてスケールされた掃引サーフェスを説明する図である。 スケーリング曲線を使用する時に留意するべき重要な項目がある。それはスケ ーリング曲線は関数として使用されるため、各x値に対して一意のy値を持つべ きであるということである。スケーリング曲線のx軸は軌道に沿った距離に対応 する。この距離は掃引に知られているため、スケーリング曲線のx座標の範囲は 任意に選択することができる。掃引が実行される時、この距離は正規化される。 デフォルトにより、軌道に沿った距離は軌道の弧長(arclength)、言い換えれば 視覚的距離を意味する。これは曲線内にスケーリング・「バンプ(bump)」を位置 決めする一つの直観的方法である。バンプ(bump)を軌道の1/3と2/3の間に 出現させたければ、スケーリング曲線の長さの軌道に沿って、パーセンテージと して1/3と2/3の間に、スケーリング曲線の中にバンプ(bump)を単に作れば よい。 他の可能な距離メジャーは軌道に沿ったパラメトリック距離であるが、これは より高度なユーザ用である。軌道曲線が、ある湾曲、こぶまたは不連続性をある 既知のパラメータ値uおいて持つならば、スケーリング曲線の正常値をその値u に非常に近く変えることは有益である。これは掃引オブジェクトのSetArclength Mapped(FALSE)メソッドとして参照され、軌道に沿ったパラメトリック距離の関 数としてスケーリングを使用したい場合に指定する。 ツイスト曲線パラメータ 軌道に沿って輪郭を掃引する間、輪郭をその輪郭平面内において、選択的に回 転または「ツイスト」してもよい。たとえば、軌道に垂直なある平面内において 行う。ちょうど、スケーリング曲線が一意で連続的なスケーリング関数を指定す るように、ツイスティング曲線はツイスト角情報を提供する。この角は度(degre e)で指定されるので、ツイスティング関数のy座標値は、1回の完全な回転に対 して−180.0と180.0の間となるべきである(1回の完全な回転以上の ツイストを望むならさらに大きい)。ちようど輪郭スケーリング曲線に対する場 合のように、ツイスト曲線は実際には関数として使用されるので、各x値に対し て一意なy値を持つべきである。図21と図22は好適実施例によるツイスティ ングの例を説明する図である。 使用が容易なサブクラス「名前付きコンストラクタ」 好適実施例による掃引オブジェクトは、共通に生起するモデリング・オペレー ションをセット・アップするためのいくつかのメソッドを備えている。これらの メソッドは、等価なサブクラスを備えている。このサブクラスは、あるコンスト ラクタを定義し、種々のコンストラクタに対する明白な名前付けスキーマを提供 する。図23は、好適実施例において提供されるいくつかのプリミティブを説明 する図である。たとえば、掃引クラスの球面サブクラスである。これは、中心と 半径の値に対するパラメータを備えているであろう。他のサブクラスは、入力と して、直径、高さ、回る半径等を提供する。プリミティブは、単一のサーフェス ・オブジェクトを使用してインプリメントされる。閉じたオブジェクト、たとえ ばシリンダまたは角が丸い箱では、そのサーフェスは上面と底面におけるある点 で縮重する(degenerate)。パラメータ表示に依存するシェーダ(たとえば、テク スチャ・マツピング・シエーダ:texture mapping shaders)ではこの縮重(degen eracy)は望ましいものではない。その場合は、その掃引オブジェクトはサブクラ ス化することができ、特別なキャップ・サーフェスを作り出す。そのキャップ・ サーフェスは、平坦で、パラメータ化されており、間隙なしの掃引サーフェスに 結合されている。 回転(revolutionまたはrotation)掃引のサーフェス ある単一の軸に関して対称な形状は、よくあるものである。ある輪郭が形状の プロファイル曲線または半切断面を記述するために提供される。図24は、好適 実施例による回転掃引を説明する図である。回転オブジェクト・コンストラクタ は、適当な半径を持つ円軌道を生成して、その輪郭を掃引する。輪郭と軌道曲線 の方向は、結果として得られるサーフェスの正確な内/外方向を保証することに 留意されたい。図25は、好適実施例において対称な輪郭を用いてモデル化され た中空(hollow)ブジェクトを説明する図である。 変換掃引(Translation Sweeps)または押し出し(Extrusion) 軌道が常に直線であるというのは、基本的に標準的な掃引である。これは、非 常に共通するオペレーションであるので、入力として輪郭と高さのみ必要なある 単純なサブクラスが提供されている。この輪郭は、最初にxy平面上に置かれ、 指定された高さまで掃引される。図26は、好適実施例によるある変換掃引を説 明する図である。好適実施例は、3D空間における任意の直線に沿った押し出し (extrusion)をサポートする。 掃引オブジェクト・サブクラス化フレームワーク この掃引は、最小のパラメータで最大の形状ボキャブラリィを提供するために デザインされた中でも、多いパラメータを持つ非常にジェネリックなプリミティ ブである。この掃引オブジェクトは、またユーザ定義エリアへの拡張のために設 計されてきた。デフォルトとして、掃引プロセスの間のいくつかの点が提供され ており、それはユーザがオーバライド可能である。サブクラス化は、以下の関数 をサポートするために用いることができる。データベースまたは数学関数から直 接的に出てくるスケーリングまたはツイスト関数、外部関数に基づいて輪郭形状 を変える関数、ユーザ定義の平面方向(「掃引フレーム」)に基づいて輪郭平面 の方向づけをする関数、ある掃引のサーフェスを開始または終了キャップする関 数などである。これらは平坦かまたは傾いている。 フローチャートの説明 図27は、好適実施例の詳細な処理を示すフローチャートである。メイン・ル ープは軌道の各制御点に対して1回ずつ実行する。処理は2700において開始 し、そこで掃引オブジェクトのあるパラメータが、複数の輪郭を処理するかどう かを示す。次に2710において、軌道、輪郭、スケーリング曲線、ツイスティ ング曲線を指定する追加のパラメータが、デフォルトまたはユーザの所望にした がう値のどちらかにセットされる。掃引プロセスは関数ブロック2720におい て開始し、ここで初期化が行われる。次に、関数ブロック2730において、2 710における入力情報に基づき軌道が準備される。処理ループは次に2740 において掃引フレームを決定するために開始し、2750において2次元輪郭を 得て、関数ブロック2760においてスケールかツイストか回転されて、最後に 結果の3D輪郭が関数ブロック2770において生成される。それから軌道に沿 った各点でこの処理が繰り返される。 図28は、掃引パイプラインの間のどの点で、ある種のメソッドが好適実施例 において呼ばれるかを示す第2のフローチャートである。これらのメソッドはオ ーバライド可能であるが、デフォルトが上で議論したように提供されている。す べてのメソッドは必要で有用なデータを得るが、これは、標準掃引オペレーショ ンがセットする値にすでに初期化されて渡される。これらの値は以下で説明され る制約で変更することができる。標準の掃引オブジェクト軌道準備は、軌道曲線 を精密にして関数ブロック2800において示されるようにその次数を上げる。 そのため、結果として得られるサーフェスは、スケーリングまたはツイスティン グ曲線で与えられる効果の同じ次数を示す。たとえば、軌道曲線が初め線形であ って(次数2)、スケーリング曲線が立方であった場合(次数4)、軌道も次数 4に上げられる。その結果スケーリング曲線の滑らかな変形が、掃引されたサー フェスの滑らかな変形のようにあらわれる。線形軌道では丸い「バンプ (bump)」をディスプレイできない。 軌道準備はまた特別な節点(knot)を、スケーリングまたはツイスティング曲線 がこぶ(C1不連続性、<次数−1>−フォールド節点(fold knot))または裂 け目(C0不連続性、<次数>−フォールド節点(fold knot))を持つ軌道のと ころに挿入する。このようにされる結果、スケーリング曲線のこぶは掃引された サーフェスにおいて隆起のように実際にはあらわれる。基本的には、この精密化 により、軌道に沿ったデータのサンプリングをコントロールする。 最後に、複数の輪郭が使用される場合は、余分な節点(knot)が各輪郭位置に挿 入されて、追加の2つの節点(knot)が連続する輪郭位置の間に挿入される。さら に、これはサンプリング・レートをコントロールし、補間がより滑らかになるよ うに、実際の輪郭位置の近傍のサンプルと、中間に1組のサンプルとを得ること が保証される。 図28のループは、軌道曲線のすべての制御点にわたるループである。この掃 引手続き(sweep procedure)は制御点の単一の行を各軌道制御点について生成す る。各軌道制御点に対応するパラメータ値uは、実際には<次数−1>の連続す る節点(knot)値の平均である。この平均はノード(node)値と呼ばれ、制御点が軌 道曲線にもっとも影響を及ぼすところにおけるパラメータ値に対する近似である 。各軌道制御点に対して1つのノード(node)値が正確に存在する。軌道に沿った サンプリング・レートを増加したければ、その軌道曲線をさらに精密にすればよ い。軌道曲線の次数を増加させることもできる。軌道に対するサンプリングの低 下によるエイリアシング(aliasing)のために、節点(knot)(そして制御点)の数 または次数を減少させることは、一般的に悪い結果をもたらす。掃引フレームは 、輪郭平面とその平面内の輪郭の方向を定義する1組の互いに直交する3つの単 位ベクトルである。図29は、好適実施例における3つの単位ベクトルおよび輪 郭平面の方向と座標系を説明する図である。 提供された3つのベクトルは、 (1)軌道接線(trajectory tangent) 輪郭平面の法線の役割をはたす。 (2)軌道法線(trajectory normal) 輪郭座標系x方向ベクトルの役割をはたす。 (3)軌道従法線(trajectory binormal) 輪郭座標系y方向ベクトルの役割をはたす。 である。 掃引処理が呼び出されるときの値であるパラメータ値uは、第i番目の軌道制 御点におけるノード(node)値である。線形軌道については、接線も曲率もノード 値(=線セグメント間の角)において定義されないので、いくつかの特別な場合 のコードが実行される。この特別な場合のコードは、入ってくる接線と出ていく 接線とを平均することにより接線をエミュレートして、二等分平面法線を作り出 す。図30は、好適実施例において計算された接線の計算法を図式的に説明する 図である。 本発明を好適実施例によって説明してきたが、本発明が特許請求の範囲の精神 と範囲内で変更して実施することができることは当業者が認めるものであろう。
【手続補正書】特許法第184条の8 【提出日】1995年11月29日 【補正内容】 (原文明細書第1頁) 3Dイメージを生成しディスプレイするために使用される別のテクニックは、 2Dサーフェスを3D空間の中で移動させるというものである。この2Dサーフ ェスの経路により掃引された体積は、3Dサーフェスを生成する。このプロセス は、J.Carlos Siskaによる「3D Solid Modeling Software Development for Ind ustrial and Academic Purposes(産業および学術上の目的のための3Dソリッ ド・モデリング・ソフトウェアの開発)」において説明されている。この文献は 、掃引と外形の一般的概念と、概念的に、掃引オペレーションを実行するための 各種のタイプのモデラ(modeler)を開示する。この文献は一般的概念を説明して はいるが、インプリメンテーションの詳細を何ら提供していない。 掃引サーフェスを近似する形式的な数学アプローチは、Bloomenthal等による 「Approximation of Sweep Surfaces by Tensor Product NURBS(テンソル・プ ロダクトNURBSによる掃引サーフェスの近似)」に説明されている。この書 類は掃引サーフェスを近似するためのテンソル・プロダクト非一様有理Bスプラ イン(non-uniform rational B-splines:NURBS)の相対的に精巧な数学的 分析を含む。この文献が掃引の一般的概念を記載しており、そのテクニックの形 式的な数学を教示しているが、掃引システムまたはオブジェクト指向フレームワ ークのコンピュータ・インプリメンテーションを教示するものではない。これら の文献の双方とも、インプリメンテーションの詳細については、どのような形に おいても記載もない。 (原文明細書第4頁〜第5頁) 図30は、好適実施例において、計算された接線の計算法を図形的に説明する 図である。 図31は、好適実施例において、ある輪郭リストにおける複数の輪郭を説明す る図である。 好適実施例による詳細な説明 好適実施例は、3次元フォームで表現された、コンピュータ・ディスプレイさ れるオブジェクトの操作を一般的に含んでいる。そして、適切なコンピュータ環 境についての簡潔な議論を提供することは有用であろう。さて図面を参照してみ ると、特に図1であるが、この発明は、汎用コンピュータ10に常駐するオペレ ーティング・システムのコンテキスト(context)における使用が好ましい。コン ピュータ10は、システム・ユニット12、陰極線管(CRT)あるいはまた液 晶ディスプレイ(LCD)のような高解像度ディスプレイ装置14を備えている 。グラフィック・ユーザ・インタフェース(GUIs)によくあるウィンドウ・ システムに要求される高解像度が可能なディスプレイであるべきことを除いて、 ディスプレイのタイプは重要ではない。コンピュータへのユーザ入力は、キーボ ード16と、マウス18のようなカーソル・ポインティング装置による。マウス 18はキーボード16に接続され、順に、キーボードはシステム・ユニット12 に接続されている。あるいはまた、マウス18はシステム・ユニット12の専用 またはシリアル・ポートに接続することができる。図面に示される型の汎用コン ピュータの例には、Apple Macintosh(Apple Computer社の登録商標)とIBM PS/2 がある。他の例は,IBM RISC System/6000とSun Microsystems社コンピュータ のような種々のワークステーションを含む。 序 好適実施例は、3D掃引オブジェクトを利用して、簡単な曲線入力からサーフ ェス幾何形状を生成する。このオブジェクトは3D形状を生成する容易な方法を 提供する。それはまた非常に用途が広くそして拡張可能である。 好適実施例の特徴 製造物の形状は掃引技術を用いて表現することができる。多くの3次元オブジ ェクトは掃引を用いてモデル化することができる。数学的またはNURB曲線の 知識が要求されないため、掃引は使いやすい。アーク・セグメントと円、直線セ グメントとそれらの組み合せに沿った掃引は、正確に表現される。入力曲線には 何ら制限はない。したがって、任意の次数(order)、点の数または形状がサポー トされている。掃引オブジェクトは曲率の不連続性(すなわち、こぶ(kinks)、 湾曲(bends)、角(corners))をサポートする。掃引オブジェクトはまた区分的な 曲線のような不連続な入力曲線もサポートする。結果のサーフェスはこれらの不 連続性を継承し、角または裂け目を示す。言い換えれば、単一の掃引により、視 覚的に離れ離れのサーフェス断片を作成することができる。入力曲線のパラメー タ表示は保存される。輪郭曲線が結果のサーフェス・パラメトリック・u方向を 形成し、軌道曲線がサーフェス・パラメトリックv方向を定義する。掃引プリミ ティブは、それらの入力または発生のデータを輪郭および軌道として保存する。 レンダリングのために、掃引オブジェクトサーフェス幾何形状を生成する。 サブクラス化フレームワークを使用して、1つ以上のボトルネック・ルーチン をサブクラス化することにより、新しい形状の変形または付加的な幾何形状の生 成を単純化する。各ボトルネック・ルーチンは、掃引形状発生ルーチン内から呼 ばれ適当なデータを渡される。サブクラスは、任意のデータを読み、または変更 することができる。明確な定義が生成されたサーフェスの外面を決定するために 規定されている。異なるシェーダ(shaders)が1つの形状の内面と外面のサー フェスに対して使われることもあるため、柔軟なサブクラス定義は重要である。 掃引は、それらの入力曲線を単純な補間を用いてアニメーション化することがで きる。 掃引(Sweeping) 掃引の基礎は図2に示されている。輪郭200は、220において示されるよ うに、中空(hollow)となり得る掃引サーフェス210を生成するために使用され る、関連する軌道205を有している。この関数を実行するためのC++コードは 以下に示される。 (原文明細書第11頁) スケーリング曲線のy座標は0.0または正であるべきである。負の値は内部的 に正の値に反転(mirror)される。図19と図20は、好適実施例においてスケー ルされた掃引サーフェスを説明する図である。 スケーリング曲線を使用する時に留意するべき重要な項目がある。それはスケ ーリング曲線は関数として使用されるため、各x値に対して一意のy値を持つべ きであるということである。スケーリング曲線のx軸は軌道に沿った距離に対応 する。この距離は掃引に知られているため、スケーリング曲線のx座標の範囲は 任意に選択することができる。掃引が実行される時、この距離は正規化される。 デフォルトにより、軌道に沿った距離は軌道の弧長(arclength)、言い換えれば 視覚的距離を意味する。これは曲線内にスケーリング・「バンプ(bump)」を位置 決めする一つの直観的方法である。バンプ(bump)を軌道の1/3と2/3の間に 出現させたければ、スケーリング曲線の長さの軌道に沿って、パーセンテージと して1/3と2/3の間に、スケーリング曲線の中にバンプ(bump)を単に作れば よい。 他の可能な距離メジャーは軌道に沿ったパラメトリック距離であるが、これは より高度なユーザ用である。軌道曲線が、ある湾曲、こぶまたは不連続性をある 既知のパラメータ値uおいて持つならば、スケーリング曲線の正常値をその値u に非常に近く変えることは有益である。これは掃引オブジェクトのSetArclength Mapped(FALSE)メソッドとして参照され、軌道に沿ったパラメトリック距離の関 数としてスケーリングを使用したい場合に指定する。 ツイスト曲線パラメータ 軌道に沿って輪郭を掃引する間、輪郭をその輪郭平面内において、選択的に回 転または「ツイスト」してもよい。たとえば、軌道に垂直なある平面内において 行う。ちょうど、スケーリング曲線が一意で連続的なスケーリング関数を指定す るように、ツイスティング曲線はツイスト角情報を提供する。この角は度 (degree)で指定されるので、ツイスティング関数のy座標値は、1回の完全な回 転に対して−180.0と180.0の間となるべきである(1回の完全な回転 以上のツイストを望むならさらに大きい)。 請求の範囲 1.ユーザの要求に応答し、3次元軌道(205)に沿って2次元輪郭(200 )の3次元掃引(210)を生成するコンピュータにインプリメントされた方法 であって、軌道上にあらかじめ決定された複数の制御点(図27)を有し、これ に対してあらかじめ決定された回転、ツイスティングおよびスケーリング情報に したがって操作する、ストレージ(14)を有するコンピュータ・システム(図 1)における方法において、 (a)3次元空間における3D曲線を定義する複数のパラメータを持つ3次元 曲線オブジェクトを前記ストレージ内に構成するステップと、 (b)前記3次元曲線オブジェクトの前記パラメータを初期化して、これによ り定義された前記3D曲線が前記3次元軌道を表現する初期化ステップと、 (c)2次元空間における2D曲線を定義する複数のパラメータを持つ2次元 曲線オブジェクトを前記ストレージ内に構成するステップと、 (d)前記2次元曲線オブジェクトの前記パラメータを初期化して、前記2D 曲線が前記2次元輪郭を表現する初期化ステップと、 (e)前記複数の制御点の1つにおける掃引フレームにしたがって、前記2次 元曲線オブジェクトの前記2D曲線を方向づける第1の最初のメンバ関数(27 50,2860)と、前記回転、ツイスティングおよびスケーリング情報にした がって、前記2次元曲線オブジェクトの前記2D曲線を変更する第2のメンバ関 数(2760,2840)と、前記3次元曲線オブジェクトおよび前記方向づけ られ、変更された2次元曲線オブジェクトから、3次元輪郭オブジェクトを生成 する第3のメンバ関数(2770,2832)とを有する3次元掃引オブジェク トを前記ストレージ内に構成するステップと、 (f)前記ユーザの要求に応答して、前記複数の制御点(図27)の各々に対 して前記第1のメンバ関数、前記第2のメンバ関数および前記第3のメンバ関数 を実行するステップと を備えることを特徴とするコンピュータにインプリメントされた方法。 2.前記2次元曲線オブジェクトが、x座標パラメータおよびy座標パラメータ を持ち、前記回転、ツイスティングおよびスケーリング情報が、あるスケーリン グ軌道に沿った前記xおよびy座標パラメータにおける変化を表現する2次元ス ケーリング曲線オブジェクトを有しており、ステップ(f)が、 (f.1)前記第2のメンバ関数を実行して、前記スケーリング軌道として、 前記3次元曲線オブジェクトの前記3D曲線を使用して前記xおよびy座標パラ メータを変更するステップ を有することを特徴とする請求項1記載の方法。 3.前記2次元曲線オブジェクトの前記2D曲線が平面内にあり、前記回転、ツ イスティングおよびスケーリング情報が、ツイスティング軌道に沿った前記平面 内における前記2D曲線の回転を表現している2次元ツイスティング曲線オブジ ェクトを有しており、ステップ(f)が (f.2)前記第2のメンバ関数を実行して、前記ツイスティング軌道として 前記3次元曲線オブジェクトの前記3D曲線を使用して前記2D曲線を回転する ステップ を有することを特徴とする請求項1記載の方法。 4.請求項1記載の方法において、さらに (g)あらかじめ定められた線形混合関数にしたがって前記2次元曲線オブジ ェクトの隣接した輪郭を混合するステップ、 を有することを特徴とする請求項1記載の方法。 5.前記2次元曲線オブジェクトがx座標パラメータおよびy座標パラメータを 持ち、前記回転、ツイスティングおよびスケーリング情報が、前記2D曲線に対 してある初期x方向を有しており、ステップ(f)が (f.3)前記第1のメンバ関数を実行して、前記初期x方向にしたがって前 記2次元曲線オブジェクトの前記x座標パラメータを方向づけるステップ を有することを特徴とする請求項1記載の方法。 6.前記回転、ツイスティングおよびスケーリング情報がデフォルトの回転、ツ イスティングおよびスケーリング情報からなり、ステップ(f)が、(f.3) に追加して、ユーザの提供した回転、ツイスティングおよびスケーリング情報で 前記デフォルトの回転、ツイスティングおよびスケーリング情報をオーバライド するステップを有することを特徴とする請求項1記載の方法。 7.前記軌道が前記複数の制御点の各々で接線を持ち、前記掃引オブジェクトの 前記第3のメンバ関数が前記軌道の前記接線を使用して3次元輪郭オブジェクト を生成し、さらに、 (h)前記軌道が前記複数の制御点の1つにおいて不連続性を持つ場合、前記 第3のメンバ関数に平均の接線値を提供し、前記平均の接線値を前記1つの制御 点の両側に位置づけられた制御点における前記平均の接線値とするステップ を有することを特徴とする請求項1記載の方法。 8.ユーザの要求に応答し、3次元軌道(205)に沿って2次元輪郭(200 )の3次元掃引(210)を生成するシステムであって、あらかじめ定められた 回転、ツイスティングおよびスケーリング情報にしたがって軌道上にあらかじめ 定められた複数の制御点(図27)を持ち、あるストレージを有するコンピュー タ・システム(図1)における操作可能システムにおいて、 (a)3次元空間における3D曲線を定義する複数のパラメータを持つ3次元 曲線オブジェクトを前記ストレージ内に構成する手段と、 (b)前記3次元曲線オブジェクトの前記パラメータを初期化して、定義され た前記3D曲線が前記3次元軌道を表現する初期化する手段と、 (c)2次元空間における2D曲線を定義する複数のパラメータを持つ2次元 曲線オブジェクトを前記ストレージ内に構成する手段と、 (d)前記2次元曲線オブジェクトの前記パラメータを初期化して、前記2D 曲線が前記2次元輪郭を表現する初期化する手段と、 (e)前記複数の制御点の1つにおける掃引フレームにしたがって、前記2次 元曲線オブジェクトの前記2D曲線を方向づける第1のメンバ関数(2750, 2860)と、前記回転、ツイスティングおよびスケーリング情報にしたがって 、前記2次元曲線オブジェクトの前記2D曲線を変更する第2のメンバ関数(2 760,2840)と、前記3次元曲線オブジェクトおよび前記方向づけられ、 変更された2次元曲線オブジェクトから、3次元輪郭オブジェクトを生成する第 3のメンバ関数(2770,2832)とを有する3次元掃引オブジェクトを前 記ストレージ内に構成する手段と、 (f)前記ユーザの要求に応答して、前記複数の制御点(図27)の各々に対 して前記第1のメンバ関数、前記第2のメンバ関数および前記第3のメンバ関数 を実行する手段と を備えることを特徴とするシステム。 9.前記2次元曲線オブジェクトがx座標パラメータおよびy座標パラメータ持 ち、前記回転、ツイスティングおよびスケーリング情報が、あるスケーリング軌 道に沿った前記xおよびy座標パラメータにおける変化を表現する2次元スケー リング曲線オブジェクトを有しており、前記実行手段が前記スケーリング軌道と して、前記3次元曲線オブジェクトの前記3D曲線を使用して前記xおよびy座 標パラメータを変更する手段を有すること、 を特徴とする請求項8記載のシステム。 10.前記2次元曲線オブジェクトの前記2D曲線が平面内にあり、前記回転、 ツイスティングおよびスケーリング情報が、ツイスティング軌道に沿った前記平 面内における前記2D曲線の回転を表現している2次元ツイスティング曲線オブ ジェクトを有しており、前記実行手段が前記ツイスティング軌道として前記3次 元曲線オブジェクトの前記3D曲線を使用して前記2D曲線を回転する手段を有 すること、 を特徴とする請求項8記載のシステム。 11.請求項8記載のシステムにおいて、さらに、あらかじめ定められた線形混 合関数にしたがって前記2次元曲線オブジェクトの隣接した輪郭を混合する手段 を有することを特徴とする請求項8記載のシステム。 12.前記2次元曲線オブジェクトがx座標パラメータおよびy座標パラメータ を持ち、前記回転、ツイスティングおよびスケーリング情報が、前記2D曲線に 対してある初期x方向を有しており、前記実行手段が前記初期x方向にしたがっ て前記2次元曲線オブジェクトの前記x座標パラメータを方向づける手段を有す ること、 を特徴とする請求項8記載のシステム。 13.前記回転、ツイスティングおよびスケーリング情報がデフォルトの回転、 ツイスティングおよびスケーリング情報からなり、前記実行手段がユーザの提供 した回転、ツイスティングおよびスケーリング情報で前記デフォルトの回転、ツ イスティングおよびスケーリング情報をオーバライドする手段を有すること、 を特徴とする請求項8記載のシステム。 14.前記軌道が前記複数の制御点の各々で接線を持ち、前記掃引オブジェクト の前記第3のメンバ関数が前記軌道の前記接線を使用して3次元輪郭オブジェク トを生成し、さらに、 (g)前記第3のメンバ関数に平均の接線値を提供し、前記複数の制御点の1 つにおいて前記軌道の不連続性に応答する手段であって、前記平均の接線値が前 記1つの制御点の両側に位置づけられた制御点における前記平均の接線値とする 手段、 を有することを特徴とする請求項8記載のシステム。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AT,AU,BB,BG,BR,BY, CA,CH,CN,CZ,DE,DK,ES,FI,G B,HU,JP,KP,KR,KZ,LK,LU,LV ,MG,MN,MW,NL,NO,NZ,PL,PT, RO,RU,SD,SE,SK,UA,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.少なくとも1つの2次元輪郭の3次元掃引を生成するオブジェクト指向方法 において、 (a)少なくとも1つの2次元輪郭を受け取ることと、 (b)軌道曲線を受け取ることと、 (c)前記軌道曲線の経路に沿った少なくとも1つの2次元輪郭にしたがう3 次元サーフェスを発生すること の工程を備えたことを特徴とするオブジェクト指向方法。 2.請求項1に記載された方法において、2次元NURB輪郭曲線を受け取る工 程を有することを特徴とする方法。 3.請求項1に記載された方法において、3次元NURB軌道曲線を受け取る工 程を有することを特徴とする方法。 4.請求項1に記載された方法において、複数の2次元輪郭を受け取る工程を有 することを特徴とする方法。 5。請求項4に記載された方法において、複数の2次元輪郭を混合してある3次 元サーフェスを発生する工程を有することを特徴とする方法。 6.請求項1に記載された方法において、前記3次元サーフェスに沿って前記輪 郭をスケーリングする工程を有することを特徴とする方法。 7.請求項1に記載された方法において、前記3次元サーフェスに沿って前記輪 郭をツイスティングする工程を有することを特徴とする方法。 8.請求項1に記載された方法において、不連続である輪郭に基づいて3次元 サーフェスを発生する工程を有することを特徴とする方法。 9.請求項1に記載された方法において、不連続である軌道に基づいて3次元掃 引サーフェスを発生する工程を有することを特徴とする方法。 10.請求項1に記載された方法において、ある軸に沿ったある輪郭の押し出し に基づいて3次元掃引サーフェスを発生する工程を有することを特徴とする方法 。 11.請求項1に記載された方法において、ある軸に関するある輪郭の回転に基 づいて3次元サーフェスを発生する工程を有することを特徴とする方法。 12.請求項1に記載された方法において、前記軌道の最初と最後において輪郭 平面方向を指定する工程を有することを特徴とする方法。 13.請求項1に記載された方法において、ある仮想的関数にオーバライドする オブジェクト指向技術を使用して前記軌道曲線を変更する工程を有することを特 徴とする方法。 14.請求項1に記載された方法において、前記掃引サーフェスのための最初か つ最後のキャップサーフェスを生成する工程を有することを特徴とする方法。 15.請求項1に記載された方法において、3次元空間においてある2次元輪郭 を位置づけかつ方向づけるために用いられるあるフレームを定義するための1組 のベクトルを繰り返し変更する工程を有することを特徴とする方法。 16.請求項1に記載された方法において、前記入力輪郭を混合することにより 生成された2次元輪郭を繰り返し変更する工程を有することを特徴とする方法。 17.請求項1に記載された方法において、3次元空間へ前記変更された2次元 輪郭を変換するためのベクトルの変更されたセットを使用することにより生成さ れた3次元輪郭を繰り返し変更する工程を有することを特徴とする方法。 18.請求項1に記載された方法において、前記掃引サーフェスのために複数の 内部キャップサーフェスを生成する工程を有することを特徴とする方法。 19.少なくとも1つの2次元輪郭の3次元掃引を生成する装置において、 (a)プロセッサと、 (b)情報を格納するために前記プロセッサに取り付けられたメモリと、 (c)情報をディスプレイするために前記プロセッサに取り付けられたディス プレイと、 (d)前記メモリから少なくとも1つの2次元輪郭を受け取るための手段と、 (e)前記メモリから軌道曲線を受け取るための手段と、 (f)前記軌道曲線の経路に沿った少なくとも1つの2次元輪郭にしたがう前 記ディスプレイ上の3次元サーフェスを発生するための手段と、 を備えたことを特徴とする装置。 20.請求項19に記載された装置において、2次元NURB輪郭曲線を受け取 るための手段を有することを特徴とする装置。 21.請求項19に記載された装置において、3次元NURB軌道曲線を受け取 るための手段を有することを特徴とする装置。 22.請求項19に記載された装置において、複数の2次元輪郭を受け取るため の手段を有することを特徴とする装置。 23.請求項22に記載された装置において、前記複数の2次元輪郭を混合して 3次元サーフェスを発生するための手段を有することを特徴とする装置。 24.請求項19に記載された装置において、前記3次元サーフェスに沿った前 記輪郭をスケーリングするための手段を有することを特徴とする装置。 25.請求項19に記載された装置において、前記3次元サーフェスに沿った前 記輪郭をツイスティングするための手段を有することを特徴とする装置。 26.請求項19に記載された装置において、不連続である輪郭に基づいて3次 元サーフェスを発生するための手段を有することを特徴とする装置。 27.請求項19に記載された装置において、不連続である軌道に基づいて3次 元掃引サーフェスを発生するための手段を有することを特徴とする装置。 28.請求項19に記載された装置において、ある対称な輪郭に基づいて3次元 掃引サーフェスを発生するための手段を有することを特徴とする装置。 29.請求項19に記載された装置において、ある軸に関するある輪郭の回転に 基づいて3次元サーフェスを発生するための手段を有することを特徴とする装置 。 30.請求項19に記載された装置において、前記軌道の最初と最後において輪 郭平面方向を指定するための手段を有することを特徴とする装置。 31.請求項19に記載された装置において、ある仮想的関数にオーバライドす るオブジェクト指向技術を使用して前記軌道曲線を変更する手段を有することを 特徴とする装置。 32.請求項19に記載された装置において、前記掃引サーフェスのための最初 かつ最後のキャップサーフェスを生成するための手段を有することを特徴とする 装置。 33.請求項19に記載された装置において、3次元空間においてある2次元輪 郭を位置づけかつ方向づけるために用いられるあるフレームを定義するための1 組のベクトルを繰り返し変更するための手段を有することを特徴とする装置。 34.請求項19に記載された装置において、前記入力輪郭を混合することによ り生成された2次元輪郭を繰り返し変更するための手段を有することを特徴とす る装置。 35.請求項31に記載された装置において、3次元空間へ前記変更された2次 元輪郭を変換するためのベクトルの前記変更されたセットを使用することにより 生成された3次元輪郭を繰り返し変更するための手段を有することを特徴とする 装置。 36.請求項19に記載された装置において、前記掃引サーフェスのために複数 の内部キャップサーフェスを生成するための手段を有することを特徴とする装置 。
JP7511739A 1993-10-22 1994-04-11 オブジェクト指向グラフィック掃引システム Pending JPH09504631A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14130393A 1993-10-22 1993-10-22
US08/141,303 1993-10-22
PCT/US1994/003983 WO1995011489A1 (en) 1993-10-22 1994-04-11 Object-oriented graphic sweep system

Publications (1)

Publication Number Publication Date
JPH09504631A true JPH09504631A (ja) 1997-05-06

Family

ID=22495106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7511739A Pending JPH09504631A (ja) 1993-10-22 1994-04-11 オブジェクト指向グラフィック掃引システム

Country Status (5)

Country Link
EP (1) EP0710381B1 (ja)
JP (1) JPH09504631A (ja)
AU (1) AU6702694A (ja)
DE (1) DE69404151T2 (ja)
WO (1) WO1995011489A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019185177A (ja) * 2018-04-03 2019-10-24 勇気 源 三次元物体の形状特定システム、方法及びプログラム
JP2022186654A (ja) * 2021-06-04 2022-12-15 ダッソー システムズ 機械部品のcad 3dモデルの処理

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981695B1 (en) 2003-10-14 2006-01-03 Polaris Industries Inc. All terrain vehicle with multiple winches
US8836701B1 (en) 1998-07-23 2014-09-16 Freedesign, Inc. Surface patch techniques for computational geometry
US7196702B1 (en) 1998-07-23 2007-03-27 Freedesign, Inc. Geometric design and modeling system using control geometry
GB2395410A (en) * 2002-11-08 2004-05-19 Peter David Hurley Transmission of reduced amount of data depicting 3D model
US11907617B2 (en) 2008-07-18 2024-02-20 Cad-Sense Llc Surface patch techniques for computational geometry
US8766978B2 (en) 2010-05-28 2014-07-01 Adobe Systems Incorporated Methods and apparatus for generating curved extrusions
US9024938B2 (en) 2011-07-29 2015-05-05 Adobe Systems Incorporated Methods and apparatus for sweep-based freeform deformation of 3-D models
US8994736B2 (en) 2011-09-23 2015-03-31 Adobe Systems Incorporated Methods and apparatus for freeform deformation of 3-D models

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019185177A (ja) * 2018-04-03 2019-10-24 勇気 源 三次元物体の形状特定システム、方法及びプログラム
JP2022186654A (ja) * 2021-06-04 2022-12-15 ダッソー システムズ 機械部品のcad 3dモデルの処理

Also Published As

Publication number Publication date
DE69404151D1 (de) 1997-08-14
WO1995011489A1 (en) 1995-04-27
EP0710381A1 (en) 1996-05-08
AU6702694A (en) 1995-05-08
DE69404151T2 (de) 1998-02-12
EP0710381B1 (en) 1997-07-09

Similar Documents

Publication Publication Date Title
JP3344597B2 (ja) グラフィック画像をテッセレーション化する方法および装置
US7173622B1 (en) Apparatus and method for generating 3D images
Loop et al. Approximating subdivision surfaces with Gregory patches for hardware tessellation
US6061067A (en) Applying modifiers to objects based on the types of the objects
US8514238B2 (en) System and method for adding vector textures to vector graphics images
JP3862759B2 (ja) 可変エッジ特性を有する構造化オブジェクトを用いて画像を定義し製作するためのコンピュータ・システムおよびプロセス
US6184901B1 (en) Three dimensional modeling and animation system
Lee et al. An easy-to-use three-dimensional molecular visualization and analysis program: POSMOL
US9269195B2 (en) Methods and apparatus for generating curved extrusions
US20150109296A1 (en) Graphics processing subsystem and method for updating voxel representation of a scene
US5303321A (en) Integrated hardware generator for area fill, conics and vectors in a graphics rendering processor
Stanculescu et al. Freestyle: Sculpting meshes with self-adaptive topology
EP0710381B1 (en) Object-oriented graphic sweep method and system
US7233326B1 (en) Three dimensional modeling and animation system using master objects and modifiers
US11010939B2 (en) Rendering of cubic Bezier curves in a graphics processing unit (GPU)
JPH03139781A (ja) プリミテイブ描出方法、ポリゴン・シエーデイング方法、及びデイスプレイ・プロセツサ
Draper et al. A Gestural Interface to Free-Form Deformation.
US20080043023A1 (en) Approximating subdivision surfaces with bezier patches
JPH03211686A (ja) コンピュータ制御デイスプレイ方法および装置
Barthe et al. Extrusion of 1D implicit profiles: Theory and first application
JP2003281558A (ja) 最適なタイリング性能のためにグラフィックスをラスタライズするための方法
JP2548742B2 (ja) 3次元シーン表示装置
Akman et al. A vector-like architecture for raster graphics
Palmer et al. Context-free spheres: A new method for rapid CPK image generation
Sourin Let’s Draw