JP7343274B2 - 回転用のジェスチャーベースのマニピュレータ - Google Patents

回転用のジェスチャーベースのマニピュレータ Download PDF

Info

Publication number
JP7343274B2
JP7343274B2 JP2018238558A JP2018238558A JP7343274B2 JP 7343274 B2 JP7343274 B2 JP 7343274B2 JP 2018238558 A JP2018238558 A JP 2018238558A JP 2018238558 A JP2018238558 A JP 2018238558A JP 7343274 B2 JP7343274 B2 JP 7343274B2
Authority
JP
Japan
Prior art keywords
cursor
rotation
computer
point
area
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
JP2018238558A
Other languages
English (en)
Other versions
JP2019114256A (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 JP2019114256A publication Critical patent/JP2019114256A/ja
Application granted granted Critical
Publication of JP7343274B2 publication Critical patent/JP7343274B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、コンピュータディスプレイ上に表示される3次元シーン内のオブジェクトを操作するためのコンピュータ実施方法に関する。本発明は、コンピュータグラフィックス、オーサリング、コンピュータ支援設計(CAD)、コンピュータ支援エンジニアリング(CAE)およびコンピュータ支援製造(CAM)の分野に属し、デジタルモデル化されたオブジェクトを3次元のシーン内部で操作しなければならないすべての状況に応用される。
ダッソーシステムズが商標Catiaで提供しているようなCADアプリケーションは、オブジェクトまたはオブジェクトのアセンブリの複雑な3次元または3次元モデルを構築および操作することを可能にする。CADアプリケーションを使用する場合、オブジェクトまたはオブジェクトのサブ要素を変換(例えば、回転、変換)することが望ましいことが多々ある。CADアプリケーションでは、3つの軸を有し、その操作によって利用可能な異なる3D変換を表すグラフィカルマニピュレータを使用することが知られている。グラフィカルマニピュレータは、多面的ツールの形態でオブジェクト表示ウィンドウのシーンで表現することができ、ツールの各面は異なる機能(例えば、回転、平行移動)を表すことができる。このツールは、機能が実行されるオブジェクトに関連付けることができる複数の機能のコンパクトな表現を具現化する。ツールの各機能は、ツールが投入されているシーンの1つまたは複数のオブジェクトを変更するように設計される。本発明は、より具体的には、回転マニピュレータと呼ばれるツールの回転機能に関する。
図1から図3は、背景技術の第1の解決法による回転操作を示す。シーン内に回転マニピュレータRMを投入することにより、回転マニピュレータRMは多くの点でシーンの他のオブジェクトのように挙動することができる。例えば、ビューの回転移動によってシーンのビューが変更されると、シーンに投入された回転マニピュレータRMのビューもそれに従って変化する。回転マニピュレータRM、より一般的には上述した多面的なツールに関する詳細は、米国特許第7,823,085号明細書に記載されている。図1は、中心CE、3つの軸X、YおよびZ、およびZ軸周り、X軸周り、およびX軸周りの回転のための3つの円弧XY、YZおよびZXによってそれぞれ定義される3つの回転面を含む回転マニピュレータRMを示す。Y軸。回転操作子RMは、通常、オブジェクトOBの重心に位置決め固定されて回転する。分かりやすくするために、図2では、回転マニピュレータRMがエッジEDに表示されている。図3において、ユーザは、カーソルCを回転操作子RM上に移動させて、所望の回転(Z軸周りの回転の円弧XY、X軸周りの回転の円弧YZ、Y軸周りの回転の円弧ZX)、最後にカーソルを移動しながらマウスを押圧して保持する(即ち、解放しない)。カーソルの移動により、オブジェクトは円弧によって指定された方向に、またカーソルの変位の関数として決定された角度だけ回転する。この背景技術の解決策にはいくつかの制限があり、回転マニピュレータがシーン内の3D点に固定されているという事実に関連している。カーソルは、オブジェクトOBのすぐ近くに回転しているはずである。したがって、カーソルが他のインタラクションの回転操作の直前のシーンの別の部分にある場合、ユーザは、オブジェクトOBを回転させるためにカーソルを回転操作子RMに戻さなければならない。これにより、多くのカーソル移動が発生する可能性がある。回転操作は、オブジェクトOBへのカーソルの接近に起因して、ユーザにオブジェクトOBにカーソルを位置させ、それを部分的または完全に隠すように強制してよい。ユーザの手がオブジェクトOBの正しい視覚化をブロックし、それによって回転を制御することが困難になるので、タッチモードでは、それはますます面倒になる。
図4および図5は、背景技術の第2の解決策による場面における回転操作を示す。この解決策では、ユーザは、オブジェクトOBに必ずしも近接していなくても、シーン内のどこからでも回転を実行することができ、カーソルまたはタッチモードでのユーザの指によるオブジェクトOBの隠蔽を回避する。図4は、この第2の解決法の場面を示す。シーンは3つの回転領域(RA1、RA2、RA3)に分割され、3つの部分の交点が回転マニピュレータRMの中心1になる。回転軸の選択は、シーン内のカーソルの位置(Z軸周りの回転のための第1の回転領域RA1、X軸周りの回転のための第2の回転領域RA2、Y軸周りの回転のための第3の回転領域RA3)によって決定される。次に、ユーザは、図5に示すように、選択された回転軸を中心に回転操作を実行する。カーソルは、初期点IPから最終点FPに移動される。背景技術のこの第2の解決策はいくつかの制限を含む。第1に、ユーザがいくつかの回転操作を実行したい場合、所望の回転領域を見つけるために、部分から部分へシーンを探索しなければならない。これは、所望の回転領域に達するために多くのマウス変位を意味する。第2に、ユーザは、シーンの一方の側のオブジェクトOBに対して一定の外観を持たなければならず、シーンの他方の側のカーソルCを動かす。これは彼にとって不快になることがある。別の制限は、回転マニピュレータRMが可視でない場合、例えばユーザがズームインした、または視点を変換した場合に、回転操作を実行することができないことに起因する。最終的にオブジェクトOBを初期点IPから最終点FPまで回転させるために、多くのカーソル移動が行われる。
次に、本発明の目的は、操作の異なるステップを通してカーソル変位を低減し、操作されるオブジェクトのいかなる障害も回避し、ユーザに視覚的な快適さを提供する、コンピュータ支援設計システムの3Dシーンにおいて3Dオブジェクトを操作するためのコンピュータ実施方法を提供することである。
本発明の一態様によれば、コンピュータ支援設計システムの3Dシーンにおいて3Dオブジェクトを操作するためのコンピュータ実施方法であって、
a)3Dシーン内に回転中心を有する3Dオブジェクトを画面上に表示するステップと、
b)互いに直交する3つの領域を有する回転マニピュレータを3Dシーンに表示するステップであり、回転マニピュレータは画面上のカーソルに追従し、各領域は回転面に対応するステップと、
c)初期の押圧点上の画面上にその位置をロックすることによって回転マニピュレータを作動させるステップと、
d)面に対応する領域にカーソルを移動することによって1つの回転面を選択するステップと、
e)画面上の前記カーソルの移動に従って回転操作を実行するステップと
を含む方法が提案される。
本発明の特定の実施形態によれば、
ステップd)およびe)は、カーソルの移動中にカーソルを制御する維持されたユーザ入力に応答して実行されてもよく、
ステップd)は、
d1)カーソルを領域に指向するサブステップと、
d2)カーソルが領域に特有の検証閾値に達するか否かを決定するサブステップと
を含んでもよく、
検証閾値は、曲線部分によって規定され、曲線部分の各点は、押圧点に対する所定のピクセル距離を有してもよく、
曲線部分は、対応する領域の外部輪郭であってもよく、
カーソルを指向するサブステップd1)が、カーソルが位置する領域の視覚フィードバックを提供することを含んでもよく、
カーソルを誘導するサブステップd1)は、カーソルが位置していない領域の視覚フィードバックを提供することを含んでもよく、
1つの回転面を選択するステップd)は、対応する領域の検証閾値を超える視覚フィードバックを提供するサブステップd3)を含んでもよく、
視覚フィードバックは、領域のサイズおよび/または色および/または透明度のレベルの変化であってもよく、
ステップe)は、
e1)その方向が初期押圧点および検証点によって規定される基準ベクトルを決定するサブステップであり、検証点)は検証閾値に到達したときのカーソルの位置に対応するサブステップと、
e2)その方向が初期押圧点および現在点によって規定される現在ベクトル(を決定するサブステップであり、現在点は一旦検証閾値に到達すると前記カーソルの位置に対応するサブステップと、
e3)基準ベクトルと現在ベクトルとの間の角度に従って回転操作を行うサブステップと
を含んでもよい。
本発明の別の目的は、コンピュータシステムに上記の方法を実施させるコンピュータ実行可能命令を含む、非一過性のコンピュータ可読データ記憶媒体に格納されたコンピュータプログラム製品である。
本発明の別の目的は、コンピュータシステムに上記の方法を実施させるコンピュータ実行可能命令を含む非一過性のコンピュータ可読データ記憶媒体である。
本発明の別の目的は、メモリおよびグラフィカルユーザインタフェースに接続されたプロセッサを備え、メモリは、コンピュータシステムに上記の方法を実施させるための方法である。
本発明は、非限定的な実施例を例として記載され、添付の図面によって示されるいくつかの実施形態を用いてよりよく理解されるであろう。
最新技術による回転操作のシーンの例を示す。 最新技術による回転操作のシーンの例を示す。 最新技術による回転操作のシーンの例を示す。 最新技術による回転操作のシーンの例を示す。 最新技術による回転操作のシーンの例を示す。 ポインティングデバイスの関連する状態を伴う、本発明による回転マニピュレータの一例を示す。 ポインティングデバイスの関連する状態を伴う、本発明による回転マニピュレータの一例を示す。 ポインティングデバイスの関連する状態を伴う、本発明による回転マニピュレータの一例を示す。 ポインティングデバイスの関連する状態を伴う、本発明による回転マニピュレータの一例を示す。 ポインティングデバイスの関連する状態を伴う、本発明による回転マニピュレータの一例を示す。 ポインティングデバイスの関連する状態を伴う、本発明による回転マニピュレータの一例を示す。 本発明による方法の異なるステップを示す。 本発明による方法の異なるステップを示す。 本発明の異なる実施形態による方法を実行するのに適したそれぞれのコンピュータシステムのブロック図を示す。 本発明の異なる実施形態による方法を実行するのに適したそれぞれのコンピュータシステムのブロック図を示す。
以下、「3次元」(または「3D」)オブジェクトは、コンピュータシステムにおいて、3次元(3D)グラフィカル表現を可能にする物理的オブジェクトのデジタル表現である。3D表示は、すべての角度からパーツを見ることができる。例えば、3Dオブジェクトは、3D表現されると、その軸のいずれか、または表現が表示されている画面内の任意の軸の周りで処理および回転させてよい。
「3次元」(または「3D」)シーンは、3次元空間に配置された複数の3Dオブジェクトによって構成される仮想環境である。
以下、「選択コンテキスト」とは、予め選択された3Dオブジェクト(または複数の3Dオブジェクト)を処理することを意味する。これは、回転操作の開始前にマウスの押しボタンが離されていることを3Dオブジェクトが画面上に表示できることを意味する。
以下、「タッチモード」は、スクリーンから分離されたタッチパッド、またはタッチパッドおよびディスプレイ機能を含むタッチスクリーンの制御を指す、タッチセンシティブな表面上のカーソルの制御を意味する。ユーザ入力は、タッチセンシティブ表面上に指またはスタイラスを維持することによって提供されることが可能である。
図6は、初期状態の回転マニピュレータRMを示す。それは3つの領域(RA1、RA2、RA3)で構成されており、各領域を別の領域から区別するために異なる色を持つことができる。各領域には、外部輪郭(EXT1、EXT2、EXT3)と2つの内部輪郭(INT12、INT13、INT23)がある。各内部輪郭はセグメントであり、操作対象の回転軸を表す。各外部輪郭は、円弧、湾曲した断面、セグメントとすることができ、他の形状をとることができる。3つの内部輪郭は、交点INで交差する。ユーザのポインティングデバイスの動きを模倣するカーソルは、矢印として表されることができる。矢印の先端は、交点INに位置する。本発明は、選択コンテキストで考慮されなければならない。したがって、カーソルが3Dシーン内に位置するときはいつでも、回転マニピュレータRMをカーソルに装着されることができ、それに追従することができる。図5はまた、回転操作のトリガ前のポインティングデバイスの状態を示す。ポインティングデバイスのおかげで回転マニピュレータが3Dシーン内でドラッグされると、ユーザ入力は不要である。ポインティングデバイスがマウスである場合、ユーザはマウスを押圧することなくそれを動かすことができるので、ポインティングデバイスは「解放状態」REにある。タッチモードでは、ドラッギングするための指(またはスタイラス)の接触と選択のための指の接触との間に区別がないので、指の変位は、回転操作のトリガリングをせずにカーソルでの回転マニピュレータRMのドラッギングをもたらす。
図7は、マウスの押圧PRのようなユーザ入力が受信されたときの回転マニピュレータRMを示す。マウスの押圧を検出すると、回転マニピュレータRMが起動され、回転操作の終了までその位置がロックされる。カーソルCが指し示す交点INは、初期押圧点PPと見なされる。タッチモードでは、ユーザは3Dシーン内で回転マニピュレータRMをドラッグし、次に画面上の接触を解除し、回転マニピュレータの位置をロックするように画面上のボタンに触れてもよい。
図8は、起動後の回転マニピュレータRMを示す。回転マニピュレータRMの位置が一旦ロックされると、マウスの変位は、固定回転マニピュレータRMに対するカーソルのドラッギングをもたらす。ユーザは、マウスを押しながら、領域(RA1、RA2、RA3)のうちの1つにカーソルを向けることができる。タッチモードでは、ユーザは、指を敏感な画面上および/またはタッチパッド上に接触させながら、カーソルを領域(RA1、RA2、RA3)の1つに向けることができる。カーソルが現在位置している領域は、視覚フィードバックによって強調表示されるので、強調表示された回転面を検証する場合に、どの回転面が選択されるかが明確に視覚化される。視覚フィードバックは、例えば、カーソルが位置していない領域の透明度のレベルの上昇(図8の領域RA1およびRA3)、および/またはカーソルが位置する領域の色の変化(図8の領域RA2)とすることができる。領域内のカーソルのコースはマスクされることが可能である。あるいは、初期押圧点PPおよびカーソルの位置によって区切られたセグメントSEが表示されることができる。次いで、区域の方向およびその長さは、区域内のカーソルの位置の関数で変化してよい。
図9は、回転マニピュレータRM内のカーソルの代替位置を示す。ユーザは、実際にはマウスを押している間またはタッチスクリーンに接触している間にカーソルをドラッグし、別の領域、例えば領域RA1に切り替えてもよい。したがって、回転面が選択されていない限り、ユーザがある領域から別の領域に切り替えると、領域の視覚フィードバックが変化することがある。
図10は、回転面の選択を示す。第1の実施形態によれば、カーソルが曲線部分によって規定される検証閾値に達すると、検証点VPが回転操作子RM上に生成される。曲線部分の各点は、押圧点PPに対する所定のピクセル距離を有する。画素距離は、ピクセル単位で、または長さ単位(ミリメートルなど)で表されてもよい。バリデーションポイントVPは、カーソルがある領域に対応する曲線部分に到達したときのカーソルの位置に対応する。したがって、領域の曲線部分の到達により、回転操作が有効になる。回転は、曲線部分に対応する回転面に対して3次元で直交する軸の周りに行われる。実施形態によれば、各曲線部分は、対応する領域の外形である(それぞれ領域RA1、RA2およびRA3のEXT1、EXT2およびEXT3)。あるいは、各曲線部分は、所定の半径の円の輪郭によって規定され、その中心は初期押圧点PPである。所定の半径は、ミリメートルなどのピクセル単位または長さ単位で表されてよい。回転マニピュレータRMが一旦起動されると、円が表示されてよい。検証閾値に達した後にマスクされることができる。円は3つの円弧に分割され得、各円弧は回転面に対応する。カーソルが円の円弧の1つに到達するたびに、円弧に対応する回転面が選択される。
図11は、回転面が一旦作動されるた後の回転操作中の回転マニピュレータRMを示す。基準ベクトルRVが生成され、表示されてよい。基準ベクトルRVの原点は、初期押圧点PPである。基準ベクトルRVは、検証点PVを通過するように構成されている。基準ベクトルRVのノルムは任意である。これは、例えば、初期押圧点PPと検証点PVとの間の距離、または所定の距離とすることができる。回転面がアクティブになると、カーソルの位置に対応する現在点CPが表示される。現在点CPは次に、3Dシーン内でドラッグされ、ユーザは入力を維持する(マウス押圧またはタッチモードでの指の接触)。原点が初期押圧点PPである現在ベクトルCVが生成される。そのノルムは、初期押圧点PPと現在点CPとの間の距離である。回転角は、基準ベクトルRVと現在ベクトルCVとの間の角度から得られる。また、回転操作が有効になるとすぐに、回転角度の数値が入力されてもよい。3Dオブジェクトが時計回りに回転されると、回転角度の数値の前に負の符号が付されることが可能である。回転角は度またはラジアンで定義されてよい。例えば、回転角は、現在点CPの近くに位置してもよい。実施形態によれば、3Dオブジェクトの回転は、ユーザがカーソルをドラッグし続けていても、360°回転後に停止されることができる。したがって、ユーザはいくつかの完全な回転を行うことができなくなる。それにより、いくつかの完全な回転後に3Dオブジェクトの元の位置に戻る煩雑な操作が回避される。
3Dオブジェクトの重心回りの回転操作は、回転角度に従って行ってもよい。第1の実施形態によれば、3Dオブジェクトの回転は、カーソルのドラッギングの間、オンザフライで実行されることができる。あるいは、回転操作の終了時に、ユーザが一旦押しボタンを放すと(またはタッチモードで接触を解除した)、回転が1つの角度に従って実行されることができる。ユーザは、現在ベクトルCVのノルムを変更するようにカーソルをドラッグして、レバレッジ効果を生成することができる。結果、カーソルが初期押圧点から離間するほど、ユーザは回転角度をより正確に制御する。
ユーザが一旦マウスの押しボタンを放すと、または指とタッチスクリーンとの間の接触が一度なくなると、回転マニピュレータRMは、図6に示すように、初期状態に戻る。
図12は、本発明の実施形態による方法のフローチャートであり、そのステップは、図6から図11に関連して既に説明した動作に対応する。図12のフローチャートにおいて、
ステップa)は、3Dシーン内に回転中心を有する3Dオブジェクトを画面上に表示することにある。
ステップb)は、3Dシーン内に3つの領域RA1、RA2、RA3が互いに直交する回転マニピュレータRMを表示することにあり、回転マニピュレータRMは画面上のカーソルCに追従し、各領域RA1、RA2、RA3は回転面に対応する。
ステップc)は、初期押圧点PP上の画面上のその位置をロックすることにより回転マニピュレータを作動することである。
ステップd)は、カーソルCを前記面に対応する領域RA1、RA2、RA3に移動させることにより1つの回転面を選択することである。
ステップe)は、画面上のカーソルCの変位に従って回転操作を行うことにある。
図13は、1つの回転面を選択するステップのフローチャートである。図13のフローチャートにおいて、
ステップd1)は、カーソルCを領域RA1、RA2、RA3に向けることにある。
ステップd2)は、カーソルCが領域A1、A2、A3に特有の検証閾値に達するか否かを決定することにある。
ステップd3)は、対応領域に対して検証閾値を超える視覚フィードバックを提供することである。
本発明の方法は、3Dシーン内のどこからでも回転を実行することによって、マウスまたは指の変位を最適化する。また、ユーザが回転させるオブジェクトをユーザが秘匿することも防止する。最終的に、回転角を制御するために必要なマウスまたは(指)変位を減少させ、正確さをもたらすことができる。
本発明の方法は、コンピュータネットワークを含むことが可能な、適切にプログラムされた汎用コンピュータまたはコンピュータシステムにより、適切なプログラムを、ハードディスク、ソリッドステートディスクまたはCD-ROMなどの、コンピュータ可読媒体上に不揮発性の形態で格納し、そのマイクロプロセッサおよびメモリを使用して当該プログラムを実行することによって実施されてもよい。
図14を参照して、本発明の例示的な実施形態による方法を実施するのに適したコンピュータを説明する。図14において、コンピュータは、RAM M1またはROM M2またはハードディスクドライブ(HDD)M3、DVD/CDドライブM4などのメモリデバイスに格納された、またはリモートに格納された実行可能プログラム、すなわちコンピュータ可読命令のセットを実行しつつ上記方法ステップを実行する中央処理装置(CPU)Pを含む。さらに、3次元オブジェクトを定義する1つまたは複数のコンピュータファイルは、1つまたは複数のメモリデバイスM1からM4に、またはリモートに格納してよい。
請求された発明は、本発明のプロセスのコンピュータ可読命令が格納されるコンピュータ可読媒体の形態に限定されない。例えば、命令およびファイルは、CD、DVD、フラッシュメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスクまたはサーバやコンピュータなど、コンピュータが通信する任意の他の情報処理装置に格納されることができる。プログラムは、同じメモリデバイスまたは異なるメモリデバイスに格納されることができる。
さらに、本発明の方法を実施するのに適したコンピュータプログラムは、CPU PおよびMicrosoft VISTA、Microsoft Windows(登録商標)8、UNIX、Solaris、LINUX、Apple MAC-OS、および当業者に知られている他のシステムなどのオペレーティングシステムと連携して実行されるユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムのコンポーネント、またはそれらの組み合わせとして提供されることができる。
CPU Pは、米国IntelのXenonプロセッサ、または米国AMDのOpteronプロセッサとすることができ、または米国Freescale社のFreescale ColdFire、IMX、またはARMプロセッサなどの他のプロセッサタイプとすることができる。あるいは、CPUは、業者が認識するように、米国Intel社のCore2 Duoのようなプロセッサとすることができ、または当FPGA、ASIC、PLD上に、またはディスクリート論理回路を使用して実施されることができる。さらに、CPUは、上述した本発明のプロセスのコンピュータ可読命令を実行するように協働して動作する複数のプロセッサとして実施されることができる。
図14のコンピュータはまた、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットなどのネットワークとインタフェースするために、米国Intel社のIntel Ethernet PROネットワークインタフェースカードのようなネットワークインタフェースNIを含む。コンピュータはさらに、Hewlett Packard HPL2445w LCDモニタのようなディスプレイDYとインタフェースする米国NVIDIA社のNVIDIA GeForce GTXグラフィックスアダプタのようなディスプレイコントローラDCを含む。汎用I/OインタフェースIFは、キーボードKBおよび、ローラーボール、マウス、タッチパッドなどのポインティングデバイスPDとインタフェースする。ディスプレイ、キーボード、タッチモード用のセンシティブ面、およびポインティングデバイスは、ディスプレイコントローラおよびI/Oインタフェースと共に、入力コマンドを提供するために、例えばポインターを移動するために、ユーザにより使用され、そして3次元シーンおよびグラフィックツールを表示するためにコンピュータによって使用されるグラフィカルユーザインタフェースを形成する。
ディスクコントローラDKCは、コンピュータのすべてのコンポーネントを相互接続するために、HDD M3とDVD/CD M4とをISA、EISA、VESA、PCIまたは同様のものなどとすることができる通信バスCBSで接続する。
ディスプレイ、キーボード、ポインティングデバイス、ディスプレイコントローラ、ディスクコントローラ、ネットワークインタフェース、およびI/Oインタフェースの一般的な特徴および機能の説明は、これらの特徴が知られているので、簡潔にするためにここでは省略される。
図15は、本発明の異なる例示的な実施形態による方法を実施するのに適したコンピュータシステムのブロック図である。図15において、実行可能プログラムEXPおよび3次元オブジェクトを定義するコンピュータファイルは、サーバSCに接続されたメモリデバイスに記憶される。ディスプレイコントローラ、センシティブ面、ディスプレイ、キーボードおよび/またはポインティングデバイスがサーバ内に存在しなくてもよいことを除いて、メモリデバイスおよびサーバの全体的なアーキテクチャは、図14を参照して上述したものと同じであってもよい。次に、サーバSCは、ネットワークNWを介して管理者システムADSおよびエンドユーザコンピュータEUCに接続される。管理者システムおよびエンドユーザコンピュータの全体的なアーキテクチャは、管理者システムおよびエンドユーザコンピュータのメモリデバイスが実行可能プログラムEXPおよび/または3次元オブジェクトを定義するコンピュータファイルを格納しないことを除いて、図14を参照して上述したものと同じであってもよい。しかし、エンドユーザコンピュータは、以下に説明するように、サーバの実行可能プログラムと協働するように設計されたクライアントプログラムを格納する。
理解されるように、ネットワークNWは、インターネットなどのパブリックネットワーク、またはLANまたはWANネットワークなどのプライベートネットワーク、またはそれらの任意の組み合わせとすることができ、PSTNまたはISDNサブネットワークを含むこともできる。ネットワークNWは、Ethernet(登録商標)ネットワークのような有線であってもよく、またはEDGE、3G、および4G無線セルラーシステムを含むセルラーネットワークのような無線であってもよい。無線ネットワークは、Wi-Fi、Bluetooth、または既知の他の無線形式の通信であってもよい。したがって、ネットワークNWは単なる例示であり、決して本進歩の範囲を限定するものではない。
エンドユーザコンピュータの記憶装置に記憶され、後者のCPUによって実行されるクライアントプログラムは、サーバSCによって記憶されかつ3次元オブジェクトを定義するファイルを含むデータベースDBに、ネットワークNWを介して、アクセスする。サーバは、上述したように処理を実行し、3Dオブジェクトを含むシーンの所望の表現に対応する画像ファイルをネットワークNWを再度使用してエンドユーザコンピュータに送信する。
1つの管理者システムADSと1つのエンドユーザシステムEUXのみが示されているが、システムは任意の数の管理者システムおよび/またはエンドユーザシステムを制限なくサポートすることができる。同様に、本発明の範囲から逸脱することなく、複数のサーバがシステム内に実施されることもできる。
本明細書で説明される任意の方法ステップは、特定の論理機能またはプロセス内のステップを実施するための1つまたは複数の実行可能命令を含むモジュール、セグメントまたはコード部分を表すと理解されるべきであり、代替実施は、本発明の例示的な実施形態の範囲内に含まれる。

