CN108228026A - 三维场景中对象的快速操纵 - Google Patents
三维场景中对象的快速操纵 Download PDFInfo
- Publication number
- CN108228026A CN108228026A CN201711403882.6A CN201711403882A CN108228026A CN 108228026 A CN108228026 A CN 108228026A CN 201711403882 A CN201711403882 A CN 201711403882A CN 108228026 A CN108228026 A CN 108228026A
- Authority
- CN
- China
- Prior art keywords
- cursor
- computer
- axis
- implemented method
- translation
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/04815—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04845—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种用于在计算机显示器上显示的三维场景中操纵至少一个三维建模对象(O1)的计算机实现的方法,所述方法包括以下步骤:a)在三维场景中显示由指针设备(PD)控制的光标(C),所述光标具有表示坐标系的三个轴(X,Y,Z)的形状;b)选择三维场景的对象;c)检测由用户使用所述指针设备执行的拖动操作,所述拖动操作包括光标的平移,以及根据光标的所述平移来选择坐标系的轴;以及d)执行选择的对象的操纵,所述操纵取决于选择的轴线和光标(PP)沿选择的轴线的平移的长度(L)。
Description
技术领域
本发明涉及一种用于操纵在计算机显示器上显示的三维场景中的对象的计算机实现的方法。它涉及计算机图形学、创作、计算机辅助设计(CAD),计算机辅助工程(CAE)和计算机辅助制造(CAM)等领域,并且适用于其中需要在三维场景内操纵(平移、旋转、调整大小等)数字模型化对象的所有情况。
背景技术
三维建模需要能够在场景内例如通过选择、缩放、平移、旋转等等来操纵三维场景的元素(物体)。
在三维建模的早期,所有这些变换都是参数化的,即通过由用户凭借例如键盘输入的数字输入来限定。这种方法速度慢、麻烦,并且显然不直观。
不久之后,研究人员开始设计用于使用诸如鼠标、操纵杆、触摸板等指针设备来操纵对象的非参数用户界面(UI)。然而,这样的指针设备本质上是二维的:例如,鼠标光标可以仅在二维中移动,并且因此不能直接用于限定三维操纵。为了克服这个限制,用于操纵对象的早期非参数化方法涉及多个步骤,典型地选择对象的一个或多个点,并且然后选定要应用于所述点的动作。这种方法——可以称为“非沉浸式”——仍然不能令人满意,因为选择点和选定行动是缓慢和繁琐的操作。用于在三维中操纵对象的早期非浸入式用户界面的示例由如下文献描述:
-Eric A.Bier“Skitters and jacks:Skitters and jacks:interactive 3Dpositioning tools”,Proceedings of the 1986Workshop on Interactive 3DGraphics,第183-166页.ACM:纽约,1986年10月;以及
-Eric A.Bier“Snap-dragging:Interactive geometric design in two andthree dimensions”报告。加州大学伯克利分校。计算机科学部,1988年。
为了简化和更直观地在三维中操纵三维物体,随后引入了“沉浸式”图形用户界面(GUI)。它们依赖于图形工具,例如称作“交互器”或“操纵工具”,图形工具被引入到三维场景中,并允许对选择的对象进行更直接的操纵。
下面介绍沉浸式操纵GUI的早期示例:
Stephanie Houde,“Iterative design of a interface for easy 3-D directmanipulation”,Proceedings of the SIGCHI Conference on Human Factors inComputing Systems,p.135-142,1992年5月3日-7日,美国加利福尼亚州蒙特雷。
该GUI基于具有围绕选择的对象限定的句柄的定界框。在手柄上动作允许操纵对象。
另一种已知的交互器是由达索系统公司使用并在EP0824247中描述的所谓的“机器人(robot)”。“机器人”由不同的元件组成,每个元件都与不同的变换相关联。更具体地,它包括三个轴线,每个轴线代表平移,三个圆弧,每个圆弧代表旋转,以及三个平面图形,代表在相应的平面中的2D平移。将“机器人”附接到要操纵的对象上,然后通过点击交互器的相应元素来触发对象的变换。
EP0824247提供了另一个沉浸式GUI的示例,EP0824247公开了一种具有三个垂直和相交区段的形状的交互器,每个区段限定笛卡尔轴,其端部具有球体;一个额外的球体位于交互器的中心。用户通过用例如通过鼠标控制的光标拖动它们来与球体进行交互。拖动中心球体允许使交互器所连接的对象平移。在相对应的区段的方向拖动任何其他的球体限定了在该区段的方向上的缩放。而且,在与相对应的区段的方向垂直的方向上拖动除了中心球体以外的球体来限定旋转。
沉浸式UI比非沉浸式用户界面更直观。不过,它们也有明显的缺点:
-交互器经常导致被操纵的对象的视觉遮挡;
-交互器的使用可能很复杂;
-用户需要选择交互器的特定部分,如果交互器很小(可能需要交互器很小以将视觉遮挡最小化)则这是耗时且可能困难的。
完全不同的方法在于使用3D输入设备,例如,3D鼠标,来直接限定3D变换。然而,这种方法并不是非常灵活,因为它依赖于特定的硬件,而这些硬件通常是昂贵的,而且并不普遍。多按钮鼠标可以构成简单的3D输入设备,但是其使用不是非常直观并且需要训练。
发明内容
本发明旨在克服现有技术的缺点。更具体地,其目的在于提供一种用于对对象进行3D操作的图形用户界面,其使得最小的障碍并提供高速的交互,同时使用简单并且直观。
允许实现这些目标的本发明的对象是一种用于在计算机显示器上显示的三维场景中操纵至少一个三维建模对象的计算机实现的方法,所述方法包括以下步骤:
a)在三维场景中显示由指针设备控制的光标,所述光标具有表示坐标系的三个轴的形状;
b)选择三维场景的对象;
c)检测由用户使用所述指针设备执行的拖动操作,所述拖动操作包括光标的平移,以及根据光标的所述平移来选择坐标系的轴;以及
d)执行对选择的对象的操纵,所述操纵取决于选择的轴以及光标沿选择的轴的平移的长度。
根据本发明的特定实施例:
-步骤c)可以包括选择坐标系中具有最接近光标的所述平移的初始区段的方向的轴。
-在所述初始段之后,光标的平移优选地仅沿选择的轴执行。
-步骤b)可以包括自动选择最接近光标的三维场景的对象。可选地,步骤b)可以包括根据来自用户的命令来选择三维场景的对象。
-在步骤d)中执行的操纵可以从以下组中选择,该组包括:选择的对象沿选择的轴平移与光标沿选择的轴的平移长度成比例的距离;选择的对象围绕选择的轴旋转与光标沿着选择的轴的平移的长度成比例的角度;以及选择的对象沿选择的轴关联(affinity)与光标沿着选择的轴的平移的长度成比例的距离。
-坐标系可以是具有取决于场景的视点的取向的笛卡尔坐标系。可选地,坐标系可以是具有由在三维场景中显示的操纵工具确定的取向的笛卡尔坐标系。
-步骤c)可以进一步包括改变光标的形状,使得其仅表示选择的轴。
-选择的对象可以是网格的节点。
本发明的另一个对象是一种存储在非非暂时性计算机可读数据存储介质上的计算机程序产品,包括计算机可执行指令以使得计算机系统执行这样的方法。
本发明的另一对象是一种包含计算机可执行指令以使计算机系统执行这种方法的非暂时性计算机可读数据存储介质。
本发明的另一对象是一种计算机系统,包括耦合到存储器和图形用户界面的处理器,存储器存储计算机可执行指令以使计算机系统执行这样的方法。
附图说明
通过以下结合附图的描述,本发明的其他特征和优点将变得显而易见,附图示出了:
-图1是本发明方法中使用的光标的可能形状;
-图2A和图2B分别是根据本发明的不同实施例的要被操纵的对象的“显式”和“隐式”选择;
-图3A和图3B是根据本发明实施例的拖动操作;
-图4是根据本发明实施例的方法的流程图;
-图5A和图5B是实施“隐式”对象选择的本发明实施例对三维网格的变形的应用;
-图6是实现“显式”对象选择的本发明的不同实施例应用于三维网格的变形;以及
-图7和图8是适合于执行根据本发明的不同实施例的方法的相应的计算机系统的框图。
具体实施方式
此后,“三维”(或“3D”)建模对象将是允许三维(3D)图形表示的对象或其在计算机系统中的数字表示。3D表示允许从各个角度(视点)查看零件。例如,当进行3D表示时,3D建模对象可以被处理并围绕其任何轴转动,或围绕显示该表示的屏幕中的任何轴转动。三维场景由设置在三维空间中的多个3D建模对象构成。
在本发明的基础上的想法是使用其形状被适当修改的光标本身作为交互器。这消除了将交互器与对象相关联,然后点击交互器的元素以选择变换的耗时操作。此外,除了无论如何都必须存在的光标所引起的小障碍之外,没有视觉障碍。
图1示出了根据本发明的实施例的可能的光标/交互器C,其具有象征性地表示三个非平面轴X、Y和Z的形状。有利地,这些轴相互垂直并形成笛卡尔坐标系。它们可以对应于场景的“内在”坐标系,其取向随视点而变化,或者可以相对于其自由定向,如稍后将讨论的。例如,根据本发明的“正常”光标到光标/交互器的变换可以被触发,例如,通过使用键盘输入的命令或通过从菜单中选择项目。
光标C被放置在场景上,并使用适当的指针设备(例如,鼠标)来移动。由于光标的惯例,它可以被用于选择场景的一个对象。该选择可以是显式的也可以是隐式的。显式选择是例如通过将光标悬停在场景的对象上并点击它(例如,使用鼠标按钮)来执行。通常,选定的对象被突出显示,并且即使当光标移开时它仍被选中,直到它被取消选择,例如,通过当光标不在其上时再次点击。在图2A中,例如,场景3DS的对象O1被选择并且保持如此,即使光标C不再悬停在它上面。然而根据本发明的优选实施例,选择也可以是隐式的。这意味着,当场景的对象都没有被显式地选择时,焦点位于离光标最近的对象上。例如,如果从图2A的情况开始,取消选择对象O1,则隐式地选择对象O2(参见图2B)。隐式选择在某种程度上是短暂的,因为只要光标靠近另一个对象,它就会被丢弃。
显式或隐式选择的对象可以通过简单地用光标执行“拖动”来操纵。“拖动”包括在使用输入设备执行不同的特定动作时执行的光标的平移;通常这个动作是按下用于控制光标的鼠标、触摸板或操纵杆的按钮。图3A示出了在拖动操作期间光标C的平移。通常,由拖动操作限定的路径DP(对应于例如在鼠标垫上移动的鼠标的轨迹)不是完全直线的;然而,延伸例如几毫米(例如5毫米)的路径的初始段IS可以被认为是大致直的。根据本发明的实施例,路径的初始段被用于识别光标的移动的初始方向。然后,选择由方向最接近于运动的初始方向的光标所表示的坐标系的轴。在图3A的示例中,路径的初始段IS大部分沿着光标的X轴定向;因此选择该轴并构成变换的轴。有利地,如图3B所示,显示在屏幕上的光标不遵循由拖动限定的路径DP,而是其选择的轴的投影PP。这不是必需的,但它有助于用户了解哪个轴被选中。可选地,光标的形状也可以改变以清楚地识别选择的轴(参见下面的图5B)。
该变换由选择的轴以及由与路径PP的长度L(即,光标在选择的轴的方向上的位移)相对应的数值来限定。变换类型是预定的,并且不能由用户选择。这就是说,本发明的光标/交互器仅允许执行单个和预定种类的操作,例如,沿着选择的轴的平移或者在所述轴的方向上的关联(重新缩放),或者关于它的旋转。因此,它不如例如文献EP0824247的“机器人”灵活,“机器人”允许执行几种不同类型的操纵。然而,在某些应用中,单一种操作是有意义的,在这种情况下,本发明的GUI是完全合适的。在其他一些应用中,一种操纵(通常是平移)显然将是最常用的操作;在这些情况下,默认情况下可以使用本发明的GUI,并且在需要时可以切换到“通用”GUI(例如“机器人”)。切换可以被执行,例如,通过使用鼠标执行右键点击以使菜单出现,并且然后通过选择所述菜单的适当项目。
当可以使用时,本发明的GUI允许比根据现有技术更快速和更容易地操纵对象。特别是当使用隐式选择时,不需要点击要被操纵的对象,而是将光标放在其附近就足够了。而且,不需要点击交互器来选择操纵轴。简单的“手势”(拖动操作)就足够了。
此外,由于只有光标叠加到场景中,所以视觉障碍最小,并且其位置并不重要。
图4是本发明方法的流程图。首先(i),在屏幕上显示包括可被操纵的对象的3D场景。然后,修改的光标C(诸如图1之一)被叠加在所述场景(ii)上。当用户开始拖动操作时(iii),计算机系统搜索场景的选择的对象。该对象可以使用光标以传统方式显式选择;否则,最接近光标的对象被认为是隐式选择的(iv)。然后检测初始拖动方向,并识别与该方向最接近的光标的轴线(即,与其形成最小的夹角)(v)。然后沿着所识别的轴执行操纵,并且以与沿所述轴的光标平移的长度成比例的量值来执行操纵(vi)。
本发明方法的特定应用在于移动网格的节点,以便例如自由地限定表面的形状。由于节点是点,所以只有它们的平移自由度是有意义的,因此本发明的GUI可以对它们执行所有可能的操作。
图5A示出了包括通过边连接的多个节点N1、N2、N3...的网格MH。隐式选择的节点N1被突出显示。执行拖动操作,初始方向基本上沿着光标的“Z”轴。这个初始方向被检测到,并且结果是:
-光标只沿所述方向移动;以及
-选择的节点N1沿着这个相同的方向移动与光标平移长度成比例的量,这又使网格变形(图5B)。
在图5A和图5B的实施例中,在拖动操作期间,光标的形状改变,以便向用户通知已被选择的轴。更特别地,如图5B可看见的,在拖动操作期间,光标仅显示选择的轴Z。
到目前为止,已经假设光标轴的取向是固定的。这不一定如此。例如,图6示出了一个实施例,其中用户有可能使“机器人”交互器RT出现,并将其关联到网格的显式选择的节点N1。光标C的轴与“机器人”的轴相链接,并且因此可以关于场景自由定向。由于显式选择了节点N1,其余节点(N2、N3、N4...)不受光标的位置影响。
本发明的方法可以通过适当编程的通用计算机或计算机系统执行,所述通用计算机或计算机系统可能包括计算机网络、以非易失性的形式将合适的程序存储在诸如硬盘、固态硬盘或CD-ROM之类的计算机可读介质上,并使用其微处理器和存储器执行所述程序。
参考图7来描述适合于执行根据本发明的示例性实施例的方法的计算机,更具体地是计算机辅助设计系统或站。在图7中,计算机包括中央处理单元CPU,其执行上述过程。该过程可以作为可执行程序存储,即RAMM1或ROM M2的存储器、或硬盘驱动器(HDD)M3、DVD/CD驱动器M4中的一组计算机可读指令,或者可以远程存储。此外,定义包括多个对象的三维场景的一个或多个计算机文件也可以被存储在存储器设备M1至M4中的一个或多个上,或者远程地存储。
要求保护的发明不受其上存储有本发明的过程的计算机可读指令和/或数字文件的计算机可读介质的形式的限制。例如,指令和文件可以存储在CD、DVD、闪速存储器、RAM、ROM、PROM、EPROM、EEPROM、硬盘或与计算机辅助设计或插图创作站进行通信的任何其他信息处理设备上,例如作为服务器或计算机。程序和文件可以存储在同一存储设备或不同的存储设备上。
此外,可以提供适合于执行本发明方法的计算机程序,作为实用应用程序、背景守护程序或操作系统的组件或其组合,其结合CPU 800和诸如Microsoft VISTA、MicrosoftWindows 8或10、UNIX、Solaris、LINUX、AppleMAC-OS和本领域技术人员已知的其它系统的操作系统执行。
中央处理单元CPU可以是美国英特尔的Xenon处理器,也可以是美国AMD的Opteron处理器,或者是其他类型的处理器,例如美国飞思卡尔公司的Freescale ColdFire、IMX或ARM处理器。可选地,如本领域的普通技术人员将认识到的,中央处理单元可以是诸如来自美国英特尔公司的Skylake的处理器,或者可以在FPGA、ASIC、PLD上或者使用分立的逻辑电路来实现。此外,中央处理单元可以被实现为协同工作来执行上述发明过程的计算机可读指令的多个处理器。
图7中的计算机辅助设计站还包括网络接口NI,例如来自美国英特尔公司的英特尔以太网PRO网络接口卡,用于与诸如局域网(LAN)、广域网(WAN)、互联网等的网络进行接合。计算机辅助设计站还包括显示控制器DC,例如来自美国NVIDIA公司的NVIDIA GeForceGTX图形适配器,用于与显示器DY接合,诸如Hewlett Packard HPL2445w LCD监视器。通用I/O接口IF与键盘KB和指针设备PD(例如滚球,鼠标,触摸板等)接合。显示器、键盘和指针设备与显示控制器和I/O接口一起允许用户提供输入命令——例如,移动光标——以及通过计算机辅助设计站来显示三维场景。
磁盘控制器DKC利用通信总线CBS(可以是ISA、EISA、VESA、PCI或类似的)连接HDDM3和DVD/CD M4,以用于连接计算机辅助设计站的所有组件。
为了简洁起见,这里省略了对显示器、键盘、指针设备以及显示控制器、磁盘控制器、网络接口和I/O接口的一般特征和功能的描述,因为这些特征是已知的。
图8是适于执行根据本发明的不同示例性实施例的方法的计算机系统的框图。
在图8中,可执行程序EXP和定义三维的计算机文件被存储在连接到服务器SC的存储器设备上。除了显示控制器、显示器、键盘和/或指针设备可以在服务器中缺失之外,服务器的存储器设备和整体体系结构可以与以上参照图7所讨论的相同。
服务器SC然后经由网络NW连接到管理员系统ADS和终端用户计算机EUC。
除了管理员系统和终端用户计算机的存储器设备不存储可执行程序EXP和/或定义三维场景的计算机文件之外,管理员系统和终端用户计算机的总体体系结构可以与上面参考图7所讨论的相同。然而,终端用户计算机确实存储了被设计用于与服务器的可执行程序协作的客户端程序,如下文将要论述的。
可以理解的是,网络NW可以是公网,如因特网,也可以是私网,如LAN或WAN网络,或者其任意组合,并且也可以包括PSTN或ISDN子网。网络NW也可以是有线的,例如以太网,或者可以是无线的,例如包括EDGE、3G和4G无线蜂窝系统的蜂窝网络。无线网络也可以是Wi-Fi、蓝牙或任何其他已知的无线通信形式。因此,网络NW仅仅是示例性的,并且决不以任何方式来限制本发明的范围。
存储在终端用户计算机的存储设备中并由终端用户计算机的CPU执行的客户端程序经由网络NW由服务器SC存储的数据库DB访问,该数据库DB包含定义了三维场景或其元素的文件。这允许终端用户打开并且可能修改这样的文件,例如,通过操纵场景的一个或多个对象。服务器执行如上所述的处理,并且再次使用网络NW向终端用户计算机发送对应于场景的期望表示的图像文件。
尽管只显示了一个管理员系统ADS和一个终端用户系统EUX,但系统可以支持任意数量的管理员系统和/或终端用户系统,而没有限制。类似地,在不脱离本发明的范围的情况下,也可以在系统中实现多个服务器。
本文中所描述的任何过程应该被理解为表示包括用于实现过程中的特定逻辑功能或步骤的一个或多个可执行指令的代码的模块、段或部分,并且可替换的实现包括在本发明的示例实施例的范围内。
Claims (13)
1.一种用于在计算机显示器上显示的三维场景(3DS)中操纵至少一个三维建模对象(O1、N1)的计算机实现的方法,所述方法包括以下步骤:
a)在所述三维场景中显示由指针设备(PD)控制的光标(C),所述光标具有表示坐标系的三个轴(X,Y,Z)的形状;
b)选择所述三维场景的对象(O1、N1);
c)检测由用户使用所述指针设备执行的拖动操作,所述拖动操作包括所述光标的平移,并且根据所述光标的平移来选择所述坐标系的轴(Z);以及
d)执行选择的对象的操纵,所述操纵取决于选择的轴和所述光标(PP)沿所述选择的轴的平移的长度(L)。
2.根据权利要求1所述的计算机实现的方法,其中,步骤c)包括选择所述坐标系中的具有最接近所述光标的平移(DP)的初始段(IS)的方向的轴。
3.根据权利要求2所述的计算机实现的方法,其中,在所述初始段之后,所述光标的平移是仅沿所述选择的轴执行的。
4.根据前述权利要求中的任一项所述的计算机实现的方法,其中,步骤b)包括自动选择所述三维场景中的与所述光标最接近的对象。
5.根据权利要求1至3中任一项所述的计算机实现的方法,其中,步骤b)包括根据来自所述用户的命令来选择所述三维场景的对象。
6.根据前述权利要求中的任一项所述的计算机实现的方法,其中,在步骤d)中执行的所述操纵是从包括以下的组中选择的:
-将所述选择的对象沿着所述选择的轴平移与所述光标沿所述选择的轴的平移的长度成比例的距离;
-将所述选择的对象围绕所述选择的轴旋转与所述光标沿所述选择的轴的平移的长度成比例的角度;以及
-将所述选择的对象沿所述选择的轴关联与所述光标沿所述选择的轴的平移的长度成比例的距离。
7.根据前述权利要求中的任一项所述的计算机实现的方法,其中,所述坐标系是具有取决于所述场景的视点的取向的笛卡尔坐标系。
8.根据权利要求1至6中的任一项所述的计算机实现的方法,其中,所述坐标系是具有由在所述三维场景中显示的操纵工具(RT)确定的取向的笛卡尔坐标系。
9.根据前述权利要求中的任一项所述的计算机实现的方法,其中,步骤c)还包括改变所述光标的形状,使得所述光标仅表示所述选择的轴。
10.根据前述权利要求中的任一项所述的计算机实现的方法,其中,所述选择的对象是网格(MH)的节点(N1)。
11.一种存储在非暂时性计算机可读数据存储介质(M1-M4)上的计算机程序产品,其包括用于使计算机系统执行根据前述权利要求中的任一项所述的方法的计算机可执行指令。
12.一种包含计算机可执行指令(EXP)的非暂时性计算机可读数据存储介质(M1-M4),所述计算机可执行指令(EXP)用于使计算机系统执行根据权利要求1至10中的任一项所述的方法。
13.一种计算机系统,包括耦合到存储器(M1-M4)和图形用户界面(KB、PD、DC、DY)的处理器(P),所述存储器存储计算机可执行指令(EXP),所述计算机可执行指令(EXP)用于使所述计算机系统执行根据权利要求1至10中的任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16306773.9A EP3340023B1 (en) | 2016-12-22 | 2016-12-22 | Fast manipulation of objects in a three-dimensional scene |
EP16306773.9 | 2016-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228026A true CN108228026A (zh) | 2018-06-29 |
CN108228026B CN108228026B (zh) | 2023-06-09 |
Family
ID=57755135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711403882.6A Active CN108228026B (zh) | 2016-12-22 | 2017-12-22 | 三维场景中对象的快速操纵 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10839613B2 (zh) |
EP (1) | EP3340023B1 (zh) |
JP (1) | JP7241462B2 (zh) |
CN (1) | CN108228026B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109658524A (zh) * | 2018-12-11 | 2019-04-19 | 浙江科澜信息技术有限公司 | 一种三维模型的编辑方法、系统及相关装置 |
CN110559660A (zh) * | 2019-08-02 | 2019-12-13 | 福州智永信息科技有限公司 | Unity3D场景中鼠标对物体的按面拖拽法及介质 |
CN111739171A (zh) * | 2020-06-18 | 2020-10-02 | 北京百度网讯科技有限公司 | 三维场景编辑器的元素放置方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3940577A1 (en) | 2020-07-15 | 2022-01-19 | Dassault Systèmes | Method for designing a three-dimensional mesh in a 3d scene |
KR102431052B1 (ko) * | 2020-08-18 | 2022-08-11 | 오스템임플란트 주식회사 | 매니퓰레이터 선택 방법 및 이를 위한 치과영상 처리 장치 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0612219A (ja) * | 1991-12-09 | 1994-01-21 | Sony Tektronix Corp | カーソル表示方法 |
US20010055031A1 (en) * | 1996-08-09 | 2001-12-27 | Autodesk, Inc. | Method for the modification of three-dimensional objects |
JP2003178330A (ja) * | 1994-04-25 | 2003-06-27 | Fujitsu Ltd | 3次元立体配置編集方法及び3次元立体配置編集装置 |
CN101517526A (zh) * | 2006-09-29 | 2009-08-26 | 皇家飞利浦电子股份有限公司 | 具有3d连通阴影的鼠标指针 |
US20110181529A1 (en) * | 2010-01-26 | 2011-07-28 | Jay Christopher Capela | Device, Method, and Graphical User Interface for Selecting and Moving Objects |
CN102693006A (zh) * | 2011-02-25 | 2012-09-26 | 微软公司 | 用户界面呈现和交互 |
CN102831636A (zh) * | 2011-05-11 | 2012-12-19 | 达索系统公司 | 在三维场景中设计对象的三维建模组件 |
CN102929407A (zh) * | 2012-10-09 | 2013-02-13 | 中山大学 | 基于空间鼠标和菜单的三维光场空间内容操纵系统及方法 |
CN104050721A (zh) * | 2013-03-15 | 2014-09-17 | 梦工厂动画公司 | 平滑操纵三维对象 |
CN104137043A (zh) * | 2011-09-30 | 2014-11-05 | 瑞艾利缇盖特(Pty)有限公司 | 用于在图形用户界面(gui)上进行人机交互的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003006678A (ja) * | 2001-06-18 | 2003-01-10 | Hitachi Software Eng Co Ltd | オブジェクトの選択制御方法 |
US7646394B1 (en) * | 2004-03-05 | 2010-01-12 | Hrl Laboratories, Llc | System and method for operating in a virtual environment |
DE112009000094T5 (de) * | 2008-01-04 | 2010-11-11 | 3M Innovative Properties Co., St. Paul | Verfeinerung dreidimensionaler Modelle |
US8854357B2 (en) * | 2011-01-27 | 2014-10-07 | Microsoft Corporation | Presenting selectors within three-dimensional graphical environments |
-
2016
- 2016-12-22 EP EP16306773.9A patent/EP3340023B1/en active Active
-
2017
- 2017-12-15 US US15/843,967 patent/US10839613B2/en active Active
- 2017-12-22 CN CN201711403882.6A patent/CN108228026B/zh active Active
- 2017-12-22 JP JP2017246763A patent/JP7241462B2/ja active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0612219A (ja) * | 1991-12-09 | 1994-01-21 | Sony Tektronix Corp | カーソル表示方法 |
JP2003178330A (ja) * | 1994-04-25 | 2003-06-27 | Fujitsu Ltd | 3次元立体配置編集方法及び3次元立体配置編集装置 |
US20010055031A1 (en) * | 1996-08-09 | 2001-12-27 | Autodesk, Inc. | Method for the modification of three-dimensional objects |
CN101517526A (zh) * | 2006-09-29 | 2009-08-26 | 皇家飞利浦电子股份有限公司 | 具有3d连通阴影的鼠标指针 |
US20110181529A1 (en) * | 2010-01-26 | 2011-07-28 | Jay Christopher Capela | Device, Method, and Graphical User Interface for Selecting and Moving Objects |
CN102693006A (zh) * | 2011-02-25 | 2012-09-26 | 微软公司 | 用户界面呈现和交互 |
CN102831636A (zh) * | 2011-05-11 | 2012-12-19 | 达索系统公司 | 在三维场景中设计对象的三维建模组件 |
CN104137043A (zh) * | 2011-09-30 | 2014-11-05 | 瑞艾利缇盖特(Pty)有限公司 | 用于在图形用户界面(gui)上进行人机交互的方法 |
CN102929407A (zh) * | 2012-10-09 | 2013-02-13 | 中山大学 | 基于空间鼠标和菜单的三维光场空间内容操纵系统及方法 |
CN104050721A (zh) * | 2013-03-15 | 2014-09-17 | 梦工厂动画公司 | 平滑操纵三维对象 |
Non-Patent Citations (2)
Title |
---|
MARKUS WALTL; BENJAMIN RAINER; STEFAN LEDERER;: "A 4D multimedia player enabling sensory experience", 《2013 FIFTH INTERNATIONAL WORKSHOP ON QUALITY OF MULTIMEDIA EXPERIENCE》 * |
齐建昌,戴国忠: "CAD中三维交互技术的研究与实现", 《计算机研究与发展》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109658524A (zh) * | 2018-12-11 | 2019-04-19 | 浙江科澜信息技术有限公司 | 一种三维模型的编辑方法、系统及相关装置 |
CN110559660A (zh) * | 2019-08-02 | 2019-12-13 | 福州智永信息科技有限公司 | Unity3D场景中鼠标对物体的按面拖拽法及介质 |
CN110559660B (zh) * | 2019-08-02 | 2022-05-17 | 宝宝巴士股份有限公司 | Unity3D场景中鼠标对物体的按面拖拽法及介质 |
CN111739171A (zh) * | 2020-06-18 | 2020-10-02 | 北京百度网讯科技有限公司 | 三维场景编辑器的元素放置方法、装置、设备及存储介质 |
CN111739171B (zh) * | 2020-06-18 | 2024-04-12 | 北京百度网讯科技有限公司 | 三维场景编辑器的元素放置方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20180182177A1 (en) | 2018-06-28 |
JP7241462B2 (ja) | 2023-03-17 |
JP2018106715A (ja) | 2018-07-05 |
US10839613B2 (en) | 2020-11-17 |
EP3340023A1 (en) | 2018-06-27 |
EP3340023B1 (en) | 2020-02-12 |
CN108228026B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228026A (zh) | 三维场景中对象的快速操纵 | |
US9542068B2 (en) | System and method for constrained manipulations of 3D objects by multitouch inputs | |
JP4077321B2 (ja) | 表示制御装置 | |
EP2814000B1 (en) | Image processing apparatus, image processing method, and program | |
KR20160051801A (ko) | 컴포넌트들을 연결하기 위한 강화된 툴을 갖는 그래픽 사용자 인터페이스 | |
JP2017126325A (ja) | 三次元シーンにおいてポリラインを描画するためのコンピュータ実装方法 | |
US10769824B2 (en) | Method for defining drawing planes for the design of a 3D object | |
US11204679B1 (en) | Snapping objects into alignment in three-dimensional space | |
US10754524B2 (en) | Resizing of images with respect to a single point of convergence or divergence during zooming operations in a user interface | |
JP7475120B2 (ja) | 回転を少なくとも含む動きを生成するための方法 | |
US11385783B2 (en) | Gesture-based manipulator for rotation | |
US10102310B2 (en) | Precise object manipulation system and method | |
CN114930285B (zh) | 一种软件架构的可视化方法及装置 | |
JP2008197736A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP6526851B2 (ja) | 図形処理装置および図形処理プログラム | |
CN110060328B (zh) | 用于定义用于3d对象的设计的绘图平面的方法 | |
KR102392675B1 (ko) | 3차원 스케치를 위한 인터페이싱 방법 및 장치 | |
US20160334971A1 (en) | Object Manipulation System and Method | |
US11029828B2 (en) | Object connection breaking system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |