IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダッソー システムズの特許一覧

特許75842623Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法
<>
  • 特許-3Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 図1
  • 特許-3Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 図2
  • 特許-3Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 図3
  • 特許-3Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 図4
  • 特許-3Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 図5
  • 特許-3Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 図6
  • 特許-3Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 図7
  • 特許-3Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】3Dシーンにおける3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法
(51)【国際特許分類】
   G06T 19/00 20110101AFI20241108BHJP
   G06F 3/0484 20220101ALI20241108BHJP
【FI】
G06T19/00 A
G06F3/0484
【請求項の数】 12
【外国語出願】
(21)【出願番号】P 2020155649
(22)【出願日】2020-09-16
(65)【公開番号】P2021051739
(43)【公開日】2021-04-01
【審査請求日】2023-09-08
(31)【優先権主張番号】19306172.8
(32)【優先日】2019-09-23
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジェレミー ランボレー
(72)【発明者】
【氏名】クリストフ デルフィーノ
(72)【発明者】
【氏名】ロメイン ペロン
(72)【発明者】
【氏名】クリストフ ベロー
(72)【発明者】
【氏名】フローラン コイク
【審査官】松永 隆志
(56)【参考文献】
【文献】特開2016-143321(JP,A)
【文献】米国特許出願公開第2014/0040832(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/0484
(57)【特許請求の範囲】
【請求項1】
デジタル的にモデル化された3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法であり、前記方法は、
- S1:3Dシーンにおいて3D位置を有する第1のデジタル的にモデル化された3Dオブジェクト(OBJ1)を提供するステップと、
- S2:第1の軸(AX1)および第1の視点に従って、前記第1のデジタル的にモデル化された3Dオブジェクトの投影を画面上にレンダリングするステップと、
- S3:ユーザアクションがあると、前記第1の軸(AX1)に沿って前記第1のデジタル的にモデル化された3Dオブジェクト(OBJ1)の3D位置を変更する間に、移動された前記第1のデジタル的にモデル化された3Dオブジェクトの前記投影を前記画面上で一定に保つために、前記第1のデジタル的にモデル化された3Dオブジェクト(OBJ1)を自動的にスケーリングするステップと
を含む方法。
【請求項2】
ステップS3は、第2の軸による第2の視点からの前記第1のデジタル的にモデル化された3Dオブジェクト(OBJ1)を表示するステップを含み、前記第2の視点および前記第2の軸は、それぞれ、前記第1の視点および前記第1の軸とは異なる請求項1に記載のコンピュータで実施される方法。
【請求項3】
前記第1の軸および前記第2の軸は相互に直交する請求項2に記載の方法。
【請求項4】
前記第1の軸(AX1)は、破線または実線により表され、前記破線または実線は、前記第1の軸と一致する請求項1乃至3いずれか一項に記載の方法。
【請求項5】
- ステップS1は、前記3Dシーンにおいて、所定の寸法および3D位置を有する第2のデジタル的にモデル化された3Dオブジェクト(OBJ2)を提供するステップを含み、
- ステップS3は、前記第2のデジタル的にモデル化された3Dオブジェクト(OBJ2)の前記3D位置および前記寸法を固定して保持するステップを含む請求項1乃至4いずれか一項に記載のコンピュータで実施される方法。
【請求項6】
ステップS3は、前記第2のデジタル的にモデル化された3Dオブジェクト(OBJ2)に対して、前記第1のデジタル的にモデル化された3Dオブジェクト(OBJ1)を迅速に位置決めできるようにするために、前記第1の軸上に、前記第2のデジタル的にモデル化された3Dオブジェクト(OBJ2)に対する少なくとも1つのスナップポイント(SP)を表示するステップを含む請求項5に記載の方法。
【請求項7】
前記スナップポイントは、
- 前記第2のデジタル的にモデル化された3Dオブジェクト(OBJ2)を囲む最小の境界ボックスの中心の前記第1の軸(AX1)上の投影、または
- 前記第2のデジタル的にモデル化された3Dオブジェクト(OBJ2)を囲む前記最小の境界ボックスの縁部の前記第1の軸上の投影
に対応する請求項6に記載の方法。
【請求項8】
ステップS3は、前記第1のデジタル的にモデル化された3Dオブジェクト(OBJ1)を強調するステップを含む請求項5乃至7いずれか一項に記載の方法。
【請求項9】
ステップS1は、前記第1のデジタル的にモデル化された3Dオブジェクト(OBJ1)を、前記画面上の2D画像の一部と少なくとも部分的に適合させるためのユーザ入力を受け取るステップを含む請求項1乃至8いずれか一項に記載の方法。
【請求項10】
請求項1乃至9のいずれか一項の方法をコンピュータシステムに実行させるためのコンピュータ実行可能命令を含む、コンピュータ可読データ記憶媒体(M1,M2,M3,M4)に記憶されたコンピュータプログラム。
【請求項11】
請求項1乃至9いずれか一項に記載の方法をコンピュータシステムに実行させるためのコンピュータ実行可能命令を含むコンピュータ可読データ記憶媒体(M1,M2,M3,M4)。
【請求項12】
メモリ(M1,M2,M3,M4)、画面(DY)に結合されたプロセッサ(P)を備えるコンピュータシステムであって、前記メモリは、請求項1乃至9いずれか一項に記載の方法を前記コンピュータシステムに実行させるためのコンピュータ実行可能命令を記憶するコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3Dシーンにおいて、デジタル的にモデル化された3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法に関する。例えば、本発明は、家具などのオブジェクトを撮影し、オブジェクトの3Dモデルを作成し、またはオブジェクトの既存の画像から開始し、さらなるCAD操作のためにそれを記憶および/または共用できるようにする。
【背景技術】
【0002】
単一の画像に基づいて、複雑な3Dの物理的なオブジェクト(例えば、平坦な上面および1つまたは複数の脚から作られたテーブルなど)のデジタルモデルを作成することは、複雑な作業である。実際に、画像は、カメラの画角および位置により決まる視点を有し、オブジェクトのすべてのパーツをモデル化するとき、その視点を考慮する必要がある。そうしないと、3Dモデルが、物理的なオブジェクトの現実的な構成を表現するようにならないはずである。以降では、3Dオブジェクトへのいずれの参照も、反対のことが明示的に述べられない限り、物理的なものではなく、デジタル的にモデル化された3Dオブジェクトを指すものとする。同様に、3Dシーンに対するいずれの参照も、反対のことが明示的に述べられない限り、物理的な世界におけるシーンではなく、コンピュータで生成されたデジタル3Dシーンを指すものとする。
【0003】
CATIAの商標下で、Dassault Systemes(ダッソーシステムズ)により提供されるものなど、コンピュータ支援設計(CAD)システムにおいて、ユーザは、単一の画像に基づき、いくつかの3Dパーツを備える複雑な3Dオブジェクトを作成することができる。そのために、ユーザは、2D画像に対して3Dパーツを描くことにより(例えば、テーブルの平坦な上面の上に第1の平行6面体を描き、足板に対して別のものを描くことにより)3Dパーツを作成する。あるいは、ユーザは、既存の3Dパーツから開始することができる。3Dパーツは、CADシステムの仮想カメラの1つだけの視点に従って組み立てられるため、その視点からの3Dパーツの相対的な位置決めは、望ましい相対的な位置決めに対応していない可能性がある。例えば、第1の視点からは、ユーザは、テーブルの平坦な上面を表すその3Dパーツと、テーブルの脚を表す3Dパーツとが整列されて見える。別の視点からは、3Dパーツは共に整列されていない可能性がある。
【0004】
3Dパーツの誤った相対的な位置決めを訂正するために、ユーザは、CATIAにおける3Dコンパスなど、グラフィカルマニピュレータを操作することができる。3Dコンパスは、例えば、回転、移動、スケーリングなどの機能が行われるオブジェクトに関連付けられ得る複数の機能のコンパクトな表現を実施する。
【0005】
ユーザは、3Dコンパスを、3Dパーツの1つ(例えば、平坦な上面を表すものなど)の方向にドラッグし、かつポインタを3Dパーツ上でリリースして、3Dコンパスを3Dパーツ上に固定する。仮想カメラの視点を変更するとき、ユーザは、3Dコンパスの矢印の1つをドラッグすることにより、3Dコンパスが固定されている3Dパーツを移動する。
【0006】
しかし、ユーザが視点を再度変更し、初期のものに戻った後、移動に起因して、移動された3Dパーツの画面上の投影寸法が変更されたように見える。移動された3Dパーツは、その初期の寸法と比較して、より大きく、または小さくなっている。したがって、ユーザは、移動された3Dパーツ上で3Dコンパスをドラッグし、次いで、リリースすることなく、3Dコンパスのスケールボタンを押して、3Dパーツが正しく再スケーリングされたと思われるまで、ポインタを移動する。
【0007】
したがって、ユーザを用いることは、2つのステップで、すなわち、1つは移動に対して、他のものは再スケーリングに対して進行するが、それは時間のかかることである。さらに、これらの2つのステップのは、望ましい相対的な位置決めを反復して取得するように繰り返され得るが、設計時間をさらに増加させる。
【0008】
例えば、「Catia Photo To Shape」(写真を形に)アプリケーション(ダッソ-システムズにより市販されている)において実施されるように、写真測量技法を用いる解決策は、非常に正確な3D再構成を可能にする。しかし、この技法は、2つの異なる視点を有する少なくとも2つの画像から開始することが必要である。したがって、その単一の画像から開始する物理的な3Dオブジェクトのモデル化に対しては、満足する解決策ではない。
【0009】
学術的な研究はさらに、最近、3Dポーズ推定に焦点を合わせている(例えば、非特許文献1参照。)。そのコンテキストでは、ヒトの2Dポーズから開始して、深層学習を用いることにより、3Dポーズを再構成することが可能である。しかし、非特許文献1は、一定のクラス、すなわち、人体に特有のものであり、他のクラスのオブジェクトに拡張され得ない。より一般的には、各ニューラルネットワークは、オブジェクトの特定クラスに適合される。
【0010】
したがって、組立体の事前の知識を必要とせずに、オブジェクトの単一の画像に基づいて、ユーザが、3Dオブジェクトを3Dシーンに迅速に位置決めするのを支援することが求められている。
【先行技術文献】
【非特許文献】
【0011】
【文献】論文「3D Human Pose Machines withSelf-supervised Learnong」(Keze Wangら、IEEE Transaction on patter、analysis and machine intelligence、2019年)
【文献】論文「Manhattan Word:Compass Direction from a Single Image by Bayesian Inference」(Coughlaら)
【発明の概要】
【0012】
次に、本発明の目的は、デジタル的にモデル化された3Dオブジェクトの位置決めを支援するためのコンピュータで実施される方法であり、方法は、
- S1:3Dシーンにおいて3D位置を有する第1のデジタル的にモデル化された3Dオブジェクトを提供するステップと、
- S2:第1の軸および第1の視点に従って、前記第1のデジタル的にモデル化された3Dオブジェクトの投影を画面上にレンダリングするステップと、
- S3:ユーザアクションがあると、第1の軸に沿って第1のデジタル的にモデル化された3Dオブジェクトの3D位置を変更する間に、移動されたオブジェクトの投影を画面上で一定に保つために、第1の3Dオブジェクトを自動的にスケーリングするステップと
を含む。
【0013】
好ましい実施形態では、ステップS3は、第2の軸による第2の視点からの前記第1のデジタル的にモデル化された3Dオブジェクトを表示するステップを含み、前記第2の視点および前記第2の軸は、それぞれ、第1の視点および第1の軸とは異なる。
【0014】
好ましい実施形態では、第1の軸および第2の軸は相互に直交する。
【0015】
好ましい実施形態では、第1の軸は、破線または実線により表され、前記破線または実線は、第1の軸と一致する。
【0016】
好ましい実施形態では、
- ステップS1は、3Dシーンにおいて、所定の寸法および3D位置を有する第2のデジタル的にモデル化された3Dオブジェクトを提供するステップを含み、
- ステップS3は、第2のデジタル的にモデル化された3Dオブジェクトの3D位置および寸法を固定して保持するステップを含む。
【0017】
好ましい実施形態では、ステップS3は、第2のデジタル的にモデル化された3Dオブジェクトに対して、第1のデジタル的にモデル化された3Dオブジェクトを迅速に位置決めできるようにするために、第1の軸上に、第2のデジタル的にモデル化された3Dオブジェクトに対する少なくとも1つのスナップポイントを表示するステップを含む。
【0018】
好ましい実施形態では、スナップポイントは、
- 第2のデジタル的にモデル化された3Dオブジェクトを囲む最小の境界ボックスの中心の第1の軸上の投影、または
- 第2のデジタル的にモデル化された3Dオブジェクトを囲む最小の境界ボックスの縁部の第1の軸上の投影
に対応する。
【0019】
好ましい実施形態では、ステップS3は、第1のデジタル的にモデル化された3Dオブジェクトを強調するステップを含む。
【0020】
好ましい実施形態では、ステップS1は、前記第1のデジタル的にモデル化された3Dオブジェクトを、画面上の2D画像の一部と少なくとも部分的に適合させるためのユーザ入力を受け取るステップを含む。
【0021】
本発明はまた、前述の方法をコンピュータシステムに実行させるためのコンピュータ実行可能命令を含む、コンピュータ可読データ記憶媒体に記憶されたコンピュータプログラム製品に関する。
【0022】
本発明はまた、前述の方法をコンピュータシステムに実行させるためのコンピュータ実行可能命令を含むコンピュータ可読データ記憶媒体に関する。
【0023】
本発明はまた、メモリ、画面に結合されたプロセッサを備えるコンピュータシステムに関し、メモリは、前述の方法をコンピュータシステムに実行させるためのコンピュータ実行可能命令を記憶する。
【図面の簡単な説明】
【0024】
本発明のさらなる特徴および利点は、後に続く記述を添付図面と併せて読めば、明らかになろう。
図1】本発明による方法の流れ図である。
図2】第1の視点による、3D形状の選択、この場合、テーブルの平坦な上面、およびテーブルの足板である3次元においてモデル化された組立体を含む画像の図である。
図3】オブジェクトの再スケーリングの概略図である。
図4】第2の視点から、第1および第2の3Dオブジェクトを表示する3Dシーンの図である。
図5】仮想カメラの第1の軸に沿ってドラッグする図である。
図6】スナップポイントの図である。
図7】3Dオブジェクトの訂正された位置を含む3D組立体の図である。
図8】本発明による方法を実行するのに適したコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0025】
方法の第1ステップ(図1の流れ図のステップS1)において、第1の(デジタル的にモデル化された)3DオブジェクトOBJ1が提供される。第1のオブジェクトOBJ1は、3D位置に従って、(コンピュータで生成された)3Dシーンに存在する。それは、ユーザによって作成されたものであるか、またはそれは、ユーザが操作を開始する前に、3Dシーンにすでに存在することができる。
【0026】
第2ステップ(図1の流れ図のステップS2)では、図2で示されるように、第1の3DオブジェクトOBJ1の投影が、ユーザの電子コンピューティングデバイス(コンピュータ、ラップトップ、タブレット、スマートフォン)の画面上にレンダリングされる。
画像IMは、3Dにモデル化される組立体を含む。この場合、2D画像は、3つのパーツから作られたテーブルを備える、すなわち、平坦な上面、底板、および平坦な上面を支持する脚であり、それは、底板上に存在する。以下では、2つの3Dオブジェクトだけの正しい位置決めが開示される。組立体を構成する他の3Dオブジェクトの位置決めは、2つのオブジェクトに対するものと同様な方法で実施される。
【0027】
ユーザが2D画像で開始する場合、描画視点が検出される必要がある。本発明の方法は、描画視点が容易に検出され得るため、マンハッタン仮説に適合する画像に対して特に適している。マンハッタン仮説は、非特許文献2に開示される。画像において、3つの直交する主方向が存在する場合、すなわち、平行線の3つの主なセットがある場合、画像は、マンハッタン仮説に適合する。
【0028】
次に、右の描画視点が得られた後、ユーザは、マンハッタン仮説に適合する画像に対して検出された3つの直交する主方向に基づき、2D画像上に、3Dオブジェクト(3D形状とも呼ばれる)を描くことができる。画面上の2D画像の一部と少なくとも部分的に適合する第1の3DオブジェクトOBJ1のユーザ入力が受け取られる。
【0029】
少なくとも1つの消失点を識別することにより、2D画像上で、描画視点が検出され得る。消失点は、3次元空間において、相互に平行な線の2次元的な視点投影の収束点相当する。したがって、描画視点は消失点の形をとる。1つの消失点P1が、図2の右部分に示されている。別のものは、図2の左部分で識別されるはずであるが、分かりやすくするために示されていない。
【0030】
第1の3DオブジェクトOBJ1が、描画視点に従って描かれている。この場合、ユーザは、画面の第1の点から、長方形の対向するコーナとして画定される別の点へと、ポインタ(マウス、指、またはスタイラス)をドラッグすることにより長方形を描く。次いで、ユーザは、平行6面体を作成するために、長方形に対して押出し(extrusion)操作を行う。2D画像の上に描かれた3Dオブジェクトである第1のオブジェクトOBJ1が作成される。それは、テーブルの平坦な上面に対応する。第2のオブジェクトOBJ2を描くために、同じステップが実施される。しかし、本発明による方法は、1つの3Dオブジェクトだけに対するものであっても実施され得る。
【0031】
3DオブジェクトOBJ1(図3における人物)が3Dシーンにおいて提供され、それは、第1の軸AX1および第1の視点VP1に従って、仮想カメラCAMによりレンダリングされる。第1の視点VP1は、カメラの3D位置に対応する。第1の軸AX1は、第1の視点VP1と、3Dシーンに位置されるすべての3Dオブジェクトの境界ボックスの重心とを接続する。図3では、3Dシーンは、1つだけの3Dオブジェクトを、すなわち、3DオブジェクトOBJ1だけを含むものと考えられる。
【0032】
次いで、第3ステップ(図1の流れ図のステップS3)において、ユーザは、第1のオブジェクトOBJ1を、第1の軸AX1に沿ってドラッグ(リリースすることなく押す)する。第1のオブジェクトOBJ1を、第1の軸AX1に沿ってドラッグする間に、画面SCR上で第1のオブジェクトOBJ1の投影を一定に保つため、第1のオブジェクトOBJ1は、再スケーリングされる。
【0033】
再スケーリングは、まず、第1の視点と、第1のオブジェクトOBJ1を囲む最小の境界ボックスCBBの中心との間の距離DOldPositionを計算することにより実施される。図3では、第1のオブジェクトOBJ1を操作する前に、第1の視点VP1、すなわち、仮想カメラの位置と、第1のオブジェクトOBJ1との間の距離は、DOldPositionと記される。ユーザが、第1のオブジェクトOBJ1を第1の軸AX1に沿ってドラッグするとき、第1の視点VP1と、移動された第1のオブジェクトOBJ1の間の距離をDNewPositionと記すものとする。さらに、第1のオブジェクトOBJ1が、距離DOldPositionだけ第1の視点VP1から離れているとき、第1のオブジェクトOBJ1の1つの寸法、例えば、その高さをHOldPositionと記すものとし、第1のオブジェクトOBJ1が、第1の視点VP1から距離DNewPositionだけ離れているとき、同じ寸法をHNewPositionと記すものとする。寸法HNewPositionは、以下の関係により計算される。
【0034】
【数1】
【0035】
次いで、第1のオブジェクトOBJ1は、再スケーリングされる。
【0036】
ユーザが、第1のオブジェクトOBJ1を第1の視点VP1から離れるようにドラッグするとき、第1のオブジェクトOBJ1は拡大され、またユーザが、第1のオブジェクトOBJ1を、第1の視点VP1に近づくようにドラッグするとき、第1のオブジェクトOBJ1は、より小さくなる。その結果、第1のオブジェクトOBJ1の投影は一定に保たれ、ユーザは、コンパスを用いることにより、第1のオブジェクトOBJ1を手動で再スケーリングする必要がなくなる。
【0037】
好ましい実施形態では、第1の3DオブジェクトOBJ1は、仮想カメラの第2の視点VP2および第2の軸AX2に従って表示される。このためには、図2で示されるように、第1のオブジェクトOBJ1が、第1の視点VP1および第1の軸AX1に従って画面上にレンダリングされたとき、ユーザは、仮想カメラの第2の視点VP2および第2の軸AX2に従って第1のオブジェクトOBJ1の表示をトリガするコマンドを(例えば、メニューからの専用ボタン、またはコンテキスト(contextual)ボタンをクリックすることにより)選択する。したがって、ユーザは、第1のオブジェクトOBJ1の再スケーリングを見ることができ、また第1のオブジェクトOBJ1を細かくドラッグすることもできる。
【0038】
第1の軸AX1と第2の軸AX2が相互に直交していると有利である。このように、ユーザは、軸AX1上で、第1の3DオブジェクトOBJ1の位置を容易に見ることができる。
【0039】
図4は、第2の視点VP2に従って表示された第1の3DオブジェクトOBJ1を示す。図4では、第1のオブジェクトOBJ1および第2のオブジェクトOB2が、正しく整列されていないことが分かる。したがって、ユーザは、両方のオブジェクトの相対的な位置が正しいと評価するまで、第1のオブジェクトOBJ1を第1の軸AX1に沿ってドラッグする。
【0040】
好ましい実施形態では、3Dシーンが、第1の視点に従ってレンダリングされるとき、ユーザは、移動されるべきオブジェクトを、その上をクリックすることにより選択し、移動されたオブジェクトは強調される。例えば、選択されたオブジェクトの輪郭が点滅する、または第1のオブジェクトOBJ1オブジェクトの色が、選択された後に変化する。他の3Dオブジェクトが、3Dシーンにインポートされている、または描かれている場合、これらのオブジェクトは強調されない。したがって、移動されるべきオブジェクトが、3Dシーンにおいて他のオブジェクトにより部分的に隠されている場合であっても、ユーザは、それを容易に3Dシーン内で識別することができる。
【0041】
第1の軸AX1は、第1の軸AX1と一致する破線または実線により表されると有利である。したがって、ユーザが、第1の3DオブジェクトOBJ1の位置を変更したとき、第1の3DオブジェクトOBJ1の変位が、容易に予測され得る。破線または実線がない場合、第1の軸AX1および第2の軸AX2が直交していない場合は特に、ユーザが、第1の視点の位置を第2の視点と比較して評価するのが困難になるであろう。第2の軸AX2に対する第1の軸AX1の正確な方向付けを評価することも困難になるであろう。この実施形態はまた、3Dオブジェクトが第2の視点VP2を隠すことに起因して、第2の軸AX2が、第1の軸AX1と直交できないときに有用である。これは、3Dシーンが、多数の3Dオブジェクトを含む場合に生ずる可能性がある。
【0042】
図4は、第1の軸AX1に沿った第1のオブジェクトOB1の変位を示す。第1のオブジェクトOBJ1は、次に第1の視点VP1のより近くになり、第1のオブジェクトOBJ1は、より小さくなる。したがって、カメラが第1の視点V1に位置されるとき、画面上の第1のオブジェクトOBJ1の投影は一定に保たれる。
【0043】
好ましい実施形態では、少なくとも第1および第2の3Dオブジェクトが、互いに対して相対的に位置決めされる必要がある場合、ステップS3は、第1の軸上に、第2の3DオブジェクトOBJ2に対する少なくとも1つのスナップポイントを表示するステップを含む。以降では、スナップポイントは、第1の軸AX1上の第2の3DオブジェクトOBJ2の特性点の投影に対応する位置において、第1の軸AX1上に位置決めされたグラフィカルなアイコンである。したがって、スナップポイントSPにおける第1の3DオブジェクトOBJ1の動きは、第1の軸AX1の他の部分上と同じようには速くなく、ユーザは、第2の3Dに対して、第1の3DオブジェクトOBJ1の非常に細かく、かつ正確な調整を行うことが可能になる。例えば、第1の3DオブジェクトOBJ1をドラッグするとき、ポインタをスナップポイントの上で進めることは、第1の軸AX1の他の部分におけるよりも遅くなり得る。あるいは、第1のオブジェクトは、スナップポイントSP上を進むとき、そこに固定され得る(しかし、ユーザが第1の3DオブジェクトOBJ1を移動させることを完全に妨げるものではない)。
【0044】
スナップポイントは、
- 第2の3DオブジェクトOBJ2を囲む最小の境界ボックスの中心の第1の軸AX1上の投影、または
- 第2の3DオブジェクトOBJ2を囲む最小の境界ボックスの縁部の第1の軸上の投影
に対応すると有利であり得る。
【0045】
図6で示されるように、同じオブジェクトのいくつかのスナップポイントが、第1の軸AX1上で表示され得る。したがって、ユーザは、第2の3DオブジェクトOBJ2を囲む最小の境界ボックスの中心、または境界ボックスの縁部のうちの1つと、第1の3Dオブジェクトを整列させるように選択することができる。スナップポイントのタイプは、構成可能である。
【0046】
ユーザは、例えば、マウスの中央のボタンを押しながらマウスを動かす組合せを用いることによって、第1の3DオブジェクトOBJ1が予想通り位置決めされているかを確認するために、3Dシーン内をナビゲートすることができる。例えば、ユーザは、図7で示されるように、第1の視点に従って仮想カメラを再度位置決めすることができる。
【0047】
ユーザはまた、いつでも、3Dオブジェクトの外側の3Dシーンにおいて、クリックする(押す、およびリリースする)ことによって、図2で示される2D画像へと切り替えることができる。したがって、ユーザは、3Dオブジェクトの寸法が、一定のままであることを確認することができる。
【0048】
本発明の別の実施形態では、2D画像を画面の主要部分に表示しながら、カメラの別の視点による3Dシーンがサムネイル画で表示され得る。したがって、ユーザは、3Dオブジェクトの1つを移動させて、再度整列させる必要のあることが分かる。
【0049】
本発明の方法は、ハードディスク、ソリッドステートディスク、またはCD-ROMなどのコンピュータ可読媒体上に不揮発性の形態で適切なプログラムを記憶し、かつそのマイクロプロセッサおよびメモリを用いてプログラムを実行する、適切にプログラムされた汎用コンピュータ、またはおそらくコンピュータネットワークを含むコンピュータシステムにより実行され得る。
【0050】
本発明の例示的な実施形態による方法を実行するのに適したコンピュータCPTが、図8を参照して述べられる。図8では、コンピュータCPTは、RAM M1もしくはROM M2、またはハードディスクドライブ(HDD)M3、DVD/CDドライブM4などのメモリデバイスに記憶されたか、または遠隔的に記憶された実行可能プログラム、すなわち、コンピュータ可読命令のセットを動作させながら、上記で述べられた方法ステップを実施する中央処理装置(CPU)Pを含む。さらに、方法のステップS1で作成された3Dオブジェクトはまた、1つもしくは複数のメモリデバイスM1からM4に、または遠隔的に記憶され得る。
【0051】
特許請求される本発明は、コンピュータ可読命令、および/または本発明のプロセスのデータ構造が記憶されるコンピュータ可読媒体の形態により制限されない。例えば、命令およびファイルは、CD、DVD、フラッシュメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスクに、またはサーバもしくはコンピュータなど、コンピュータが通信する任意の他の情報処理デバイスに記憶され得る。プログラムおよびファイルは、同じメモリデバイスに、または異なるメモリデバイスに記憶され得る。
【0052】
さらに、本発明の方法を実行するのに適したコンピュータプログラムは、ユーティリティアプリケーション、バックグラウンドデーモン、もしくはオペレーティングシステムの構成要素、またはそれらの組合せとして提供されることができ、CPU P、およびマイクロソフトVISTA、マイクロソフトWindows10、UNIX、Solaris、LINUX、Apple MAC-OS、および当業者に知られた他のシステムなどのオペレーティングシステムと共に実行する。
【0053】
CPU Pは、アメリカのインテルからのXenonプロセッサ、もしくはアメリカのAMDからのOpteronプロセッサとすることができ、またはアメリカのFreescaleコーポレーションからのFreescale ColdFire、IMX、またはARMプロセッサなどの他のプロセッサタイプとすることができる。あるいは、CPUは、アメリカのIntelコーポレーションからのCore2 Duoなどのプロセッサとすることができ、またはFPGA、ASIC、PLDにおいて、または当業者であれば理解するようにディスクリートの論理回路を用いて実施され得る。さらにCPUは、上記で述べた本発明のプロセスのコンピュータ可読命令を実施するように協動して動作する複数のプロセッサとして実施され得る。
【0054】
図8のコンピュータCPTはまた、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、および同様のものなど、ネットワークとインターフェースをとるために、アメリカのIntelコーポレーションからのIntelイーサネットPROネットワークインターフェースカードなど、ネットワークインターフェースNIを含む。コンピュータは、ヒューレットパッカードHPL2445w LCDモニタなど、ディスプレイDYとインターフェースをとるために、アメリカのNVIDIAコーポレーションからのNVIDIA GeForce GTXグラフィックスアダプタなど、ディスプレイコントローラDCをさらに含む。汎用I/OインターフェースIFは、キーボードKB、およびローラボール、マウス、タッチパッドなどのポインティングデバイスPDとインターフェースをとる。ディスプレイ、キーボード、およびポインティングデバイスは、ディスプレイコントローラおよびI/Oインターフェースと共に、グラフィカルユーザインターフェースを形成し、入力コマンドを提供するためにユーザにより使用され、かつ3Dオブジェクトを表示するためにコンピュータにより使用される。
【0055】
ディスクコントローラDKCは、HDD M3およびDVD/CD M4を通信バスCBSと接続し、それは、コンピュータの構成要素のすべてを相互接続するためのISA、EISA、VESA、PCI、または同様のものとすることができる。
ディスプレイ、キーボード、ポインティングデバイス、ならびにディスプレイコントローラ、ディスクコントローラ、ネットワークインターフェース、およびI/Oインターフェースの一般的な特徴および機能の説明は、これらの特徴は知られているので、簡略化のために本明細書からは除外される。
【0056】
本明細書で述べられるいずれの方法ステップも、特定の論理機能、またはプロセスにおけるステップを実施するための1つもしくは複数の実行可能命令を含むコードのモジュール、セグメント、もしくは部分を表すものと理解されるべきであり、代替的実装形態は、本発明の例示的な実施形態の範囲に含まれる。
図1
図2
図3
図4
図5
図6
図7
図8