Claims (13)

  1. コンピュータ支援設計システムの3Dシーンにおいて3Dオブジェクトを操作するためのコンピュータ実施方法であって、
    a)3Dシーン内に回転中心を有する3Dオブジェクトを画面上に表示するステップと、
    b)互いに直交する3つの領域(RA1、RA2、RA3)を有する回転マニピュレータ(RM)を前記3Dシーンに表示するステップであって、前記回転マニピュレータ(RM)カーソル(C)に取り付けられ、これにより前記回転マニピュレータ(RM)の位置がロックされるまで前記画面上で前記カーソルに追従し、各領域(RA1、RA2、RA3)は回転面に対応する、該ステップと、
    c)初期押圧点(PP)において前記画面上その位置をロックすることによって回転マニピュレータを作動させるステップと、
    d)前記面に対応する前記領域(RA1、RA2、RA3)に前記カーソル(C)を移動させることによって、1つの回転面を選択するステップと、
    e)前記画面上の前記カーソル(C)の移動に従って回転操作を実行するステップと
    備えることを特徴とする方法。
  2. ステップd)およびe)は、前記カーソル(C)の移動中に前記カーソル(C)を制御する維持されたユーザ入力に応答して実行されることを特徴とする請求項1に記載の方法。
  3. ステップd)は、
    d1)カーソル(C)を前記領域(RA1、RA2、RA3)に指向させるサブステップと、
    d2)前記カーソル(C)が前記領域(A1、A2、A3)に特有の検証閾値に達するか否かを決定するサブステップと
    を含むことを特徴とする請求項1および2のいずれか1つに記載の方法。
  4. 前記検証閾値は曲線部分によって規定され、前記曲線部分の各点は前記押圧点(PP)に対する所定のピクセル距離を有することを特徴とする請求項3に記載の方法。
  5. 前記曲線部分は、前記対応する領域(RA1、RA2、RA3)の外部輪郭(EXT1、EXT2、EXT3)であることを特徴とする請求項4に記載の方法。
  6. 前記カーソルを指向させるサブステップd1)は、前記カーソルが位置する前記領域の視覚フィードバック供を含むことを特徴とする請求項3ないし5のいずれか1つに記載の方法。
  7. 前記カーソルを指向させるサブステップd1)は、前記カーソルが位置していない前記領域の視覚フィードバック供を含むことを特徴とする請求項3から6のいずれか一項に記載の方法。
  8. 1つの回転面を選択するステップd)は、前記対応する領域の検証閾値を超える視覚フィードバックを提供するサブステップd3)を含むことを特徴とする請求項3ないし7のいずれか1つに記載の方法。
  9. 前記視覚フィードバックは、前記領域のサイズおよび/または色および/または透明度レベルの変化であることを特徴とする請求項6ないし8のいずれか1つに記載の方法。
  10. ステップe)は、
    e1)その方向が前記初期押圧点(PP)および検証点(VP)によって規定される基準ベクトル(RV)を決定するサブステップであって、前記検証点(VP)は前記カーソルが前記検証閾値に到達したときの前記カーソルの位置に対応する、該サブステップと、
    e2)その方向が前記初期押圧点(PP)および現在点(CP)によって規定される現在ベクトル(CV)を決定するサブステップであって、前記現在点(CP)は前記カーソルが前記検証閾値に到達した後の前記カーソルの位置に対応する、該サブステップと、
    e3)前記基準ベクトル(RV)と前記現在ベクトル(CV)との間の角度に従って前記回転操作を行うサブステップと
    を含むことを特徴とする請求項3ないし9のいずれか1つに記載の方法。
  11. コンピュータに請求項1ないし10のいずれか1つに記載の方法を実行させることを特徴とするコンピュータプログラム。
  12. 請求項11記載のコンピュータプログラムを記録したことを特徴とする非一過性コンピュータ可読媒体。
  13. メモリ(M1-M4)およびグラフィカルユーザインタフェース(KB、PD、DC、DY)に接続されたプロセッサ(P)を備えたコンピュータシステムであって、前記メモリは、請求項1ないし10のいずれか1つに記載の方法を当該コンピュータシステムに実施させるためのコンピュータ実行可能命令(EXP)を格納していることを特徴とするコンピュータシステム。
