(57)【特許請求の範囲】
【請求項１】
オリジナルの表面のポイントのフィールドと、前記オリジナルの表面に対して垂直な法線ベクトルのオリジナルのフィールドとによって定義されたオブジェクトの少なくとも１つの表面を提供するステップと、
前記オブジェクトにウォータマーキングを適用するステップであって、前記ウォータマーキングは、前記ポイントのフィールドのジオメトリを変更することによって前記オリジナルの表面を変更することと、前記ポイントの変更されたフィールドと前記法線ベクトルのオリジナルのフィールドとによって定義された変更された表面を前記オブジェクトに対して作成することを含む、該ステップと
を備えたことを特徴とする３Ｄモデル化オブジェクトを設計する方法。
【請求項２】
前記オブジェクトの３Ｄ描写をレンダリングするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記レンダリングのステップは、コンピュータのモニタのスクリーン上に投影像を算出することを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記レンダリングは、前記法線ベクトルの前記オリジナルのフィールドに従って前記投影像にシェーディングすることを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記ポイントのフィールドのジオメトリを変更することによって前記オリジナルの表面を変更するステップは、１つ又は複数のポイントの緻密化されたフィールドと前記法線ベクトルのフィールドの緻密化とを生成する１つ又は複数のポイントのフィールドの緻密化するステップの後に実行され、
前記ウォータマーキングするステップは、前記１つ又は複数のポイントの前記緻密化されたフィールドを変更することを特徴とする請求項１乃至４のいずれかに記載の方法。
【請求項６】
前記１つ又は複数のポイントのフィールドの緻密化は細分化を行うことを含み、前記法線ベクトルのフィールドの緻密化はこれまでの法線ベクトルを補間することにより新たな法線ベクトルを作成することを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記オリジナルの表面を変更することは、ウォータマークビット列によるスキームの後に実行されることを特徴とする請求項１乃至６のいずれかに記載の方法。
【請求項８】
前記オリジナルの表面を変更するステップの後に、
前記オリジナルの表面を変更することに従う前記スキームに従ってビット列を決定するステップと、
前記決定されたビット列を前記ウォータマークビット列と比較するステップと
を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記オリジナルの表面を変更した後、
１つ又は複数のポイントのフィールドを変更し、それに従って前記法線ベクトルのフィールドを変更することによって前記表面を変形するステップをさらに含むことを特徴とする請求項１乃至８のいずれかに記載の方法。
【請求項１０】
前記オリジナルの表面を変更する前記ステップにおいて、１つ又は複数のポイントのフィールドが局部的にあるいは広範囲に変更されることを特徴とする請求項１乃至９のいずれかに記載の方法。
【請求項１１】
前記ポイントのフィールドが三角形メッシュに対応しており、
前記法線ベクトルのフィールドが前記三角形メッシュのそれぞれの頂点に対するベクトルと関連付けられており、および／または前記法線ベクトルのフィールドが検索オペレータ付の法線マップである
ことを特徴とする請求項１乃至１０のいずれかに記載の方法。
【請求項１２】
３Ｄモデル化オブジェクトを設計するのに好適なグラフィックユーザインターフェースと、
コンピュータ読取可能プログラムコードを記憶したメモリと、
前記コンピュータ読取可能プログラムコードを処理するように構成されたプロセッサと
を備え、
前記コンピュータ読取可能プログラムコードは、前記プロセッサに、
オリジナルの表面のポイントのフィールドと、前記オリジナルの表面に対して垂直な法線ベクトルのオリジナルのフィールドとによって定義されたオブジェクトの少なくとも１つの表面を提供することと、
前記オブジェクトにウォータマーキングを適用することであって、前記ウォータマーキングは、前記ポイントのフィールドのジオメトリを変更することによって前記オリジナルの表面を変更することと、前記ポイントの変更されたフィールドと前記法線ベクトルのオリジナルのフィールドとによって定義された変更された表面を前記オブジェクトに対して作成することとを含む、該適用することと
を実行させることを特徴とするコンピュータ支援設計システム。
【請求項１３】
コンピュータに、請求項１ないし１１のいずれかに記載の方法を実行させることを特徴とするコンピュータプログラム。
【請求項１４】
請求項１３記載のコンピュータプログラムを記録したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムとシステムの分野、特に３Ｄ（３次元）モデル化オブジェクト（３次元造形物）の設計のための方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
コンピュータによる支援設計は、オーサリング（ａｕｔｈｏｒｉｎｇ）プロダクトデザイン（製品設計）のためのソフトウェに関する、Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ（コンピュータ支援設計）、即ちＣＡＤを含むことが知られている。同様に、ＣＡＥはＣｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ（コンピュータ支援工学）の頭文字であり、例えば、これは、次世代の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。ＣＡＭはＣｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ（コンピュータ支援の製造・加工）の略語であり、典型的には製造工程と操作を規定するソフトウェアソリューションを含む。
【０００３】
ダッソーシステムズ（Ｄａｓｓｕｌｔ  Ｓｙｓｔｅｍｅｓ）により商標ＣＡＴＩＡの下で提案されているような、いくつかのシステムとプログラムが、目的物（あるいは部品）あるいは目的物の組立品の設計と製品の形成のために、市場に提案されている。これらのＣＡＤシステムは、目的物や目的物の組立品の複雑な３次元（３Ｄ）モデルを構築し、操作することをユーザに許容している。このようにして、ＣＡＤシステムは、表面を持つ場合に、エッジ（辺、縁、端）やライン（線）を用いてモデル化オブジェクトの描写を提供する。ラインやエッジは、色々な方法で、例えば非一様有理Ｂスプライン（ＮＵＲＢＳ；Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｒａｔｉｏｎａｌ  Ｂ  Ｓｐｌｉｎｅ）で表すことが可能である。これらのＣＡＤシステムは、部品あるいは部品の組立品を、大部分が幾何学仕様である、モデル化オブジェクトとして取り扱っている。具体的に言えば、ＣＡＤファイルは、幾何学が生じるところの、また発生すべき描写（ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）を順々に許容する、仕様を含む。幾何学と描写は単一のＣＡＤファイル、あるいは複数のＣＡＤファイルに格納させることができる。ＣＡＤシステムは設計者に対してモデル化オブジェクトを描写するためのグラフィックツール類を含み、これらのツールは複雑なオブジェクトの表示に使われ、−ＣＡＤシステム内でオブジェクトを表現するファイルの典型的なサイズは一部品当り１メガバイトの範囲にあり、かつ組立品は幾千もの部品を含んでいる。ＣＡＤシステムは電子ファイル内に格納されているオブジェクトのモデルを処理する。
【０００４】
製品ライフサイクル管理（ＰＬＭ）ソリューションもまた知られており、これは製造日の割り当て、共通工程の適用に役立ち、および製品開発からその製品寿命の終焉の計画について、拡張された事業概念にわたって、企業知識を利用する事業戦略と呼ばれる。関係者（会社部門、提携先、納入業者、ＯＥＭ（相手先商標製品の製造会社）、および顧客）を含ませることで、ＰＬＭは、このネットワークを、製品と工程の概念化、設計、構築、および支援に対して、単一の企業実体として働かせることができる。
【０００５】
いくつかのＰＬＭソリューションは、例えばデジタル実物模型（製品の３Ｄ画像模型）を作成することで製品を設計し開発することを可能にする。このデジタル製品は、適切なアプリケーションを用いて、まず定義され、シミュレートされる。ついで、リーン（ｌｅａｎ）デジタル生産プロセスを定義し、モデル化することができる。
【０００６】
ダッソーシステムズにより（商標ＣＡＴＩＡ，ＥＶＯＶＩＡ、およびＷＲＬＭＡの下で）提供されているＰＬＭソリューションは、エンジニアリングハブ（Ｅｎｇｉｎｅｅｒｉｎｇ  Ｈｕｂ）を提供し、このエンジニアリングハブは、技術知識、生産ハブ（Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｈｕｂ）を編成し、生産の技術知識と、エンジニアリングハブと生産ハブの両方内に事業の統合と連結を可能にするエンタープライズハブ（Ｅｎｔｅｒｐｒｉｓｅ  Ｈｕｂ）を管理する。全部でこのシステムは、開放オブジェクトモデル連結製品（ｏｐｅｎ  ｏｂｊｅｃｔ  ｍｏｄｅｌ  ｌｉｎｋｉｎｇ  ｐｒｏｄｕｃｔｓ）、工程、動的な知識ベース製品の創作を可能にするリソース、および最適化された製品定義、加工、前処理、製造、サービスを推進する意思決定支援を実現させる。
【０００７】
このようなＰＬＭソリューションは製品のリレーショナルデータベース（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ；関係データベースともいう）を含む。このデータベースはテキスト形式のデータセットと、そのデータ間の関係を含む。データは、典型的には、製品に関連した技術データを含み、その技術はデータのヒエラルキー（階層制）で順序付けられており、検索可能なインデックスを付けられる。そのデータはモデル化オブジェクトを表し、それはしばしばモデル化された製品と工程である。
【０００８】
３Ｄモデル化オブジェクトを設計するために、通常、モデル化オブジェクトの物的境界を表すための少なくとも１つの表面が与えられる。３Ｄモデル化オブジェクトのレンダリングは２つの基本量を処理するが、これら基本量は通例、表面、その表面のポイント、およびその表面の法線ベクトル（すなわち、表面に対する法線であるベクトル、垂線ベクトルともいう）を定義する。表面のポイントはオブジェクトの表面上のポイントの一組の３Ｄ座標として通常提供される。このような座標に対する投影（ｐｒｏｊｅｃｔｉｏｎ）行列とビュー（ｖｉｅｗ）行列を適用することで、コンピュータ画面上にピクセル（画素）の位置を与えることができる。法線ベクトルはしばしばオブジェクトの表面のポイントと関連する３Ｄベクトルとして与えられる。このベクトルは「法線」とも呼ばれ、材料属性と合わせて表面からの光の反射を制御でき、結果として生ずるピクセルの色を定義することができる。下記の記述は、３Ｄオブジェクトの表面の各位置についての法線を与える関数として定義される、法線フィールド（ｎｏｒｍａｌ  ｆｉｅｌｄ）にも言及することができる。図１は法線ベクトルＮが表面に対する矢印の法線として表されている表面Ｓの一例を示し、それら矢印の底は表面ＳのポイントＰである。
【０００９】
法線は位置の微分から算出することができるから、幾何学理論は、レンダリングされるべき３Ｄオブジェクトをモデル化するために、モデルの位置のみに対して足りるということを示唆していることとなる。しかし、実際には、多くのコンピュータ画像システムが位置と法線に対して別々のチャネル（道筋）を提供しているのであるが、これは、低分解能で位置データを表すこと、および法線フィールドにおける変動する鋭角、表面の粗さのような局部的な外観を表すことに対してより効果的であるからである。
【００１０】
３Ｄオブジェクトを表示する共通の手段は、いわゆる「フォンシェーディング（Ｐｈｏｎｇ  ｓｈａｄｉｎｇ）」といわれており、これは例えば、非特許文献１の論文に記載されている。このアプローチ（やり方）において、そのシステムは、各々のメッシュ（網目）の頂点で定義された別々の位置と法線を用いて、三角形メッシュ（三角メッシュともいう）を保持している。表面のポイントが与えられると、そのポイントでの法線ベクトルは、ウェイト（加重）として三角形のポイントの重心位置を用いて、それぞれの三角形の頂点での法線の加重平均によって算出される。
【００１１】
フォンモデル（Ｐｈｏｎｇ ｍｏｄｅｌ）についての改良は、法線マップ化モデル、あるいはバンプマップ化モデルであり、これは最初に非特許文献２に記載されたものであって、ビデオゲームのようなアップリケーションに今日、広く利用されている。これは各メッシュ頂点で２Ｄ（２次元）座標（ｕ，ｖ）を用いた三角形メッシュを使用している。この（ｕ，ｖ）の対は、「法線マップ（ｎｏｒｍａｌ  ｍａｐ）」あるいは「バンプマップ（ｂｕｍｐ  ｍａｐ）」と呼ばれる２Ｄマップを指している。表面の１つのポイントが与えられると、法線フィールドでまず三角形頂点のそれぞれで（ｕ，ｖ）の加重平均により（ｕ，ｖ）の値をまず算出し、次いでこの（ｕ，ｖ）の値を用いて法線マップの検索を行うことになる。法線マップは通常、有限サイズの２Ｄ画像により表され、検索オペレータ（演算子）が連続マッピングの実存をシミュレートするために画像のピクセル間の補間を実行することになる。
【００１２】
さらに公知の例示において、ポジションデータ（位置データ）はＮＵＲＢＳ（非一様有理Ｂスプライン）表面として格納される。法線フィールドは法線マップとしてＮＵＲＢＳに対して関連付けられている。
【００１３】
一言で言えば、公知の技術は表面上の明確な位置と法線情報を考慮に入れている。フォンシェーディングが、ある１つの頂点の法線から他の頂点の法線に移動する、位置を伴なって滑らかに展開する法線フィールドを生成すると同時に、法線マップがたくさんのディテール（詳細）を含むことができる。
【００１４】
製品構成（ｐｒｏｄｕｃｔ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）を含む、製品ライフサイクル情報、プロセス（処理）知識、およびリソース（資源）情報は、典型的に、共同作業で編集されることを意図している。従って、モデル化オブジェクトは著作権侵害に対してますます共有され、甘受させられる。そういう訳で、３Ｄモデル化オブジェクト（３Ｄ造形物）のより高度な複写（透写）可能性についての必要性が、３Ｄモデルの侵害あるいは不法な複製を立証するために、生じている。
【００１５】
３Ｄモデル化オブジェクトの複写可能性を増大するために、３Ｄウォータマーキング（一般的に言って、３Ｄオブジェクトのウォータマーキング（３Ｄ透かし挿入））がすでに探究されている。このような技術の適用は多数存在し、例えば、許可なしに再使用されることから製品を回避するために、原作者を表すコードで製品に印付けしたいと望むであろう。ほどんどの３Ｄウォータマーキング技法は、所望の情報の挿入に対して、３Ｄモデルの局部形状（換言すれば、表面のポイントの位置）に摂動（ｐｅｒｔｕｒｂａｔｉｏｎ）を共通して持つ。これらの摂動を隠すために提案されている技術は、一般にそれら摂動を肉眼で検知できないほど小さくすることである。３Ｄウォータマーキングの良い概説は非特許文献３の論文に提供されている。しかしながら、その法線ベクトルのフィールドが事前に存在する３Ｄモデル化オブジェクトに特有のウォータマーキング技術はない。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】Bui Tuong Phong著、 "Illumination for Computer Generated Pictures"（コンピュータで生成された画像の照明）,   Comm. ACM, Vol. 18(6):311-317, June 1975.
【非特許文献２】Blinn 著、“Simulation of wrinkled surfaces”（しわの寄った表面のシミュレーション）,   ACM SIGGRAPH, 1978.
【非特許文献３】Wang, Lavoue 等  著、“A comprehensive survey on 3 dimensional mesh watermarking”,  （３次元メッシュウォータマーキングに関しての包括的概説）,   IEEE Transactions on Multimedia, vol. 10, No. 8, December 2008.
【非特許文献４】W. H. Cho, M. E. Lee, H. Lim, および S. Y. Park著“Watermarking technique for authentication of 3-D polygonal meshes”（３Ｄ多角形メッシュの立証のためのウォータマーキング技術）、Proc. of the International Workshop on Digital Watermarking'05, 2005, pp. 259-270.
【発明の概要】
【発明が解決しようとする課題】
【００１７】
従って、少なくとも表面のポイントのフィールドと表面に対して垂直な法線ベクトルのフィールドで３Ｄモデル化オブジェクトを複写するための技術の必要性がまだ残っている。
【課題を解決するための手段】
【００１８】
一態様に従って、本発明は、それ故、表面のポイントのフィールドと表面に対して垂直な法線ベクトルのフィールドによって定義された少なくとも１つの表面を与えるステップと、法線ベクトルのフィールドをそのままの状態で保ちながらポイントのフィールドを変更する（ｍｏｄｉｆｙｉｎｇ;  修正するともいう）ことによりオブジェクトをウォータマーキングするステップとを含む３Ｄモデル化オブジェクトを設計するための方法を提供する。
【００１９】
実施形態において、本発明に従う製品ライフサイクル（寿命）管理システムは、以下の特徴の１つまたは複数を含むことができる：
−  ポイントのフィールドに従ってモデル化オブジェクトの３Ｄ表現（描写）をレンダリングするステップを更に含む方法；
−  ポイントのフィールドに従ってスクリーン（表示画面）上にプロジェクション（投影像）を算出することを含むレンダリングのステップ；
−  そのレンダリングが法線ベクトルに従ってプロジェクションをシェーディングすることを更に含むこと；
−  上記表面が他のオブジェクトの表面であって、ポイントのフィールドを抽出し、かつ表面の法線ベクトルのフィールドを抽出することと、法線ベクトルのフィールドをそのまま保ちながらポイントのフィールドを変更することと、ポイントの変更されたフィールドにより定義される表面と、設計されているオブジェクトに対する法線ベクトルの変更されていないフィールドとを加えることと、そのオブジェクトがその結果とて他のオブジェクトのウォータマーキングされた複製となるようにデザインされることを含むウォータマーキングのステップ；
−  ポイントのフィールドの緻密化（ｄｅｎｓｉｆｉｃａｔｉｏｎ）とそれに合わせた法線ベクトルのフィールドの緻密化を含むウォータマーキングのステップ；
−  上記ポイントのフィールドの緻密化が再分割（ｓｕｂｄｉｖｉｓｉｏｎ）の実行を含み、上記法線ベクトルのフィールドの細密化がこれまでの法線ベクトルを補間することにより新たな法線ベクトルを作成することを含むこと；
−  上記ウォータマーキングがウォータマーク（透かし）ビット列によるスキーム（体系的な基本構想の立案）の後に実行されること；
−  上記ウォータマーキングのステップの後で、ウォータマーキングに従うスキームに従うビット列を決定するステップと、その決定したビット列とウォータマークビット列とを比較するステップとを更に含むこと；
−  ポイントのフィールドを変更し、それに合わせて法線ベクトルのフィールドを変更することで表面を変えるステップを更に含む方法；
−  上記オブジェクトをウォータマーキングするステップにおいて、ポイントのフィールドが局部的にあるいは広範囲に変更されること；
−  ポイントのフィールドが三角形メッシュに相当し、法線ベクトルのフィールドが三角形メッシュの頂点の各々のベクトルに関連付けられ、および／または法線ベクトルのフィールドがルックアップオペレータ（ｌｏｏｋｕｐ  ｏｐｅｒａｔｏｒ； 検索演算子）付の法線マップであること。
【００２０】
他の態様に従って、本発明は、表面のポイントのフィールドと表面に対する法線ベクトルのフィールドにより定義される少なくとも１つの表面に保存するための手段と、上記の方法で３Ｄモデル化オブジェクトを設計するのに好適なグラフィカルユーザインターフェースとを含むコンピュータ支援設計システムを更に提案する。
【００２１】
他の態様に従って、本発明は、表面のポイントのフィールドと表面に対する法線ベクトルのフィールドにより定義される少なくとも１つの表面に保存するための手段と、上記の方法を実行するための、３Ｄモデル化オブジェクトを設計するのに好適なグラフィカルユーザインターフェースとを含むコンピュータ支援設計システムをもたらす手順を含むインストラクション（命令）、コンピュータにより実行するための命令を含むコンピュータプログラムを更に提案する。
【００２２】
他の態様に従って、本発明は、上記のコンピュータプログラムを記録したコンピュータ可読記録媒体を更に提案する。
【００２３】
本発明の具体化システムを、限定されない事例を用いて、添付図面を参照して、以下に説明する。
【図面の簡単な説明】
【００２４】
【図１】表面の一例を示す図である。
【図２】方法の一例のフローチャートを示す図である。
【図３】方法の実行の一例を示す図である。
【図４】方法の一例のフローチャートを示す図である。
【図５】本発明の遂行に適合したグラフィカルユーザインターフェースを示す概略実例図である。
【図６】本発明の遂行に適合したシステムを示す概略実例図である。
【発明を実施するための形態】
【００２５】
図２のフローチャートを参照すると、３Ｄ（３次元）モデル化オブジェクトの設計のための方法を提案している。この方法は少なくとも１つの表面を与えるステップＳ１を含む。表面は表面のポイントのフィールドとその表面の法線ベクトルのフィールドにより定義される。この方法はまた、法線ベクトルをそのままの状態で保持しながらポイントのフィールドを変更する（ｍｏｄｉｆｙｉｎｇ）ことによりオブジェクトをウォータマーキングするステップ２を含む。このような方法はポイントのフィールドと法線ベクトルのフィールドによって定義される表面によってモデル化される３Ｄモデル化オブジェクトのトレーサビリティ（複写可能性）を許容する。
【００２６】
オブジェクトを「設計する（Ｄｅｓｉｇｎｉｎｇ）」ことは、オブジェクトをモデル化するデータを含むファイルを変更あるいは作成するいずれのアクション（行為）あるいはアクションの組み合わせを実行することを意味する。従って、この方法は新規にゼロから新たなオブジェクトを作成するだけでなく予め作成されているオブジェクトについて実行されることを意図としている。
【００２７】
「３Ｄモデル化オブジェクト」により、そのオブジェクトはその３Ｄ表現（３Ｄ描写ともいう）を可能にするデータによってモデル化されたオブジェクトを意味する。ＳＤ表現はあらゆる角度からの部品の観察を可能にする。例えば、３Ｄモデル化オブジェクトは、３Ｄ描写時に、任意の軸も操作して、任意の軸を、あるいはその描画が表示されているスクリーン（表示画面）内の任意の軸を回転させることができる。これは３Ｄモデル化ではない２Ｄアイコンをとりわけ除外している。３Ｄ表現の表示は設計を容易にする（すなわち、設計者のタスク（仕事）の統計的な完成スピードを増加させる）。このことは、製品の摂家が製造工程の一環として、産業における製造工程を迅速化する。
【００２８】
この方法において、３Ｄモデル化オブジェクトは、ステップＳ１で与えられる少なくとも１つの表面によりモデル化される。表面はオブジェクトの境界を表す。表面はオブジェクト全体の境界でも、あるいはオブジェクト全体の境界の一部分でもよい。例えば、図１における表面ＳはポイントＰと法線ベクトルＮとによってモデル化されるように、いかなる場合でも、表面は、その表面のポイントのフィールドとその表面の法線ベクトルのフィールドとによって定義される。これは、「フィールド」についての、一連のポイント／法線ベクトルのモデル化のいずれかの方法を意味する。フィールドは一連の座標、パラメトリック定義（例えば、ポイントのフィールドについてのＮＵＲＢＳ）、あるいはその両方の組み合わせ、であるとすることができる。いくつかの表面を実際に定義するために、たとえば、フォーン（Ｐｈｏｎｇ）シェーディングあるいはバンプマップ化モデル（Ｂｕｍｐ  Ｍａｐｐｅｄ  ｍｏｄｅｌ）というような、それ自体公知のいずれかの技術に基づいて、ポイントのフィールドと法線ベクトルのフィールドはそれらの値で結ばれている。
【００２９】
例として、ポイントのフィールドは三角形メッシュに対応することができる。これは
一番ＣＡＤシステム（方式）に適合する。この例において、法線ベクトルのフィールドはそれぞれの三角形メッシュの頂点と結びつくベクトルに相当するとすることができる。本例およびその他の例において、その代わりとして、法線ベクトルのフィールドが、上記で説明したような、検索オペレータ（ｌｏｏｋｕｐ  ｏｐｅｒａｔｏｒ）付の法線マップであるとしてもよい。
【００３０】
ポイントのフィールドと法線ベクトルのフィールドの両方を定義することは、表面のより効果的なレンダリング（すなわち、表示用のデータの演算処理）を許容する、すなわち、ディテールの所与のレベルでレンダリングを計算処理するために必要なメモリ使用Ｖｓ時間の改善を許容する。実際に、表面のレンダリングに関して、ピクセル（すなわち、カラー（色）に加えて表示画面上の座標）は、それ自体知られているように、ポイントのフィールドに従って計算処理され、一方、シェーディング（すなわち、ピクセルのカラーに対して、そのピクセルを明るくする、あるいは暗くすることが可能な係数を付与）は、それ自体公知であるがまた後で説明するように、法線ベクトルのフィールドに従って実行される。従って、法線ベクトルのフィールドが表面を定義しているので、シェーディングに伴なって表面がレンダリングされる度に法線ベクトルを計算処理する必要はなく、よってそのレンダリングを早められる。また、ポイントのフィールドに対して含まれる必要がある情報はより少なくてすむ（すなわち、ポイントのフィールドはより少数のポイントですむ）。
【００３１】
この方法は、オブジェクトに対してウォータマーキングを行うステップＳ２も含む。現在の文脈において、「ウォータマーキング」とは、変更の後に、オブジェクトが（「マーク」（印）あるいは「ウォータマーク」（透かし）と称される）一連の特徴を現すもので、まだウォータマーク付けされてない無作為のオブジェクトが存在している可能性は低い（無作為オブジェクトが存在する確率がｘ％とすると、ｘは例えば、１．０．１、  ０．０１．０．００１、あるいはちょうど０．０００１である）という点でオブジェクトを変更するプロセス（加工処理）である。このようにして。オブジェクトにウォータママーキングすることが、オブジェクトの複写可能性（トレーサビリティ）を可能にする。それ故に、デザイナー（設計者）は共同設計目的のためにオブジェクトを分担することができ、あるいはオブジェクトを使用可能である公開のためにそれを出版することができ、あるいはオブジェクトを販売することができる。それまでは、デザイナーはこの方法に従ってオブジェクトをウォータマーク付けする。このように、もしオブジェクトがデザイナーにより許可されていない方法で再利用され、あるいはオブジェクトがデザイナーにより許可されていなかったにも関わらずそのオブジェクトが販売された場合には、デザイナーは、オブジェクト上のウォータマークを識別することにより、（１００−ｘ）％という比較的に高い確率レベルで侵害行為を立証することができる。このレベルは使用されているウォータマーキングに依存しており、望みの高さ（１００％の完全レベルのみ、達しえないが）にすることができる。
【００３２】
本方法によれば、ウォータマーキングは、法線ベクトルをそのままの状態で保持しながら、ポイントのフィールドを変更することにより行われる。ポイントのフィールドを変更することは、ポイントのいくつかを移動、除去、あるいは追加することによりジオメトリ（幾何学的状態）を変更することを意味する。このことは、ウォータマーキングが容易に復帰できないことを確実にする。とりわけ、これが単独の削除処理（ｓｉｎｇｌｅ  ｃｕｔ  ｏｐｅｒａｔｉｏｎ）によりウォータマークを（シグネチュア（著名）がオブジェクト仕様を含むファイルに単に付け加えられている場合と異なり）取り除くことができなくすることを確実する。
【００３３】
ウォータマーキングは法線のフィールドをそのまま保持する。すなわち、表面の通常のデザイン（意匠）の変形と異なり、ウォータマーキングは法線ベクトルのフィールドを変更しない。このことがレンダリングでのウォータマーキングの影響を小さくする。実際に、法線ベクトルのフィールドが変化しないように、シェーディングはウォータマーキングによって変更されない。従って、ウォータマーキングは統計的に言って肉眼でほとんど確認できない。
【００３４】
図３は上記の議論の一例を提供するものである。オリジナルのポイントのフィールドと、実線の矢印で表示されている法線ベクトルＮとにより定義されたオリジナルの表面Ｓが与えられる。オブジェクトは、法線ベクトルＮのフィールドをそのままの状態で保ちながら、ポイントのフィールドを変更することにより、ウォータマーク付けされる。ポイントのフィールドが変更されるので、表面Ｓのジオメトリが変更される。これが表面Ｓ’によって表わされており、表面Ｓ’はウォータマーキング後の表面Ｓのジオメトリである。法線ベクトルＮのフィールドはそのままの状態で保たれる。このことは表面Ｓ’上に移された法線ベクトルＮによって表わされている。説明目的のために、「実際の」法線ベクトルＭ（すなわち、新たなジオメトリに従って新たな表面Ｓ’に対する幾何学的に実際の法線であるベクトル、この実際の法線ベクトルＭは法線ベクトルのフィールドの再計算により与えられる）のフィールドを破線の矢印でも表示している。図に示すように、オリジナルの表面Ｓは完全な滑らかな円の弧であるけれども、ウォータマーキングは新たな表面Ｓ’に「バンプ（ｂｕｍｐｓ：凹凸）」を創出する。例えば、新たな表面Ｓ’のポイントＰ0（これは必ずしもポイントのフィールドのポイントではない）がバンプの頂点にある。オブジェクトが変更されたポイントのフィールドと実際の法線ベクトルＭのフィールドによって定義された表面Ｓ’を用いてオブジェクトがレンダリングされる場合には、ポイントＰ0は、そのポイントＰ0に対応してピクセルを適用したシェーディングのレベルを算出することにより表わされ、それは目の位置と実際の法線ベクトルＭ0として予め定義された位置とによって形成される角度に依存する。本例の図に示すように、その角度は比較的に大きく、あたかもポイントＰ0が月によって照らされていたように、適用されたシェーディングのレベルが高いことを物語っている。従って、バンプは目に見えるようになる。しかしながら、法線ベクトルＮのフィールドがウォータマーキングによってそのまま保持されているので、実際には、ポイントＰ0に従ってピクセルに対して適用されたシェーディングのレベルは、目の位置とオリジナル（初期）法線ベクトルによって形成される比較的小さな角度に基づいているから、それほど高くはない。
【００３５】
実際に、ウォータマーキングによって表面のジオメトリに作られたバンプは、法線ベクトルのフィールド上に再生されない。本方法は、したがって、形態に対する摂動が目に見えるほど潜在的に十分に強い所に、ウォータマークの目に見える「隠蔽（ｈｉｄｉｎｇ）」のための解決策を提供する。実際に、法線ベクトルのフィールドはそのまま保持されているので、ウォータマーキングは、ポイントのフィールド上の重要な変更を、これらの変更が視認できることなしに、行うことを含むことができる。法線ベクトルのフィールドをそのまま保持することは、別のやり方で可能であるよりも、よりはるかに強力にウォータマークの適用を可能にする。このことは、３Ｄウォータマーキングのアプローチへの取り組みに対するローバスト性（堅牢性）と全体の信頼性を増加する。ウォータマーキングのローバスト性は表面の変形に対する「抵抗（ｒｅｓｉｓｔ）」能力（すなわち、残存に対するウォータマーキングの能力）である。
【００３６】
ウォータマーキングのローバスト性は、例えば、ウォータマーキング後に、例えば「正規の（ｒｅｇｕｌａｒ）」ランダムウォーク（例えば、法線の密度関数または任意の他の可能性のある関数に従うこと、すなわち時間ｔ＋１での位置が時間ｔプラスｕでの位置であり、ここでｕは座標が密度関数Ｎ［０，１］に従うランダム変数であり、Ｎが法線密度関数である）に従ってポイントのフィールドのポイントの位置の変更２０％（他の例では５０％、７５％、あるいは１００％）で、表面を変更することによりモデル上のデザインを行う場合にも、ウォータマークは依然として抹消されないというほどであるとすることができる。ローバスト性のこのようなレベルはそれ自体公知の方法、例えば後で説明する方法の実施例によって到達することができる。
【００３７】
実際には、本方法はポイントのフィールドを変更し、かつそれに応じて法線ベクトルのフィールドを変更することによって表面を変形するステップをさらに含む。このような変形はオブジェクトに作業するいずれかのデザイナーによって行われたオブジェクトのデザイン（図案）変形である。より頑強なものはウォータマーキングであり、より低いものはウォータマーキングを消去する可能性である。本方法は従って他のデザイナーによって再利用され変形されるオブジェクトにウォータマーク付けすることを許容する。
【００３８】
さらに、ウォータマークは隠されているので、ウォータマーキングはポイントのフィールドの多くのポイントを変更する（すなわち、フィールド全体の変更）ことを含むことができ、それによりウォータマークの消去を非常に困難にさせられる。このような事例では、潜在的侵害に対して、ウォータマーキングの消去が侵害の「利益」を失わせこととなるほど、ウォータマーキングの消去を困難にさせられる。例えば、ポイントの１０％、２０％、３０％、５０％、あるいは７５％さえも変更させることができる。代わりに、ウォータマーキングをより局部で行ってもよく、すなわちポイントのフィールドが局部（すなわち、ポイントの１０％以下で示される連続区域内のポイント）で変更される。このことはウォータマークをより見えなくさせられる。
【００３９】
従って、本方法の原理は、マーキングしたモデルをマーキングしていないモデルの法線フィールドに再適用することにある。このことは、ウォータマークを必要な場合には読むことができるが、視覚的には全くマーキングさていなかったよう見える全ての摂動をオブジェクトが持っていることを意味する。シルエットは位置データのみを関数としており、法線マップではないから、摂動はシルエット（輪郭）（すなわち、陰影付けなしの、モデルのポイントのフィールドに従ったスクリーン上の投影）上に理論上の可視を残存させているかもしれない。しかしながら、（上述した非特許文献２のＢｌｉｎｎの論文で述べられているように）、ディテール（局部のでこぼこ、隆起）は、オブジェクトのシルエット上よりも、視聴者と向かい合う表面内の方がはるかに多く人目を引くという事実が良く知られている。現代のビデオゲームはこのことを非常に幅広く利用している。例えば、バンピー（でこぼこ）で覆われたモンスター（怪物）は、例えば、完全に無特徴のボディとバンプを含む法線マップにより実際に表されるであろう。生き物の姿がスクリーンを横断しているにつれて、その目は法線マップにより作りだされる光の反射で変化するように描かれ、バンプがオブジェクのシルエットには不在であるが、その不在が気付かない、でこぼこの表面のイリュージョン（幻影、錯覚）を生み出す。これに対して、本方法において、ウォータマークの摂動は視聴者に対面するオブジェクトの表面に隠されており、シルエット上でのみで、ウォータマークが依然として見えるという効果は幾分あるだろう。
【００４０】
本方法はこのようにポイントのフィールドに従ってモデル化オブジェクトの３Ｄ表示（描写）をレンダリングするステップをさらに含むことができる。このレンダリングにはポイントフィールドに従ってスクリーン上の投影を算出することを含ませることができる。
このことは、オブジェクトの陰影のない表示を提供し、ウォータマークのより優れた可視化を可能にする。本例において、ウォータマーキングは、テキストタグ（文字標識）、例えば所有者の会社の名前を、ウォータマーキングがテキストの読み取りを許すように、（例えば、表面上の直接的な環境から区別できる色を利用して、あるいはレリーフ（浮き彫り、装飾飾りを用いて）表面上に「書き込む」ことを含む。しかしながら、レンダリングは法線ベクトルに従って投影像をシェーディング（陰影付け）することを更に含むことができる。ウォータマーキング前の法線ベクトルがそのままあるとして（それが保持される）、レンダリングは利用者からウォータマーキングを「隠す」ことになる。
【００４１】
事実上、デザイン化されたオブジェクトは、表面の定義付け（とりわけポイントのフィールドと法線ベクトルのフィールド）のように、オブジェクトの仕様を含むファイルに対して、上記方法を直接適用することで、ウォータマーク付けされることができる。代案として、ファイルの複製がウォータマーキングの目的のために作成されてもよい。このような複製がそこに拡散される。従って、本方法は以前に設計されたオブジェクトのウォータマーク付け複製を描くことを可能にする。厳密にいえば、他のオブジェクトのウォータマーク付け複製であるオブジェクトを作成するために、提供された表面は他のオブジェクトの表面である。その結果、ウォータマーキングのステップは、（そうした他のオブジェクトのフィールドから）ポイントのフィールドを抽出することと、表面の法線ベクトルのフィールドを抽出することとを含む。ウォータマーキングは次に、前述したように、法線ベクトルのフィールドをそのまま保持しながらポイントのフィールドを変更することを含む。
【００４２】
最後に、ウォータマーキングはポイントの変更されたフィールドと法線ベクトルの変更されていないフィールドとによって定義される表面を、設計されたオブジェクトに対して適用することを含み、それによりその設計されたオブジェクトは、他のオブジェクトのウォータマーク付けされた複製となる。
【００４３】
ウォータマーキングはポイントのフィールドの緻密化を含むことができる。ウォータマーキングはそれに従って法線ベクトルのフィールドの緻密化をさらに含むことができる。つまり、ポイントの数が増大し、新たな法線ベクトルが新たなポイントに応じて算出されることができる。場合によっては、オリジナルのオブジェクトがウォータマークを取り扱うことができる十分な数の特徴ポイントを有していることを見出せない。このような場合には、新たなポイントが形態あるいは法線フィールドの変化を伴なって、あるいは形態あるいは法線フィールドの変化をしないで、挿入されるという意味で、ポイントのオリジナルフィールドをまずより密度を高めることができる。包括的なプロセスは変更なしであり、ポイントの密度を高めた新たなフィールドがポイントのオリジナルのフィールドに代わって入力されるということが唯一の変化である。
【００４４】
ポイントのフィールドの緻密化は、再分化（例えば、キャットマル−クラーク（Ｃａｔｍｕｌｌ−Ｃｌａｒｋ）細分化またはループ（Ｌｏｏｐ）細分化）を実行することを含むことができる。法線ベクトルのフィールドの緻密化は、これまでの法線ベクトルに補間することにより新たな法線ベクトルを作成することを含むことができる。このことが、通例そのような再分化やそのような補間が可能な最も多くのＣＡＤソフトウェアにより本方法を実行することを可能にする。
【００４５】
ウォータマーキングはウォータマークビット列によるスキーム（基本構成、理論体系）の後に実行することができる。ウォータマークは従ってウォータマークビット列である。オブジェクトの不法使用を立証する目的で、リバースプロセス（逆転処理手続）を、ビット列を判断するためにオブジェクトで実行させることができる。判断されたビット列断は次にウォータマークビット列と比較される。それが同じ場合には、次に侵害が、上述したように、ウォータマーキングスキームによってある程度の確率で立証される。
【００４６】
図４は本方法の一例を示す。この事例において、本方法はオリジナルオブジェクトに（オブジェクトの表面に含まれる）ウォータマーク付けをすることを提供するステップＳ１を含む。本方法は次に十分なポイントがあるか否かを検査し、もし十分なポイントがない場合には新しいポイントを追加するステップＳ１５を含む。オブジェクトにウォータマーキングするステップＳ２１，Ｓ２２およびＳ２３は、オブジェクトの特徴ポイントの位置に対して一組の摂動を導入することと、同時に並行して、オブジェクトから法線ベクトルを抽出することと、およびその後、位置と法線フィールドデータを再構築してウォータマーク付けされた位置情報とオリジナル法線フィールド情報からなる新たなオブジェクトを作成することを含む。
【００４７】
本方法は非特許文献４により紹介された３Ｄウォータマーキング技術を用いてテストした。更に詳しく述べると、長さＬのウォータビット列が与えられる。表面（曲面ともいう）の重心（質量中心）が算出される。次いで、Ｌの同心球（Ｓ1，．．．，ＳL ）が作成され、例えば球Ｓiの半径（代わりに、直後に説明するように、これら半径は各クラウン（頂部）にいくつものポイントがあるような半径でもよい）が等差数列に従い、最も大きな球ＳLがポイントのフィールドのポイントの全てを含むように、同心球（Ｓ1，．．．，ＳL ）が作成される。ポイントは次に「クラウン」Ｃiにグループ化するが、ここでｉは２からＬにおいて、Ｃ1＝Ｓ1、およびＣi＝Ｓi−Ｓi-1、である。各クラウンはウォータマークビット列のそれぞれのビットｂiに対応している。従って基本的には、各クラウンＣi内のポイントは、（例えば、ｂi＝１の場合に）重心から離れて移動するか、あるいは（例えば、ｂi＝０の場合に）クラウンＣi内側の重心に向かっている。クラウン内側に十分なポイントが無い場合は、上記の説明のようにクラウン内のポイントを緻密化できるということを留意すべきである。逆に、オブジェクトがウォータマーク付けされているのか、いないのかを検証するために、重心が計算され、Ｌクラウンが上記のように作成され、かつそのポイントが大部分「外側（ｏｕｔｓｉｄｅ）」（即ちＳi-1よりもＳiの境界に近い）にある場合は、各クラウンについて各自のビットｄiは１に等しいと決定され、あるいはそのポイントが大部分［内側（ｉｎｓｉｄｅ）」（Ｓi-1に近い）にある場合は各自のビットｄiは０であると決定される。そのように決定されたビット列は次にウォータマークビット列と比較され、それが同じ場合には、次に確率１−０．５＾Ｌで侵害が存在すると判断される。より詳細、例えば、クラウン内で、ポイントを重心から「離れる」あるいは「向かう」ように移動させる方法について、は上記の論文に提供されている。このような方法は、ビット列がグローバルデータを用いて決定されるので、最も局部的な変形と同様に、（増設、拡張のような）表面の広範囲の変形に抵抗する非常に頑強なウォータマーキングを提供する。
【００４８】
その結果は、レンダリングにシェーディングが無い場合に、ウォータマークが即座に見えることに対して十分強固になり、本方法を使用すること（すなわち、ウォータマーキング前の状態のまま保持された法線ベクトルのフィールドに従って描写をシェーディングすること）によりウォータマークは十分隠される。ウォータマークのないオブジェクトとウォータマーク付けされた同様のオブジェクトの両オブジェクトがシェーディングを伴なってレンダリングされていて、両オブジェクトを比較する際に、シェーディング（陰影付け）された輪郭（シルエット）の変形に気が付いたか否かを、多くの設計者（デザイナー）に質問した。シェーディングした輪郭上の潜在的な影響は訓練を受けた目でも感知できなかった。
【００４９】
上記の方法は、その方法のステップがコンピュータにより実行されるという意味で、コンピュータで実施される。しかしながら、本方法の少なくともいくつかのステップは、ユーザ（使用者）とコンピュータ間の対話を通じて実行されることができる。必要とされるユーザコンピュータ間の対話のレベルは、予測された自動性のレベルによるであろうし、ユーザが特に必要と感じるものを実施する必要性との釣り合いで選出されるであろう。実施形態において、このレベルはユーザ定義の、および／または所定のレベルとすることができる。
【００５０】
このように、本発明はまた本方法を実行するために好適なＣＡＤシステムを対象とする。実際には、ユーザには商標ＣＡＴＩＡのグラフィカルユーザインターフェース（ＧＵＩ）のようなＧＵＩが提供されるが、ＧＵＩは本方法を実施するのに必要な手段、例えばデータベースと関連がある。
【００５１】
図５を参照して、例示されたグラフィカルユーザインターフェース（ＧＵＩ）２１００は、典型的なＣＡＤのようなインターフェースでよく、ボトムツールバー２１４０、サイドツールバー２１５０のみならず、標準メニューバー２１１０，２１２０を有している。本技術分野でよく知られているように、このようなメニューバーやツールバーは、ユーザが選択可能な１つまたは複数のオペレーション（操作）または機能と結びつく一組のアイコンを含んでいる。
【００５２】
これらのアイコンのいくつかは、ソフトウェアツールと結びついており、ＧＵＩ２１００に表示されているようなモデル化製品２０００または製品２０００の部品である３Ｄオブジェクト上の編集および／または作業に適用される。以下の記述において、「製品（ｐｒｏｄｕｃｔ）」、「部品（ｐａｒｔ）」，「組立品（ａｓｓｅｍｂｌｙ）」等は、単純化のために「部品」と呼んでもよい。「部品」の概念は、実際には「オブジェクト」の概念と一般化することができるが、ここでオブジェクトは、設計された製品（但し、最終製品「である」必要はない）の「物理的」部品のみである、あるいは、より一般的には、設計プロセスに参加するソフトウェアツールであるとすることができる。
【００５３】
これらソフトウェアツールは各ワークベンチ（ｗｏｒｋｂｅｎｃｈ:作業台）にまとめることができる。各ワークベンチはソフトウェアツールの一部からなる。特に、ワークベンチの一つは、モデル化製品２０００の幾何学的特徴（形体）を編集するのに好適な編集ワークベンチである。オペレーション（操作）において、設計者はオブジェクト２０００の一部を例えば事前に選択してから、適切なアイコンを選択することにより、オペレーション（例えば寸法、色等の変更）を開始、あるいは幾何制約（形状制約）を編集することができる。例えば、典型的なＣＡＤオペレーションは、スクリーン（表示画面）上に表示されている３Ｄモデル化オブジェクト（３Ｄ造形物）の穴抜きや折り畳みのモデリング（立体感表現）である。
【００５４】
ＧＵＩは例えば表示された製品２０００に関連する表示データ２５００であるとすることができる。図５の事例において、データ２５００は、「機能ツリー（ｆｅａｔｕｒｅ  ｔｒｅｅ）」として、またブレーキキャリパーとディスクを含む組立体に関するそれらの３Ｄ描画２０００について表示される。ＧＵＩはさらに、例えばオブジェクトの３Ｄのオリエンティション（幾何学的配置、位置付け）のための、編集された製品のオペレーション（運転）のシミュレーション（模擬実験）あるいは表示された製品２０００のいろいろな属性の表現のための、色々なタイプのグラフィックツール（描画ツール）２１３０，２０７０、２０８０を表示することができる。カーソル２０６０は、ユーザがグラフィックツールに接触するのを許すハプティックデバイス（ｈａｐｔｉｃ  ｄｅｖｉｃｅ：触力覚デバイス）により制御することができる。
【００５５】
部品２０００はＣＡＤ／ＣＡＭ／ＣＡＥシステムにより、あるいはさまざまな角度（視点）からオブジェクトの光景を表示するのに用いられる任意のシステムにより定義されることが可能な任意の構造（立体配置）のオブジェクトである、とすることができるということは理解されるべきである。本発明はこのようにコンピュータによるインストラクション（命令）からなるコンピュータプログラムで実施されることができ、そのインストラクションは上記システムに上記の方法を行わせるための手段を含む。本発明は、例えば、デジタル電子回路、あるいはコンピュータハードウェア、ファームウェア、ソフトウェア、あるいはそれらの組み合わせで実施することができる。本発明の装置は、プログラマブルプロセッサ（プログラム可能な処理装置）により実行するためのコンピュータ可読記憶装置（ｍａｃｈｉｎｅ−ｒｅａｄａｂｌｅ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）において明白に具体化されたコンピュータプログラム製品（パッケージソフトウェア）により実現することができ、また本発明の方法のステップは、入力データを働かせ出力を生成することで本発明の機能を遂行するためのインストラクションのプログラムを実行するプログラマブルプロセッサにより実行することができる。
【００５６】
データ記憶システムと、データ記憶システムに連結してデータ記憶システムからデータとインストラクションを受け取り、データ記憶システムへデータとインストラクションを送る少なくとも１つのプログラマブルプロセッサと、少なくとも１つの入力装置と、少なくとも１つの出力装置を含むプログラマブルシステムにより実行可能な１つまたは複数のコンピュータプログラムにより、本発明は有利に実行することができる。アップリケーションプログラムは、高水準プログラム言語（高級プログラム言語）やオブジェクト指向言語、あるいは必要に応じてアセンブラ言語やマシン言語により実施することができるが、いずれにせよ、言語はコンパイル型言語ないしはインタプリット型言語であるとすることができる。
【００５７】
図６はクライアントコンピュータシステム、例えばユーザのワークステーションを示す。
【００５８】
クライアントコンピュータは、内部通信用バス１０００に接続した中央演算処理装置（ＣＰＵ）１０１０と、そのバスにまた接続されたランダムアクセスメモリ（ＲＡＭ）１０７０とを含む。クライアントコンピュータはさらに、バスに接続したビデオランダムアクセスメモリ１１００と関連する画像処理装置（ＧＰＵ）１１１０を備えている。ビデオＲＡＭ１１００はまたフレームバッファとして本技術で公知のものである。大容量記憶装置コントローラ１０２０はハードドライブ１０３０のような大容量記憶装置に対するアクセスを管理する。コンピュータプログラムインストラクションとデータを明らかに具体化するのに適した大容量記憶装置は、例えばＥＰＲＯＭ，ＥＥＰＲＯＭのような半導体メモリデバイス、およびフラッシュメモリデバイス、内蔵されたハードディスクやリムーバブルディスク（取り外し可能ディスク）のような磁気ディスク、磁気光学ディスク、およびＣＤ−ＲＯＭディスク（ＣＤＲＯＭ）１０４０などとして知られている、あらゆる種類の非揮発性メモリを含む。上述のいずれも特別に設計されたＡＳＩＣ（特定用途向け集積回路）により補完され、あるいはＡＳＩＣを組み込むことができる。ネットワークアダプタ１０５０はネットワーク１０６０に対するアクセスを管理する。クライアントコンピュータはカーソルコントロールデバイス（カーソル移動制御デバイス）、キーボードなどのようなハプティックデバイス（触力覚デバイス）１０９０も含むことができる。カーソルコントロールデバイスは、クライアントコンピュータで用いられ、図５を参照して説明したように、カーソルをディスプレイ（表示装置）１０８０上のいずれかの所望の位置にユーザが選択的に置くことを可能にする。さらに、カーソルコントロールデバイスは、色々なコマンド、および入力制御信号をユーザに選択させることができる。カーソルコントロールデバイスは、システムに制御信号を入力するためのいくつかの信号発生デバイスを含むことができる。典型的には、カーソルコントロールは、マウスであるとすることができ、マウスのボタンは信号の発生に使用される。
【図２】
0005837363.tif 000002
【図３】
0005837363.tif 000003
【図４】
0005837363.tif 000004
【図５】
0005837363.tif 000005
【図６】
0005837363.tif 000006
【図１】
0005837363.tif 000007