(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6321362
(24)【登録日】2018年4月13日
(45)【発行日】2018年5月9日
(54)【発明の名称】3Dにおけるオブジェクトグループの定義
(51)【国際特許分類】
G06F 3/0481 20130101AFI20180423BHJP
G06F 3/0486 20130101ALI20180423BHJP
【FI】
G06F3/0481 150
G06F3/0486
【請求項の数】20
【外国語出願】
【全頁数】18
(21)【出願番号】特願2013-253182(P2013-253182)
(22)【出願日】2013年12月6日
(65)【公開番号】特開2014-120164(P2014-120164A)
(43)【公開日】2014年6月30日
【審査請求日】2016年12月2日
(31)【優先権主張番号】13/714,320
(32)【優先日】2012年12月13日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】514180812
【氏名又は名称】ダッソー システムズ アメリカス コーポレイション
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】アルベルト ワン
(72)【発明者】
【氏名】ギリッシュ ビー.シェノイ
(72)【発明者】
【氏名】ゴーラブ ジェイン
【審査官】
▲高▼瀬 健太郎
(56)【参考文献】
【文献】
特開2009−277192(JP,A)
【文献】
特開平08−016356(JP,A)
【文献】
米国特許出願公開第2010/0095240(US,A1)
【文献】
米国特許出願公開第2009/0193351(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0485
G06F 3/0486
(57)【特許請求の範囲】
【請求項1】
物理オブジェクトを表す仮想オブジェクトのグループを定義するためのコンピュータ実装方法であって、
入力装置を介してユーザ入力を受信するステップであって、前記ユーザ入力は少なくとも1つの物理的な実世界オブジェクトを表す少なくとも1つの仮想オブジェクトに関係し、前記少なくとも1つの仮想オブジェクトの各々は、それぞれの少なくとも1つの物理的な実世界オブジェクトのグラフィカルな多次元モデルとしてスクリーンビューで表示され、各仮想オブジェクトについて、(a)前記受信されたユーザ入力は、前記仮想オブジェクトに対応するそれぞれの一意の仮想オブジェクト識別子に対するものであり、(b)前記それぞれの一意の仮想オブジェクト識別子は、前記仮想オブジェクトの付近の前記スクリーンビューにおいて示される、ステップと、
プロセッサを使用して前記ユーザ入力の目的を判定するステップと、
製造プロセスのための物理的な実世界オブジェクトのグループ計画をシミュレートするために、オブジェクトグループを修正するステップであって、仮想オブジェクトグループは、前記ユーザ入力の目的に基づいて前記少なくとも1つの仮想オブジェクトに関して修正される、ステップと、
前記修正された仮想オブジェクトグループと前記少なくとも1つの仮想オブジェクトとの間の関係の指示をメモリ領域に記憶するステップであって、前記それぞれの一意の仮想オブジェクト識別子と一意の仮想オブジェクトグループ識別子とは、前記メモリ領域で関連付けられ、前記関係を表しかつ前記関係の追跡を可能にする、ステップと
を備えることを特徴とするコンピュータ実装方法。
【請求項2】
ユーザ入力を受信する前記ステップは、前記少なくとも1つの仮想オブジェクトとの第1の対話を表す第1のユーザ入力を受信するステップを備え、前記コンピュータ実装方法は、前記少なくとも1つの仮想オブジェクトに関する前記オブジェクトグループを修正するために、前記ユーザにディスプレイ装置を介してプロンプトを表示するステップをさらに備えることを特徴とする請求項1に記載のコンピュータ実装方法。
【請求項3】
ユーザ入力を受信する前記ステップは、前記少なくとも1つの仮想オブジェクトとの第2の対話を表す第2のユーザ入力を受信するステップを備え、オブジェクトグループを修正する前記ステップは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループに追加するステップと、前記メモリ領域内において前記記憶された前記オブジェクトグループと前記少なくとも1つの仮想オブジェクトとの間の関係を修正するステップとを備えることを特徴とする請求項2に記載のコンピュータ実装方法。
【請求項4】
オブジェクトグループを修正する前記ステップは、前記少なくとも1つの仮想オブジェクトが追加される前記オブジェクトグループを作成するステップをさらに備えることを特徴とする請求項3に記載のコンピュータ実装方法。
【請求項5】
ユーザ入力を受信する前記ステップは、前記少なくとも1つの仮想オブジェクトとの第2の対話を表す第2のユーザ入力を受信するステップをさらに備え、オブジェクトグループを修正する前記ステップは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループから取り除くステップと、前記メモリ領域内において前記記憶された前記オブジェクトグループと前記少なくとも1つの仮想オブジェクトとの間の関係を修正するステップとを備えることを特徴とする請求項2に記載のコンピュータ実装方法。
【請求項6】
前記ユーザ入力は、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループのインジケータに向かってドラッグするドラッグ・アンド・ドロップ操作であり、オブジェクトグループを修正する前記ステップは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループに追加するステップを備えることを特徴とする請求項1に記載のコンピュータ実装方法。
【請求項7】
前記ユーザ入力は、前記オブジェクトグループのインジケータを前記少なくとも1つの仮想オブジェクトに向かってドラッグするドラッグ・アンド・ドロップ操作であり、オブジェクトグループを修正する前記ステップは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループに追加するステップを備えることを特徴とする請求項1に記載のコンピュータ実装方法。
【請求項8】
物理オブジェクトを表す仮想オブジェクトのグループを定義する際に使用するためのコンピュータであって、
入力装置と、
メモリ領域と、
前記入力装置および前記メモリ領域に接続されたプロセッサであって、
前記入力装置を介してユーザ入力を受信し、前記ユーザ入力は、少なくとも1つの物理的な実世界オブジェクトを表す少なくとも1つの仮想オブジェクトに関係し、前記少なくとも1つの仮想オブジェクトの各々は、それぞれの少なくとも1つの物理的な実世界オブジェクトのグラフィカルな多次元モデルとしてスクリーンビューで表示され、各オブジェクトについて、(a)前記受信されたユーザ入力は、前記仮想オブジェクトに対応するそれぞれの一意の仮想オブジェクト識別子に対するものであり、(b)前記それぞれの一意の仮想オブジェクト識別子は、前記仮想オブジェクトの付近の前記スクリーンビューにおいて示され、
前記ユーザ入力の目的を判定し、
製造プロセスのための物理的な実世界オブジェクトのグループ計画をシミュレートするために、オブジェクトグループを修正し、仮想オブジェクトグループは、前記ユーザ入力の目的に基づいて前記少なくとも1つの仮想オブジェクトに関して修正され、
前記修正された仮想オブジェクトグループと前記少なくとも1つの仮想オブジェクトとの間の関係の指示をメモリ領域に記憶し、前記それぞれの一意の仮想オブジェクト識別子と一意の仮想オブジェクトグループ識別子とは、前記メモリ領域で関連付けられ、前記関係を表しかつ前記関係の追跡を可能にするように構成された、プロセッサと
を備えることを特徴とするコンピュータ。
【請求項9】
前記ユーザ入力は、前記少なくとも1つの仮想オブジェクトとの第1の対話を表す第1のユーザ入力を含み、前記プロセッサは、前記少なくとも1つの仮想オブジェクトに関する前記オブジェクトグループを修正するために、ディスプレイ装置に前記ユーザに対してプロンプトを表示させるようにさらに構成されることを特徴とする請求項8に記載のコンピュータ。
【請求項10】
前記ユーザ入力は、前記少なくとも1つの仮想オブジェクトとの第2の対話を表す第2のユーザ入力を含み、前記プロセッサは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループに追加し、前記メモリ領域内において前記記憶された前記オブジェクトグループと前記少なくとも1つの仮想オブジェクトとの間の関係を修正するように構成されることを特徴とする請求項9に記載のコンピュータ。
【請求項11】
前記プロセッサは、前記少なくとも1つの仮想オブジェクトが追加される前記オブジェクトグループを作成するようにさらに構成されることを特徴とする請求項10に記載のコンピュータ。
【請求項12】
前記ユーザ入力は、前記少なくとも1つの仮想オブジェクトとの第2の対話を表す第2のユーザ入力を含み、前記プロセッサは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループから取り除き、前記メモリ領域内において前記記憶された前記オブジェクトグループと前記少なくとも1つの仮想オブジェクトとの間の関係を修正するように構成されることを特徴とする請求項9に記載のコンピュータ。
【請求項13】
前記ユーザ入力は、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループのインジケータに向かってドラッグするドラッグ・アンド・ドロップ操作であり、前記プロセッサは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループに追加するように構成されることを特徴とする請求項8に記載のコンピュータ。
【請求項14】
前記ユーザ入力は、前記オブジェクトグループのインジケータを前記少なくとも1つの仮想オブジェクトに向かってドラッグするドラッグ・アンド・ドロップ操作であり、前記プロセッサは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループに追加するように構成されることを特徴とする請求項8に記載のコンピュータ。
【請求項15】
物理オブジェクトを表す仮想オブジェクトのグループを定義する際に使用するためのコンピュータシステムであって、
少なくとも1つの物理的な実世界オブジェクトを表す少なくとも1つの仮想オブジェクトに関係するユーザ入力を受信するように構成されたクライアント装置であって、前記少なくとも1つの仮想オブジェクトの各々は、それぞれの少なくとも1つの物理的な実世界オブジェクトのグラフィカルな多次元モデルとしてスクリーンビューで表示され、各オブジェクトについて、(a)前記受信されたユーザ入力は、前記仮想オブジェクトに対応するそれぞれの一意の仮想オブジェクト識別子に対するものであり、(b)前記それぞれの一意の仮想オブジェクト識別子は、前記仮想オブジェクトの付近の前記スクリーンビューにおいて示される、クライアント装置と、
前記クライアント装置に接続されたサーバシステムであって、
前記ユーザ入力の目的を判定し、
製造プロセスのための物理的な実世界オブジェクトのグループ計画をシミュレートするために、オブジェクトグループを修正し、仮想オブジェクトグループは、前記ユーザ入力の目的に基づいて前記少なくとも1つの仮想オブジェクトに関して修正され、
前記修正された仮想オブジェクトグループと前記少なくとも1つの仮想オブジェクトとの間の関係の指示をメモリ領域に記憶し、前記それぞれの一意の仮想オブジェクト識別子と一意の仮想オブジェクトグループ識別子とは、前記メモリ領域で関連付けられ、前記関係を表しかつ前記関係の追跡を可能にするように構成された、サーバシステムと
を備えることを特徴とするコンピュータシステム。
【請求項16】
前記ユーザ入力は、前記少なくとも1つの仮想オブジェクトとの第1の対話を表す第1のユーザ入力を含み、前記サーバシステムは、前記少なくとも1つの仮想オブジェクトに関する前記オブジェクトグループを修正するために、前記ユーザに対してプロンプトを表す信号を、前記クライアント装置に送信するようさらに構成されることを特徴とする請求項15に記載のコンピュータシステム。
【請求項17】
前記ユーザ入力は、前記少なくとも1つの仮想オブジェクトとの第2の対話を表す第2のユーザ入力をさらに含み、前記サーバシステムは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループに追加し、前記メモリ領域内において前記記憶された前記オブジェクトグループと前記少なくとも1つの仮想オブジェクトとの間の関係を修正するように構成されることを特徴とする請求項16に記載のコンピュータシステム。
【請求項18】
前記サーバシステムは、前記少なくとも1つの仮想オブジェクトが追加される前記オブジェクトグループを作成するようにさらに構成されることを特徴とする請求項17に記載のコンピュータシステム。
【請求項19】
前記ユーザ入力は、前記少なくとも1つの仮想オブジェクトとの第2の対話を表す第2のユーザ入力をさらに含み、前記サーバシステムは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループから取り除き、前記メモリ領域内における前記記憶された前記オブジェクトグループと前記少なくとも1つの仮想オブジェクトとの間の関係を修正するように構成されることを特徴とする請求項16に記載のコンピュータシステム。
【請求項20】
前記ユーザ入力は、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループのインジケータに向かってドラッグする第1のドラッグ・アンド・ドロップ操作、および、前記オブジェクトグループのインジケータを前記少なくとも1つの仮想オブジェクトに向かってドラッグする第2のドラッグ・アンド・ドロップ操作のうちの1つであり、前記サーバシステムは、前記少なくとも1つの仮想オブジェクトを前記オブジェクトグループに追加するよう構成されることを特徴とする請求項15に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書における実施形態は、概して仮想オブジェクトの管理に関し、より詳細には、実世界のオブジェクトを表す仮想オブジェクトのグループの作成、修正、および削除に関する。
【背景技術】
【0002】
従来、グループ管理は、グループメンバーのリスト、グループ名、およびグループに加えることが可能な要素などの情報を表示する表を用いて管理される。さらに、グループ管理のソリューションの中には、2次元(2D)または3次元(3D)どちらかの画像を使用して、グループの要素を示すものもある。しかしながら、一般的には、このようなグループ管理のソリューションはテキスト表示を含んでおり、そのテキスト表示では、同様の要素と高度な技術的ネーミングおよび/または主観的ネーミングとは相関性がない。さらに、公知のグループ管理のソリューションでは、グループメンバーのリストなどのテキスト表示と、グループ、グループメンバー、および他の利用可能な要素の関連する2Dまたは3Dの表現との間で、ユーザが連続して目を行き来させる必要がある。この種の連続動作により、ユーザが疲労し、および/またはユーザがミスを犯しやすくなる可能性がある。加えて、公知のソリューションでは、グループメンバーのリストと、グループ、グループメンバー、および他の利用可能な要素の関連する2Dまたは3Dの表現との間でマウスを行き来させるというように、入力装置を連続して行き来させる必要がある。このような動作により、有用性が低くなり、ユーザが疲労し、および/またはユーザがミスを犯しやすくなる可能性がある。
【発明の概要】
【0003】
一態様において、物理オブジェクトを表す仮想オブジェクトのグループを定義するためのコンピュータ実装方法を提供する。本コンピュータ実装方法は、入力装置を介して少なくとも1つの仮想オブジェクトに関係するユーザ入力を受信するステップ、およびプロセッサを使用してユーザ入力の目的を判定するステップを含む。本方法はまた、ユーザ入力の目的に基づき仮想オブジェクトに関するオブジェクトグループを修正するステップ、およびオブジェクトグループと仮想オブジェクトとの間の関係をメモリ領域に記憶するステップを含む。
【0004】
別の態様において、物理オブジェクトを表す仮想オブジェクトのグループを定義する際に使用するためのコンピュータを提供する。本コンピュータは、入力装置、メモリ領域、ならびに、入力装置およびメモリ領域に接続されたプロセッサを備える。プロセッサは、入力装置を介して少なくとも1つの仮想オブジェクトに関係するユーザ入力を受信し、かつユーザ入力の目的を判定するよう構成される。プロセッサはまた、ユーザ入力の目的に基づき仮想オブジェクトに関するオブジェクトグループを修正し、かつオブジェクトグループと仮想オブジェクトとの間の関係をメモリ領域に記憶するように構成される。
【0005】
別の態様において、物理オブジェクトを表す仮想オブジェクトのグループを定義する際に使用するためのコンピュータシステムを提供する。本コンピュータシステムは、少なくとも1つの仮想オブジェクトに関係するユーザ入力を受信するよう構成されたクライアント装置を備える。本コンピュータシステムはまた、クライアント装置に接続されたサーバシステムを備える。サーバシステムは、ユーザ入力の目的を判定し、ユーザ入力の目的に基づき仮想オブジェクトに関するオブジェクトグループを修正し、かつオブジェクトグループと仮想オブジェクトとの間の関係をメモリ領域に記憶するように構成される。
【図面の簡単な説明】
【0006】
前述は、添付図面に示されるように、以下に続く本発明の実施形態例のより具合的な説明から明らかになろう。添付図面において、同じ参照符号は、異なる図全体を通して同じ部分を指す。図面は必ずしも正しい縮尺ではなく、むしろ本発明の実施形態を図示する際に強調されている。
【
図1】仮想オブジェクトのグループを定義するための例示的なコンピュータ実装方法を示すフローチャートである。
【
図2】仮想オブジェクトのグループを定義するための別の例示的なコンピュータ実装方法を示すフローチャートである。
【
図3A】本明細書において説明されるコンピュータ実装方法を示す図である。
【
図3B】本明細書において説明されるコンピュータ実装方法を示す図である。
【
図3C】本明細書において説明されるコンピュータ実装方法を示す図である。
【
図3D】本明細書において説明されるコンピュータ実装方法を示す図である。
【
図3E】本明細書において説明されるコンピュータ実装方法を示す図である。
【
図4】仮想オブジェクトのグループを定義するための別の例示的なコンピュータ実装方法を示すフローチャートである。
【
図5】仮想オブジェクトのグループを定義するための別の例示的なコンピュータ実装方法を示すフローチャートである。
【
図6】仮想オブジェクトのグループを定義する際に使用するための例示的なコンピュータシステムの概略ブロック図である。
【
図7】仮想オブジェクトのグループを定義する際に使用するための例示的なコンピュータアーキテクチャの概略ブロック図である。
【発明を実施するための形態】
【0007】
仮想オブジェクトのグループを定義および/または管理する際に使用するためのコンピュータシステム、コンピュータ実装方法、ならびにコンピュータの例示的な実施形態を、本明細書において説明する。本明細書における実施形態は、ユーザの効率を高めることにより、ユーザの生産性の向上を促進する。例えば、ユーザは、いくつかの入力のみを用いて、既存のグループのテキストリスト、グループ内の要素、および何れのグループにも割り当てられていない要素をスキャンすることなく、オブジェクトグループを作成することができる。さらに、本明細書における実施形態は、ユーザがグループメンバーのテキスト表現と実世界のオブジェクトのグラフィカル表現との間を連続して行き来する必要を排除することにより、目および/または筋肉の緊張を低下させるとともに、疲労を少なくするよう促進する。さらに、実施形態は、グループメンバーを表示し、かつグループメンバーを管理するのに必要な画面情報量を減らすことによって、ユーザの可動性を促進する。これにより、スマートフォンおよびタブレットコンピュータのようなモバイル装置の使用が可能となる。
【0008】
本明細書において使用されるように、用語「仮想オブジェクト」は、一般的に実世界のオブジェクトのソフトウェア生成モデルを指す。例えば、仮想オブジェクトは、製造において使用される機械の3次元モデルであってよい。しかしながら、用語「仮想オブジェクト」は、実世界のオブジェクトの3次元表現のみに限られるものではなく、2次元表現のことを指してもよい。さらに、実世界のオブジェクトは、製造の機械のみに限るのではく、代わりに所定のプロセスにおいて使用される任意の適切なリソースのことを指してもよい。
【0009】
図1は、仮想オブジェクトのグループを定義するための例示的なコンピュータ実装方法を示すフローチャート100である。例示的な実施形態において、コンピュータ装置は、入力装置を介して1つまたは複数の仮想オブジェクトに関係するユーザ入力を受信する(102)。上述のように、仮想オブジェクトは、物理的な実世界のオブジェクトのコンピュータ生成表現である。コンピュータ装置は、ラップトップコンピュータまたはデスクトップコンピュータのようなパーソナルコンピュータであってもよいし、タブレットコンピュータまたはスマートフォンであってもよい。さらに、入力装置は、マウス、キーボード、またはタッチスクリーンなどの、表示されるオブジェクトとのユーザ対話を受信する際に使用するための任意の適切な装置であってよい。ユーザ入力は、仮想オブジェクトの選択、仮想オブジェクト上でのホバリング、および/または、仮想オブジェクトを手動でオブジェクトグループまたはディスプレイ上の他のどこかに出し入れするドラッグ・アンド・ドロップ操作などの、仮想オブジェクトに関して行われる任意の動作であってよい。タッチ入力を、当業者にとって公知である任意の適切な手段を使用して、認識、受信、および/または処理してよい。
【0010】
ユーザ入力を受信した後、コンピュータ装置は、ユーザ入力の目的を判定する(104)。目的に基づき、コンピュータ装置は、仮想オブジェクトに関するオブジェクトグループを修正する(106)。例えば、仮想オブジェクトはユーザ入力に基づき、オブジェクトグループに追加されるか、またはオブジェクトグループから取り除かれてもよい。さらに、オブジェクトグループが修正されると(106)、コンピュータ装置は、仮想オブジェクトとオブジェクトグループとの間の関係を、メモリ領域に記憶する(108)。例えば、仮想オブジェクトおよびオブジェクトグループの両方に一意の識別子を割り当てて、その両者間の関係を作成、修正、または破棄する場合に、どの仮想オブジェクトがどのオブジェクトグループに関連付けられているかを追跡するために、データベースなどのメモリ領域にリンクを作成するようにしてもよい。
【0011】
図2は、仮想オブジェクトのグループを定義するための、コンピュータ実装方法の他の実施形態を示すフローチャート200である。例示的な実施形態において、コンピュータ装置は、入力装置を介して1つまたは複数の仮想オブジェクトに関係する第1のユーザ入力を受信する(202)。より具体的には、第1のユーザ入力は、1つまたは複数の仮想オブジェクトとの第1のユーザ対話である。例示的な実施形態において、第1のユーザ入力は、仮想オブジェクト上をホバリングして入力装置を使用することである。マウスのような物理的な入力装置に関して、ホバリング動作とは、仮想オブジェクト上またはその付近にカーソルを置くこととしてよい。あるいはまた、ホバリング動作とは、仮想オブジェクトの画面上の識別子上またはその付近にカーソルを置くことであってもよい。タッチスクリーン装置に関して、ホバリング動作とは、仮想オブジェクトまたは仮想オブジェクトの画面上の識別子にタッチすることであってもよい。例えば、タッチが所定の閾値の時間より長い場合、そのタッチをホバリング動作と判定してよい。タッチ入力を、当業者にとって公知である任意の適切な手段を使用して、認識、受信、および/または処理してよい。第1のユーザ入力に応答して、コンピュータ装置は、仮想オブジェクト上またはその付近にプロンプトを表示する(204)。
【0012】
図3A〜
図3Eは、
図1および
図2、ならびに後述の
図4および
図5に示すコンピュータ実装方法を示す図である。具体的に、
図3A〜
図3Eは、第1の仮想オブジェクト302〜第6の仮想オブジェクト312を含む複数の仮想オブジェクト300を示す。
図3A〜
図3Eに示されるように、本明細書における実施形態を、製造プロセスの少なくとも一部を自動化するために使用される製造の機械のグループ化に、容易に適用することができる。製造プロセスのこのような先進的プランニングは、物理的なモデルまたはモックアップを作成することなく、または実際の機械を使用することなく、製造プロセスを始めから終わりまで先進的シミュレーションすることが可能となることによって、製造プラントの生産性の向上を促進する。本明細書における実施形態は、製造の機械のグループ化表現に限るものではなく、任意の適切なアイテムの表現グループを管理するために使用できることに、留意されたい。
【0013】
図3Aは、定義されたオブジェクトグループが存在せず、仮想オブジェクト300が画面上で識別されていない開始点を示す。
図3Bに示されるように、第1のユーザ入力を受信すると(202)、コンピュータ装置は各仮想オブジェクト300に対して一意の識別子314を表示する。例えば、コンピュータ装置は、第1の仮想オブジェクト302に隣接して第1の一意の識別子316、第2の仮想オブジェクト304に隣接して第2の一意の識別子318というように、第6の一意の識別子326まで表示する。
図3Cは、第1のユーザ入力に応答してユーザに表示される(204)、プロンプト328の例を示す。具体的には、
図3Cに示すプロンプト328は、ユーザに、第5の仮想オブジェクト310をオブジェクトグループに追加するよう促す。
【0014】
再度
図2を参照すると、コンピュータ装置は仮想オブジェクトに関係する第2のユーザ入力を受信する(206)。より具体的には、第2のユーザ入力は、1つまたは複数の仮想オブジェクトとの第2のユーザ対話である。例示的な実施形態において、第2のユーザ入力は、仮想オブジェクトに関するコマンドを入力してオブジェクトグループを修正するために、入力装置を使用することである。例えば、ユーザは、マウスでクリックもしくはダブル・クリックするか、またはタッチスクリーン装置でタッチ、タップ、もしくはダブル・タップするというようにして、
図3Cに示すプロンプト328を選択することができる。上述のように、タッチ入力を、当業者にとって公知である任意の適切な手段を使用して、認識、受信、および/または処理してよい。コンピュータ装置は、第2のユーザ入力の目的を判定し(208)、それに従ってオブジェクトグループを修正する。第2のユーザ入力の目的が、仮想オブジェクトをオブジェクトグループに追加することである場合、コンピュータ装置はオブジェクトグループが存在するかどうかを判定する(210)。オブジェクトグループが存在しない場合、コンピュータ装置は、新しいオブジェクトグループを作成し(212)、仮想オブジェクトを当該新しいオブジェクトグループに追加する(214)。オブジェクトグループが存在する場合、コンピュータ装置は、仮想オブジェクトをオブジェクトグループに追加する(214)。
図3Dは、新しく作成されたオブジェクトグループ330を示す。上述のように、新しいオブジェクトグループ330は、第5の仮想オブジェクト310を追加するために、コンピュータ装置により作成される。例示的な実施形態において、仮想オブジェクトが追加された後(214)、コンピュータ装置は、メモリ領域に記憶されている仮想オブジェクトとオブジェクトグループとの関係を修正する(216)。例えば、仮想オブジェクトおよびオブジェクトグループの両方に一意の識別子を割り当てて、その両者間の関係を作成、修正、または破棄する場合に、どの仮想オブジェクトがどのオブジェクトグループに関連付けられているかを追跡するために、データベースなどのメモリ領域にリンクを作成するようにしてもよい。
【0015】
例示的な実施形態において、第2のユーザ入力の目的が仮想オブジェクトをオブジェクトグループから取り除くことである場合、コンピュータ装置は、仮想オブジェクトを取り除き(218)、メモリ領域に記憶されている仮想オブジェクトとオブジェクトグループとの関係を修正する(216)。
図3Cは、第5の仮想オブジェクト310をオブジェクトグループに追加するために、プロンプト328を追加記号(+)として示している。しかしながら、第5の仮想オブジェクト310がオブジェクトグループ330などのオブジェクトグループの一部である場合、次いでプロンプト328を、除去記号(−)として示し、ユーザに第5の仮想オブジェクト310をオブジェクトグループ330から取り除くよう促す。
【0016】
例示的な実施形態において、上述のステップを、さらなる仮想オブジェクトをオブジェクトグループ加えるために繰り返すことができる。例えば、別の第1のユーザ対話に応答して、コンピュータ装置は、第4の仮想オブジェクト308のような仮想オブジェクトに対するプロンプトを表示してもよい(204)。別の第2のユーザ対話に応答して、コンピュータ装置は、
図3Eに示されるように、第4の仮想オブジェクト308を、オブジェクトグループ330のようなオブジェクトグループに追加してもよい。
【0017】
図4は、仮想オブジェクトのグループを定義するためのコンピュータ実装方法の別の実施形態を示すフローチャート400である。例示的な実施形態において、コンピュータ装置は、ドラッグ・アンド・ドロップのユーザ入力を受信する(402)。ユーザ入力を、マウスもしくはタッチパッドなどの入力装置を介して、またはタッチスクリーンディスプレイを介して受信してよい。タッチ入力を、当業者にとって公知である任意の適切な手段を使用して、認識、受信、および/または処理してよい。次いで、コンピュータ装置は、ドラッグされたアイテムを判定する(404)。
【0018】
アイテムが、仮想オブジェクトまたは仮想オブジェクトに関係するインジケータもしくは識別子である場合、コンピュータ装置は仮想オブジェクトがオブジェクトグループに関してドラッグされる方向を判定する(406)。例えば、
図3Eを参照すると、コンピュータ装置は、第5の仮想オブジェクト310がオブジェクトグループ330に関係するインジケータから離れてドラッグされるかどうか、または、第4の仮想オブジェクト308に関係するインジケータがオブジェクトグループ330に関係するインジケータに向かってドラッグされるかどうかを判定する。再度
図4を参照すると、インジケータがオブジェクトグループに向かってドラッグされた場合、コンピュータ装置は仮想オブジェクトをオブジェクトグループに追加する(408)。さらに、コンピュータ装置は、メモリ領域に記憶されている仮想オブジェクトとオブジェクトグループとの関係を修正する(410)。例えば、仮想オブジェクトおよびオブジェクトグループの両方に一意の識別子を割り当てて、その両者間の関係を作成、修正、または破棄する場合に、どの仮想オブジェクトがどのオブジェクトグループに関連付けられているかを追跡するために、データベースなどのメモリ領域にリンクを作成するようにしてもよい。インジケータがオブジェクトグループから離れてドラッグされた場合、コンピュータ装置は、仮想オブジェクトをオブジェクトグループから取り除き(412)、仮想オブジェクトとオブジェクトグループとの間の関係を修正する(410)。
【0019】
アイテムがオブジェクトグループまたはオブジェクトグループに関係するインジケータもしくは識別子である場合、コンピュータ装置は仮想オブジェクトをオブジェクトグループに追加する(408)。さらに、コンピュータ装置は、メモリ領域に記憶された仮想オブジェクトとオブジェクトグループとの間の関係を修正する(410)。
【0020】
図5は、仮想オブジェクトのグループを定義するためのコンピュータ実装方法の別の実施形態を示すフローチャート500である。
図3A〜
図3Eおよび
図5を参照すると、例示的な実施形態において、ユーザは入力装置を用いて、またはタッチスクリーンディスプレイを介して、コマンドを開始する(502)。タッチ入力を、当業者にとって公知である任意の適切な手段を使用して、認識、受信、および/または処理してよい。それに応じて、コンピュータ装置は複数の仮想オブジェクトに関する識別子を表示する(504)。
図3Aは、ユーザがコマンドを開始する前の複数の仮想オブジェクト300を示し、
図3Bは、コンピュータ装置によって表示された各仮想オブジェクト300の識別子314を示す。次いで、コンピュータ装置は、入力装置の動きのような入力動作を検出する(506)。
【0021】
さらに、コンピュータ装置は、ユーザが仮想オブジェクトの識別子上またはその付近にカーソルを置いた場合に検出し(508)、仮想オブジェクトに関する追加プロンプトを表示する(510)。カーソルの配置を、入力装置による入力位置によって、またはユーザによるタッチスクリーンディスプレイを用いたタップもしくは接触の位置によって判定してもよい。
図3Cに示されるように、例えば、ユーザが第5の識別子324上またはその付近にカーソルを置いた場合、プロンプト328が表示される。これは、その仮想オブジェクトが、グループメンバーに関して操作するために、現在識別されているオブジェクトであることを示す。次いで、コンピュータ装置は、ユーザが仮想オブジェクトの識別子を、オブジェクトグループ330(
図3Dに示す)のような既存のオブジェクトグループの識別子に、ドラッグするかどうかを判定する(512)。ユーザが仮想オブジェクトの識別子をドラッグしていない場合、コンピュータ装置は次のユーザ入力を待つ。しかしながら、ユーザが仮想オブジェクトの識別子をドラッグした場合、次いでコンピュータ装置は、ユーザにその仮想オブジェクトが追加されるべきオブジェクトグループを選択するよう促す(514)。例えば、
図3Dは、第5の仮想オブジェクト310のみを含むオブジェクトグループ330を示している。ユーザが第4の仮想オブジェクト308の識別子をドラッグした場合、コンピュータ装置は、ユーザに宛先のオブジェクトグループを選択するよう促す。次いで、ユーザは、第4の仮想オブジェクト308をオブジェクトグループ330に追加するために、第4の仮想オブジェクト308の識別子をオブジェクトグループ330の識別子へドラッグすることができる。
【0022】
さらに、コンピュータ装置は、仮想オブジェクトを追加すべき新しいオブジェクトグループを作成することができる。例示的な実施形態において、コンピュータ装置は、ユーザが仮想オブジェクトに関する追加プロンプト上またはその付近にカーソルを置いた場合に検出する(516)。カーソルの配置を、入力装置による入力位置によって、またはユーザによるタッチスクリーンディスプレイを用いたタップもしくは接触の位置によって判定してもよい。次いで、コンピュータ装置は、ユーザが追加プロンプトをクリックするかどうかを検出または判定する(518)。ユーザが追加プロンプトをクリックしていない場合、コンピュータ装置は次のユーザ入力を待つ。しかしながら、ユーザが追加プロンプトをクリックした場合、コンピュータ装置はユーザに、新しいオブジェクトグループの名前を入力するよう促し(520)、仮想オブジェクトを新しいオブジェクトグループに追加し、メモリ領域内の仮想オブジェクトとオブジェクトグループとの間の関連性を修正または作成する。例えば、
図3Cは、第5の仮想オブジェクト310に関係するプロンプト328を示している。コンピュータ装置が、ユーザがプロンプト328をクリックまたは選択したことを検出した場合、および既存のオブジェクトグループがない場合、コンピュータ装置はユーザに、新しいオブジェクトグループの名前を入力するよう促す。
図3Dは、このような場合、ユーザが「グループ1」のようなオブジェクトグループ名を入力することができ、そして第5の仮想オブジェクト310が新しいオブジェクトグループに追加されたことを示している。
【0023】
コンピュータ装置はまた、オブジェクトグループから仮想オブジェクトを取り除くこともできる。例示的な実施形態において、コンピュータ装置は、ユーザが仮想オブジェクトに関する除去プロンプト上またはその付近にカーソルを置いた場合に検出する(522)。カーソルの配置を、入力装置による入力位置によって、またはユーザによるタッチスクリーンディスプレイを用いたタップもしくは接触の位置によって判定してよい。次いで、コンピュータ装置は、ユーザが除去プロンプトをクリックするかどうかを検出または判定する(524)。ユーザが除去プロンプトをクリックしていない場合、コンピュータ装置は次のユーザ入力を待つ。しかしながら、ユーザが除去プロンプトをクリックした場合、コンピュータ装置は仮想オブジェクトをその現在のオブジェクトグループから取り除き(526)、メモリ領域内の仮想オブジェクトとオブジェクトグループとの間の関連性を修正または削除する。
【0024】
さらに、コンピュータ装置は、既存オブジェクトグループを管理することができる。例示的な実施形態において、コンピュータ装置は、ユーザがオブジェクトグループの識別子上またはその付近にカーソルを置いた場合に検出し(528)、それ以前に仮想オブジェクトをオブジェクトグループに追加するためにドラッグ・アンド・ドロップ操作で取り出されたように、仮想オブジェクトの識別子が選択または取り出されるかどうかを判定する(530)。仮想オブジェクトの識別子が取り出された場合、コンピュータ装置は識別子が解放されているかどうかを判定する(532)。識別子が解放されていない場合、コンピュータ装置は待つ。識別子が解放されている場合、コンピュータ装置は仮想オブジェクトをオブジェクトグループに追加し(534)、メモリ領域内の仮想オブジェクトとオブジェクトグループとの間の関連性を修正または作成する。さらに、コンピュータ装置は、仮想オブジェクトの識別子が選択されていないか、または取り出されていないと判定した場合(530)、仮想オブジェクトに関する除去プロンプトを表示する(536)。次いで、コンピュータ装置は、オブジェクトグループの識別子が、ダブル・クリックまたはダブル・タップなどを介して選択されるどうかを判定する(538)。識別子が選択されていない場合、コンピュータ装置は次のユーザ入力を待つ。しかしながら、識別子が選択された場合、コンピュータ装置は、ユーザに、名前などのオブジェクトグループの新しい識別を入力または修正するよう促す(540)。次いで、コンピュータ装置は、オブジェクトグループに属する仮想オブジェクト(複数可)に関連して、新しい名前をメモリ領域に保存する。
【0025】
図6は、仮想オブジェクトのグループを定義する際に使用するための、ならびに/あるいは、上述のプロセスおよび/または上述のプロセスに関係し得る追加のプロセスを実行する際に使用するための、例示的コンピュータシステム600の概略ブロック図である。例示的な実施形態において、メモリ領域602は、データを記憶する際に使用するための1つまたは複数のストレージ装置604を備える。データとは、例えば、製造の機械のような物理オブジェクトのプロパティ、そのような物理オブジェクトを表すために使用される仮想オブジェクトのプロパティ、物理オブジェクトを使用でき、関連する仮想オブジェクトを使用してモデル化できるプロセスのプロパティ、ならびに、グループメンバーリストおよび/またはオブジェクトグループと仮想オブジェクトとをリンクさせる関連などである。ストレージ装置604を、1つまたは複数のデータベースとして具体化することができ、単一の地理的位置もしくは複数の地理的位置に配置することができ、またはサーバシステム606と統合することができる。いくつかの実施形態においては、メモリ領域602をサーバシステム606に接続し、サーバシステム606を、1つもしくは複数のモバイルクライアント装置608および/または1つもしくは複数の固定クライアント装置610などのクライアント装置に、ネットワーク612を介して接続する。モバイルクライアント装置608は、ラップトップコンピュータ、タブレットコンピュータ、および/またはスマートフォンを含む任意のモバイル装置であってよいが、これらに限らない。固定クライアント装置610は、デスクトップコンピュータなどの、一般的に可搬型ではない任意の装置であってよい。
【0026】
理解されようが、ネットワーク612は、インターネットのような公衆ネットワーク、LANもしくはWANのようなプライベートネットワーク、またはそれらの組み合わせであってよく、また、PSDNまたはISDNのサブネットも含んでもよい。ネットワーク612はまた、イーサネットネットワークのように有線であってもよいし、EDGE、3G、または4Gの無線セルラシステムを含むセルラネットワークのように無線であってもよい。無線ネットワークはまた、WiFi、Bluetooth(登録商標)、または、公知の他の任意の無線通信形態であってもよい。このように、ネットワーク612は、単なる例示であり、本発明の技術的範囲を限定するものではない。
【0027】
クライアント装置608および610は、
図7を参照して以下に説明されるような任意の適切なコンピュータアーキテクチャ、または公知の他の任意のコンピューティングアーキテクチャであってよい。さらに、当然のことながら、サーバシステム606は、上述のプロセスおよび/または上述のプロセスに関係し得る任意の追加のプロセスを実行するよう構成される。
【0028】
サーバシステム606は、上述のプロセス実行するためのコンピュータ可読命令を記憶し、これらの命令を、ネットワーク612を介してクライアント装置608および610に提供する。さらに、サーバシステム606はまた、クライアント装置608および610が上述のプロセスを実行するように、メモリ領域602からのデータを必要に応じてクライアント装置608および610に提供することができる。このように、
図6は、クラウドコンピューティング、分散コンピューティングなどを介したコンピュータシステム600の実装を含む。
【0029】
図7は、サーバシステム606、および/またはクライアント装置608と、610(それぞれ
図6に示す)とを用いて使用するための例示的コンピュータアーキテクチャ700の概略ブロック図である。
【0030】
例示的な実施形態において、コンピュータアーキテクチャ700は、上述のプロセスおよび/または上述のプロセスに関係し得る任意の追加のプロセスを実行する1つまたは複数のプロセッサ702(CPU)を備える。用語「プロセッサ」は、一般的に、システムおよびマイクロコントローラ、RISC(Ruduced Instruction Set Circuit)、ASIC(Application−Specific Integrated Circuit)、プログラム可能論理回路、および/または、本明細書において説明する機能を実行可能な他の任意の回路またはプロセッサを含む、任意のプログラム可能なシステムを指す。上述の例は、単なる例示であり、従って、用語「プロセッサ」の定義および/または意味を限定しようとするものでは決してない。
【0031】
上述のプロセスおよび/または上述のプロセスに関係し得る任意の追加のプロセスのステップを、例えばメモリ領域704にコンピュータ実行可能命令として記憶してよく、メモリ領域704は、プロセッサ702にシステムバス706によって動作可能および/または通信可能に接続される。本明細書において使用されるように、「メモリ領域」は、一般的に、持続性のあるプログラムコード、ならびに、仮想オブジェクトのグループを定義する際に寄与し、および/または上述のプロセスおよび/または上述したプロセスに関係し得る任意の追加のプロセスを実行する際に使用するための1つまたは複数のプロセッサにより実行可能な命令を記憶する任意の手段を指す。メモリ領域704は1つ、1つまたは複数のメモリの形態を含むことができる。例えば、メモリ領域704は、RAM(Random−Access Memory)708を備えてよく、それには、不揮発性RAM、磁気RAM、強誘電体RAM、および/または他の形態のRAMを含むことができる。メモリ領域704はまた、ROM(Read−Only Memory)710、フラッシュメモリ、および/またはEEPROM(Electrically Erasable Programmable Read−Only Memory)を備えてもよい。HDD(Hard−Disk Drive)712のような、他の任意の適切な磁気、光学式、および/または半導体のメモリを、単体でまたは他のメモリ形態と組み合わせてメモリ領域704に備えてもよい。HDD712を、プロセッサ702との間でメッセージを送受信する際に使用するためのディスクコントローラ714に接続してもよい。さらに、メモリ領域704はまた、適切なカートリッジディスク、CD−ROM、DVD、またはUSBメモリというような、取外し可能またはリームバブルメモリ716であってもよいし、またはそれを備えてもよい。上記の例は単に例示であり、従って、用語「メモリ領域」の定義および/または意味を限定しようとするものではない。
【0032】
コンピュータアーキテクチャ700はまた、ディスプレイコントローラ720に、例えば動作可能なように接続されるディスプレイ装置718を含む。ディスプレイコントローラ720は、ディスプレイ装置718によって表示するためのデータを、システムバス706を介して受信する。ディスプレイ装置718は、モニタ、テレビのディスプレイ、プラズマディスプレイ、LCD(Liquid Crystal Display)、LED(Light−Emitting Diode)に基づくディスプレイ、OLED(Organic LED)に基づくディスプレイ、ポリマーLEDに基づくディスプレイ、表面伝導型電子放出素子に基づくディスプレイ、映像および/または反射像を含むディスプレイ、または他の任意の適切な電子装置もしくはディスプレイ機構であってよいが、それらに限定されない。さらに、ディスプレイ装置718は、関連するタッチスクリーンコントローラを有するタッチスクリーンを含んでもよい。従って、上記の例は単に例示するものであって、従って、用語「ディスプレイ装置」の定義および/または意味を限定しようとするものではない。
【0033】
加えて、コンピュータアーキテクチャ700は、ネットワーク(
図7では不図示)と通信する際に使用するためのネットワークインタフェース722を備える。さらに、コンピュータアーキテクチャ700は、キーボード724、および/または、ローラーボール、マウス、タッチパッドなどのようなポインティング装置726といった、1つまたは複数の入力装置を含む。入力装置は、I/Oインタフェース728に接続され、それによって制御され、I/Oインタフェース728はさらに、システムバス706に接続される。
【0034】
ディスプレイ装置718、キーボード724、ポインティング装置726、ならびにディスプレイコントローラ720、ディスクコントローラ714、ネットワークインタフェース722、および、I/Oインタフェース728の一般的な特徴および機能性の説明は、これらの特徴が公知のため、簡潔にするために本明細書においては省略する。
【0035】
仮想オブジェクトのグループを定義および/または管理する際に使用するためのコンピュータシステム、コンピュータ実装方法、ならびにコンピュータ装置の例示的な実施形態は、上記で詳細に説明される。コンピュータシステム、コンピュータ実装方法、およびコンピュータ装置は、本明細書において説明する特定の実施形態に限るものではなく、むしろ、方法の動作、ならびに/または、システムおよび/または機器の構成要素を、本明細において説明する他の動作および/または構成要素から独立して、別個に利用してよい。さらに、説明する動作および/または構成要素を、他のシステム、方法、および/または機器と組み合わせて定義または使用してもよく、本明細書において説明するシステム、方法、および記憶媒体のみを用いて実施することに限定するものではない。
【0036】
本明細書において説明するようなコンピュータ装置は、少なくとも1つのプロセッサまたは処理ユニット、およびシステムメモリを含む。コンピュータ装置は、一般に、少なくともいくつかの形態のコンピュータ可読媒体を有する。例として、限定するものではないが、コンピュータ可読媒体には、コンピュータストレージ媒体および通信媒体を含む。コンピュータストレージ媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、もしくは他のデータなどの情報を記憶するための任意の方法または技術で実装された、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含む。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他のトランスポート機構のような変調データ信号で具体化し、任意の情報配信媒体を含む。当業者にとっては公知技術である変調データ信号であるが、変調データ信号は、1つまたは複数の特徴セットを有するか、または情報を信号に符号化するような方法で変化したものである。上記のいずれかの組み合わせもまた、コンピュータ可読媒体の範囲に含まれる。
【0037】
本発明を例示的コンピュータシステム環境に関連して説明しているが、本発明の実施形態は、多数の他の汎用または専用のコンピュータシステム環境もしくは構成で動作可能である。本明細書において説明されるコンピュータシステム環境は、本発明の如何なる態様の使用または機能性の範囲についても何ら限定を示唆しようとするものではない。さらに、コンピュータシステム環境は、例示的な動作環境において示された構成要素の何れか1つまたはそれらの組み合わせに関係して、何らかの依存性または要件を有すると解釈されるべきではない。本発明の態様で使用するのに適した既知のコンピュータシステム、環境、および/または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、携帯電話、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記システムまたは装置の何れか含む分散コンピューティング環境などを含むが、これらに限らない。
【0038】
本発明の実施形態を、1つまたは複数のコンピュータもしくは他の装置によって実行される、プログラム構成要素またはモジュールというようなコンピュータ実行可能命令の一般的文脈で説明することができる。本発明の態様を、任意の数および構成の構成要素またはモジュールを用いて実装することができる。例えば、本発明の態様は、図面で示され本明細書において説明される特定のコンピュータ実行可能命令、または特定の構成要素もしくはモジュールに限るものではない。本発明の代替的実施形態には、本明細書で示され説明されるものより多くのまたは少ない機能性を有する、様々なコンピュータ実行可能命令または構成要素を含むことができる。
【0039】
本明細書において示され説明される本発明の実施形態における動作の実行または実施の順序は、特に指定がない限り、重要ではない。つまり、動作を、特に指定がない限り、任意の順序で実施してよく、本発明の実施形態は、本明細書において開示したものよりさらに多くのまたはより少ない動作を含むことができる。例えば、ある特定の動作を、別の動作の前に、同時に、または後に実行または実施することは、本発明の態様の範囲内であると考えられる。
【0040】
本発明の態様の要素またはその実施形態を紹介する場合、冠詞「1つの」「その」および「前記」は、1つまたは複数の要素が存在すること意味しようとするものである。用語「備える」、「含む」、および「有する」は、包括的であって、リストアップされた要素以外のさらなる要素が存在するかもしれないことを意味しようとするものである。
【0041】
ここに書かれた説明は、例を使用して、最良の態様を含めて本発明を開示し、また、任意の装置またはシステムを作成および使用すること、ならびに任意の組み込まれた方法を実施することを含めて本技術分野における当業者が本発明を実施できるようにしている。本発明の特許性を有する範囲は、特許請求の範囲によって定義され、当業者が想到する他の例を含んでよい。このような他の例は、それらが特許請求の範囲の文言と違いがない構造的要素を有する場合、またはそれらが特許請求の範囲の文言とほとんど違いがない同等の構造的要素を含む場合、特許請求の範囲内であることを意図している。