JP2018238558A 2017-12-22 2018-12-20 回転用のジェスチャーベースのマニピュレータ Active JP7343274B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17306922.0A EP3502858B1 (en) 2017-12-22 2017-12-22 Gesture-based manipulator for rotation
EP17306922.0 2017-12-22

Publications (2)

Publication Number Publication Date
JP2019114256A JP2019114256A (ja) 2019-07-11
JP7343274B2 true JP7343274B2 (ja) 2023-09-12

Family

ID=60957107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018238558A Active JP7343274B2 (ja) 2017-12-22 2018-12-20 回転用のジェスチャーベースのマニピュレータ

Country Status (4)

Country Link
US (1) US11385783B2 (ja)
EP (1) EP3502858B1 (ja)
JP (1) JP7343274B2 (ja)
CN (1) CN110032305A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111681467B (zh) * 2020-06-01 2022-09-23 广东小天才科技有限公司 一种词汇学习方法及电子设备、存储介质
CN114327174A (zh) * 2021-12-31 2022-04-12 北京有竹居网络技术有限公司 虚拟现实场景的显示方法、光标的三维显示方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185455A (ja) * 1996-01-08 1997-07-15 Canon Inc 図形処理方法及びその装置
JPH10293864A (ja) * 1997-04-18 1998-11-04 Canon Inc 情報処理装置及び方法
US6077307A (en) * 1997-10-31 2000-06-20 Hewlett Packard Company Forced conformance design-rule halos for computer aided design software
US6597382B1 (en) 1999-06-10 2003-07-22 Dassault Systemes Knowledge-based polymorph undockable toolbar
US7324121B2 (en) * 2003-07-21 2008-01-29 Autodesk, Inc. Adaptive manipulators
US7574628B2 (en) * 2005-11-14 2009-08-11 Hadi Qassoudi Clickless tool
US8677257B2 (en) * 2006-08-04 2014-03-18 Apple Inc. Granular graphical user interface element
US7782319B2 (en) * 2007-03-28 2010-08-24 Autodesk, Inc. Three-dimensional orientation indicator and controller
WO2008152732A1 (ja) * 2007-06-12 2008-12-18 Sangikyo Corporation アイコン利用方法、アイコン利用装置、アイコン利用制御プログラムおよびプログラム記録媒体
US20100060588A1 (en) * 2008-09-09 2010-03-11 Microsoft Corporation Temporally separate touch input
US9201520B2 (en) * 2011-02-11 2015-12-01 Microsoft Technology Licensing, Llc Motion and context sharing for pen-based computing inputs
JP2014531684A (ja) * 2011-09-30 2014-11-27 インテル コーポレイション モバイルデバイスのための多次元の対話インタフェース
CN103294177B (zh) * 2012-02-29 2016-01-06 株式会社理光 光标移动控制方法和系统
EP2672462A1 (en) * 2012-06-07 2013-12-11 Dassault Systèmes Computer-implemented method for defining initial conditions for dynamic simulation of an assembly of objects in a three-dimensional scene of a system of computer-aided design
US9075933B2 (en) * 2012-10-11 2015-07-07 Adobe Systems Incorporated 3D transformation of objects using 2D controls projected in 3D space and contextual face selections of a three dimensional bounding box
US10115236B2 (en) * 2016-09-21 2018-10-30 Verizon Patent And Licensing Inc. Placing and presenting virtual objects in an augmented reality environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mufasu CAD,Solidworks How To Rotate Part,youtube,米国,2017年01月10日,https://www.youtube.com/watch?v=nEByRk9tpuU&feature=youtu.be

