JP7340927B2 - 3dオブジェクトの設計のための描画平面を定義するための方法 - Google Patents

3dオブジェクトの設計のための描画平面を定義するための方法 Download PDF

Info

Publication number
JP7340927B2
JP7340927B2 JP2018241416A JP2018241416A JP7340927B2 JP 7340927 B2 JP7340927 B2 JP 7340927B2 JP 2018241416 A JP2018241416 A JP 2018241416A JP 2018241416 A JP2018241416 A JP 2018241416A JP 7340927 B2 JP7340927 B2 JP 7340927B2
Authority
JP
Japan
Prior art keywords
plane
current drawing
computer
user
stroke
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018241416A
Other languages
English (en)
Other versions
JP2019121387A (ja
Inventor
レッツェルター フレデリック
ルナール アメリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of JP2019121387A publication Critical patent/JP2019121387A/ja
Application granted granted Critical
Publication of JP7340927B2 publication Critical patent/JP7340927B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Description

本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、3次元(3D)モデル化オブジェクトを3Dシーン内で設計および描画するためのコンピュータ実施方法の分野に関する。
本発明は、3Dオブジェクトの設計(スケッチング、モデリング、検討、CAD...)の分野に属する。詳細には、本発明は、Dassault Systemesによって提供されるNatural Sketchなどのソフトウェア製品を使用することのできる、スケッチング分野に属する。(例えば、タブレットと、スタイラスまたはマウスとを用いる)いくつかのストロークで、ユーザ/設計者は、ユーザ/設計者のスケッチのフル3D曲線を得る。次いで、ユーザ/設計者は、ユーザ/設計者が想像した概念に達するまで、これらの曲線を容易に修正することができる。したがって、ユーザは、3Dモデリングのステップがユーザの描画の3Dレンダリングを有するのを待機する必要がない。
Natural Sketchなどの製品の機能のうちの1つは、ユーザが3Dモデルを描画することを可能にすることである。そのようなことを行うために、ユーザは様々な可能性を有する。例えば、シーン内に、ユーザがその上に描画する表面(車、球...)があることがある。表面は3次元であるので、表面上の曲線は3D曲線となる。しかし、ユーザが依拠することのできる表面を有さないとき、すなわちユーザが3Dモデルを最初から作成したいとき、ユーザは、その他の方法で続行する必要がある。
そのケースでは、すべての平面が定義されるまで、ユーザは、描画コマンドボタンから平面選択コマンドボタンに、およびその逆に切り換える。最初から始めると、ユーザはまず、どの平面上でユーザが描画しようとするかを定義する必要がある。そのために、ユーザは、デフォルト平面(例えばxz平面)上で描画を開始することができる。ユーザがデフォルト平面とは異なる平面上で描画を開始したい場合、ユーザはやはり、平面選択コマンドボタンを押下することができる。平面マニピュレータ(Natural Sketchでは正方形)は、ユーザがその上で描画を開始したい平面をユーザが選び、移動する(平行移動、回転...)することを可能にする。ポインティング要素(カーソル)が平面マニピュレータの縁部のうちの1つの近くに移動されるとき、縁部が強調表示される。次いで、平面マニピュレータの中心を通過し、強調表示された縁部に平行な軸の周りに、描画平面を回転することができる。平面マニピュレータ上でのマウスの左押下で、ユーザは、マウスの移動中に選択される角度に従って、描画平面を変更することができる。ユーザはまた、描画平面の原点を変更することができる。そのために、ユーザは、正方形の平面マニピュレータ内部に位置する平面マニピュレータの中心正方形上にポインティング要素を移動する。ポインティング要素が中心正方形内に移動されるとき、中心正方形の強調表示などの視覚フィードバックが行なわれる。次いで、ユーザは、マウスの左ボタンを押下しながら、中心正方形の平面の法線に沿って描画平面の原点を平行移動することができる。その後で、ユーザは、描画コマンドボタンを(例えば、マウスの左ボタンで、またはスタイラス/指で)押下し、上記で定義されたような描画平面内の少なくとも1つの第1のストロークを(例えば、マウスの左ボタンで、またはスタイラス/指で)スケッチすることができる。次いで、ユーザが描画平面を変更したい場合、ユーザは、平面マニピュレータを使用するように、平面選択コマンドボタンを再び押下しなければならない。描画プロセス全体にわたって、ユーザは、視点を変更するために、例えば、マウスの中央ボタンを押下しながらマウスを移動する組合せを使用することによって、3次元シーン内をナビゲートすることができる。
作成段階中に続行するためのこの方式は、かなり厄介である。実際に、平面マニピュレータの使用では、定義すべき平面を変更するために、まず(一般にはシーン外部にある)平面選択コマンドを立ち上げ、次いで平面マニピュレータで平面を所望の向きおよび位置に置くために、多くのマウス変位が必要とされる。続行するためのこの方式はまた、時間がかかり、直感的ではない。ユーザはユーザが行ないたいことを知っており、ユーザは何らかの着想を有するが、ユーザが必要とする平面を定義するために平面選択コマンドにおいて行ったり来たりし続けるからである。既存の解決策の別の欠点は簡潔さの欠如であり、所望の向きおよび位置を有する平面を得るために、ユーザは、回転(例えば、平面の4つの縁部のうちの1つの周りの回転)と、様々な平行移動(例えば、平面の法線に沿った平行移動)とを組み合わせなければならない。
したがって、本発明の目的は、特定のコマンドの実行を必要とすることなく、描画プロセス中にマウスが移動する距離も小さくする、3Dシーン内で平面を定義し、定義した平面上で3Dオブジェクトを描画するための直感的な方法を提供することである。
本発明の一態様によれば、3Dオブジェクトを描画するためのコンピュータ実施方法であって、前記3Dオブジェクトが、仮想カメラを通じてコンピュータ画面上の3Dシーン内でレンダリングされ、
仮想カメラの第1の姿勢に対応する第1の視錐台内でレンダリングされる第1の平面内の少なくとも1つの第1のストロークをスケッチするステップであって、前記第1の平面が第2および第3の平面と直交するステップと、
ユーザのコマンドに応答して、仮想カメラの第1の姿勢から第2の姿勢に切り換え、第1の視錐台から仮想カメラの第2の姿勢に対応する第2の視錐台に切り換えるステップであって、前記第2の視錐台は、仮想カメラの側面上の近平面によって境界が示されるステップと、
その法線が近平面の法線に最も近い、第1、第2、および第3の平面のうちの一平面を現描画平面として選択するステップと、
現描画平面内の少なくとも1つの第2のストロークをスケッチするステップと
を含む方法が提案される。
本発明の特定の実施形態によれば、
方法は、近平面の法線と、第1、第2、および第3の平面のそれぞれの法線とのスカラ積の絶対値を計算するステップを含むことができる。
現描画平面が第1の平面に直交し、方法は、近平面に最も近い第1の平面内の最後にスケッチされた第1のストロークの先端を決定するステップを含むことができ、現描画平面は前記先端を通過し、前記先端が現描画平面の原点として定義される。
方法は、3Dシーンのストロークのうちの1つの3Dポイントを指定するアクティブ化入力に応答して、現描画平面が通過する原点を設定するステップを含むことができる。
アクティブ化入力は、アクティブ化ボタンの解放まで、スケッチされたストロークのうちの1つに沿って3Dシーン内でポインティング要素を移動している間、アクティブ化ボタンの押下および保持をし、それによって、指定された3Dポイント上の現描画平面の原点を設定することを含むことができる。
アクティブ化ボタンはキーボードボタンでよい。
方法は、現描画平面の視覚フィードバックを提供するステップを含むことができる。
視覚フィードバックは、現描画平面のストロークの強調表示でよい。
近平面から最も近い平面を第1の平面として定義する初期ステップを含むことができる。
方法は、以前に定義された平面を第1の平面として定義する初期ステップを含むことができる。
事前定義された方法をコンピュータシステムに実施させるためのコンピュータ実行可能命令を含む、非一時的コンピュータ可読データ記憶媒体上に記憶されたコンピュータプログラム製品も提案される。
事前定義された方法をコンピュータシステムに実施させるためのコンピュータ実行可能命令を含む非一時的コンピュータ可読データ記憶媒体も提案される。
メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備えるコンピュータシステムも提案され、メモリは、事前定義された方法をコンピュータシステムに実施させるためのコンピュータ実行可能命令を記憶する。
非限定的な例として説明され、添付の図面によって示されるいくつかの実施形態を調査することで、本発明がより良く理解される。
視錐台の一例を示す図である。 本発明による、3Dシーン内で3Dオブジェクトを描画するための方法の一例を示す図である。 本発明による、3Dシーン内で3Dオブジェクトを描画するための方法の一例を示す図である。 本発明による、3Dシーン内で3Dオブジェクトを描画するための方法の一例を示す図である。 本発明による、3Dシーン内で3Dオブジェクトを描画するための方法の一例を示す図である。 本発明による、3Dシーン内で3Dオブジェクトを描画するための方法の一例を示す図である。 本発明による、3Dシーン内で3Dオブジェクトを描画するための方法の一例を示す図である。 本発明による方法の異なるステップのフローチャートを示す図である。 本発明の異なる実施形態による方法を実施するのに適したコンピュータシステムのブロック図を示す図である。 本発明の異なる実施形態による方法を実施するのに適したコンピュータシステムのブロック図を示す図である。
以下では、「視錐台(viewing frustum)」FRUとは、ユーザに対して画面上にレンダリングすることのできる空間の領域を指し、仮想カメラCAMの視野である。図1は、視錐台FRUの上面図である。視錐台FRUは切頭角錐である。仮想カメラの閲覧方向に垂直に視錐台を切断する平面は、「近平面」NPLおよび「遠平面」FPLと呼ばれる。仮想カメラCAMの側面上の近平面NPLと、反対側の側面上の遠平面FPLとによって、視錐台の境界が示される。左側平面LPL、右側平面RPL、頂部平面(図示せず)、および底部平面(図示せず)によっても、視錐台の境界が示される。
以下では、仮想カメラの「姿勢」(視点とも呼ばれる)とは、シーン上の固定基準フレームに対するその位置および向きを指す。
以下では、平面が、2つの主非共線ベクトル
Figure 0007340927000001
および1つの原点(O)によって定義される。平面は、関係
Figure 0007340927000002
(xおよびyは実数である)によって定義される3D空間のポイントMの集合である。したがって、平面の原点は、平面がそれを通過する3Dポイントである。平面の法線
Figure 0007340927000003
は、
Figure 0007340927000004
Figure 0007340927000005
のベクトル積を行うことによって容易に戻される。したがって、2つの平行かつ互いに素な平面(P1,P2)が、相異なる原点と共に、同一の主非共線ベクトル
Figure 0007340927000006
によって特徴付けられる。平面P2の原点は、平面P1の原点を平面P2上に射影した結果として得られる。本願では、平面の原点は、3Dシーン内の平面の「深さ」を指す。
図2は本発明の第1のステップを示す。ユーザは、初期平面内の第1のストロークST1の描画を開始する。初期平面は、第2の平面(PL2)および第3の平面(PL3)と直交する。初期平面はデフォルト平面または以前に定義された平面である。初期平面内の第1のストロークST1を描画するために、ユーザはスケッチング入力を利用する。例えば、スケッチング入力は、マウスの左ボタン、またはタッチモードにおけるスタイラスまたは指でよい。ユーザがスケッチング入力を維持している間(例えば、マウスの左ボタンを押下および保持する間、またはタッチセンシティブ表面に対するスタイラスまたは指の接触を保つ間)、第1のストロークST1がスケッチされる。ユーザが2つの第1のストロークST1の間でスケッチング入力を解放する場合、ユーザは、同一の初期平面内のいくつかの第1のストロークST1を描画することができる。図が読みやすいように、同一平面上でスケッチされるすべてのストロークは同一の参照符号を有する。この例に関して、第1のストロークST1はほぼ正方形を表す。第1のストロークST1は、仮想カメラの第1の姿勢に対応する第1の視錐台内にレンダリングされる。ユーザは、仮想カメラの第1の姿勢から第2の姿勢に切り換えるように、ポインティング要素PEと対話することができる。ポインティング要素PEとの対話は、ドラッギング操作を通じて行うことができる。この操作は、例えば、マウスの中央ボタンを押下および保持しながら、またはマウスの中央ボタンおよびマウスの左ボタンを押下および保持しながら、またはキーボードボタンを押下および保持しながらマウスを移動することの組合せで行うことができる。
ユーザが3Dシーン内でポインティング要素PEをドラッグしている間(マウスの中央ボタン、またはマウスの中央ボタンとマウスの左または右ボタンの組合せを押下および保持しながらマウスを移動している間)、仮想カメラの姿勢が切り替わる。図3上で、第1のストロークST1は、仮想カメラの第2の姿勢に対応する第2の視錐台に従ってレンダリングされる。
3Dモデルを設計および描画するために選ばれる平面はしばしば直交することを本発明者らは発見した。ほとんどの場合、ユーザのストロークが近平面に近い平面内で実施されることも本発明者らは発見した。実際に、近平面から遠く離れた平面上で描画することは、描画の比率をかなり歪めることになる。例えば、近平面にほぼ直交する平面内で円を描画しようと試みることは非常に難しい(一般に楕円という結果となる)のに対して、近平面にほぼ平行な平面内での操作はより容易である。したがって、描画平面の選択は、これらの2つの公準に依拠する。
第1の実施形態によれば、ユーザがマウスの中央ボタンを解放するとすぐに、第2の視錐台の近平面の法線が計算される。次に、近平面の法線が、第1の平面(PL1)、第2の平面(PL2)、および第3の平面(PL3)の法線と比較される。比較は、近平面の法線と、第1の平面(PL1)、第2の平面(PL2)、および第3の平面(PL3)のそれぞれの法線とのスカラ積を計算することによって行うことができる。第1の平面(PL1)、第2の平面(PL2)、および第3の平面(PL3)のそれぞれについて、平面と画面平面の法線とのスカラ積が計算される。最大のスカラ積絶対値を有するものが、近平面に最も近いと見なされる。次いで、最も近い平面が現描画平面と見なされる。
第2の実施形態によれば、ユーザがポインティング要素をドラッグすることを通じてポインティング要素と対話するときにはいつでも、第2の視錐台の画面平面の法線が、第1の平面(PL1)、第2の平面(PL2)、および第3の平面の法線と比較される。次いで、画面平面との間の第1の平面(PL1)、第2の平面(PL2)、および第3の平面の接近度が、オンザフライで計算される。
図4上で、ユーザは、第2の視錐台内でレンダリングされるように、現描画平面内の第2のストロークST2をスケッチする。第1の視錐台の近平面と第2の視錐台の平面とが必ずしも直交しないとしても、第1のストロークST1の平面と第2のストロークST2の平面とは直交することを理解されたい。本発明に従って、デフォルトモードにおいて、現描画平面の原点を自動的に計算することが提案される。好ましい実施形態では、現描画平面の原点ORが、第1の平面内の最後にスケッチされた第1のストロークST1に基づいて計算される。より厳密には、第2の視錐台の近平面に最も近い第1の平面内の最後にスケッチされた第1のストロークST1の先端が、現描画平面の原点ORを定義する。したがって、ユーザは、現描画平面内の次のストロークを開始するために、ユーザが第1の平面内で既に作成したストロークST1の近くにポインティング要素PEを移動する。ユーザはまた、第1の平面と現描画平面とが交差している所の近くにポインティング要素PEを移動する。実際には、ユーザが第1の平面内の一連のストローク(第1のストロークST1)を完了すると、ユーザは、現描画平面内で、ほぼ中断なしに、(第2のストロークST2で)3Dオブジェクトの設計を実行するために、仮想カメラの姿勢を変更することができる。ユーザは、先行する平面の最後のストロークの最も近い先端から開始して、現描画平面内の3Dオブジェクトの設計を続行することができる。そのために、仮想カメラと最後にスケッチされた第1のストロークST1の第1の先端との間の距離が、仮想カメラと最後にスケッチされた第1のストロークST1の第2の先端との間の距離と比較される。仮想カメラと3Dシーン内のポイントとの間の距離の計算は、当業者には知られている。最も近い距離に対応する先端が、現描画平面の原点と定義される。
図5によって示される第2の実施形態では、ユーザは、描画平面の「深さ」を選択するように、現描画平面の原点ORを修正することができる。したがって、ユーザは、ほぼ中断のない設計プロセスにおいて、平行な平面上で3Dオブジェクトを設計することができる。そのために、ユーザは、3Dシーンのストローク(ST1、ST2)のうちの1つの3Dポイントを指定するアクティブ化入力を使用する。そのように行うために、スケッチされたストローク(ST1、ST2)のうちの1つに沿って、3Dシーン内で(マウスボタンを押下することなく)マウスによりポインティング要素PEを移動している間、ユーザは、アクティブ化ボタンを押下および保持する。アクティブ化ボタンは、例えばキーボードボタン、より厳密にはキーボードの「CTRL」ボタンでよい。原点ORの設定は、ユーザがアクティブ化ボタンを押下および保持している間、実施される。ユーザがアクティブ化ボタンを解放するとき、現描画平面の原点が最終的に決定される。図5によって示される例では、ユーザは、第1の平面内でのみスケッチされる第1のストロークST1を指定することができる。第1のストロークST1に沿ったポインティング要素PEの変位に従って、第1の平面PL1のすべての第1のストロークST1に対して視覚フィードバックを漸進的に生成することができる。したがって、平行な平面内で次のストロークをスケッチするために、ユーザは、ユーザが既にスケッチしたストロークの近くのポインティング要素PEを自然に移動し、そのことは、無駄なマウス移動を回避する。ユーザはまた、既に定義されている描画平面の交差付近にポインティング要素PEを直感的に移動し、それによって、やはりマウス移動を節約する。
ユーザが原点ORを設定すると、ユーザは、仮想カメラの別の姿勢に切り換え、それによって視錐台を切り換えることができる。図示される例では、図6の視錐台の近平面が変更されるが、平面の原点のみが図5とは異なる。実際に、その法線が画面平面の法線に最も近い平面は、どちらの図においても同一である。したがって、ユーザは、第2のストロークST2の平面に平行な平面内の第3のストロークST3をスケッチすることができる。図7は、仮想カメラの別の姿勢と共に、描画された3Dオブジェクトを示す。
好ましい実施形態において、現描画平面、すなわちその法線が近平面の法線に最も近い平面の視覚フィードバックを提供することができる。例えば、現描画平面のストロークの強調表示を実施することができ、その結果、ユーザは、どの平面上にユーザが描画しようとしているかを直ちに確認する。
図8上に、本発明による方法の流れ図が表される。ユーザが描画しているかどうかをチェックするためにテスト101が行なわれる。ユーザが描画している場合、すなわちスケッチング入力が検出される間は、描画平面は不変のままである(ステップ102)。ユーザが描画していない場合、仮想カメラの姿勢が変更されているかどうかをチェックするためにテスト103が行なわれる。したがって、マウスの(任意選択で左ボタンと共に)中央ボタンの押下の検出のテストが行なわれている。次いで、ステップ104で新しい描画平面が計算される。次いで、描画平面が変化したかどうかをチェックするためにテスト105が行なわれる。テストが肯定的である場合、仮想カメラに対する先端のそれぞれの距離に基づいて描画平面の原点が計算される(ステップ106)。テストが否定的である場合、ユーザは同一の平面内で引き続き描画する(ステップ107)。テスト103が否定的である場合、原点の設定のアクティブ化入力を検出する(例えば、キーボードボタン、特にCTRLボタンの押下が検出されるかどうか)ためにテスト108が行なわれる。テストが肯定的である場合、新しい原点が設定される(ステップ109)。テストが否定的である場合、ユーザは同一の平面内で引き続き描画する(ステップ110)。
本発明のために、ユーザは、ユーザが厳密な位置に達するまで平面を平行移動または回転するためにユーザの創作プロセスを中断する必要がない。
本発明の方法は、場合によってはコンピュータネットワークを含み、ハードディスク、ソリッドステートディスク、CD-ROMなどのコンピュータ可読媒体上に不揮発性の形態で適切なプログラムを記憶し、そのマイクロプロセッサおよびメモリを使用してプログラムを実行する、適切にプログラムされた汎用コンピュータまたはコンピュータシステムによって実施することができる。
本発明の例示的実施形態による方法を実施するのに適したコンピュータが、図9を参照しながら説明される。図9において、コンピュータは、RAM MEM1、ROM MEM2、ハードディスクドライブ(HDD) MEM3、DVD/CDドライブ MEM4などのメモリ装置内に記憶され、またはリモートに記憶された実行可能プログラム、すなわちコンピュータ可読命令のセットを実行中に前述の方法ステップを実施する中央演算処理装置(CPU)CPを含む。さらに、3次元オブジェクトを定義する1つまたは複数のコンピュータファイルも、メモリ装置MEM1からMEM4のうちの1つまたは複数の上に、あるいはリモートに記憶することができる。
特許請求される発明は、本発明のプロセスのコンピュータ可読命令がその上に記憶されるコンピュータ可読媒体の形態によって限定されない。例えば、CD、DVD上に、フラッシュメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスク、またはサーバやコンピュータなどのコンピュータが通信する任意の他の情報処理装置内に、命令およびファイルを記憶することができる。同一のメモリ装置上に、または異なるメモリ装置上にプログラムを記憶することができる。
さらに、本発明の方法を実施するのに適したコンピュータプログラムは、CPU Pと、Microsoft VISTA、Microsoft Windows 8、UNIX(登録商標)、Solaris、Linux(登録商標)、Apple MAC-OS、当業者に知られている他のシステムなどのオペレーティングシステムと共に実行する、ユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムのコンポーネント、あるいはそれらの組合せとして提供することができる。
CPU CPは、アメリカのIntelのXenon(商標)プロセッサ、もしくはアメリカのAMDのOpteron(商標)プロセッサでよく、またはアメリカのFreescale CorporationのFreescale ColdFire(商標)、IMX(商標)、ARM(商標)プロセッサなどの他のプロセッサタイプでよい。あるいは、CPUは、アメリカのIntel CorporationのCore2 Duoなどのプロセッサでよく、または当業者なら理解するであろうが、FPGA、ASIC、PLD上に、もしくはディスクリートロジック回路を使用して実施することができる。さらに、CPUは、前述の本発明のプロセスのコンピュータ可読命令を実施するように協働的に働く複数のプロセッサとして実施することができる。
図9のコンピュータはまた、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネットなどのネットワークとインターフェースするための、アメリカのIntel CorporationのIntel Ethernet PROネットワークインターフェースカードなどのネットワークインターフェースNIをも含む。コンピュータは、Hewlett Packard HPL2445w LCDモニタなどのディスプレイDYとインターフェースするための、アメリカのNVIDIA CorporationのNVIDIA GeForce(商標)GTXグラフィックスアダプタなどのディスプレイコントローラDCをさらに含む。汎用I/OインターフェースIFが、キーボードKB、およびローラボール、マウス、タッチパッドなどのポインティングデバイスPDとインターフェースする。ディスプレイ、キーボード、タッチモード用の感応性表面、およびポインティングデバイスが、ディスプレイコントローラおよびI/Oインターフェースと共に、入力コマンドを与えるために、例えばポインタを移動するためにユーザによって使用され、3次元シーンおよびグラフィカルツールを表示するためのコンピュータによって使用されるグラフィカルユーザインターフェースを形成する。
ディスクコントローラDKCがHDD MEM3およびDVD/CD MEM4を通信バスCBSと接続し、通信バスCBSは、コンピュータの構成要素のすべてを相互接続するためのISA、EISA、VESA、PCIなどでよい。
ディスプレイ、キーボード、ポインティングデバイス、ならびにディスプレイコントローラ、ディスクコントローラ、ネットワークインターフェース、およびI/Oインターフェースの一般的特徴および機能の説明は、これらの特徴は知られているので簡潔のために本明細書では省略される。
図10は、本発明の異なる例示的実施形態による方法を実施するのに適したコンピュータシステムのブロック図である。
図10において、実行可能プログラムEXPと3次元オブジェクトを定義するコンピュータファイルとが、サーバSCに接続されたメモリ装置上に記憶される。サーバのメモリ装置および全体的アーキテクチャは、ディスプレイコントローラ、感応性表面、ディスプレイ、キーボード、および/またはポインティングデバイスがサーバ内に欠落していることがあることを除いて、図9を参照しながら上記で論じたのと同一である。
次いで、サーバSCは、ネットワークNWを介して管理者システムADSおよびエンドユーザコンピュータEUCに接続される。
管理者システムおよびエンドユーザコンピュータの全体的アーキテクチャは、管理者システムおよびエンドユーザコンピュータのメモリ装置が3次元オブジェクトを定義する実行可能プログラムEXPおよび/またはコンピュータファイルを記憶しないことを除いて、図9を参照しながら上記で論じたのと同一である。しかしながら、以下で論じられるように、エンドユーザコンピュータは、サーバの実行可能プログラムと協働するように設計されたクライアントプログラムを記憶する。
理解できるように、ネットワークNWは、インターネットなどの公衆ネットワーク、LANもしくはWANネットワークなどのプライベートネットワーク、またはそれらの任意の組合せでよく、PSTNまたはISDNサブネットワークをも含むことができる。ネットワークNWは、イーサネットネットワークなどのワイヤードでもよく、またはEDGE、3G、および4G無線セルラシステムを含むセルラネットワークなどの無線でよい。無線ネットワークはまた、Wi-Fi、Bluetooth(登録商標)、または知られている任意の他の無線形態の通信でよい。したがって、ネットワークNWは例示的なものに過ぎず、この進歩の範囲を決して限定するものではない。
エンドユーザコンピュータのメモリ装置内に記憶され、エンドユーザコンピュータのCPUによって実行されるクライアントプログラムは、ネットワークNWを介して、サーバSCによって記憶され、3次元オブジェクトを定義するファイルを含むデータベースdBにアクセスする。サーバは、前述のような処理を実施し、やはりネットワークNWを使用して、3Dオブジェクトを含むシーンの所望の表現に対応するイメージファイルをエンドユーザコンピュータに送信する。
ただ1つの管理者システムADSおよび1つのエンドユーザシステムEUXが示されているが、システムは、限定なしに任意の数の管理者システムおよび/またはエンドユーザシステムをサポートすることができる。同様に、複数のサーバも、本発明の範囲から逸脱することなくシステム内に実施することができる。
本明細書において説明される任意の方法ステップは、特定の論理機能またはプロセス内のステップを実施するための1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの部分を表すものと理解されるべきであり、代替実施が本発明の例示的実施形態の範囲内に含まれる。

Claims (12)

  1. 3Dオブジェクトを描画するためのコンピュータ実施方法であって、前記3Dオブジェクトは、仮想カメラを通じてコンピュータ画面上の3Dシーン内でレンダリングされ、当該方法は、
    前記仮想カメラの第1の姿勢に対応する第1の視錐台内でレンダリングされる第1の平面(PL1)内の少なくとも1つの第1のストローク(ST1)をスケッチするステップであって、前記第1の平面は第2(PL2)および第3の平面(PL3)と直交する、該ステップと、
    ユーザのコマンドに応答して、前記仮想カメラの前記第1の姿勢から第2の姿勢に切り換え、前記第1の視錐台から前記仮想カメラの前記第2の姿勢に対応する第2の視錐台に切り換えるステップであって、前記第2の視錐台は前記仮想カメラの側面上の近平面によって境界が示される、該ステップと、
    その法線が前記近平面の法線に最も近い、前記第1の平面(PL1)、前記第2の平面(PL2)、および前記第3の平面(PL3)のうちの一平面を現描画平面として選択するステップと、
    前記現描画平面内の少なくとも1つの第2のストローク(ST2)をスケッチするステップとを含み、
    前記現描画平面は前記第1の平面(PL1)に直交し、当該方法は、さらに前記近平面に最も近い前記第1の平面(PL1)内の最後にスケッチされた第1のストローク(ST1)の先端を決定するステップを含み、前記現描画平面は前記先端を通過し、前記先端が前記現描画平面の原点(OR)として定義されることを特徴とする方法。
  2. 前記近平面の法線と、前記第1の平面(PL1)、前記第2の平面(PL2)、および前記第3の平面(PL3)のそれぞれの法線とのスカラ積の絶対値を計算するステップを含むことを特徴とする請求項1に記載の方法。
  3. 前記3Dシーンのストローク(ST1、ST2)のうちの1つの3Dポイントを指定するアクティブ化入力に応答して、前記現描画平面が通過する原点(OR)を設定するステップを含むことを特徴とする請求項1または2に記載の方法。
  4. 前記アクティブ化入力は、アクティブ化ボタンの解放まで、スケッチされたストローク(ST1、ST2)のうちの1つに沿って前記3Dシーン内でポインティング要素(PE)を移動している間、前記アクティブ化ボタンの押下および保持をし、それによって、指定された3Dポイント上の前記現描画平面の原点(OR)を設定するステップを含むことを特徴とする請求項に記載の方法。
  5. 前記アクティブ化ボタンは、キーボードボタンであることを特徴とする請求項に記載の方法。
  6. 前記現描画平面の視覚フィードバックを提供するステップを含むことを特徴とする請求項1ないしのいずれか1つに記載の方法。
  7. 前記視覚フィードバックは、前記現描画平面の前記ストロークの強調表示であることを特徴とする請求項に記載の方法。
  8. 前記近平面から最も近い平面を第1の平面として定義する初期ステップを含むことを特徴とする請求項1ないしのいずれか1つに記載の方法。
  9. 以前に定義された平面を第1の平面として定義する初期ステップを含むことを特徴とする請求項1ないしのいずれか1つに記載の方法。
  10. コンピュータに請求項1ないしのいずれか1つに記載の方法を実行させることを特徴とするコンピュータプログラム。
  11. 請求項10記載のコンピュータプログラムを記録したことを特徴とする非一過性コンピュータ可読媒体。
  12. メモリ(MEM1乃至MEM4)およびグラフィカルユーザインターフェース(KB、PD、DC、DY)に結合されたプロセッサ(CP)を備えるコンピュータシステムであって、前記メモリは、請求項1ないしのいずれか1つに記載の方法を前記コンピュータシステムに実施させるためのコンピュータ実行可能命令(EXP)を記憶することを特徴とするコンピュータシステム。
JP2018241416A 2017-12-28 2018-12-25 3dオブジェクトの設計のための描画平面を定義するための方法 Active JP7340927B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17306969.1A EP3506214A1 (en) 2017-12-28 2017-12-28 Method for defining drawing planes for the design of a 3d object
EP17306969.1 2017-12-28

Publications (2)

Publication Number Publication Date
JP2019121387A JP2019121387A (ja) 2019-07-22
JP7340927B2 true JP7340927B2 (ja) 2023-09-08

Family

ID=61002812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018241416A Active JP7340927B2 (ja) 2017-12-28 2018-12-25 3dオブジェクトの設計のための描画平面を定義するための方法

Country Status (4)

Country Link
US (1) US10769824B2 (ja)
EP (1) EP3506214A1 (ja)
JP (1) JP7340927B2 (ja)
CN (1) CN110060328A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7248903B2 (ja) * 2019-06-28 2023-03-30 サミー株式会社 弾球遊技機
JP7248900B2 (ja) * 2019-06-28 2023-03-30 サミー株式会社 弾球遊技機
CN113496049B (zh) * 2020-04-03 2024-03-12 琦境科技(北京)有限公司 一种三维空间物品规划的方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007506186A (ja) 2003-09-15 2007-03-15 株式会社ソニー・コンピュータエンタテインメント トラッキングされている頭部の動作に従って表示中のシーンのビューを調整する方法及び装置
US20080036773A1 (en) 2006-02-21 2008-02-14 Seok-Hyung Bae Pen-based 3d drawing system with 3d orthographic plane or orthrographic ruled surface drawing
JP2009512012A (ja) 2005-10-06 2009-03-19 オートデスク,インコーポレイテッド 3dモデル作成のためのワークフローシステム
JP2009075739A (ja) 2007-09-19 2009-04-09 Namco Bandai Games Inc プログラム、情報記憶媒体、および画像生成システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05131348A (ja) * 1991-11-07 1993-05-28 Sumitomo Metal Mining Co Ltd 芯無し研削盤用ワーク送り装置
JP2955989B2 (ja) * 1997-02-18 1999-10-04 株式会社セガ・エンタープライゼス ゲーム装置
US6980690B1 (en) * 2000-01-20 2005-12-27 Canon Kabushiki Kaisha Image processing apparatus
KR100975128B1 (ko) * 2010-01-11 2010-08-11 (주)올라웍스 뷰잉 프러스텀을 이용하여 객체에 대한 정보를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
JP2013125487A (ja) * 2011-12-16 2013-06-24 Konica Minolta Business Technologies Inc 空間手書きシステム及び電子ペン
EP2889738B1 (en) * 2013-12-30 2020-08-12 Dassault Systèmes Computer-implemented method for designing a three-dimensional modeled object
EP3179451B1 (en) * 2015-12-08 2019-05-29 Dassault Systèmes A computer-implemented method for drawing a polyline in a three-dimensional scene

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007506186A (ja) 2003-09-15 2007-03-15 株式会社ソニー・コンピュータエンタテインメント トラッキングされている頭部の動作に従って表示中のシーンのビューを調整する方法及び装置
JP2009512012A (ja) 2005-10-06 2009-03-19 オートデスク,インコーポレイテッド 3dモデル作成のためのワークフローシステム
US20080036773A1 (en) 2006-02-21 2008-02-14 Seok-Hyung Bae Pen-based 3d drawing system with 3d orthographic plane or orthrographic ruled surface drawing
JP2009075739A (ja) 2007-09-19 2009-04-09 Namco Bandai Games Inc プログラム、情報記憶媒体、および画像生成システム

Also Published As

Publication number Publication date
CN110060328A (zh) 2019-07-26
US20190206098A1 (en) 2019-07-04
EP3506214A1 (en) 2019-07-03
JP2019121387A (ja) 2019-07-22
US10769824B2 (en) 2020-09-08

Similar Documents

Publication Publication Date Title
US10061496B2 (en) Snapping of object features via dragging
JP4546855B2 (ja) 要素を選択する方法およびプログラム
EP2333651B1 (en) Method and system for duplicating an object using a touch-sensitive display
JP7340927B2 (ja) 3dオブジェクトの設計のための描画平面を定義するための方法
US9685143B2 (en) Display control device, display control method, and computer-readable storage medium for changing a representation of content displayed on a display screen
JP7241462B2 (ja) 3次元シーンにおけるオブジェクトの高速操作
Wu et al. TouchSketch: a touch-based interface for 3D object manipulation and editing
JP6360509B2 (ja) 情報処理プログラム、情報処理システム、情報処理方法、および情報処理装置
JP2023184496A (ja) 3d形状を2dスケッチ上に推論する方法
US10073612B1 (en) Fixed cursor input interface for a computer aided design application executing on a touch screen device
JP7343274B2 (ja) 回転用のジェスチャーベースのマニピュレータ
EP2779116B1 (en) Smooth manipulation of three-dimensional objects
JP2016129019A (ja) グラフィック要素の選択
US20230196704A1 (en) Method for duplicating a graphical user interface (gui) element in a 3d scene
US11893314B2 (en) Method for designing a 3D object by using a virtual 3D grid and hand drawn sketches
JP2021051739A (ja) 3dシーンにおける3dオブジェクトの位置決めを支援するためのコンピュータで実施される方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230829

R150 Certificate of patent or registration of utility model

Ref document number: 7340927

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150