(57)【要約】【課題】  画像又は一連の画像から対話型の分解組み立て図を作成し、提示するためのフレームワークを提供する。【解決手段】  このフレームワークは、画像を受け取り、その画像を処理して分解組み立て図にすることを容易にするオーサリングコンポーネントと、ユーザ対話に関連付けられた分解組み立て図の図中の情報を動的にフィルタリングすることを容易にするビューイングコンポーネントを含む。その結果得られる対話型の図は、レンダリングされた図の一部を展開又は折りたたむユーザ対話を容易にする、２．５次元のレイヤ方式の図である。【選択図】  図１
2005322253.tif 000002
【特許請求の範囲】
【請求項１】
分解組み立て図の生成を容易にするシステムであって、
画像又は一連の画像を受け取り、前記画像又は一連の画像を処理して、ユーザが対話するための前記分解組み立て図にすることを促すオーサリングコンポーネントを備えることを特徴とするシステム。
【請求項２】
前記オーサリングコンポーネントは、前記画像又は一連の画像中のオブジェクトのパーツがどのように展開し、折りたたみ、相互を遮蔽するかを示す、前記分解組み立て図内のレイヤ化を与えることを特徴とする請求項１に記載のシステム。
【請求項３】
前記オーサリングコンポーネントは、一部のユーザ介入が受け入れられるように半自動であることを特徴とする請求項１に記載のシステム。
【請求項４】
前記オーサリングコンポーネントへの入力である前記画像又は一連の画像は、２次元であることを特徴とする請求項１に記載のシステム。
【請求項５】
前記オーサリングコンポーネントは、前記画像又は一連の画像のオブジェクトを処理して、パーツ、スタック、およびフラグメントの少なくとも１つにすることを促すことを特徴とする請求項１に記載のシステム。
【請求項６】
前記オーサリングコンポーネントは、前記分解組み立て図中の少なくとも１つのパーツに奥行きの値を割り当てることを促すことを特徴とする請求項１に記載のシステム。
【請求項７】
前記オーサリングコンポーネントは、前記ユーザがパーツの各フラグメントに奥行きの値を割り当てられるようにすることにより、パーツをレイヤ化することを促すことを特徴とする請求項１に記載のシステム。
【請求項８】
前記オーサリングコンポーネントは、スタックに複数のパーツを関連付けることを容易にし、スタックは、前記パーツが互いとの関係でどのように動くことを許されるかを定義することを特徴とする請求項１に記載のシステム。
【請求項９】
前記スタックは、共通の分解軸を共有することを特徴とする請求項８に記載のシステム。
【請求項１０】
前記オーサリングコンポーネントは、スタックのツリーの生成を促すことを特徴とする請求項１に記載のシステム。
【請求項１１】
前記オーサリングコンポーネントは、スタックに複数のパーツを関連付けることを容易にし、スタックは、各構成パーツの初期位置パラメータ、現在のオフセットのパラメータ、および最大オフセットのパラメータを格納することを特徴とする請求項１に記載のシステム。
【請求項１２】
前記オーサリングコンポーネントは、スタックに複数のパーツを関連付けることを容易にし、前記複数のパーツの各パーツは、先行するパーツの位置に依存することを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記オーサリングコンポーネントは、関連するパーツを自由形式のストロークでつなぐことにより、スタックの作成を促すことを特徴とする請求項１に記載のシステム。
【請求項１４】
前記スタックは、前記自由形式のストロークに関連付けられた前記関連するパーツの順序を保つことを特徴とする請求項１３に記載のシステム。
【請求項１５】
ユーザが、前記画像又は一連の画像中のオブジェクトの個々のパーツの範囲を定めることを与えるカッティングツールをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１６】
ラベルによるパーツの注釈付けと、２つのパーツ間のガイドラインの指定を与える注釈付けツールをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１７】
直接的なユーザ動作に応答して図中の情報を動的にフィルタリングするビューイングコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１８】
前記ビューイングコンポーネントは、
前記ユーザが、マウス、キー方式の装置、および音声コントロールの少なくとも１つを含む入力装置で、前記分解組み立て図中のオブジェクト又はパーツをドラッグ、サイズ変更、又は描画できるようすることによる直接的なユーザ対話、および
前記ユーザが、検索インターフェースおよび動画化された展開／折りたたみの少なくとも１つを介してオブジェクトを操作できるようにすることによる間接的なユーザ対話
の少なくとも１つを促すことを特徴とする請求項１に記載のシステム。
【請求項１９】
分解組み立て図とのユーザ対話を促すシステムであって、前記ユーザ対話に応答して図中の情報を動的にフィルタリングするビューイングコンポーネントを備えることを特徴とするシステム。
【請求項２０】
前記ビューイングコンポーネントは、前記ユーザが前記分解組み立て図を直接展開および折りたたみできるようにすることによる前記直接的なユーザ対話と、前記ユーザが前記分解組み立て図の個々のパーツを検索できるようにすることによる間接的なユーザ対話を受け入れることを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記分解組み立て図は、直交図および透視図の少なくとも１つによる、入力された２次元画像又は一連の画像の２．５次元のレイヤ方式の表現であることを特徴とする請求項１９に記載のシステム。
【請求項２２】
前記ビューイングコンポーネントは、入力装置信号に応答して、前記分解組み立て図の展開および折りたたみの少なくとも１つの動画を提示することを促すことを特徴とする請求項１９に記載のシステム。
【請求項２３】
前記ビューイングコンポーネントは、アンカー点が他のパーツによって遮蔽されないラベルとガイドラインの提示を促すことを特徴とする請求項１９に記載のシステム。
【請求項２４】
画像又は一連の画像から対話型の分解組み立て図を作成することを促すシステムであって、
前記画像又は一連の画像を受け取り、前記画像又は一連の画像を処理して前記分解組み立て図にすることを促すオーサリングコンポーネントと、
直接的なユーザ対話および間接的なユーザ対話の少なくとも１つに関連付けられた前記分解組み立て図の図中の情報を動的にフィルタリングすることを促すビューイングコンポーネントと
を備えることを特徴とするシステム。
【請求項２５】
前記分解組み立て図は、前記画像又は一連の画像の２．５次元のレイヤ方式の表現であることを特徴とする請求項２４に記載のシステム。
【請求項２６】
請求項２４に記載のシステムを実施するコンピュータ実行可能命令が記憶されたことを特徴とするコンピュータ可読媒体。
【請求項２７】
請求項２４に記載のシステムを用いることを特徴とするコンピュータ。
【請求項２８】
画像又は一連の画像から対話型の分解組み立て図を作成することを促すシステムであって、
２次元画像又は一連の画像を受け取り、前記２次元画像又は一連の画像を処理して前記分解組み立て図にすることを促すオーサリングコンポーネント
を備え、前記オーサリングコンポーネントは、
ユーザが、前記２次元画像又は一連の画像のオブジェクトを手動で構成パーツに分けることを与えるカッティングツールと、
前記ユーザが自由形式のストロークを使用して分解軸に沿って前記構成パーツを関連付けることを与えるスタック化コンポーネントと、
前記各構成パーツに奥行きのパラメータを割り当てることを与えるレイヤ化コンポーネントと、
任意のパーツへのラベルの追加と、任意の２つのパーツ間にガイドラインを指定することを与える注釈付けコンポーネントと、
直接的なユーザ対話および間接的なユーザ対話に関連付けられた前記分解組み立て図の図中の情報を動的にフィルタリングすることを促すビューイングコンポーネントと
をさらに備えることを特徴とするシステム。
【請求項２９】
インタロックされたパーツを断片化することを促す断片化ツールをさらに備えることを特徴とする請求項２８に記載のシステム。
【請求項３０】
前記構成パーツの１つに割り当てる前記奥行きのパラメータを自動的に推論することと、前記奥行きのパラメータを前記パーツに割り当てるように前記ユーザを促すことの少なくとも１つを行う奥行きツールをさらに備えることを特徴とする請求項２８に記載のシステム。
【請求項３１】
前記オーサリングコンポーネントは、奥行きの値を自動的に計算し、１回の操作で、ルートパーツから外側に向かって前記奥行きの値を割り当てることを特徴とする請求項２８に記載のシステム。
【請求項３２】
前記オーサリングコンポーネントは、制約伝播アルゴリズムを利用してパーツの前記奥行きパラメータを自動的に選択して、前記パーツが他のパーツに対して正しくレイヤ化されるようにすることを特徴とする請求項２８に記載のシステム。
【請求項３３】
ラベルによるパーツの注釈付けと、２つのパーツ間のガイドラインの指定を与える注釈付けツールをさらに備えることを特徴とする請求項２８に記載のシステム。
【請求項３４】
前記オーサリングコンポーネントおよび前記ビューイングコンポーネントの少なくとも１つに関連付けられた１つ又は複数のデータに基づいて推論を行うことにより、機能を自動化する分類器をさらに備えることを特徴とする請求項２８に記載のシステム。
【請求項３５】
画像又は一連の画像から対話型の分解組み立て図を生成する方法を行うコンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記方法は、
オブジェクトを含む前記画像又は一連の画像を受け取るステップと、
前記オブジェクトをパーツに分割するステップと、
前記パーツをスタックに編成するステップと、
前記パーツの少なくとも１つをフラグメントにするステップと、
各パーツをレイヤ化するステップと、
前記画像を前記分解組み立て図として提示するステップと
を備えることを特徴とするコンピュータ可読媒体。
【請求項３６】
前記編成の動作は、自由形式のストロークを用いて行われることを特徴とする請求項３５に記載の方法。
【請求項３７】
入力装置信号で、前記分解組み立て図の展開および折りたたみの少なくとも１つを動画化する動作と、
制約された直接的操作を介して前記分解組み立て図の一部を直接操作する動作と
の少なくとも１つをさらに備えることを特徴とする請求項３５に記載の方法。
【請求項３８】
パーツの名前を検索エンジンに入力することにより、隠れたパーツを検索する動作と、
前記スタックのパーツの１つを選択することにより、パーツからなるスタックの一部を直接操作する動作と、
ラベルおよび２つのパーツ間のガイドラインの少なくとも１つでパーツに注釈をつける動作と
の少なくとも１つをさらに備えることを特徴とする請求項３５に記載の方法。
【請求項３９】
隠れたパーツの検索を開始するのに応答して、前記ビューイングコンポーネントで、前記隠れたパーツを自動的に露出する動作と、
断片化の動作の際に違反を手動で解決する動作と、
手動の対話と自動的な処理を提供する動作と
の少なくとも１つをさらに備えることを特徴とする請求項３５に記載の方法。
【請求項４０】
スタック階層を移送幾何学的な順序で横断する動作と、
先行するパーツと現在のオフセットに基づいて、各パーツの位置を連続的に計算し、更新する動作と
の少なくとも１つをさらに備えることを特徴とする請求項３５に記載の方法。
【請求項４１】
アンカー点が他のパーツによって遮蔽されないラベルとガイドラインをレンダリングする動作をさらに備えることを特徴とする請求項３５に記載の方法。
【請求項４２】
画像から分解組み立て図を作成することを促すシステムであって、
オブジェクトを含む前記画像を受け取る手段と、
前記オブジェクトをパーツに分割する手段と、
前記パーツをスタックに編成する手段と、
前記パーツの少なくとも１つをフラグメントにする手段と、
各パーツをレイヤ化する手段と、
各パーツにラベルをつける手段と、
２つのパーツ間にガイドラインを追加する手段と、
前記画像を、２．５次元の対話型のレイヤ方式の図の分解組み立て図として提示する手段と
を備えることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアツールに関し、より詳細には、静止図(static diagram)を取り込み、それを対話型にする対話型のソフトウェアツールに関する。
【背景技術】
【０００２】
対話性は、本や、テレビ、ラジオといった他のタイプの情報表示とコンピュータを区別するコンピュータの主要な機能の１つである。しかし、インターネットを介してコンピュータでビューイング(viewing)される情報の大半は、この対話性を生かしていない。
【０００３】
図は、機械の組み立て部品、建築環境、生物学的な組織など、多くの副パーツ(subparts)から構成される複雑な３次元オブジェクト（３次元物体）の構造を伝えるのに極めて有効である。そうしたオブジェクトの複合要素からなる構造を明瞭にするために、イラストレータは、普通、遮蔽(occlude)を減らすか、あるいはなくし、内側のパーツ(parts)を露出した分解組み立て図(exploded view)などの線図の手法を使用する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、分解組み立て図は、通例は、印刷出版するための静止図としてデザインされるので、しばしば、２つの大きな欠点がある。
【０００５】
空間的関係があいまいである。静止図は、パーツ間の空間的関係の固定されたセットしか示すことができない。複雑なオブジェクトの場合には、すべてのパーツがどのように組み合わさるのか、相互と作用するのか、相互を制約するのかが、静的な分解組み立て図からは明確でない場合がある。
【０００６】
見た目が雑然としている。静止図は、通例、見る者がそのオブジェクトに関して必要とすることが考えられるすべての情報を含むように設計される。その結果、そうした図はしばしば視覚的に雑然としており、図全体を入念に検討しないと、特定のパーツあるいはパーツのサブセットについての詳細な情報を引き出すことが難しい。
【０００７】
これに対し、コンピュータを通じてビューイングされる分解組み立て図は、見る者がパーツを対話式に操作し、それにより図に与えられた情報を動的にフィルタリングできるようにすることにより、これらの問題をともに緩和することができる。例えば、見る者は、自動車の図の車輪の組み立て部品だけを対話式に展開(expand)および折りたたみ(collapse)、その部品のパーツが互いにどのように作用するのかをよりよく理解することができる。これに対し、汎用的な静的な自動車の図は、すべての部品が分解された状態(exploded state)で示し、車輪の部品に的を絞ることが難しい。一般に、対話型の図は、静止図に比べて、はるかに明瞭であり、情報を含み、説得力がある。
【０００８】
また、従来のシステムは、ユーザが図のパーツを直接操作することができる対話型のイラストレーションを生成しない。
【０００９】
必要とされるのは、コンピュータの対話型の能力を静止図に適用して活用するツールである。
【課題を解決するための手段】
【００１０】
以下に、本発明のいくつかの態様の基本的な理解を提供するために本発明の簡略化した要約を述べる。この要約は、本発明の広範囲にわたる概要ではない。この要約は、本発明の主要／不可欠な要素を明らかにするものでも、本発明の範囲を詳述するものでもない。その唯一の目的は、その後に記載されるより詳細な説明の前置きとして、簡略化した形で本発明のいくつかの概念を提示することである。
【００１１】
ここに開示され、特許権が請求される本発明は、その一態様で、対話型の分解組み立て図を作成し、ビューイングするためのアーキテクチャを備え、この対話型の図では、見る者が、パーツを直接操作することができ、それにより分解組み立て図を展開および折りたたみ、個々のパーツを探すことにより、与えられた情報を動的に選別することができる。本発明は、通例は見た目が雑然とし、あるいは不明瞭である、静的な分解組み立て図を対話型にすることにより、従来技術の不備と不足を克服する。さらに、従来のシステムが完全に自動化されたあらかじめパッケージされた設計を提供し、それにより人間の設計者の必要性をなくすことを狙いとするのに対し、本発明は、人間の設計者が所望のイラストレーションを迅速に生成することを可能にする半自動的な高水準の対話型設計ツールを提供する。
【００１２】
このフレームワークは、ユーザが２次元画像を入力として使用して対話型の図を迅速に作成することができる、半自動的でスケッチベースのオーサリングツールのパッケージソフトと、ユーザが分解組み立て図を直接展開および折りたたみ、個々のパーツを探すことを可能にするビューイングシステム、の２つの主要コンポーネントを備える。
【００１３】
本発明の別の態様では、オーサリングコンポーネントとビューイングコンポーネントに関連付けられたデータに基づいて推論を行うことにより、諸機能を自動化する分類器(classifier)が提供される。
【００１４】
前述の目的およびそれに関連する目的を達成するために、本発明の特定の例示的態様は、以下の説明と添付図面との関連で説明される。ただし、それらの態様は、本発明の原理が用いられることのできる各種方式の数例に過ぎず、本発明は、そのような態様とその均等物をすべて包含するものとする。本発明の他の利点と、新規の特徴は、図面と併せて以下の本発明の詳細な説明を読むことにより明らかになろう。
【発明を実施するための最良の形態】
【００１５】
次いで、図面を参照して本発明を説明する。すべての図面を通じて同様の要素は同様の参照符号を使用して参照される。以下の説明では、説明の目的で、本発明の完全な理解を提供するために多数の具体的な詳細を述べる。しかし、本発明はそれらの具体的な詳細なしで実施できることは明らかであろう。他の事例では、本発明の説明を容易にするために、よく知られる構造およびデバイスはブロック図の形態で示す。
【００１６】
本願で使用される用語「コンポーネント」および「システム」は、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、あるいは実行中のソフトウェアを問わず、コンピュータに関連するエンティティを指すものとする。例えば、コンポーネントは、これらに限定しないが、プロセッサで実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および／又はコンピュータ等である。例示として、サーバで実行されるアプリケーションとサーバの両方がコンポーネントとなることができる。プロセスおよび／又は実行のスレッドには１つ又は複数のコンポーネントが存在することができ、また、コンポーネントは、１台のコンピュータに集中させても、かつ／又は２台以上のコンピュータに分散させてもよい。
【００１７】
本明細書で使用される用語「推論する」又は「推論」は、一般に、事象および／又はデータを介して捉えられた観測結果のセットから、システム、環境、および／又はユーザの状態を推理あるいは推測する過程を指す。推論を用いて、例えば、特定の状況あるいは動作を識別することができ、あるいは、複数の状態にわたる確率分布を生成することができる。推論は、確率的に行うことができ、すなわち、データと事象の考慮に基づいた当該の状態にわたる確率分布の計算とすることができる。推論は、事象および／又はデータのセットからより高いレベルの事象を組み立てるために用いられる手法も指すことができる。そのような推論の結果、観測された事象および／又は記憶された事象データのセットから新しい事象あるいは動作が構築され、事象は、時間的に近接していてもいなくとも、また事象とデータは、１つの事象およびデータの供給源から得ても、いくつかの供給源から得てもよい。
【００１８】
（２次元画像からの対話型の分解組み立て図）
ここに開示されるアーキテクチャは、複雑な機械組み立て部品の対話型の分解組み立て図を作成し、ビューイングするための新規のフレームワークである。３次元のモデルを入力として使う代わりに、２次元画像から動的なイラストレーションを構築し、レイヤ化された２．５次元の図表現を得る。この画像ベースの手法には、次のようないくつかの主要な利点がある。単に所望のスタイルのオブジェクトの各パーツのピクチャを見つけるか、作成することにより、任意のレンダリングスタイルを容易にサポートすることができる。一般には画像に比べて取得あるいは構築することがはるかに難しい３次元モデルの必要性をなくす。そして、最後に２次元画像を使用することにより、教科書、修理マニュアル、他の教材に一般に掲載される豊富な既存の静的な分解組み立て図を活用することができる。
【００１９】
主要な特徴の１つは、画像の層からなる対話型の図の２．５次元表現である。この形式の図の作成を助けるために、２．５次元のオーサリングツールのセットが提供される。レイヤベースの表現はコンピュータグラフィックでは新しいものではないが、２．５次元のオーサリングに対するこの従来の作業の大半は、主として、レイヤ化された動画を作成することに注力されていた。従来、ピクセルではなく、デジタル写真内のオブジェクト全体を選択、曲げる、あるいは削除するツールが提供されることができる。そうした汎用的なシステムと異なり、ここに開示されるアーキテクチャは、画像ベースの対話型の分解組み立て図の作成に伴う特定のオーサリングの問題に的を絞る。
【００２０】
次いで図１を参照すると、本発明によるシステム１００が示される。システム１００は、処理する１つ又は複数の２次元画像１０４を入力として受け取るオーサリングコンポーネント１０２を含む。２次元画像を対話型の分解組み立て図に変える際の課題の１つは、パーツがどのように相互と作用するかを指定することである。オーサリングコンポーネント１０２は、パーツが移動する際に正しく互いを遮蔽するようにパーツをレイヤ化し、またパーツが互いに対してどのように動くかを明確に示すパーツラベルとガイドライン(guide line)で図に注釈をつけるために、パーツが分解および折りたたまれる際のパーツの動きを制約することを助ける半自動的な一組のツールである。オーサリングコンポーネント１０２は、ユーザが、スケッチベースの単純な対話を介して説得力のある対話型の図を迅速に作成することを可能にする。
【００２１】
オーサリングコンポーネント１０２は、見る者が図に提示された情報に動的にフィルターをかけることを助ける対話型ビューイングコンポーネント１０６とインターフェースをとる。ビューイングコンポーネント１０６は、いくつかの有用な対話をサポートする。具体的には、ビューイングコンポーネント１０６は、ユーザが分解組み立て図を直接展開および折りたたみ、個々のパーツを検索することができる対話型の画像出力１０８を容易にする。これらの対話は、見る者が、パーツ同士の空間的関係とオブジェクトの全体的な構造を理解する助けとなる。
【００２２】
画像ベースのシステム１００は、任意のレンダリングスタイルの直接的なサポートを可能にし、３次元モデルを構築する必要をなくし、すでに豊富に存在する複雑なオブジェクトの静止図を活用できるようにする。
【００２３】
次いで図２を参照すると、本発明によるレンダリングプロセスのフローチャートが示される。説明を簡潔にするために、例えばフローチャートの形態でここに示される１つ又は複数の方法論は、連続した動作として図示し、説明されるが、本発明は、動作の順序によって限定されず、一部の動作は、本発明により、ここに図示し、説明する順序とは異なる順序で、かつ／又は他の動作と同時に行うことができることは理解されたい。例えば、当業者には、方法論は、代わりに状態図など相互に関連する連続した状態又は事象として表されてもよいことが理解されよう。さらに、本発明による方法論を実施するために、図示されるすべての動作が必要であるとは限らない。
【００２４】
２００で、システムへの入力として２次元画像が受け取られる。２０２で、ユーザが、画像のパーツ同士がどのように作用するのかを指定する。２０４で、展開および折りたたむ際のパーツの動きが制約される。２０６で、相互に対して移動する際に正しく遮蔽するようにパーツがレイヤ化される。２０８で、対話型の画像が出力される。そしてプロセスは「終了」のブロックに達する。
【００２５】
図３Ａ〜３Ｃは、自動車のマスタシリンダのパーツ的な展開を示す対話型のバージョンを提供するように本発明によって処理された２次元画像を示す。図３Ａは、本発明によるマスタシリンダの折りたたみ図３００を示す。図３Ｂは、タンク(reservoir)３０３、タンクの蓋３０４、タンクの隔壁３０６が縦方向に並べて露出された、マスタシリンダのパーツ展開図３０２を示す。ユーザは、タンク３０３や隔壁３０６のような下にあるパーツを展開し、露出するには、蓋３０４を選択し、ドラッグするだけでよい。図３Ｃは、本発明によりマスタシリンダを水平方向にさらに展開した図３０８を示す。ここでは、ユーザは、末端３１０と押し棒３１２を選択又はつかみ(grab)、ドラッグして、それらに関連するダストブーツ３１４と固定器具３１６を展開し、露出することができる。その逆も当てはまり、ユーザは、押し棒３１２を選択し、蓋３０４の方向へドラッグして、図３Ａおよび３Ｂの両方に示されるようにパーツを折りたたむことができる。ユーザは、端のパーツ３１０をつかむことに制約されず、間にあるパーツをつかみ、ドラッグして展開又は折りたたむことができることに留意されたい。例えば、ユーザは、ダストブーツ３１４をつかみ、それを蓋３１４の方へ水平方向にドラッグしてダストブーツ３１４を折りたたむことができ、一方、押し棒３１２は展開表示で露出されたままにすることができる。この逆も当てはまり、折りたたみモードでダストブーツ３１４をつかみ、蓋３０４と反対の方向に外側にドラッグすると、固定器具３１６とブーツ３１４が蓋３０４から別々に露出される。しかし、押し棒３１２は、ブーツ３１４と固定器具３１６の内側に折りたたまれたままである。代替の実施例では、ユーザが展開プロセスのために中間にあるパーツを中心点から離れる方向につかむと、同じ軸にあるすべてのパーツも自動的に展開する。さらに別の実施例では、ドラッグした点のとなりにあり、中心点から離れた最初のパーツだけが、他の展開したパーツとともに展開する。当業者には、ドラッグ点に関連するパーツの展開と折りたたみの他の変形例を実施できることが理解されよう。
【００２６】
次いで図４を参照すると、本発明による静的な２次元の展開図を対話型の図に変換するオーサリングプロセスのフローチャートが示される。画像ベースの対話型の図を作成する際にはいくつかのステップが伴う。４００で、２次元の入力画像が入力で受け取られる。システムは、入力として、すべての構成要素が見える状態、すなわち完全に展開された状態のオブジェクトの１つの画像か、１つの要素につき１組の画像(a set of images)を受け付ける。４０２で、入力された図が複数のパーツに分割される。一実施例では、技術イラストレーションで一般的であるように、オブジェクトが正射投影を使用してレンダリングされると想定する。しかし、本発明により透視投影が処理されてパーツの展開と折りたたみを提供することもできる。必要な場合は、透視投影の画像を適宜ゆがめることができる。１つの画像が入力として使用される場合、静止図は、まず、描画されるオブジェクトの構成要素に対応するパーツに分割される。４０４で、それらのパーツがスタック(stack)に編成される。スタックは、そのオブジェクトが展開され、折りたたまれる際に、パーツが相対的にどのように動くかを定義する。４０６で、レイヤ化の準備としてパーツがフラグメント(fragment)に分解される。４０８で、パーツが相互を正しく遮蔽するように各パーツに奥行きの値を割り当てることにより、パーツとフラグメントがレイヤ化される。４１０で、ユーザが、ラベルやガイドラインなどの所望の注釈をパーツに加える。そしてプロセスは「終了」ブロックに達する。
【００２７】
先に指摘したように、本発明により処理された図は、パーツとスタックから構成される。各パーツは、対応する構成要素の画像と、そのパーツの境界となるシルエットを定義するアルファマスクを含む。オブジェクトの様々なパーツ間の相対的な奥行きの正しい感覚(impression)を実現するために、パーツには、それらがどのようにレイヤ化されるかを決定する奥行きの値も割り振られる。２つ以上のパーツが、例えば「ペインターのアルゴリズム」を使用して正しくレンダリングできないような形でインタロック(interlock)している場合には、各パーツに１つの奥行きの値を割り振るのでは不十分である。この問題を解決するために、パーツがフラグメントに分割される。各フラグメントに適切な奥行きの値を指定することにより、複雑な形で重なり合ったパーツ間に正しい遮蔽関係を実現することができる。
【００２８】
パーツを動的に展開および折りたたみできるようにするために、パーツは、パーツが相互との関係でどのように動いてよいかを定義するスタックに編成される。より正確には、スタックは、同じ分解軸(explosion axis)を共有するパーツの順序付けられた連続である。分解軸は、スタックパーツがそれに沿って動くことのできる線を指定するベクトルである。スタックの最初のパーツ(part)は、スタックのルートと称される。一実施例では、各パーツは、１つのスタックのみのルートでないメンバになることができる。しかし、同じパーツがいくつのスタックのルートとなってもよい。したがって、以下で図７Ａ〜７Ｃに関して例示するように、スタックの集まりは、ツリーを形成する。
【００２９】
次いで図５を参照すると、本発明によりパーツを作成するフローチャートが示される。５００で、システムの入力で静止図が受け取られる。ユーザが１つの静的なイラストレーションを複数のパーツに分割するのを助けるために、オーサリングシステムは、描画されるオブジェクトの個々の構成要素を容易に切り離せるようにするインテリジェントなカッティングツールを含む。ユーザは、単に入力画像をインターフェースにロードし、カッティングツールを使用して適当なパーツの境界線を上からスケッチする。したがって、５０２で、パーツの境界線を上からスケッチすることによってパーツが定義される。５０４で、スケッチされた境界線でパーツを切り離すことができる。場合によっては、入力された図の中でパーツ的に遮蔽されている構成要素に、埋めることが必要な穴がある場合がある。５０６で、必要に応じてそのような穴が埋められる。これは、従来のグラフィックパッケージを使用して手動で行われるか、あるいは自動的な穴埋め技術を介して行われることができる。そしてプロセスは「終了」ブロックに達する。
【００３０】
次いで図６を参照すると、本発明によるスタック化プロセスの一実施例のフローチャートが示される。パーツが作成されると、スケッチベースの対話を介してそのパーツがスタックに編成されることができる。６００で、分解組み立て図の状態でパーツが受け取られる。新しいスタックを作成するには、ユーザは、６０２に示すように、自由形式(free-form)のストロークを描画することにより適当なパーツのセットを連結する。６０４で、ストロークで定義されたパーツの順序を保ちながら、それらの構成要素がスタックに編成される。６０６で、システムは、指定されたパーツが現在完全に分解された配置にあるものと仮定し、分解軸を推論する。分解軸を求めるには、システムは、スタックの最初の構成要素と最後の構成要素それぞれのバウンディングボックス(bounding box)の中心を直線で結ぶ。６０８で、システムは、そのレイアウトに一致する新しいスタックの初期位置、現在のオフセット、最大のオフセットを定義する。各パーツの初期位置は、デフォルトで、分解軸に沿った先行するパーツからの小さなオフセットに設定される。パーツは完全に分解されたレイアウトから開始するので、システムは、各パーツの最大のオフセットを、そのパーツの初期位置から現在の完全に分解された位置までの距離に設定する。
【００３１】
６１０で、新しいスタックが作成されると、ユーザは、いくつかの直接的な操作の動作を介して、スタックパラメータを手動で微調整することができる。例えば、分解軸を修正するには、ユーザは、スタックのルートに固定された線をドラッグし、そしてそのベクトルを所望の方向に調整する。スタックの軸は、この操作中に対話式に更新されるため、ユーザは、パーツがどのように並ぶかを容易に見ることができる。あるパーツの初期位置と最大オフセットを変更するには、ユーザは、直接操作モードに切り替え、そしてその構成要素を、適切な完全に折りたたまれた位置と完全に展開された位置にドラッグする。
【００３２】
図７Ａ〜７Ｃに、図３Ａ〜３Ｃのマスタシリンダシステム３００の一部の組み立て部品に対して生成された各種のスタックのツリーとパラメータを示す。図７Ａは、図３Ａのマスタシリンダ３００の筐体７０２であるルートパーツの中心点７００に対する、タンクの蓋３０４の初期位置を示す。この初期位置は、完全に折りたたまれた状態における先行するパーツに対するパーツの位置を指定する。図７Ｂは、図３Ｂの展開されたマスタシリンダ３０２を使用した最大オフセットのスタックパラメータを示す。最大オフセットは、パーツが先行するパーツを基準として動くことができる最大の距離である。この場合、蓋３０４が展開されて、隔壁３０６からのその最大のオフセットＭａｘＯCDを表し、隔壁３０６が展開されて筐体７０２からのその最大のオフセットＭａｘＯRDを表し、これらは両方とも対応するベクトルによって定義される分解軸７０４に沿っている。
【００３３】
図７Ｃに、展開されたマスタシリンダ７０６のスタック階層を示す。構成要素ごとに、スタックは、初期位置と、そのパーツの初期位置からの現在の変位量を把握する現在のオフセットと、パーツがスタック中で先行するパーツからどれだけ離れることが可能かを表す最大オフセットと、の３つのパラメータを格納する。これらのスタックパラメータを与えられると、各パーツの位置は、先行するパーツの位置のみに応じて決まる。
【００３４】
図には５つのスタックＳＴＫ１〜ＳＴＫ５を示し、矢印が、各スタックにおけるパーツの順序を表す。第１のスタックＳＴＫ１は、筐体７０２、すなわちルートパーツからタンクの蓋３０４まで定義される。第２のスタックＳＴＫ２は、筐体７０２から逆止め弁７０８まで定義される。第３のスタックＳＴＫ３は、筐体７０２から第２の逆止め弁７１０まで定義される。第４のスタックＳＴＫ４は、筐体７０２からセカンダリカップ７１２まで定義される。第５のスタックＳＴＫ５は、タンクの蓋３０４から押し棒３１２まで定義される。
【００３５】
図８Ａ〜８Ｄに、本発明による自由形式のストロークを使用してパーツの順序と分解軸を定義する各種の態様を図示する。図８Ａは、触媒コンバータのアセンブリの分解(breakout)８００を示す。図８Ｂは、一番下のパーツ８０４から一番上のパーツ８０６に描画された自由形式のストロークを示す。この自由形式ストロークは、パーツのセットをスタックに編成するために描かれている。図８Ｃは、このシステムが、ストローク８０２を、一番下のパーツ８０４のバウンディングボックスの中心から一番上のパーツ８０６のバウンディングボックスの中心までの直線の分解軸８０８として処理することを表す。このストロークは、スタックにおけるパーツの順序と分解軸８０８を直接的に表す。図８Ｄは、ユーザが、必要な場合に分解軸８０８を対話式に調整できることを表す。ここでは、ユーザは、一番上のパーツ８０６の中心点が、一番下のパーツ８０４の中心の左に移動するように軸８０８を調整している。
【００３６】
次いで図９を参照すると、本発明によるレイヤ化の一プロセスのフローチャートが示される。すべてのスタックが作成されると、必要な場合はパーツが断片化され、次いでレイヤ化されてパーツ間の相対的な奥行きの正しい感覚を生成する。９００で、スタックがすでに生成されている。９０２で、断片化(fragmentation)が行われ、インタロックしているパーツに奥行きの割り当てが行われる。次いで、外側のパーツが前部のフラグメントと後部のフラグメントに分割される。９０４で、閉じた境界線を上からスケッチして曲線Ｃを生成することにより、外側のパーツが細分される。９０６で、曲線Ｃの各ピクセルから、見る者から離れる方向にある軸に向かって光線が投射される。９０８で、曲線Ｃと２度交差するすべての光線が、遮蔽する曲線Ｃ0の遮蔽パーツに追加される。９１０で、システムは、分解軸に沿って曲線Ｃ0を押し出す(extrude)。９１２で、押し出された領域内のピクセルが前部のフラグメントに割り当てられる。すべての他のピクセルは、後部のフラグメントに割り当てられる。９１４で、対応する奥行きの値を設定することにより、外側の前部のフラグメントと外側の後部のフラグメントの間を通るように内側のパーツがレイヤ化される。そして、プロセスは終了ブロックに達する。
【００３７】
ユーザは、カッティングツールを用いて手動でパーツをフラグメントに分割し、そして、図の中の各パーツ又はフラグメントに奥行きの値を明示的に割り当てることができる。しかし、数個より多い構成要素を有するオブジェクトについては、この種の手動のレイヤ指定は、面倒な場合がある。オーサリングの負担を軽減するために、ここに開示されるアーキテクチャシステムは、インタロックするパーツの大きなクラスに使用することができる半自動的な断片化と奥行きの割り当てツールを提供する。
【００３８】
（半自動的な断片化）
次いで図１０に、本発明による半自動的な断片化ツールの幾何学的表現を図示する。通例、２つのパーツがインタロックする場合には、１つの構成要素がもう一方の構成要素の中に概ね収まる。この場合、正しいレイヤ化は、通例は、外側のパーツを前部のフラグメントと後部のフラグメントに分割し、それらの間を通るように内側のパーツをレイヤ化することによって達成されることができる。外側のパーツを断片化するには、ユーザは、内側の要素を囲んでいる空洞あるいは開口部の閉じた境界線１０００をカッティングツールを用いて上からスケッチ(oversketch)する。図１０に示すように、空洞の３次元の境界線をＢとする。ユーザが描く曲線Ｃは、画像面１００２へのＢの投影でもある。曲線Ｃを与えられて、システムは、その曲線Ｃの遮蔽パーツＣ0を計算し、この遮蔽パーツＣ0は、境界線Ｂ上の第１の点１００４と、境界線Ｂ上の第２の点１００６の間になるように定義される。この位置は、内側のパーツ１００８が外側のパーツ１０１０の後ろを通る位置も定義する。システムは、次いで遮蔽曲線Ｃ0を使用して、内側のパーツを囲む構成要素を前部のフラグメントと後部のフラグメントの２つのフラグメントに分割する。
【００３９】
システムは、開口部を通って延びる３次元の点Ｐについて、ｐがＢの後ろを通る、すなわち見る者から見えない場所を求めることにより、曲線Ｃ0を抽出する。パーツは各自のスタック内で動くように制約されるので、分解方向ｒに移動する際に開口部を通る点だけが考慮される。
【００４０】
ここで一時図１１を参照すると、本発明により用いることができる制約が図示される。システムは、曲線Ｃ、ここでは曲線１１００はそれ自体で交差せず、また、分解軸１１０４と平行な線１１０２は、２回以上は曲線Ｃと交差しないと仮定することができる。分解軸１１０４と平行な線１１０８は、交点Ｉ1、Ｉ2、Ｉ3、Ｉ4に示すように曲線１１０６と４回交差するので、曲線１１０６はこの制約を満たさない。
【００４１】
再度図１０を参照すると、曲線Ｃの形状に対するこの制約を考慮し、接線の場合(tangent case)を無視すると、画像面１１０２へのｒの投影は、点Ｃ1とＣ2で曲線Ｃと正確に２回交差する。見る者と反対方向にｒの後にある最初の交点をＣ1とする。デフォルトで、ｐがＣ1でＢの前を通り、Ｃ2でＢの後ろを通ると仮定し、これは、ｐが、見る者から反対方向へ動く際にＢで定義された開口部に入る通常の場合に対応する。この仮定に基づき、図１０は、遮蔽曲線Ｃ0を計算する基本的なステップを図示する。ユーザは、分解軸のどちらの端が、見る者と反対方向を向くかを指定する。Ｃのすべてのピクセルから分解方向に光線を投射することにより、Ｂを通るすべての点からなる経路を考える。光線が再びＣと交わる場合は、その２回目の交点に対応するピクセルが、遮蔽曲線Ｃ0に加えられる。曲線の処理が完了すると、曲線Ｂの各ピクセルから開始して、分解の方向にピクセルの線をラスタライズすることにより、遮蔽曲線Ｃ0が押し出される。遭遇するすべてのピクセルがそのパーツの前部のフラグメント１０１２に加えられ、すべての残りのピクセルが後部のフラグメント１０１４を構成する。画像の境界に達すると押し出しが停止する。
【００４２】
次いで図１２を参照すると、図８Ａの変速アセンブリの蓋１２００の半自動的な断片化プロセスが示される。ユーザは、初めに、カッティングツールを使用して、曲線１２０２とも表記される曲線Ｃで境界線の空洞を上からスケッチして曲線１２０２を生成する。次いで、システムは、見る者と反対側を向いた分解軸の方向に、曲線Ｃの各ピクセル１２０６から光線１２０４を投射する。曲線Ｃと２度交差するすべての光線１２０６について、曲線Ｃの遮蔽パーツＣ0に２番目の交点１２０８が追加される。システムは、分解軸に沿って遮蔽曲線Ｃ0を押し出す。押し出された領域１２１０内にあるすべてのピクセルは、前部のフラグメント１２１２に分類され、残りのピクセルは、後部のフラグメント１２１４に分類される。この時点で、システムは、前部のフラグメント１２１２の奥行きの値と後部のフラグメント１２１４の奥行きの値の間になるようにタービン１２１６の奥行きの値を設定して、正しい遮蔽関係を生成することができる。異なる形状と方向を有する、他のパーツを囲む空洞のすべてのクラスに対して、この仮定で正しい断片化が生成されることに留意されたい。具体的には、この仮定は、Ｂが、分解方向に直交する面にあるように制約しない。
【００４３】
次いで図１３を参照すると、非平面の開口部を有する空洞１３００の例が示される。この状況では、すべての仮定が成立するので、システムは、正しい断片化を計算する。Ｂによって定義される開口部は、Ｂを非平面にしている切り欠き１３０２を有する。交点Ｃ1とＣ2のすべての対について、ｐが常にＣ1でＢの前を通る限り、この断片化アルゴリズムは、正しい結果を得る。
【００４４】
デフォルトの断片化の仮定(assumptions)は、インタロックするパーツの大きなクラスに対して有効である。しかし、Ｂの方向が、ｐがＣ1の後ろから現れ、Ｃ2の前を通るような方向である場合、この断片化の仮定は成立しない。ユーザが介入しないと、システムは、不正確な断片化を計算する。この場面を上から見ると、ＢがＣ1でｒの前にあることが明確に示されよう。しかし、正しい結果を得るには、ユーザは、断片化の計算を逆にするように手動でシステムに指示することができ、これは、単に、断片化アルゴリズムで分解方向を逆にすることによって行われることができる。
【００４５】
（半自動的な奥行きの割り当て）
次いで図１４を参照すると、本発明による半自動的な奥行き割り当てツールの一実施例のフローチャートが示される。一般に、スタック中で隣接しないパーツ同士は、図１５Ａ〜Ｃのように重なり合う可能性がある。その結果、１回の操作では、ルートから外側に向かって奥行きの値を伝播することができない。そのため、奥行きの割り当てが制約充足問題となる。該当するすべてのパーツが断片化されると、ユーザは、システムがパーツのレイヤを推論するように要求することができる。１４００で、システムは、完成したフラグメントを処理のために受け取る。すべてのパーツの対に対して、その対がインタロックするかどうかを判定するために、システムは、ヒューリスティック(heuristic)を用いる。１４０２で、分解方向に対する１つのパーツの断面が、別のパーツの空洞の開口部がある場合には、その開口部を定義する曲線の断面に収まるかどうかを調べる。１４０４で、システムは、パーツの断面に収まるかどうかを判定する。いくつかの制約プロセスが用いられて様々な収まり合いの状況に対応することができる。１４０６で、インタロックするパーツについて、内側のパーツが後部のフラグメントの前と前部のフラグメントの後ろにレイヤ化される制約が加えられる。１４０８で、そのインタロックの関係に矛盾がないかどうかが判定される。矛盾がない場合は、１４０４で、局所的な制約の伝播手法を使用して、不均衡の制約のシステムが解決される。次いでプロセスは終了ブロックに達する。しかし、関係に矛盾がある場合は、フローは１４０８から１４１２に進み、ユーザにその矛盾を通知する。
【００４６】
１４０４で断面に収まりがない場合、フローは１４１４に進んで、インタロックしない２つのパーツを検討する。インタロックしないパーツについては、それらパーツの奥行きの値が、それらパーツをスタックにする順序で考えたときに厳密に増すか、又は減ると仮定される。したがって、１つのスタックにあるインタロックしない２つのパーツには、この制約が加えられて、スタックの手前側の端にあるパーツが、もう一方のパーツの前に重ねられる。フローは次いで１４０８に進んで、上記の要領で再度矛盾がないかどうかの確認を行う。
【００４７】
先に指摘したように、ユーザは、断片化されたパーツからパーツのレイヤを推論することをシステムに要求することができる。このヒューリスティックは大半の場合に有効であるが、機能しない可能性のある状況がある。例えば、内側のパーツが、外側のパーツの中に収まらない膨らんだ端を含む場合は、このヒューリスティックが機能しない可能性がある。そのような状況に対処するために、ユーザは、手動で介入して、フローの１４０４から１４１６で述べたように、正しいインタロックの関係を指定することができる。例えば、ユーザは、他の構成要素を囲む構成要素の中に実際に収まるフラグメントに対して断面の仮定が成立するように膨らみのあるパーツを断片化することができる。フローは１４１６から１４０８に進んで、先に述べたように再度矛盾がないかどうかの確認を行う。
【００４８】
図１５Ａ〜Ｃは、スタック内で複数のパーツがインタロックする可能性があることを表す。図１５Ａは、分解軸に沿って展開されたインタロックする３つのパーツ１５００、１５０２、１５０４を図示する。図１５Ｂは、それらのインタロックするパーツの部分的な折りたたみを示す。図１５Ｃは、マスタシリンダ３００の筐体７０２の開口１５０６内のインタロックするパーツの完全な折りたたみを示す。この場合、半自動的な奥行きの割り当てアルゴリズムの仮定がすべて成立するので、このアルゴリズムは、すべてのパーツの奥行きを正しく推論する。すなわち、断面の仮定が成立し、スタック中のインタロックのないすべてのパーツを、視覚的な人工物(artifact)を生じずに、スタックの一番上の手前の端に近くなるように順番にレイヤ化することができることが当てはまり、また、外側のパーツとインタロックする内側パーツを、この場合も視覚的な人工物を生じずに、外側のパーツの前部のフラグメントと後部のフラグメントの間にレイヤ化することができることが当てはまる。
【００４９】
次いで図１６を参照すると、１つ又は複数の仮定が違反される場合のオーサリングプロセスの一実施例のフローチャートが示される。このシステムは半自動的なツールの集まりとして編成されるので、ユーザが完全に自動的なプロセスか、完全に手動による対話のどちらかを選択することは強制しない。代わりに、このシステムは、オーサリングプロセスのどの段階でも手動によるガイダンスを流動的に受け入れることができる。１６００で、システムは、オーサリングのフレームワークを受け取る。１６０２で、システムは、あらかじめ決められた仮定に従って諸事例を処理する。１６０４で、システムは、違反が発生しているかどうかを判定する。発生している場合は、１６０６で、システムは、手動のガイダンスをユーザに促す。例えば、システムが、断片化の仮定の１つが無効であるために適切なフラグメントを見つけることができない場合、ユーザは、パーツを前部要素と後部要素に手動で分割し、自動的な奥行きの割り当てツールを使用してレイヤ化を推論することができる。同様に、システムが、２つのパーツが収まり合うか否かを間違って推測した場合、ユーザは、まず、正しいインタロックの関係を明示的に指定し、そしてシステムの制約ソルバ(solver)を使用して奥行きの値を割り当てることができる。１６０８で、システムは、手動の処理を継続すべきかどうかを判定する。継続すべき場合、フローは１６０６に戻る。継続すべきでない場合、フローは１６１０に進んで自動的な処理に戻る。１６１２で、システムは、その事例について処理が完了したかどうかを判定する。完了していない場合、フローは１６０２に戻る。一方、その事例について処理が完了している場合、フローは終了ブロックに進む。違反が発生していない場合、フローは１６０４から１６１２に進んで処理が完了したかどうかを判定する。
【００５０】
次いで図１７を参照すると、本発明による注釈付けの一実施例のフローチャートが示される。任意の最終ステップとして、ユーザは、個々のパーツにラベルで注釈をつけ、パーツが相互との関係でどのように動くかを明示的に示すガイドラインを追加することができる。１７００で、ラベルを必要とする各パーツについて、ユーザは、適切なラベルのテキストを指定する。ラベルを配置すべき場所を指示するために、ユーザは、１７０２に示すように、通例はラベルをつけるパーツの上、又はその近くクリックしてアンカー点(anchor point)を設定し、次いでラベルを所望の位置までドラッグする。図が配置される時、システムは、１７０４に示すように、ラベルからそのアンカー点までのオフセットが一定に保たれ、ラベルが必ず対応するパーツとともに動くようにする。１７０６で、システムは、ラベルの中心からそのアンカー点まで線をレンダリングして、パーツとそのラベルとの関連付けを明確にする。１７０８で、ユーザが、２つのパーツを選択し、その２つのパーツを所望の方式でつなぐ線をドラッグすることにより、ガイドラインを作成する。この線の各端点は、それに対応するパーツにくっつくアンカー点として扱われる。その結果、ガイドラインは、パーツが移動するのに応じて適切に順応する。デフォルトで、ガイドラインは、点線としてレンダリングされる。プロセスは、次いで終了ブロックに達する。
【００５１】
次いで図１８を参照すると、本発明によるレイアウトを表示する１つのプロセスのフローチャートが示される。動的な分解図を表示するために、人間のビューアー(viewer)が図から情報を引き出すことを助けるいくつかの有用な対話を支援するソフトウェアツールが提供される。局所伝播アルゴリズムが用いられて、図のパーツを配置する。１８００で、このアルゴリズムは、スタックの階層を位相幾何学的な順序で横断することにより動作する。１８０２で、アルゴリズムは、その先行するパーツと現在のオフセットに基づいて、各パーツの位置を連続的に計算し、更新する。局所伝播では循環を扱うことができないが、上述のようにスタック階層はツリーを形成するので、これは問題とならない。すべてのパーツの位置が計算されると、システムは、１８０４に示すように、各パーツとそのフラグメントをそれぞれの指定された奥行きでレンダリングする。１８０６で、ユーザは、表示インターフェースでラベルとガイドラインのレンダリングも可能にして注釈を表示することができる。プロセスは次いで終了ブロックに達する。見た目が雑然としないように、システムは、アンカー点が他のパーツによって遮蔽されないラベルとガイドラインだけをレンダリングする。
【００５２】
次いで図１９を参照すると、動画の展開と折りたたみの一プロセスのフローチャートが示される。ビューイングプログラムは、見る者がボタンをクリックすることにより図全体を展開又は折りたたむことを可能にする、単純ではあるが有用な対話を支援する。したがって、１９００で、ユーザは、入力装置の制御に従ってこの機能を行う。所望の動画を生成するために、１９０２に示すように、システムは、ユーザがどの動画を選択するかに応じて、各パーツの現在のオフセットを滑らかに補間して、完全に展開された状態か、完全に折りたたまれた状態にする。プロセスは次いで終了ブロックに達する。
【００５３】
次いで図２０を参照すると、本発明による直接的な操作のプロセスのフローチャートが示される。人間のビューアーが、オブジェクトのすべての構成要素を展開された形で見ることなく、特定のパーツの集合間の相互作用と空間的関係に注目できるように、ここに開示されるアーキテクチャは、ユーザが、制約された直接的な操作を介して図のパーツを選択的に展開および折りたたみができるようにする。２０００で、ユーザは、操作する構成要素を選択する。構成要素を選択すると、ビューアーは、そのパーツをそのスタック内で外側又は内側にドラッグすることにより、その現在のオフセットを対話式に変更することができる。パーツは、ユーザがどこにドラッグしても分解軸に沿ってしか動くことができないので、この操作は制約がある。ユーザがこの対話を開始すると、システムは、まず、２００２に示すように、選択されたパーツがつかまれた場所を記録する。２００４で、ユーザがドラッグすると、システムは、分解軸への現在のポインタ位置の投影を計算する。２００６で、システムは、つかまれた点がその投影点に向かって移動するように、選択されたパーツの現在のオフセットを設定する。２００８で、システムは、ユーザが、ドラッグ機能を超過したかどうかを判定する。ユーザが、完全に折りたたみ又は展開された状態を超えてパーツをドラッグすると、システムは、先行するパーツの現在のオフセットを修正してその対話に対処することを試みる。２０１０に示すように、各前のパーツが、ルートに達するまで順番に検討される。各先行するパーツについて、２０１２で先行するパーツがそのドラッグ機能を超えていない限り、システムは、先行するパーツを移動してユーザによるドラッグを受け入れる。先行するパーツがそのドラッグ機能を超えており、選択されたパーツがつかまれた点が、ユーザのドラッグで指定された投影点にまだ達していない場合は、次の先行するパーツが検討される。したがって、先行するパーツは、その後にある、操作対象の構成要素に至るまでのすべてのパーツが完全に折りたたみされるか、又は展開される場合のみに移動される。プロセスは次いで終了ブロックに達する。このように、ユーザは、パーツの集合を１つずつ効果的にまとめる、又は引き離すことができる。過度のドラッグが検出されない場合、フローは２００８から２０１４に進んで、それに応じてパーツを処理する。フローは次いで終了ブロックに達する。
【００５４】
次いで図２１を参照すると、本発明によるパーツの検索のプロセスのフローチャートが示される。場合によっては、２１００に示すように、見る者は、オブジェクトが完全に折りたたまれた状態の時に隠れて見えないパーツを見つけたい場合がある。図全体を展開し、当該の構成要素を目で見て探す代わりに、２１０２で、ここに開示されるアーキテクチャは、ユーザが、オブジェクトの全構成要素のリストから名前又はピクチャを探すことによりパーツを検索できるようにする。２１０４で、ビューイングソフトウェアは、オブジェクトを展開して、要求されるパーツと、スタック内でそのパーツのすぐ周りにあるパーツをその順序で明らかにして、適切な前後関係を提供する。プロセスは次いで終了ブロックに達する。
【００５５】
次いで図２２を参照すると、本発明によるパーツの検索動作が示される。システムは、隠れた構成要素を見つけることを容易にする検索ウィンドウ２２００を提供する。ここでは、ユーザは、隠れたパーツ、この場合はデバイス２２０４のスピーカ２２０２を見つけることを選択する。すべての構成要素のラベルを入力すると、システムは、そのラベルを、容易に提示され、検索することが可能なフォーマットで記憶する。ここで、ユーザは、検索フィールドに語「スピーカ」を入力し、検索ボタン２２０６を選択する。システムは、検索ウィンドウ２２００の上部２２０８にスピーカのパーツをグラフィックで提示する。あるいは、ウィンドウ２２００は、ユーザが、例えばアルファベット順に並べ替えることができるラベルのリスト２２１０をラベル「スピーカ」までスクロールし、そのラベルを選択することができる手段を提供する。それに応答して、システムは、デバイス２２０４を自動的に展開して、分解軸に沿った分解図２２１２を提供して、デバイスのパーツ間における隠れたスピーカ２２０２の相対的な位置を示す。
【００５６】
次いで図２３を参照すると、本発明の一実施例による人工知能をさらに用いる図１のシステムが示される。本発明は、本発明の各種態様を実施するために、人工知能ベースの各種方式を用いることができる。例えば、パーツの奥行きの値を求めるプロセスは、自動的な分類器システムおよびプロセス２３０２を介して容易にすることができる。
【００５７】
分類器は、入力された属性ベクトルｘ＝（ｘ１，ｘ２，ｘ３，ｘ４，ｘｎ）を、その入力があるクラスに属する信頼度に対応付ける、すなわちｆ（ｘ）＝信頼度（クラス）、機能である。このような分類では、確率的な分析、および／又は、例えば有意度やコストを分析の際に考慮する統計に基づく分析を用いて、ユーザが自動的に行われることを望む動作を予測又は推論(inference)することができる。
【００５８】
サポートベクトルマシン（ＳＶＭ）は、用いることが可能な分類器の一例である。ＳＶＭは、可能な入力の空間で超曲面を見つけることによって機能し、この超曲面は、非トリガイベントからトリガ基準を分けることを試みる。直感的に、これは、トレーニングデータに近いが同じではないテストデータについて分類を正しくする。この他の有向および無向のモデル分類の手法には、例えばナイーブベイズ、ベイズネットワーク、決定木が含まれ、異なるパターンの独立性を提供する確率的分類モデルが用いられることができる。ここで使用される分類は、優先度のモデルを作り出すために利用される統計的な回帰も含む。
【００５９】
本願から容易に理解されるように、本発明は、例えば汎用的なトレーニングデータを介して明示的にトレーニングされた分類器と、例えばユーザの振る舞いの観察や外的な情報の受け取りなどを介して暗示的にトレーニングされた分類器の両方を用いることができる。例えば、ＳＶＭは、分類器の構築と機能選択のモジュール中で学習段階又はトレーニング段階を介して設定される。したがって、分類器が使用されて複数の機能を自動的に行うことができ、それらの機能には、これらに限定しないが、所定の基準又は学習プロセスに従って、パーツがどのようにスタックにされるか、どのパーツがスタックの一部であるか、どのパーツがどのように断片化されるか、パーツにどの注釈が関連付けられているか、パーツにどのような注釈が付けられるかを判定すること、構成要素を作成し、表示する際にユーザの嗜好を用い、更新すること、インタロックするパーツを処理することなどが含まれる。
【００６０】
一実施例では、本発明のアーキテクチャは、任意の分解経路に対応するように構成することができる。よりコンパクトな分解図レイアウトを実現するために、イラストレータは、時に、しばしばガイドラインで示される非線形の分解経路を使用してパーツを配置する。ここに開示される制約に基づくレイアウトフレームワークは、ユーザによって指定される任意の展開経路に支援を適用することを容易にする。
【００６１】
別の実施例では、動的な注釈が用いられることができる。動的な注釈の支援として、システムは、対話型の図の変化するレイアウトを考慮するために、そのメタ情報をどのように動的に扱うかを判断する。
【００６２】
本発明のアーキテクチャは、パーツの強調と強調解除を支援する。別の実施例では、描画されたオブジェクトの特定のパーツを強調および強調解除する、画像に基づくツールを図の作成者に提供することが有用である。このツールは、特定の画像の変形を行うことの知覚的な効果を考慮するインテリジェントフィルタに似る。強調の操作は、表示時に重要なパーツを強調表示するために使用されることができる。
【００６３】
別の実施例では、セマンティックなズームが支援される。極めて入り組んだオブジェクトの場合は、見る者が、対象物の特定のパーツに提示される情報の量を対話的に調整することができる複数レベルのディテールを導入することが有用である。
【００６４】
奥行きの手がかりが支援されることができる。２次元画像から作成された対話型の図は、時に、レイヤが重なり合った「平たい」外観になる場合がある。図を見る際に、例えば影をつけるなどの単純な奥行きの手がかりを自動的にレンダリングして、レイヤ間の空間的関係を明瞭にすることが可能である。
【００６５】
この説明の文脈では、「直接的な対話又は操作」とは、直接的なユーザコントロールを伴うユーザ対話を指す。普通、これには、ユーザが、例えばマウス、トラックボール、又は他の入力手段などの入力機構で、オブジェクト又はパーツをドラッグする、サイズを変更する、又は描画することが含まれる。一実施例では、システムは、ユーザがパーツをドラッグすることができる直接的な操作と、ユーザが、検索インターフェースおよび動画の展開／折りたたみにより、パーツ又はオブジェクトを操作する、露出する、又は隠す間接的なユーザ対話の両方を容易にする。
【００６６】
直接的なユーザ対話と間接的なユーザ対話は、例えばマウス、キーボード、サムパッドなどの一般的な入力装置に限られず、音声コントロールを用いてオブジェクトの展開、オブジェクトの折りたたみ、およびパーツ又はオブジェクトの検索を開始することもできることは理解されたい。音声コントロールを使用する際、ユーザは、ユーザコマンドに従ってシステムをトレーニングし、処理と実行を行うためにそのようなコマンドをマイクロフォンに入力する。
【００６７】
簡単に要約すると、分解組み立て図は、複雑なオブジェクトの内部構造を説明するために不可欠である。対話型のデジタル図は、対象物が提示される方式を見る者が動的に変更することにより、イラストレーションから特定の情報を抽出できるようにするために特に重要である。ここに開示されるアーキテクチャは、静的な画像を入力として使用して対話型の分解組み立て図を作成し、見るための新規のフレームワークを記載する。より具体的には、そのような図を作成する作業を容易にするオーサリングツールのセットが提供され、ユーザが、パーツ間の空間的関係とオブジェクトの全体構造をよりよく理解することを可能にするビューイングプログラムが提供される。
【００６８】
次いで図２４を参照すると、ここに開示されるアーキテクチャを実行するように動作することが可能なコンピュータのブロック図が示される。本発明の各種態様についての追加的なコンテクストを提供するために、図２４と以下の説明は、本発明の各種態様を実施することができる適切なコンピューティング環境２４００の簡潔で概略的な説明を提供する。本発明について上記では１つ又は複数のコンピュータで実行することが可能なコンピュータ実行可能命令の一般的な文脈で説明したが、当業者は、本発明は、他のプログラムモジュールと組み合わせて、かつ／又はハードウェアとソフトウェアの組合せとして実施されることもできることを理解されよう。
【００６９】
一般に、プログラムモジュールには、特定のタスクを行うか、特定の抽象データ型を実施する、ルーチン、プログラム、コンポーネント、データ構造などが含まれる。さらに、当業者には、本発明の方法は、シングルプロセッサ又はマルチメディアプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースの、あるいは設定可能な家庭電化製品などを含む他のコンピュータシステム構成で実施されることができることを理解されよう。これらのデバイスはそれぞれ、１つ又は複数の関連付けられたデバイスに動作的に結合されることができる。
【００７０】
ここに例示される本発明の態様は、通信ネットワークを通じてつながれた遠隔の処理デバイスによって特定のタスクが行われる分散コンピューティング環境で実施されることもできる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモート両方のメモリ記憶装置に置くことができる。
【００７１】
コンピュータは、通例、各種のコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータによるアクセスが可能な任意の利用可能媒体でよく、揮発性および不揮発性、取り外し式および固定式の媒体を含む。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を記憶するための方式又は技術として実施された、揮発性および不揮発性、取り外し式および固定式の媒体を含む。コンピュータ記憶媒体には、これらに限定しないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタルビデオディスク（ＤＶＤ）、又は他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、又は他の磁気記憶装置、又は、所望の情報を記憶するために使用することができ、コンピュータによるアクセスが可能な他の媒体が含まれる。
【００７２】
通信媒体は、通例、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波や他の移送機構などの変調データ信号として実施し、情報伝達媒体を含む。用語「変調データ信号」とは、信号中に情報を符号化するような方式で特性の１つ又は複数を設定又は変化させた信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接配線接続などの有線媒体と、音波、ＲＦ、赤外線、他の無線媒体などの無線媒体を含む。上記の媒体の組合せもコンピュータ可読媒体の範囲に含まれる。
【００７３】
図２４を参照すると、コンピュータ２４０２を含む、本発明の各種態様を実施する例示的環境２４００が示され、コンピュータ２４０２は、処理装置２４０４、システムメモリ２４０６、およびシステムバス２４０８を含む。システムバス２４０８は、これに限定しないがシステムメモリ２４０６を含むシステム構成要素を処理装置２４０４に結合する。処理装置２４０４は、市販される各種のプロセッサのいずれでもよい。デュアルマイクロプロセッサおよび他のマルチメディアプロセッサアーキテクチャも、処理装置２４０４として用いることができる。
【００７４】
システムバス２４０８は、メモリコントローラを有する、あるいは有さないメモリバス、ペリフェラルバス、ローカルバスに、市販される各種のアーキテクチャを使用してさらに相互接続することが可能な数種のバス構造のいずれでもよい。システムメモリ２４０６は、読み取り専用メモリ（ＲＯＭ）２４１０とランダムアクセスメモリ（ＲＡＭ）２４１２を含む。起動時などにコンピュータ２４０２内の要素間の情報転送を助ける基本ルーチンを含む基本入出力システム（ＢＩＯＳ）は、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの不揮発性メモリ２４１０に記憶される。ＲＡＭ２４１２は、データをキャッシュするスタティックＲＡＭなどの高速ＲＡＭも含むことができる。
【００７５】
コンピュータ２４０２はさらに、図示されない適切なシャーシに入れて外部で使用するように構成することもできる例えばＥＩＲＥ、ＳＡＴＡなどの内部ハードディスクドライブ（ＨＤＤ）２４１４と、（例えば取り外し式のディスケット２４１８の読み書きを行う）磁気フロッピー（登録商標）ディスクドライブ（ＦＤＤ）２４１６と、例えばＣＤ−ＲＯＭディスク２４２２から読み出すか、ＤＶＤなどの他の高容量光学媒体の読み書きを行う光ディスクドライブ２４２０とを含む。ハードディスクドライブ２４１４、磁気ディスクドライブ２４１６、および光ディスクドライブ２４２０は、それぞれハードディスクドライブインターフェース２４２４、磁気ディスクドライブインターフェース２４２６、および光ドライブインターフェース２４２８でシステムバス２４０８に接続されることができる。外部ドライブ実装のためのインターフェース２４２４は、ユニバーサルシリアルバス（ＵＳＢ）およびＩＥＥＥ１３９４インターフェース技術の少なくとも１つ又は両方を含む。
【００７６】
これらのドライブとそれに関連付けられたコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの不揮発性の記憶を提供する。コンピュータ２４０２のために、これらのドライブと媒体は、適切なデジタルフォーマットによるデータの記憶に対応する。上記のコンピュータ可読媒体の説明では、ＨＤＤ、取り外し式磁気ディスケット、およびＣＤやＤＶＤなどの取り外し式光学媒体を挙げるが、当業者には、ＺＩＰドライブ、磁気カセット、フラッシュメモリカード、カートリッジなど、コンピュータ可読の他のタイプの媒体もこの例示的動作環境で使用されてよく、さらに、そのような媒体は、本発明の方法を行うコンピュータ実行可能命令を保持することができることを理解されよう。
【００７７】
上記のドライブとＲＡＭ２４１２には複数のプログラムモジュールが記憶されることができ、それには、オペレーティングシステム２４３０、１つ又は複数のアプリケーションプログラム２４３２、他のプログラムモジュール２４３４、プログラムデータ２４３６が含まれる。このオペレーティングシステム、アプリケーション、モジュール、および／又はデータのすべて又は一部は、ＲＡＭ２４１２にキャッシュされることもできる。
【００７８】
本発明は、市販される各種のオペレーティングシステム又はオペレーティングシステムの組合せとともに実施されることができることは理解されよう。
【００７９】
ユーザは、キーボード２４３８、およびマウス２４４０などのポインティングデバイスなどの１つ又は複数の有線／無線の入力装置を通じてコンピュータ２４０２にコマンドと情報を入力することができる。図示されない他の入力装置は、マイクロフォン、ＩＲリモートコントロール、ジョイスティック、ゲームパッド、スタイラスペン、タッチ画面などを含みうる。これらおよび他の入力装置は、多くの場合、システムバス２４０８に結合された入力装置インターフェース２４４２を通じて処理装置２４０４に接続されるが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインターフェースなどの他のインターフェースによって接続されることができる。
【００８０】
モニタ２４４４又は他のタイプの表示装置も、ビデオアダプタ２４４６などのインターフェースを介してシステムバス２４０８に接続される。モニタ２４４４に加えて、コンピュータは通例、スピーカやプリンタなどの図示されない他の周辺出力装置を含む。
【００８１】
コンピュータ２４０２は、リモートコンピュータ２４４８などの１つ又は複数のリモートコンピュータとの有線通信および／又は無線通信を介した論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ２４４８は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、携帯型コンピュータ、マイクロプロセッサベースの娯楽機器、ピアデバイス、あるいは他の一般的なネットワークノードであり、図を簡潔にするために図にはメモリ記憶装置２４５０のみが示されるが、通例は、コンピュータ２４０２との関連で上述した要素の多く又はすべてを含む。図の論理接続は、ローカルエリアネットワーク（ＬＡＮ）２４５２、および／又は例えばワイドエリアネットワーク（ＷＡＮ）２４５４などの大規模なネットワークへの有線／無線の接続性を含む。このようなＬＡＮおよびＷＡＮのネットワーキング環境は、オフィスおよび企業で一般的であり、イントラネットなどの企業内コンピュータネットワークを容易にし、そうしたネットワークはすべて、インターネットなどの世界規模の通信ネットワークに接続することができる。
【００８２】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ２４０２は、有線および／又は無線通信ネットワークインターフェースあるいはアダプタ２４５６を通じてローカルネットワーク２４５２に接続される。アダプタ２４５６は、ＬＡＮ２４５２との有線通信又は無線通信を容易にすることができ、ＬＡＮ２４５２は、無線アダプタ２４５６と通信するために配置された無線アクセスポイントも含むことができる。ＷＡＮネットワーキング環境で使用される場合、コンピュータ２４０２は、モデム２４５８を含むことができるか、ＬＡＮ上の通信サーバに接続されるか、あるいは、インターネットを経由してＷＡＮ２４５４を通じて通信を確立する他の手段を有する。モデム２４５８は、内蔵型の装置であっても、外付け型の装置であっても、また有線装置であっても、無線装置であってもよく、シリアルポートインターフェース２４４２を介してシステムバス２４０８に接続される。ネットワーク環境では、コンピュータ２４０２との関連で図示されるプログラムモジュール、又はその一部は、遠隔のメモリ／記憶装置２４５０に記憶されることができる。図のネットワーク接続は典型的なものであり、コンピュータ間に通信リンクを確立する他の手段が使用されることができることは理解されよう。
【００８３】
コンピュータ２４０２は、例えばプリンタ、スキャナ、デスクトップコンピュータおよび／又は携帯型コンピュータ、携帯型データアシスタント、通信衛星、キオスクや売店や休憩所などの無線検出可能タグに関連付けられた機器又は場所、および電話などの、動作的に配置された無線デバイス又はエンティティと無線通信で通信するように動作することができる。これは、少なくともＷｉ−ＦｉおよびＢｌｕｅｔｏｏｔｈ（登録商標）の無線技術を含む。したがって、この通信は、従来のネットワークのようなあらかじめ定義された構造であるか、又は単に少なくとも２つのデバイス間のその場限りの通信とすることができる。
【００８４】
Ｗｉ−ＦｉあるいはＷｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙは、自宅のソファ、ホテル客室のベッド、使用中の会議室などから無線でインターネットに接続することを可能にする。Ｗｉ−Ｆｉは、例えばコンピュータなどのデバイスが、基地局の範囲内であればいずれも場所でも屋内および屋外でデータを送受信することを可能にする携帯電話のような無線技術である。Ｗｉ−Ｆｉネットワークは、ＩＥＥＥ８０２．１１ａ、ｂ、ｃ等と称される無線技術を使用して、セキュリティが確保され、信頼性のある、高速の無線接続を提供する。Ｗｉ−Ｆｉネットワークを使用して、コンピュータ同士を接続する、コンピュータをインターネット、および、ＩＥＥＥ８０２．３あるいはＥｔｈｅｒｎｅｔ（登録商標）Ｅｔｈｅｒｎｅｔ（登録商標）を使用する有線ネットワークに接続することができる。Ｗｉ−Ｆｉネットワークは、８０２．１１ｂの場合は１１Ｍｂｐｓ、又は８０２．１１ａの場合は５４Ｍｂｐｓのデータレートで、あるいは両方の帯域を含むデュアルバンド製品とともに、免許の不要な２．４ＧＨｚおよび５ＧＨｚの無線帯域で動作し、そのため、このネットワークは、多くのオフィスで使用される基本的な１０ＢａｓｅＴ有線Ｅｔｈｅｒｎｅｔ（登録商標）Ｅｔｈｅｒｎｅｔ（登録商標）と同等の実際の性能を提供することができる。
【００８５】
次いで図２５を参照すると、本発明による例示的コンピューティング環境２５００の概略的なブロック図が示される。システム２５００は、１つ又は複数のクライアント２５０２を含む。クライアント２５０２は、スレッド、プロセッサ、コンピューティングデバイスなどのハードウェアおよび／又はソフトウェアとすることができる。クライアント２５０２は、本発明を用いることにより、例えばクッキーおよび／又は関連付けられた状況情報を保持することができる。システム２５００は、１つ又は複数のサーバ２５０４も含む。サーバ２５０４も、スレッド、プロセッサ、コンピューティングデバイスなどのハードウェアおよび／又はソフトウェアとすることができる。サーバ２５０４は、例えば、本発明を用いることにより変換を行うスレッドを保持することができる。クライアント２５０２とサーバ２５０４間で可能な通信の１つは、２つ以上のコンピュータプロセス間で送信されるように適合されたデータパケットの形態である。このデータパケットは、例えばクッキーおよび／又は関連付けられた状況情報を含むことができる。システム２５００は、クライアント２５０２とサーバ２５０４間の通信を容易にするために用いられることができる、例えばインターネットのような世界規模の通信ネットワークである通信フレームワーク２５０６を含む。
【００８６】
通信は、光ファイバを含む有線技術および／又は無線技術を介して容易にされることができる。クライアント２５０２は、クッキーおよび／又は関連付けられた状況情報など、クライアント２５０２にとってローカルな情報を記憶するために用いられることができる１つ又は複数のクライアントデータストア２５０８に動作的に接続される。同様に、サーバ２５０４は、サーバ２５０４にとってローカルな情報を記憶するために用いられることができる１つ又は複数のサーバデータストア２５１０に動作上接続される。
【００８７】
上記の説明は、本発明の例を含む。言うまでもなく、本発明を説明する目的で構成要素あるいは方法論の着想しうるすべての組合せを記載することが不可能であるが、当業者は、本発明のさらなる組合せおよび置き換えが可能であることを認識されよう。そのため、本発明は、頭記の特許請求の範囲の主旨および範囲に該当するそのような改変、変更、および変形をすべて包含するものとする。さらに、詳細な説明あるいは特許請求の範囲で語「〜を含む」が使用される範囲において、この語は、語「〜を備える」が請求項中で接続語として使用される際の解釈と同様に包含的な意味とする。
【図面の簡単な説明】
【００８８】
【図１】本発明によるシステムの図である。
【図２】本発明によるレンダリングプロセスのフローチャートである。
【図３Ａ】本発明によるマスタシリンダの折りたたみ図である。
【図３Ｂ】タンクの蓋とタンクの隔壁が縦方向に露出された、マスタシリンダのパーツ展開図である。
【図３Ｃ】本発明によるマスタシリンダのさらなる展開図である。
【図４】静的な２次元の図の分解組み立て図を本発明による対話型の図に変換するオーサリングプロセスのフローチャートである。
【図５】本発明によりパーツを作成するフローチャートである。
【図６】本発明によるスタック作成プロセスの一実施例のフローチャートである。
【図７Ａ】図３Ａのマスタシリンダの筐体であるルートパーツの中心点に対する、タンクの蓋の初期位置を表す図である。
【図７Ｂ】図３Ｂの展開されたマスタシリンダを使用した最大オフセットスタックパラメータを表す図である。
【図７Ｃ】展開されたマスタシリンダのスタック階層を表す図である。
【図８Ａ】自動変速機パーツの組み立て部品の分解を表す図である。
【図８Ｂ】一番下のパーツから一番上のパーツ８０６まで描かれた自由形式のストロークの図である。
【図８Ｃ】システムが、一番下のパーツのおよその中心から一番上のパーツのおよその中心までの直線の分解軸としてストロークを処理することを表す図である。
【図８Ｄ】必要な場合はユーザが分解軸を対話式に調整できることを表す図である。
【図９】本発明によるレイヤ化の一プロセスのフローチャートである。
【図１０】本発明による半自動的な断片化ツールの幾何学的表現を表す図である。
【図１１】本発明による用いられることができる制約を説明する図である。
【図１２】図８Ａの変速機の組み立て部品の蓋についての半自動的な断片化プロセスを説明する図である。
【図１３】非平面の開口部を有する空洞の例の図である。
【図１４】本発明による半自動的な奥行き割り当てツールの一実施例のフローチャートである。
【図１５Ａ】分解軸に沿って展開された３つのインタロックするパーツの図である。
【図１５Ｂ】インタロックするパーツの部分的な折りたたみの図である。
【図１５Ｃ】マスタシリンダの筐体の開口内のインタロックするパーツの完全な折りたたみを示す図である。
【図１６】本発明により、重なり合う隣接しないパーツを処理する一実施例のフローチャートである。
【図１７】１つ又は複数の仮定が違反されるオーサリングプロセスの一実施例のフローチャートである。
【図１８】本発明による注釈付けの一実施例のフローチャートである。
【図１９】本発明によるレイアウトを表示する一プロセスのフローチャートである。
【図２０】動画による展開と折りたたみの一プロセスのフローチャートである。
【図２１】本発明による直接的な操作のプロセスのフローチャートである。
【図２２】本発明によるパーツの検索のプロセスのフローチャートである。
【図２３】本発明による検索動作を説明する図である。
【図２４】本発明によるさらに人工知能を用いる図１のシステムの図である。
【図２５】ここに開示されるアーキテクチャを実行するように動作することが可能なコンピュータのブロック図である。
【符号の説明】
【００８９】
１０４  ２次元画像
１０２  オーサリングコンポーネント
１０６  ビューイングコンポーネント
１０８  対話型の画像出力
１０４  ２次元画像
１０２  オーサリングコンポーネント
１０６  ビューイングコンポーネント
１０８  対話型の画像出力
２３０２  分類器
２４０４  処理装置
２４０６  システムメモリ
２４０８  バス
２４２４  インターフェース
２４２６  インターフェース
２４２８  インターフェース
２４１４  内部ＨＤＤ
２４１８  ディスプレイ
２４２０  ＣＤドライブ
２４２２  ディスプレイ
２４４６  ビデオアダプタ
２４４２  入力装置インターフェース（有線／無線）
２４５８  モデム
２４５６  ネットワークアダプタ（有線／無線）
２４３０  オペレーティングシステム
２４３２  アプリケーション
２４３４  モジュール
２４３６  データ
２４１４  外部ＨＤＤ
２４４４  モニタ
２４３８  キーボード
２４４０  マウス
２４４８  リモートコンピュータ
２４５０  メモリ／記憶装置
２５０２  クライアント
２５０８  クライアントデータストア
２５０６  通信フレームワーク
２５０４  サーバ
２５１０  サーバデータストア
【図１】
2005322253.tif 000003
【図２】
2005322253.tif 000004
【図３Ａ】
2005322253.tif 000005
【図３Ｂ】
2005322253.tif 000006
【図３Ｃ】
2005322253.tif 000007
【図４】
2005322253.tif 000008
【図５】
2005322253.tif 000009
【図６】
2005322253.tif 000010
【図７Ａ】
2005322253.tif 000011
【図７Ｂ】
2005322253.tif 000012
【図７Ｃ】
2005322253.tif 000013
【図９】
2005322253.tif 000014
【図１０】
2005322253.tif 000015
【図１１】
2005322253.tif 000016
【図１３】
2005322253.tif 000017
【図１４】
2005322253.tif 000018
【図１５Ａ】
2005322253.tif 000019
【図１５Ｂ】
2005322253.tif 000020
【図１５Ｃ】
2005322253.tif 000021
【図１６】
2005322253.tif 000022
【図１７】
2005322253.tif 000023
【図１８】
2005322253.tif 000024
【図１９】
2005322253.tif 000025
【図２０】
2005322253.tif 000026
【図２１】
2005322253.tif 000027
【図２２】
2005322253.tif 000028
【図２３】
2005322253.tif 000029
【図２４】
2005322253.tif 000030
【図２５】
2005322253.tif 000031
【図８Ａ】
2005322253.tif 000032
【図８Ｂ】
2005322253.tif 000033
【図８Ｃ】
2005322253.tif 000034
【図８Ｄ】
2005322253.tif 000035
【図１２】
2005322253.tif 000036
【外国語明細書】
2005322253000001.pdf