Also Published As

Publication number Publication date
JP2019114256A (ja) 2019-07-11
EP3502858A1 (en) 2019-06-26
US11385783B2 (en) 2022-07-12
EP3502858C0 (en) 2023-08-16
US20190196699A1 (en) 2019-06-27
CN110032305A (zh) 2019-07-19
EP3502858B1 (en) 2023-08-16

Similar Documents

Publication Publication Date Title
US10839613B2 (en) Fast manipulation of objects in a three-dimensional scene
JP7343274B2 (ja) 回転用のジェスチャーベースのマニピュレータ
EP3295303B1 (en) Annotation creation system and method
JP7340927B2 (ja) 3dオブジェクトの設計のための描画平面を定義するための方法
JP7475120B2 (ja) 回転を少なくとも含む動きを生成するための方法
US10102310B2 (en) Precise object manipulation system and method
EP3295291B1 (en) Drawing object inferring system and method
US20230196704A1 (en) Method for duplicating a graphical user interface (gui) element in a 3d scene
US11029828B2 (en) Object connection breaking system and method
KR102392675B1 (ko) 3차원 스케치를 위한 인터페이싱 방법 및 장치
US20160334971A1 (en) Object Manipulation System and Method
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: 20190221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230602

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: 20230808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230831

R150 Certificate of patent or registration of utility model

Ref document number: 7343274

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150