(57)【要約】      （修正有）【課題】３Ｄオブジェクトを３Ｄシーン内で設計および描画するための方法を提供する。【解決手段】３Ｄオブジェクトを描画するための方法であって、仮想カメラの第１の姿勢に対応する第１の視錐台内でレンダリングされる、第２の平面および第３の平面と直交する第１の平面内の少なくとも１つの第１のストロークをスケッチするステップと、ユーザのコマンドに応答して、仮想カメラの第１の姿勢から第２の姿勢に切り換え、第１の視錐台から仮想カメラの第２の姿勢に対応する、仮想カメラの側面上の近平面によって境界が示される第２の視錐台に切り換えるステップと、その法線が近平面の法線に最も近い、第１の平面、第２の平面及び第３の平面のうちの一平面を現描画平面として選択するステップと、現描画平面内の少なくとも１つの第２のストロークをスケッチするステップと、を含む。【選択図】なし【特許請求の範囲】
【請求項１】
３Ｄオブジェクトを描画するためのコンピュータ実施方法であって、前記３Ｄオブジェクトは、仮想カメラを通じてコンピュータ画面上の３Ｄシーン内でレンダリングされ、
前記仮想カメラの第１の姿勢に対応する第１の視錐台内でレンダリングされる第１の平面（ＰＬ１）内の少なくとも１つの第１のストローク（ＳＴ１）をスケッチするステップであって、前記第１の平面は第２（ＰＬ２）および第３の平面（ＰＬ３）と直交する、該ステップと、
ユーザのコマンドに応答して、前記仮想カメラの前記第１の姿勢から第２の姿勢に切り換え、前記第１の視錐台から前記仮想カメラの前記第２の姿勢に対応する第２の視錐台に切り換えるステップであって、前記第２の視錐台は前記仮想カメラの側面上の近平面によって境界が示される、該ステップと、
その法線が前記近平面の法線に最も近い、前記第１の平面（ＰＬ１）、前記第２の平面（ＰＬ２）、および前記第３の平面（ＰＬ３）のうちの一平面を現描画平面として選択するステップと、
前記現描画平面内の少なくとも１つの第２のストローク（ＳＴ２）をスケッチするステップと
を含むことを特徴とする方法。
【請求項２】
前記近平面の法線と、前記第１の平面（ＰＬ１）、前記第２の平面（ＰＬ２）、および前記第３の平面（ＰＬ３）のそれぞれの法線とのスカラ積の絶対値を計算するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記現描画平面は前記第１の平面（ＰＬ１）に直交し、当該方法は、前記近平面に最も近い前記第１の平面（ＰＬ１）内の最後にスケッチされた第１のストローク（ＳＴ１）の先端を決定するステップを含み、前記現描画平面は前記先端を通過し、前記先端が前記現描画平面の原点（ＯＲ）として定義されることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記３Ｄシーンのストローク（ＳＴ１、ＳＴ２）のうちの１つの３Ｄポイントを指定するアクティブ化入力に応答して、前記現描画平面が通過する原点（ＯＲ）を設定するステップを含むことを特徴とする請求項１ないし３のいずれか１つに記載の方法。
【請求項５】
前記アクティブ化入力は、アクティブ化ボタンの解放まで、スケッチされたストローク（ＳＴ１、ＳＴ２）のうちの１つに沿って前記３Ｄシーン内でポインティング要素（ＰＥ）を移動している間、前記アクティブ化ボタンの押下および保持をし、それによって、指定された３Ｄポイント上の前記現描画平面の原点（ＯＲ）を設定するステップを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記アクティブ化ボタンは、キーボードボタンであることを特徴とする請求項５に記載の方法。
【請求項７】
前記現描画平面の視覚フィードバックを提供するステップを含むことを特徴とする請求項１ないし６のいずれか１つに記載の方法。
【請求項８】
前記視覚フィードバックは、前記現描画平面の前記ストロークの強調表示であることを特徴とする請求項７に記載の方法。
【請求項９】
前記近平面から最も近い平面を第１の平面として定義する初期ステップを含むことを特徴とする請求項１ないし８のいずれか１つに記載の方法。
【請求項１０】
以前に定義された平面を第１の平面として定義する初期ステップを含むことを特徴とする請求項１ないし８のいずれか１つに記載の方法。
【請求項１１】
請求項１ないし１０のいずれか１つに記載の方法をコンピュータシステムに実施させるためのコンピュータ実行可能命令を含む、非一時的コンピュータ可読データ記憶媒体（ＭＥＭ１乃至ＭＥＭ４）上に記憶されたことを特徴とするコンピュータプログラム製品。
【請求項１２】
請求項１ないし１０のいずれか１つに記載の方法をコンピュータシステムに実施させるためのコンピュータ実行可能命令（ＥＸＰ）を含むことを特徴とする非一時的コンピュータ可読データ記憶媒体（ＭＥＭ１乃至ＭＥＭ４）。
【請求項１３】
メモリ（ＭＥＭ１乃至ＭＥＭ４）およびグラフィカルユーザインターフェース（ＫＢ、ＰＤ、ＤＣ、ＤＹ）に結合されたプロセッサ（ＣＰ）を備えるコンピュータシステムであって、前記メモリは、請求項１ないし１０のいずれか１つに記載の方法を前記コンピュータシステムに実施させるためのコンピュータ実行可能命令（ＥＸＰ）を記憶することを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、３次元（３Ｄ）モデル化オブジェクトを３Ｄシーン内で設計および描画するためのコンピュータ実施方法の分野に関する。
【０００２】
本発明は、３Ｄオブジェクトの設計（スケッチング、モデリング、検討、ＣＡＤ．．．）の分野に属する。詳細には、本発明は、Ｄａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓによって提供されるＮａｔｕｒａｌ  Ｓｋｅｔｃｈなどのソフトウェア製品を使用することのできる、スケッチング分野に属する。（例えば、タブレットと、スタイラスまたはマウスとを用いる）いくつかのストロークで、ユーザ／設計者は、ユーザ／設計者のスケッチのフル３Ｄ曲線を得る。次いで、ユーザ／設計者は、ユーザ／設計者が想像した概念に達するまで、これらの曲線を容易に修正することができる。したがって、ユーザは、３Ｄモデリングのステップがユーザの描画の３Ｄレンダリングを有するのを待機する必要がない。
【背景技術】
【０００３】
Ｎａｔｕｒａｌ  Ｓｋｅｔｃｈなどの製品の機能のうちの１つは、ユーザが３Ｄモデルを描画することを可能にすることである。そのようなことを行うために、ユーザは様々な可能性を有する。例えば、シーン内に、ユーザがその上に描画する表面（車、球．．．）があることがある。表面は３次元であるので、表面上の曲線は３Ｄ曲線となる。しかし、ユーザが依拠することのできる表面を有さないとき、すなわちユーザが３Ｄモデルを最初から作成したいとき、ユーザは、その他の方法で続行する必要がある。
【０００４】
そのケースでは、すべての平面が定義されるまで、ユーザは、描画コマンドボタンから平面選択コマンドボタンに、およびその逆に切り換える。最初から始めると、ユーザはまず、どの平面上でユーザが描画しようとするかを定義する必要がある。そのために、ユーザは、デフォルト平面（例えばｘｚ平面）上で描画を開始することができる。ユーザがデフォルト平面とは異なる平面上で描画を開始したい場合、ユーザはやはり、平面選択コマンドボタンを押下することができる。平面マニピュレータ（Ｎａｔｕｒａｌ  Ｓｋｅｔｃｈでは正方形）は、ユーザがその上で描画を開始したい平面をユーザが選び、移動する（平行移動、回転．．．）することを可能にする。ポインティング要素（カーソル）が平面マニピュレータの縁部のうちの１つの近くに移動されるとき、縁部が強調表示される。次いで、平面マニピュレータの中心を通過し、強調表示された縁部に平行な軸の周りに、描画平面を回転することができる。平面マニピュレータ上でのマウスの左押下で、ユーザは、マウスの移動中に選択される角度に従って、描画平面を変更することができる。ユーザはまた、描画平面の原点を変更することができる。そのために、ユーザは、正方形の平面マニピュレータ内部に位置する平面マニピュレータの中心正方形上にポインティング要素を移動する。ポインティング要素が中心正方形内に移動されるとき、中心正方形の強調表示などの視覚フィードバックが行なわれる。次いで、ユーザは、マウスの左ボタンを押下しながら、中心正方形の平面の法線に沿って描画平面の原点を平行移動することができる。その後で、ユーザは、描画コマンドボタンを（例えば、マウスの左ボタンで、またはスタイラス／指で）押下し、上記で定義されたような描画平面内の少なくとも１つの第１のストロークを（例えば、マウスの左ボタンで、またはスタイラス／指で）スケッチすることができる。次いで、ユーザが描画平面を変更したい場合、ユーザは、平面マニピュレータを使用するように、平面選択コマンドボタンを再び押下しなければならない。描画プロセス全体にわたって、ユーザは、視点を変更するために、例えば、マウスの中央ボタンを押下しながらマウスを移動する組合せを使用することによって、３次元シーン内をナビゲートすることができる。
【０００５】
作成段階中に続行するためのこの方式は、かなり厄介である。実際に、平面マニピュレータの使用では、定義すべき平面を変更するために、まず（一般にはシーン外部にある）平面選択コマンドを立ち上げ、次いで平面マニピュレータで平面を所望の向きおよび位置に置くために、多くのマウス変位が必要とされる。続行するためのこの方式はまた、時間がかかり、直感的ではない。ユーザはユーザが行ないたいことを知っており、ユーザは何らかの着想を有するが、ユーザが必要とする平面を定義するために平面選択コマンドにおいて行ったり来たりし続けるからである。既存の解決策の別の欠点は簡潔さの欠如であり、所望の向きおよび位置を有する平面を得るために、ユーザは、回転（例えば、平面の４つの縁部のうちの１つの周りの回転）と、様々な平行移動（例えば、平面の法線に沿った平行移動）とを組み合わせなければならない。
【発明の概要】
【課題を解決するための手段】
【０００６】
したがって、本発明の目的は、特定のコマンドの実行を必要とすることなく、描画プロセス中にマウスが移動する距離も小さくする、３Ｄシーン内で平面を定義し、定義した平面上で３Ｄオブジェクトを描画するための直感的な方法を提供することである。
【０００７】
本発明の一態様によれば、３Ｄオブジェクトを描画するためのコンピュータ実施方法であって、前記３Ｄオブジェクトが、仮想カメラを通じてコンピュータ画面上の３Ｄシーン内でレンダリングされ、
仮想カメラの第１の姿勢に対応する第１の視錐台内でレンダリングされる第１の平面内の少なくとも１つの第１のストロークをスケッチするステップであって、前記第１の平面が第２および第３の平面と直交するステップと、
ユーザのコマンドに応答して、仮想カメラの第１の姿勢から第２の姿勢に切り換え、第１の視錐台から仮想カメラの第２の姿勢に対応する第２の視錐台に切り換えるステップであって、前記第２の視錐台は、仮想カメラの側面上の近平面によって境界が示されるステップと、
その法線が近平面の法線に最も近い、第１、第２、および第３の平面のうちの一平面を現描画平面として選択するステップと、
現描画平面内の少なくとも１つの第２のストロークをスケッチするステップと
を含む方法が提案される。
【０００８】
本発明の特定の実施形態によれば、
方法は、近平面の法線と、第１、第２、および第３の平面のそれぞれの法線とのスカラ積の絶対値を計算するステップを含むことができる。
【０００９】
現描画平面が第１の平面に直交し、方法は、近平面に最も近い第１の平面内の最後にスケッチされた第１のストロークの先端を決定するステップを含むことができ、現描画平面は前記先端を通過し、前記先端が現描画平面の原点として定義される。
【００１０】
方法は、３Ｄシーンのストロークのうちの１つの３Ｄポイントを指定するアクティブ化入力に応答して、現描画平面が通過する原点を設定するステップを含むことができる。
【００１１】
アクティブ化入力は、アクティブ化ボタンの解放まで、スケッチされたストロークのうちの１つに沿って３Ｄシーン内でポインティング要素を移動している間、アクティブ化ボタンの押下および保持をし、それによって、指定された３Ｄポイント上の現描画平面の原点を設定することを含むことができる。
【００１２】
アクティブ化ボタンはキーボードボタンでよい。
【００１３】
方法は、現描画平面の視覚フィードバックを提供するステップを含むことができる。
【００１４】
視覚フィードバックは、現描画平面のストロークの強調表示でよい。
【００１５】
近平面から最も近い平面を第１の平面として定義する初期ステップを含むことができる。
【００１６】
方法は、以前に定義された平面を第１の平面として定義する初期ステップを含むことができる。
【００１７】
事前定義された方法をコンピュータシステムに実施させるためのコンピュータ実行可能命令を含む、非一時的コンピュータ可読データ記憶媒体上に記憶されたコンピュータプログラム製品も提案される。
【００１８】
事前定義された方法をコンピュータシステムに実施させるためのコンピュータ実行可能命令を含む非一時的コンピュータ可読データ記憶媒体も提案される。
【００１９】
メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備えるコンピュータシステムも提案され、メモリは、事前定義された方法をコンピュータシステムに実施させるためのコンピュータ実行可能命令を記憶する。
【００２０】
非限定的な例として説明され、添付の図面によって示されるいくつかの実施形態を調査することで、本発明がより良く理解される。
【図面の簡単な説明】
【００２１】
【図１】視錐台の一例を示す図である。
【図２】本発明による、３Ｄシーン内で３Ｄオブジェクトを描画するための方法の一例を示す図である。
【図３】本発明による、３Ｄシーン内で３Ｄオブジェクトを描画するための方法の一例を示す図である。
【図４】本発明による、３Ｄシーン内で３Ｄオブジェクトを描画するための方法の一例を示す図である。
【図５】本発明による、３Ｄシーン内で３Ｄオブジェクトを描画するための方法の一例を示す図である。
【図６】本発明による、３Ｄシーン内で３Ｄオブジェクトを描画するための方法の一例を示す図である。
【図７】本発明による、３Ｄシーン内で３Ｄオブジェクトを描画するための方法の一例を示す図である。
【図８】本発明による方法の異なるステップのフローチャートを示す図である。
【図９】本発明の異なる実施形態による方法を実施するのに適したコンピュータシステムのブロック図を示す図である。
【図１０】本発明の異なる実施形態による方法を実施するのに適したコンピュータシステムのブロック図を示す図である。
【発明を実施するための形態】
【００２２】
以下では、「視錐台（ｖｉｅｗｉｎｇ  ｆｒｕｓｔｕｍ）」ＦＲＵとは、ユーザに対して画面上にレンダリングすることのできる空間の領域を指し、仮想カメラＣＡＭの視野である。図１は、視錐台ＦＲＵの上面図である。視錐台ＦＲＵは切頭角錐である。仮想カメラの閲覧方向に垂直に視錐台を切断する平面は、「近平面」ＮＰＬおよび「遠平面」ＦＰＬと呼ばれる。仮想カメラＣＡＭの側面上の近平面ＮＰＬと、反対側の側面上の遠平面ＦＰＬとによって、視錐台の境界が示される。左側平面ＬＰＬ、右側平面ＲＰＬ、頂部平面（図示せず）、および底部平面（図示せず）によっても、視錐台の境界が示される。
【００２３】
以下では、仮想カメラの「姿勢」（視点とも呼ばれる）とは、シーン上の固定基準フレームに対するその位置および向きを指す。
【００２４】
以下では、平面が、２つの主非共線ベクトル
【００２５】
【数１】
2019121387.tif 000002
【００２６】
および１つの原点（Ｏ）によって定義される。平面は、関係
【００２７】
【数２】
2019121387.tif 000003
【００２８】
（ｘおよびｙは実数である）によって定義される３Ｄ空間のポイントＭの集合である。したがって、平面の原点は、平面がそれを通過する３Ｄポイントである。平面の法線
【００２９】
【数３】
2019121387.tif 000004
【００３０】
は、
【００３１】
【数４】
2019121387.tif 000005
【００３２】
と
【００３３】
【数５】
2019121387.tif 000006
【００３４】
のベクトル積を行うことによって容易に戻される。したがって、２つの平行かつ互いに素な平面（Ｐ１，Ｐ２）が、相異なる原点と共に、同一の主非共線ベクトル
【００３５】
【数６】
2019121387.tif 000007
【００３６】
によって特徴付けられる。平面Ｐ２の原点は、平面Ｐ１の原点を平面Ｐ２上に射影した結果として得られる。本願では、平面の原点は、３Ｄシーン内の平面の「深さ」を指す。
【００３７】
図２は本発明の第１のステップを示す。ユーザは、初期平面内の第１のストロークＳＴ１の描画を開始する。初期平面は、第２の平面（ＰＬ２）および第３の平面（ＰＬ３）と直交する。初期平面はデフォルト平面または以前に定義された平面である。初期平面内の第１のストロークＳＴ１を描画するために、ユーザはスケッチング入力を利用する。例えば、スケッチング入力は、マウスの左ボタン、またはタッチモードにおけるスタイラスまたは指でよい。ユーザがスケッチング入力を維持している間（例えば、マウスの左ボタンを押下および保持する間、またはタッチセンシティブ表面に対するスタイラスまたは指の接触を保つ間）、第１のストロークＳＴ１がスケッチされる。ユーザが２つの第１のストロークＳＴ１の間でスケッチング入力を解放する場合、ユーザは、同一の初期平面内のいくつかの第１のストロークＳＴ１を描画することができる。図が読みやすいように、同一平面上でスケッチされるすべてのストロークは同一の参照符号を有する。この例に関して、第１のストロークＳＴ１はほぼ正方形を表す。第１のストロークＳＴ１は、仮想カメラの第１の姿勢に対応する第１の視錐台内にレンダリングされる。ユーザは、仮想カメラの第１の姿勢から第２の姿勢に切り換えるように、ポインティング要素ＰＥと対話することができる。ポインティング要素ＰＥとの対話は、ドラッギング操作を通じて行うことができる。この操作は、例えば、マウスの中央ボタンを押下および保持しながら、またはマウスの中央ボタンおよびマウスの左ボタンを押下および保持しながら、またはキーボードボタンを押下および保持しながらマウスを移動することの組合せで行うことができる。
【００３８】
ユーザが３Ｄシーン内でポインティング要素ＰＥをドラッグしている間（マウスの中央ボタン、またはマウスの中央ボタンとマウスの左または右ボタンの組合せを押下および保持しながらマウスを移動している間）、仮想カメラの姿勢が切り替わる。図３上で、第１のストロークＳＴ１は、仮想カメラの第２の姿勢に対応する第２の視錐台に従ってレンダリングされる。
【００３９】
３Ｄモデルを設計および描画するために選ばれる平面はしばしば直交することを本発明者らは発見した。ほとんどの場合、ユーザのストロークが近平面に近い平面内で実施されることも本発明者らは発見した。実際に、近平面から遠く離れた平面上で描画することは、描画の比率をかなり歪めることになる。例えば、近平面にほぼ直交する平面内で円を描画しようと試みることは非常に難しい（一般に楕円という結果となる）のに対して、近平面にほぼ平行な平面内での操作はより容易である。したがって、描画平面の選択は、これらの２つの公準に依拠する。
【００４０】
第１の実施形態によれば、ユーザがマウスの中央ボタンを解放するとすぐに、第２の視錐台の近平面の法線が計算される。次に、近平面の法線が、第１の平面（ＰＬ１）、第２の平面（ＰＬ２）、および第３の平面（ＰＬ３）の法線と比較される。比較は、近平面の法線と、第１の平面（ＰＬ１）、第２の平面（ＰＬ２）、および第３の平面（ＰＬ３）のそれぞれの法線とのスカラ積を計算することによって行うことができる。第１の平面（ＰＬ１）、第２の平面（ＰＬ２）、および第３の平面（ＰＬ３）のそれぞれについて、平面と画面平面の法線とのスカラ積が計算される。最大のスカラ積絶対値を有するものが、近平面に最も近いと見なされる。次いで、最も近い平面が現描画平面と見なされる。
第２の実施形態によれば、ユーザがポインティング要素をドラッグすることを通じてポインティング要素と対話するときにはいつでも、第２の視錐台の画面平面の法線が、第１の平面（ＰＬ１）、第２の平面（ＰＬ２）、および第３の平面の法線と比較される。次いで、画面平面との間の第１の平面（ＰＬ１）、第２の平面（ＰＬ２）、および第３の平面の接近度が、オンザフライで計算される。
【００４１】
図４上で、ユーザは、第２の視錐台内でレンダリングされるように、現描画平面内の第２のストロークＳＴ２をスケッチする。第１の視錐台の近平面と第２の視錐台の平面とが必ずしも直交しないとしても、第１のストロークＳＴ１の平面と第２のストロークＳＴ２の平面とは直交することを理解されたい。本発明に従って、デフォルトモードにおいて、現描画平面の原点を自動的に計算することが提案される。好ましい実施形態では、現描画平面の原点ＯＲが、第１の平面内の最後にスケッチされた第１のストロークＳＴ１に基づいて計算される。より厳密には、第２の視錐台の近平面に最も近い第１の平面内の最後にスケッチされた第１のストロークＳＴ１の先端が、現描画平面の原点ＯＲを定義する。したがって、ユーザは、現描画平面内の次のストロークを開始するために、ユーザが第１の平面内で既に作成したストロークＳＴ１の近くにポインティング要素ＰＥを移動する。ユーザはまた、第１の平面と現描画平面とが交差している所の近くにポインティング要素ＰＥを移動する。実際には、ユーザが第１の平面内の一連のストローク（第１のストロークＳＴ１）を完了すると、ユーザは、現描画平面内で、ほぼ中断なしに、（第２のストロークＳＴ２で）３Ｄオブジェクトの設計を実行するために、仮想カメラの姿勢を変更することができる。ユーザは、先行する平面の最後のストロークの最も近い先端から開始して、現描画平面内の３Ｄオブジェクトの設計を続行することができる。そのために、仮想カメラと最後にスケッチされた第１のストロークＳＴ１の第１の先端との間の距離が、仮想カメラと最後にスケッチされた第１のストロークＳＴ１の第２の先端との間の距離と比較される。仮想カメラと３Ｄシーン内のポイントとの間の距離の計算は、当業者には知られている。最も近い距離に対応する先端が、現描画平面の原点と定義される。
【００４２】
図５によって示される第２の実施形態では、ユーザは、描画平面の「深さ」を選択するように、現描画平面の原点ＯＲを修正することができる。したがって、ユーザは、ほぼ中断のない設計プロセスにおいて、平行な平面上で３Ｄオブジェクトを設計することができる。そのために、ユーザは、３Ｄシーンのストローク（ＳＴ１、ＳＴ２）のうちの１つの３Ｄポイントを指定するアクティブ化入力を使用する。そのように行うために、スケッチされたストローク（ＳＴ１、ＳＴ２）のうちの１つに沿って、３Ｄシーン内で（マウスボタンを押下することなく）マウスによりポインティング要素ＰＥを移動している間、ユーザは、アクティブ化ボタンを押下および保持する。アクティブ化ボタンは、例えばキーボードボタン、より厳密にはキーボードの「ＣＴＲＬ」ボタンでよい。原点ＯＲの設定は、ユーザがアクティブ化ボタンを押下および保持している間、実施される。ユーザがアクティブ化ボタンを解放するとき、現描画平面の原点が最終的に決定される。図５によって示される例では、ユーザは、第１の平面内でのみスケッチされる第１のストロークＳＴ１を指定することができる。第１のストロークＳＴ１に沿ったポインティング要素ＰＥの変位に従って、第１の平面ＰＬ１のすべての第１のストロークＳＴ１に対して視覚フィードバックを漸進的に生成することができる。したがって、平行な平面内で次のストロークをスケッチするために、ユーザは、ユーザが既にスケッチしたストロークの近くのポインティング要素ＰＥを自然に移動し、そのことは、無駄なマウス移動を回避する。ユーザはまた、既に定義されている描画平面の交差付近にポインティング要素ＰＥを直感的に移動し、それによって、やはりマウス移動を節約する。
【００４３】
ユーザが原点ＯＲを設定すると、ユーザは、仮想カメラの別の姿勢に切り換え、それによって視錐台を切り換えることができる。図示される例では、図６の視錐台の近平面が変更されるが、平面の原点のみが図５とは異なる。実際に、その法線が画面平面の法線に最も近い平面は、どちらの図においても同一である。したがって、ユーザは、第２のストロークＳＴ２の平面に平行な平面内の第３のストロークＳＴ３をスケッチすることができる。図７は、仮想カメラの別の姿勢と共に、描画された３Ｄオブジェクトを示す。
【００４４】
好ましい実施形態において、現描画平面、すなわちその法線が近平面の法線に最も近い平面の視覚フィードバックを提供することができる。例えば、現描画平面のストロークの強調表示を実施することができ、その結果、ユーザは、どの平面上にユーザが描画しようとしているかを直ちに確認する。
【００４５】
図８上に、本発明による方法の流れ図が表される。ユーザが描画しているかどうかをチェックするためにテスト１０１が行なわれる。ユーザが描画している場合、すなわちスケッチング入力が検出される間は、描画平面は不変のままである（ステップ１０２）。ユーザが描画していない場合、仮想カメラの姿勢が変更されているかどうかをチェックするためにテスト１０３が行なわれる。したがって、マウスの（任意選択で左ボタンと共に）中央ボタンの押下の検出のテストが行なわれている。次いで、ステップ１０４で新しい描画平面が計算される。次いで、描画平面が変化したかどうかをチェックするためにテスト１０５が行なわれる。テストが肯定的である場合、仮想カメラに対する先端のそれぞれの距離に基づいて描画平面の原点が計算される（ステップ１０６）。テストが否定的である場合、ユーザは同一の平面内で引き続き描画する（ステップ１０７）。テスト１０３が否定的である場合、原点の設定のアクティブ化入力を検出する（例えば、キーボードボタン、特にＣＴＲＬボタンの押下が検出されるかどうか）ためにテスト１０８が行なわれる。テストが肯定的である場合、新しい原点が設定される（ステップ１０９）。テストが否定的である場合、ユーザは同一の平面内で引き続き描画する（ステップ１１０）。
【００４６】
本発明のために、ユーザは、ユーザが厳密な位置に達するまで平面を平行移動または回転するためにユーザの創作プロセスを中断する必要がない。
【００４７】
本発明の方法は、場合によってはコンピュータネットワークを含み、ハードディスク、ソリッドステートディスク、ＣＤ−ＲＯＭなどのコンピュータ可読媒体上に不揮発性の形態で適切なプログラムを記憶し、そのマイクロプロセッサおよびメモリを使用してプログラムを実行する、適切にプログラムされた汎用コンピュータまたはコンピュータシステムによって実施することができる。
【００４８】
本発明の例示的実施形態による方法を実施するのに適したコンピュータが、図９を参照しながら説明される。図９において、コンピュータは、ＲＡＭ  ＭＥＭ１、ＲＯＭ  ＭＥＭ２、ハードディスクドライブ（ＨＤＤ）  ＭＥＭ３、ＤＶＤ／ＣＤドライブ  ＭＥＭ４などのメモリ装置内に記憶され、またはリモートに記憶された実行可能プログラム、すなわちコンピュータ可読命令のセットを実行中に前述の方法ステップを実施する中央演算処理装置（ＣＰＵ）ＣＰを含む。さらに、３次元オブジェクトを定義する１つまたは複数のコンピュータファイルも、メモリ装置ＭＥＭ１からＭＥＭ４のうちの１つまたは複数の上に、あるいはリモートに記憶することができる。
【００４９】
特許請求される発明は、本発明のプロセスのコンピュータ可読命令がその上に記憶されるコンピュータ可読媒体の形態によって限定されない。例えば、ＣＤ、ＤＶＤ上に、フラッシュメモリ、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ハードディスク、またはサーバやコンピュータなどのコンピュータが通信する任意の他の情報処理装置内に、命令およびファイルを記憶することができる。同一のメモリ装置上に、または異なるメモリ装置上にプログラムを記憶することができる。
【００５０】
さらに、本発明の方法を実施するのに適したコンピュータプログラムは、ＣＰＵ  Ｐと、Ｍｉｃｒｏｓｏｆｔ  ＶＩＳＴＡ、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ８、ＵＮＩＸ（登録商標）、Ｓｏｌａｒｉｓ、Ｌｉｎｕｘ（登録商標）、Ａｐｐｌｅ  ＭＡＣ−ＯＳ、当業者に知られている他のシステムなどのオペレーティングシステムと共に実行する、ユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムのコンポーネント、あるいはそれらの組合せとして提供することができる。
【００５１】
ＣＰＵ  ＣＰは、アメリカのＩｎｔｅｌのＸｅｎｏｎ（商標）プロセッサ、もしくはアメリカのＡＭＤのＯｐｔｅｒｏｎ（商標）プロセッサでよく、またはアメリカのＦｒｅｅｓｃａｌｅ  ＣｏｒｐｏｒａｔｉｏｎのＦｒｅｅｓｃａｌｅ  ＣｏｌｄＦｉｒｅ（商標）、ＩＭＸ（商標）、ＡＲＭ（商標）プロセッサなどの他のプロセッサタイプでよい。あるいは、ＣＰＵは、アメリカのＩｎｔｅｌ  ＣｏｒｐｏｒａｔｉｏｎのＣｏｒｅ２  Ｄｕｏなどのプロセッサでよく、または当業者なら理解するであろうが、ＦＰＧＡ、ＡＳＩＣ、ＰＬＤ上に、もしくはディスクリートロジック回路を使用して実施することができる。さらに、ＣＰＵは、前述の本発明のプロセスのコンピュータ可読命令を実施するように協働的に働く複数のプロセッサとして実施することができる。
【００５２】
図９のコンピュータはまた、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、インターネットなどのネットワークとインターフェースするための、アメリカのＩｎｔｅｌ  ＣｏｒｐｏｒａｔｉｏｎのＩｎｔｅｌ  Ｅｔｈｅｒｎｅｔ  ＰＲＯネットワークインターフェースカードなどのネットワークインターフェースＮＩをも含む。コンピュータは、Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ  ＨＰＬ２４４５ｗ  ＬＣＤモニタなどのディスプレイＤＹとインターフェースするための、アメリカのＮＶＩＤＩＡ  ＣｏｒｐｏｒａｔｉｏｎのＮＶＩＤＩＡ  ＧｅＦｏｒｃｅ（商標）ＧＴＸグラフィックスアダプタなどのディスプレイコントローラＤＣをさらに含む。汎用Ｉ／ＯインターフェースＩＦが、キーボードＫＢ、およびローラボール、マウス、タッチパッドなどのポインティングデバイスＰＤとインターフェースする。ディスプレイ、キーボード、タッチモード用の感応性表面、およびポインティングデバイスが、ディスプレイコントローラおよびＩ／Ｏインターフェースと共に、入力コマンドを与えるために、例えばポインタを移動するためにユーザによって使用され、３次元シーンおよびグラフィカルツールを表示するためのコンピュータによって使用されるグラフィカルユーザインターフェースを形成する。
【００５３】
ディスクコントローラＤＫＣがＨＤＤ  ＭＥＭ３およびＤＶＤ／ＣＤ  ＭＥＭ４を通信バスＣＢＳと接続し、通信バスＣＢＳは、コンピュータの構成要素のすべてを相互接続するためのＩＳＡ、ＥＩＳＡ、ＶＥＳＡ、ＰＣＩなどでよい。
【００５４】
ディスプレイ、キーボード、ポインティングデバイス、ならびにディスプレイコントローラ、ディスクコントローラ、ネットワークインターフェース、およびＩ／Ｏインターフェースの一般的特徴および機能の説明は、これらの特徴は知られているので簡潔のために本明細書では省略される。
【００５５】
図１０は、本発明の異なる例示的実施形態による方法を実施するのに適したコンピュータシステムのブロック図である。
【００５６】
図１０において、実行可能プログラムＥＸＰと３次元オブジェクトを定義するコンピュータファイルとが、サーバＳＣに接続されたメモリ装置上に記憶される。サーバのメモリ装置および全体的アーキテクチャは、ディスプレイコントローラ、感応性表面、ディスプレイ、キーボード、および／またはポインティングデバイスがサーバ内に欠落していることがあることを除いて、図９を参照しながら上記で論じたのと同一である。
【００５７】
次いで、サーバＳＣは、ネットワークＮＷを介して管理者システムＡＤＳおよびエンドユーザコンピュータＥＵＣに接続される。
【００５８】
管理者システムおよびエンドユーザコンピュータの全体的アーキテクチャは、管理者システムおよびエンドユーザコンピュータのメモリ装置が３次元オブジェクトを定義する実行可能プログラムＥＸＰおよび／またはコンピュータファイルを記憶しないことを除いて、図９を参照しながら上記で論じたのと同一である。しかしながら、以下で論じられるように、エンドユーザコンピュータは、サーバの実行可能プログラムと協働するように設計されたクライアントプログラムを記憶する。
【００５９】
理解できるように、ネットワークＮＷは、インターネットなどの公衆ネットワーク、ＬＡＮもしくはＷＡＮネットワークなどのプライベートネットワーク、またはそれらの任意の組合せでよく、ＰＳＴＮまたはＩＳＤＮサブネットワークをも含むことができる。ネットワークＮＷは、イーサネットネットワークなどのワイヤードでもよく、またはＥＤＧＥ、３Ｇ、および４Ｇ無線セルラシステムを含むセルラネットワークなどの無線でよい。無線ネットワークはまた、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または知られている任意の他の無線形態の通信でよい。したがって、ネットワークＮＷは例示的なものに過ぎず、この進歩の範囲を決して限定するものではない。
【００６０】
エンドユーザコンピュータのメモリ装置内に記憶され、エンドユーザコンピュータのＣＰＵによって実行されるクライアントプログラムは、ネットワークＮＷを介して、サーバＳＣによって記憶され、３次元オブジェクトを定義するファイルを含むデータベースｄＢにアクセスする。サーバは、前述のような処理を実施し、やはりネットワークＮＷを使用して、３Ｄオブジェクトを含むシーンの所望の表現に対応するイメージファイルをエンドユーザコンピュータに送信する。
【００６１】
ただ１つの管理者システムＡＤＳおよび１つのエンドユーザシステムＥＵＸが示されているが、システムは、限定なしに任意の数の管理者システムおよび／またはエンドユーザシステムをサポートすることができる。同様に、複数のサーバも、本発明の範囲から逸脱することなくシステム内に実施することができる。
【００６２】
本明細書において説明される任意の方法ステップは、特定の論理機能またはプロセス内のステップを実施するための１つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの部分を表すものと理解されるべきであり、代替実施が本発明の例示的実施形態の範囲内に含まれる。
【図１】
2019121387.tif 000008
【図２】
2019121387.tif 000009
【図３】
2019121387.tif 000010
【図４】
2019121387.tif 000011
【図５】
2019121387.tif 000012
【図６】
2019121387.tif 000013
【図７】
2019121387.tif 000014
【図８】
2019121387.tif 000015
【図９】
2019121387.tif 000016
【図１０】
2019121387.tif 000017
【手続補正書】
【提出日】平成31年2月26日(2019.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
３Ｄオブジェクトを描画するためのコンピュータ実施方法であって、前記３Ｄオブジェクトは、仮想カメラを通じてコンピュータ画面上の３Ｄシーン内でレンダリングされ、
前記仮想カメラの第１の姿勢に対応する第１の視錐台内でレンダリングされる第１の平面（ＰＬ１）内の少なくとも１つの第１のストローク（ＳＴ１）をスケッチするステップであって、前記第１の平面は第２（ＰＬ２）および第３の平面（ＰＬ３）と直交する、該ステップと、
ユーザのコマンドに応答して、前記仮想カメラの前記第１の姿勢から第２の姿勢に切り換え、前記第１の視錐台から前記仮想カメラの前記第２の姿勢に対応する第２の視錐台に切り換えるステップであって、前記第２の視錐台は前記仮想カメラの側面上の近平面によって境界が示される、該ステップと、
その法線が前記近平面の法線に最も近い、前記第１の平面（ＰＬ１）、前記第２の平面（ＰＬ２）、および前記第３の平面（ＰＬ３）のうちの一平面を現描画平面として選択するステップと、
前記現描画平面内の少なくとも１つの第２のストローク（ＳＴ２）をスケッチするステップと
を含むことを特徴とする方法。
【請求項２】
前記近平面の法線と、前記第１の平面（ＰＬ１）、前記第２の平面（ＰＬ２）、および前記第３の平面（ＰＬ３）のそれぞれの法線とのスカラ積の絶対値を計算するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記現描画平面は前記第１の平面（ＰＬ１）に直交し、当該方法は、前記近平面に最も近い前記第１の平面（ＰＬ１）内の最後にスケッチされた第１のストローク（ＳＴ１）の先端を決定するステップを含み、前記現描画平面は前記先端を通過し、前記先端が前記現描画平面の原点（ＯＲ）として定義されることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記３Ｄシーンのストローク（ＳＴ１、ＳＴ２）のうちの１つの３Ｄポイントを指定するアクティブ化入力に応答して、前記現描画平面が通過する原点（ＯＲ）を設定するステップを含むことを特徴とする請求項１ないし３のいずれか１つに記載の方法。
【請求項５】
前記アクティブ化入力は、アクティブ化ボタンの解放まで、スケッチされたストローク（ＳＴ１、ＳＴ２）のうちの１つに沿って前記３Ｄシーン内でポインティング要素（ＰＥ）を移動している間、前記アクティブ化ボタンの押下および保持をし、それによって、指定された３Ｄポイント上の前記現描画平面の原点（ＯＲ）を設定するステップを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記アクティブ化ボタンは、キーボードボタンであることを特徴とする請求項５に記載の方法。
【請求項７】
前記現描画平面の視覚フィードバックを提供するステップを含むことを特徴とする請求項１ないし６のいずれか１つに記載の方法。
【請求項８】
前記視覚フィードバックは、前記現描画平面の前記ストロークの強調表示であることを特徴とする請求項７に記載の方法。
【請求項９】
前記近平面から最も近い平面を第１の平面として定義する初期ステップを含むことを特徴とする請求項１ないし８のいずれか１つに記載の方法。
【請求項１０】
以前に定義された平面を第１の平面として定義する初期ステップを含むことを特徴とする請求項１ないし８のいずれか１つに記載の方法。
【請求項１１】
コンピュータに請求項１ないし１０のいずれか１つに記載の方法を実行させることを特徴とするコンピュータプログラム。
【請求項１２】
請求項１１記載のコンピュータプログラムを記録したことを特徴とする非一過性コンピュータ可読媒体。
【請求項１３】
メモリ（ＭＥＭ１乃至ＭＥＭ４）およびグラフィカルユーザインターフェース（ＫＢ、ＰＤ、ＤＣ、ＤＹ）に結合されたプロセッサ（ＣＰ）を備えるコンピュータシステムであって、前記メモリは、請求項１ないし１０のいずれか１つに記載の方法を前記コンピュータシステムに実施させるためのコンピュータ実行可能命令（ＥＸＰ）を記憶することを特徴とするコンピュータシステム。
【外国語明細書】
2019121387000001.pdf