CN105745688B - 动态工作平面3d渲染环境 - Google Patents

动态工作平面3d渲染环境 Download PDF

Info

Publication number
CN105745688B
CN105745688B CN201480059656.9A CN201480059656A CN105745688B CN 105745688 B CN105745688 B CN 105745688B CN 201480059656 A CN201480059656 A CN 201480059656A CN 105745688 B CN105745688 B CN 105745688B
Authority
CN
China
Prior art keywords
rendering
working face
tool
user
plane
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
CN201480059656.9A
Other languages
English (en)
Other versions
CN105745688A (zh
Inventor
S·H·尼尔森
K·麦克科利夫
P·奥利里
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105745688A publication Critical patent/CN105745688A/zh
Application granted granted Critical
Publication of CN105745688B publication Critical patent/CN105745688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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]
    • 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
    • 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/04817Interaction 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 using icons
    • 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/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • 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/008Cut plane or projection plane definition
    • 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

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)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

提供在通过二维用户界面访问的3D渲染环境中渲染的动态工作平面。动态工作平面被关联到用于3D环境的渲染应用中的渲染工具。动态工作平面朝向和位置依赖于观看视角、所选择的渲染工具和3D环境中的交互位置。动态工作平面的位置和朝向可以随着用户的每一交互、所选择的每一工具以及相对于3D环境的视角的改变而改变。

Description

动态工作平面3D渲染环境
背景
许多计算机实现的应用允许用户渲染三维(3D)环境。通常,这样的应用可以把在3D环境内的平面的形式的一个或多个静态向导用作参考,以允许用户确定在环境内的物体放置。
触摸接口和鼠标接口本质上是二维的,且在用户想要在3D环境中什么深度处执行动作方面往往是不直观的。借助于3D环境可以支持众多不同的类型的动作,包括造型和物体放置任务。
概述
提出了提供通过二维用户界面访问的3D渲染环境中的动态工作平面的技术。动态工作平面与用于3D环境的渲染应用中的渲染工具相关联。在3D环境中确定参考平面。参考平面可以是用于初始渲染的记忆平面,或基于3D环境中的现有结构定义。用户通过用户输入设备和具有环境的观看视角的二维用户界面与环境交互。在选择了渲染工具且用户接合环境以便使用工具时,相对于参考工作平面渲染动态工作平面。动态工作平面朝向和位置依赖于观看视角、所选择的渲染工具和3D环境中的交互位置。
在一个方面,用于渲染三维环境的计算机实现方法包括用于呈现动态工作平面的技术。确定至少一个参考平面和相对于参考平面的观看视角。然后,用户经由用户输入设备选择渲染工具,在三维环境中渲染工作平面。工作平面朝向和位置依赖于观看视角、所选择的渲染工具和环境中的交互位置。
附图简述
图1A描绘了使用鼠标和键盘的第一类型的用户界面。
图1B描绘了使用触摸屏的第二类型的界面。
图1C描绘了具有空3D环境的第二类型的界面。
图2是解说在此提出的技术的一个实施例的流程图。
图3A到图3F解说了根据本技术的动态工作平面的各种视角和放置。
图4是解说本技术的第二方面的流程图。
图5A描绘具有三维环境并以第一朝向和位置示出的动态工作平面的触摸屏界面。
图5B描绘具有三维环境并以第一朝向和第二位置示出的动态工作平面的触摸屏界面。
图6描绘具有三维环境并以第一朝向和第二位置示出的动态工作平面的触摸屏界面,且渲染工具在环境中该在该平面上创建元素。
图7描绘具有三维环境并以第二朝向和第三位置示出的动态工作平面的触摸屏界面。
图8描绘具有三维环境并以第二朝向和第三位置示出的动态工作平面的触摸屏界面。
图9描绘具有三维环境和以相对于图5中的朝向旋转的第三朝向和第四位置示出的动态工作平面的触摸屏界面。
图10描绘具有三维环境和以平行于环境的表面的第二朝向示出的动态工作平面的触摸屏界面,且渲染工具在环境中在该屏幕上创建元素。
图11解说了适用于执行所提出的技术的第一类型的计算设备。
图12解说了适用于执行所提出的技术的第二类型的计算设备。
详细描述
提出了在通过二维用户界面访问的3D渲染环境中提供动态工作平面的技术。动态工作平面关联到用于3D环境的渲染应用中的渲染工具。在3D环境中确定参考平面。参考平面可以是用于初始渲染的记忆平面,或基于3D环境中的现有结构定义。用户通过用户输入设备和具有环境的观看视角的二维用户界面与环境交互。在选择了渲染工具且用户接合环境以便使用工具时,相对于参考工作平面渲染动态工作平面。动态工作平面朝向和位置依赖于观看视角、所选择的渲染工具和3D环境中的交互位置。动态工作平面的位置和朝向可以是动态的,且随着用户的每一交互、所选择的每一工具以及透视图相对于3D环境的改变而改变。动态工作平面可以由用户锁定或手动放置。
图1A和图1B解说了用于植入3D渲染应用的计算系统的用户界面和用户输入设备。在这一上下文中,3D渲染应用可以包括允许以三维解说的环境的创建、修改和显示的计算机实现的应用。图1A解说了显示器116,显示器116可以是耦合到计算设备的独立监视器,或具有集成计算系统。包括键盘150和鼠标162的输入设备可以用来与应用和显示器116交互。如本领域中众所周知的,这样的设备可以用来操纵光标130以便在3D环境120中选择交互点135。交互点是二维显示器上引起确定3D环境中的交互位置的位置。
图1B解说了触敏显示器160,显示器160可以是耦合到计算设备的独立显示器,或具有集成计算系统。在图11和图12中解说了可以连接到显示器116/160或与显示器116/160合并的示例性计算系统。图1B解说了使用图1B的触摸界面与环境120交互的人手175。通过在此提出的技术来启用用户输入设备与触摸屏的这样的交互。应理解,用户输入设备不限于图1A-图1B中所解说的那些,而是可以包括其他类型的输入设备,诸如例如使用RGB和/或深度传感器的手势检测设备。这样的接口设备的一个示例是可从华盛顿州雷蒙德市微软公司获取的Kinect。
正如图1A和图1B中所解说的,每一显示器116/160可以在其中渲染三维环境120。环境120包括通常是平面的表面125,且在表面125上提供多个特征。3D渲染应用中的工具可以用来向环境添加陆地、特征和其他元素,以及移除和修改环境中的元素。应理解,三维环境120可以采取任何数量的不同的形状和形式,且在此解说的三维环境仅仅是示例性的,并且提供它们只是为了解说在此讨论的技术。
另外,图1A–图1C中解说了多个工具选择器图标102、104、106、108。每一选择器启用生成3D环境120的3D渲染应用中的不同的渲染工具,允许添加、删除或修改环境120。
图1C解说了图1B的显示器160,且其中没有3D环境元素,但示出了记忆参考平面145的表示。本文的技术可以把参考平面145用作根据本技术创建的任何3D环境的参考。正如图1A-图1C中所解说的,参考工作平面145具有通常对应于表面125的朝向和区域,然而,参考工作平面不需要对应于3D环境120中的任何具体的结构元素。
此处提出的技术给用户提供屏幕上可视的工作平面,该工作屏幕依赖于在3D渲染应用中选择的工具以及用户界面相对于3D环境的视角。正如图5A中所解说的,当用户的手710在交互点715处接合触摸屏界面中的屏幕时,基于交互点715、3D环境的透视图以及用户已经选择的工具,以地点、朝向和3D环境内的位置显示工作平面315。
图2是解说在3D环境中渲染动态工作平面的技术的流程图。在步骤210,对于在3D渲染应用中渲染的任何环境,做出对环境中的参考平面的朝向的判断。图3A-图3F解说相对于图1C呈现的参考平面145以及动态工作平面相对于参考平面145的用户界面视角的朝向。如以上所描述的,参考平面可以用来判断用于渲染动态工作平面的位置和朝向。在步骤215,做出用户界面相对于参考平面的视角的判断。图3A–3F中解说了多个不同的透视图。在图3A,例如,由相机305的位置以及相对于平面145的观察角310表示用户视角。例如,在这一配置中,以正面图示出动态工作平面315,且该平面的主表面面向相机305,且该平面垂直于参考平面145。
在此应注意,图3A的呈现是示例性的,且不仅取决于用户界面相机305的视角,也取决于所选择的工具。
在步骤220,连续跟踪参考平面145相对于用户界面视角的朝向。以这种方式,本技术保持了解参考平面145相对于用户界面的观看视角的朝向。随着参考平面145的视角改变,基于与动态工作平面的用户交互(例如,锁定动态工作平面)或工具的功能,工作平面可以随着该视角改变或保持固定。
在步骤225,在3D应用中做出对渲染工具的选择。图1A–图1C中示出了多种渲染工具选择按钮102-108。一般地解说工具,但应理解,工具可以包括多种不同类型的渲染工具中的任何。工具可以在3D渲染应用内添加元素、移除元素、改变元素或执行多种不同类型的渲染功能中的任何。出于本描述的目的,术语在3D环境内渲染元素包括在三维渲染应用内添加、删除和编辑任何类型的三维元素。
一旦在步骤225选择了工具,在步骤230就做出关于工具是否具有与它相关联的动态工作平面的判断。并非所有渲染工具都要求使用动态工作平面,但给一些工具提供动态工作平面功能是有利的。在此应注意,动态工作平面的放置和朝向可以取决于由渲染工具提供的函数功能。如果该工具不具有动态工作平面,则该方法返回到步骤215。如果工具具有动态工作平面,则在步骤235确定与环境的用户接合。用户接合可以包括使用以上参考图1A所描述的用户输入设备移动光标、触摸参考图1B讨论的显示器160的表面或使用输入设备接合3D渲染应用的功能的任何其他方式。
一旦在步骤235用户接合环境,在240就做出关于用户是否希望手动地放置渲染工具平面的判断。渲染工具平面的手动放置覆盖了动态工作平面的使用。用户希望手动地定义渲染工具平面的放置,然后,在步骤270,将在用户定义的接合点处渲染所述动态工作平面,且该方法将进行到步骤262,接合渲染工具。
如果在240没有发生渲染平面的手动放置,那么,在245,做出关于动态工作平面与环境的接合点的判断。接合点是如以上参考图1A和1B所描述的光标或触摸界面点的位置或在用户界面和三维环境之间的任何其他接合点。下面应注意,在一个方面,他给出一个点,该点与用户在相对于三维环境的二维界面屏幕上放置他们的界面设备有关。接合点可以用来确定放置和在动态工作平面和参考平面145之间的相交点。如参考图1A-1C通常所理解的,在二维屏幕(例如显示器116/160)上表示接合点,但接合点在3D环境内表示三维位置。因而,接合点的二维表示被转换成3D环境,以便在接合点处于其中的环境内确定位置。
一旦在245确定接合点,则在250基于用户界面的视角和工具功能做出网格的朝向的判断。图4提供关于在250判断朝向的额外细节。在步骤255,在3D环境中在接合点且以所判断的朝向渲染动态工作平面。在环境中高亮显示与参考平面或3D环境中的其他元素的任何相交。
在渲染动态工作平面之后,在260可以利用与渲染功能相关联的工具。根据该技术,在渲染工具的功能的上下文中,渲染工具功能被约束在动态工作平面,以供各工具利用动态工作平面。与在255渲染动态工作平面重合,在285,用户可以选择把动态工作平面移动或锁定到位。如果在285用户选择锁定工作平面,则用户界面相对于动态工作平面的视角的任何改变将引起动态工作平面看上去是固定的,以使得在290动态工作平面随着3D环境中的元素旋转。渲染该工作平面,直到用户脱离该工具。在用户再次接合工具280时,该过程返回到步骤240。
图3A-3F解说了相对于参考平面145的用户视角的各种动态工作平面朝向。应理解,各图中所示出的朝向通常表示相对于参考平面的观看视角如何影响动态工作场所的朝向。对于相同的视角,渲染工具功能可以改变动态工作平面315的放置。
在图3A中,以相对于用户视角相机305的观察角310a观察参考平面145。在这个实例中,动态工作平面315a被渲染为垂直于参考平面145的表面,且以通常90°的角与参考平面145相交,且该表面平面被对准为垂直于观察角310a和相机305。图3A解说了与图5A和5B中所示出的视角类似的渲染工具的视角。
如上所述,经选择为与渲染应用一起使用的工具可能影响动态工作平面的朝向和位置。在图3A中所解说的情况中,例如,渲染工具可以是添加工具——例如向3D环境添加诸如陆地之类的结构的工具。对于这样的工具,动态工作平面被选择为具有图3A中所解说的朝向。基于工具功能和根据3D渲染应用的设计,可以选择其他朝向。
图3B解说了对于图3A中所示出的同一视角工具选择如何改变动态工作平面。在图3B中,对于相同的透视图和相同的观察角310a,动态工作平面被示出为平行于参考平面145。动态工作平面315b的这种位置和朝向可以不同于图3A中所示出的位置和朝向,其中,例如,图3B中的工具移除特征的工具,例如隧道或擦除工具。在这一示例中,使用例如擦除工具可以引起动态工作场所315b的朝向和位置的改变。在擦除工具的示例中,与现有结构相交是工具的适当操作所期望的,或者,相比于其他朝向,工具的功能可以更好适应具体朝向的使用(在这一示例中,平行于参考平面比垂直于参考平面更适当)。
图3C解说了相对于图3A中所示出的视角旋转约90°的视角。结果,相对于图3A中所示出的工作平面315a,工作平面315c旋转了90°。
图3D解说了相对于图3C中所示出的观察角310c增加了的观察角310d,其中工具的功能规定了动态工作平面315D存在且相对于参考平面145倾斜,但垂直于相机305的观看视角。观察角310d被示出为相对于参考平面145大于45度。
图3E解说了相对于参考平面145大于45°的观察角的另一示例,这导致动态工作平面315e被定位为平行于参考平面145的表面。
类似地,图3F解说了相对于平面145大约90°的观察角310f。相机305给用户观察呈现了参考平面145的“自顶向下”视图,在图8中解说了该视图的示例。再次,动态工作平面315f将被定位为平行于参考平面的参考平面145。应理解,在参考平面145的表面上的位置依赖于交互点,使得动态工作平面315可以接合表面(这对于删除工具来说是有益的)或被定位在参考平面145上(在使用构造工具时这是必要的)。
图4解说根据用于执行图2中的步骤255的技术的方法。在步骤402,确定经由输入设备接收的交互位置。如上所述,交互位置将包括3D环境的三维坐标系中的位置,该位置是从3D环境到显示器的二维投影上的交互位置导出的。在步骤404,确定工具功能。如上所述,工具功能将与观看视角联合影响动态工作平面的渲染的位置和朝向。在406,确定相对于参考的观看视角位置。这包括确定相对平面大于或小于45°的观察角和相对于3D环境中的交互位置点的旋转角。
在步骤410,基于工具功能,选择朝向(水平、垂直或朝向角)。为了确定朝向,在412做出关于工具的功能是否将受益于动态工作平面与3D环境中的现有结构的交的判断。在414,再次基于工具功能,做出关于动态工作平面被定位在平面中还是在平面上的判断。在418,做出关于观察角是大于还是小于45度的判断。如果观察角大于45度,则正如图3E和图3F中的所解说的。
在420,基于观看视角做出关于动态工作平面的工具朝向是否应覆盖任何偏好的判断。在此应注意,某些工具可以更好利用动态工作平面的不同朝向。例如,如果“创建陆地”工具具有“高原”选项,则可以存在用于水平平面的工具中的偏好。
在422,使用来自步骤412、414、418和420的输入,设置朝向,且根据图2的方法可以在显示器上的输入位置处呈现的工作平面。
步骤424–430判断对于视角的改变动态工作平面的朝向是否将改变。在步骤424,针对视角的改变,在436做出关于动态工作平面是否被固定在3D环境内的具体位置的判断。如上所述,在使用工具时用户可以把网格锁定到位,或选择根据图2针对与给定工具的每一交互均移动和重新计算网格。在步骤428,网格未固定,那么,针对使用视角的任何改变,网格将旋转。在420,如果工作平面被固定,则该环境将围绕工作平面旋转,把工作平面保持在先前在410确定的固定位置。
图5A和图5B解说了放置动态工作平面315。图5A和图5B中所解说的用户界面700包括触摸屏界面,使得用户的手710在交互点705处接合屏幕界面700。图5A–图10中也解说了XYZ坐标基准500,以便解说3D环境的旋转状态。
正如图5A中所解说的,用户界面700包括多个工具选择器722、724、726和728。当手710在交互点705处接合屏幕时,把动态工作平面315渲染为垂直于且相交于表面750。工作平面的渲染解说了3D环境中该平面(在这种情况中是陆地表面755)与任何结构相交的交点315-1、315-2、315-3。应明白,不需要呈现参考平面145的网格,但是维护参考平面相对于环境位置和朝向。参考平面可以模仿图5A中所解说的表面755。表面755是一块地形,且动态工作平面315接合该地形,正如交点315-1–315-3所解说的。可以使用相交的其他解说,或不解说相交。
图5B解说移动交互点715的影响。正如图5B中所解说的,在用户在不同的交互点和715b处接合界面700时,动态工作平面的位置相对于该交互点移动,且交点315-4到315-7示出动态工作平面与表面755的交。
图6解说通过用户界面700结合图5B中示出的动态工作平面315操作渲染工具的使用。在这个实例中,在用户选择具体的渲染工具时,随着用户相对于交互点715前后移动,创建渲染结构600。所构建的结构600被约束在动态工作平面315,或者用户准确地知道三维环境750中所渲染的元素将出现的位置。
图7解说了在这一示例中通常平行于表面755的动态工作平面的另一放置。图7中所解说的工作平面的朝向和位置类似于上面在图3B中所示出的工作平面。在该实例中,工作平面315在该表面上的位置处接合该表面,这取决于所使用的工具的类型,但界面700的朝向通常与图5–6中所示出的相同。
图8解说了使用渲染工具来在被定位为高于表面755高度H的平行工作平面315中创建结构800。应理解,界面700中没有示出高度指示符。图8中的工作平面的朝向和位置类似于上面在图3B中所示出的工作的表示。
图9解说了图7中所解说的工作平面315的自顶向下视图。再次,工作平面是平行于参考工作平面和表面755。
图10解说了一种工作平面,该工作平面不是以相对于界面700的观看视角的角度而朝向,而是随着3D环境的旋转(相对于图5–9)而旋转。应注意,通过旋转XYZ参考500解说朝向的改变。在图10中所示出的示例中,工作平面315在虚拟环境中相对于参考平面145的旋转而旋转。因而,用户界面相对于工作平面315的视角处于某种角度。例如,在工作平面相对于虚拟环境的旋转固定时,就是这种情况。
图9解说了合适的计算系统环境900的示例,例如可以在其上实现本技术的个人计算机。计算系统环境900仅是合适的计算环境的一个示例,且不旨在暗示关于本技术的使用范围和功能的任何限制。也不应把计算环境900解释成具有涉及示例性操作环境900中所解说的组件中的任何一个或组合的任何依赖性或要求。
本技术与多种其他通用或专用的计算系统环境或配置一起操作。适于与本技术一起使用的公知的计算系统、环境和/或配置的示例可以包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费性电子设备、网络PC、小型计算机、大型计算机、包括以上系统或设备中的任何的分布式计算环境等等。
可以在计算机可执行指令的一般上下文例如由计算机执行的程序模块中描述本技术。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,分布式计算环境中,由通过通信网络链接的远程处理设备执行任务。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质两者中。
图11解说了适于与所提出的技术使用的示例性计算系统。
参考图9,用于实现本技术的示例性系统包括以计算机910的形式的通用计算设备。计算机910的组件可以包括但不限于处理单元920、系统存储器930和把包括系统存储器的各种系统组件耦合到处理单元920的系统总线921。系统总线921可以是多种类型的总线结构中的任何,包括使用各种总线架构中的任何的存储器总线或存储器控制器、外围总线和局部总线。作为示例而非限制,这样的架构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子设备标准协会(VESA)局部总线和也称为Mezzanine总线的外围组件互连(PCI)总线。
计算机910通常包括各种计算机可读介质。计算机可读介质可以是可由计算机910访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质两者。计算机可读介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性介质和非易失性介质、可移动介质和不可移动介质两者。计算机介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或可以用来存储所期望的信息且可由计算机910访问的其他磁存储设备或任何其他介质。
系统存储器930包括以诸如只读存储器(ROM)931和随机存取存储器(RAM)932之类的易失性和/或非易失性存储器的形式的计算机存储介质。包含例如在启动期间帮助在计算机910内的元件之间传输信息的基本例程的基本输入/输出系统933(BIOS)通常被存储在ROM 931中。RAM 932通常包含处理单元920立即可访问和/或目前由处理单元920操作的数据和/或程序模块。作为示例而非限制,图9解说操作系统934、应用程序935、其他程序模块936和程序数据939。
计算机910也可以包括其他有形的可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图9解说从不可移动、非易失性磁介质读取或向其写入的硬盘驱动器941、从可移动非易失性磁盘95读取或向其写入的磁盘驱动器951和从可移动非易失性光盘956例如CD ROM或其他光学介质读取或向其写入的光盘驱动器955。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪速存储器卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器941通常通过诸如接口944之类的不可移动存储器接口连接到系统总线921,且磁盘驱动器951和光盘驱动器955通常通过诸如接口950之类的可移动存储器接口连接到系统总线921。
以上在图9中所描述和解说的驱动器和它们的关联计算机存储介质为计算机910提供了计算机可读指令、数据结构、程序模块和其他数据的存储。在图9中,例如,硬盘驱动器941被解说为存储操作系统944、应用程序945、其他程序模块946和程序数据947。注意,这些组件可以与操作系统934、应用程序935、其他程序模块936和程序数据939相同或不同。应用程序935的一个示例是在此讨论的3D渲染应用。此处给予操作系统944、应用程序945、其他程序模块946和程序数据949不同的数字,以便解说它们起码是不同的副本。用户可以通过诸如键盘962和通常被称为鼠标、跟踪球或触控板的指点设备961之类的输入设备把命令和信息输入到计算机20。其他输入设备(未示出)可以包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其他输入设备常常通过耦合到系统总线的用户输入接口960连接到处理单元920,但可以通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构连接。监视器991或其他类型的显示设备也经由诸如视频适配器990之类的接口连接到系统总线921。监视器991可以是触摸接口监视器,例如以上参考图1B所描述的。除了监视器之外,计算机也可以包括可以通过输出外围适配器995连接的其他外围输出设备,例如扬声器997和打印机996。
计算机910可以使用到诸如远程计算机980之类的一个或多个远程计算机的逻辑连接来在联网环境中操作。远程计算机980可以是个人计算机、服务器、路由器、网络PC、对等设备或其他普通网络节点,且通常包括以上参考计算机910所描述的元素中的许多或全部,尽管图9中仅解说了存储器存储设备981。图9中所描绘的逻辑连接包括局域网(LAN)971和广域网(WAN)973,但也可以包括其他网络。这样的联网环境常见于办公室、企业范围的计算机网络、内联网和因特网。
当在LAN联网环境中使用时,计算机910通过网络接口或适配器970连接到LAN971。当在WAN联网环境中使用时,计算机910通常包括调制解调器972或用于在诸如因特网之类的WAN 973上建立通信的其他装置。可以内置或外置的调制解调器972可以经由用户输入接口960或其他适当的机制连接到系统总线921。在联网环境中,参考计算机910描绘的程序模块或其部分可以被存储在远程存储器存储设备中。作为示例而非限制,图9把远程应用程序985解说为驻留在存储器设备981上。应明白,所示出的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其他装置。
应用程序935的一个示例是在此讨论的3D渲染应用。可以把在此提供的技术集成到应用程序中,或者在诸如片上系统或专用微处理器之类的硬件设备中提供把在此提供的技术。
图12是可以在本技术的实施例中操作的示例性专用硬件设备的框图。设备1200可以用于主控设备或通过主控设备接口1240直接耦合到用户输入设备。其中解说的设备1200可以包括根据本文描述的方法执行所解说的步骤的专用处理器1230。专用处理器1230可以耦合到存储器1220,存储器1220可以包括在此讨论的存储器类型中的任何,允许处理器执行在此讨论的方法步骤且存储允许处理器1210的操作的代码和其他信息。图形处理器1240可以经由主控设备图形接口1250把渲染指令输出到主控设备。备选地,图形接口和主控设备接口可以直接耦合到显示器和用户输入设备。
尽管应用对结构特征和/或方法动作来说专用的语言描述了本主题,但应理解,在所附权利要求中界定的本主题并不必定限于以上所描述的特定的特征或动作。相反,以上所描述的特定的特征和动作是作为实现权利要求的示例形式而公开的。

Claims (8)

1.一种用于渲染三维环境的计算机实现方法,包括:
在所述三维环境内确定界定所渲染的表面的单个参考平面;
在所述三维环境中的固定朝向和固定位置处渲染所述单个参考平面;
经由用户输入设备接收对第一渲染工具和第二渲染工具的其中之一的选择;
响应于检测到所述三维环境中的交互点处的用户交互,并且在所述固定朝向和所述固定位置处渲染所述单个参考平面的同时,在三维环境中的一位置处渲染工作平面,所述工作平面定义了所述三维环境中的单个平面,在所述单个平面中对图形进行添加、移除或修改,图形的添加、移除或修改受所述工作平面的约束;以及
当所述交互点变化时,更新渲染所述工作平面的位置,
其中响应于接收对所述第一渲染工具的选择并且没有接收到对要由所述第一渲染工具添加、移除或修改的内容的选择,所述工作平面以相对于所述参考平面的第一朝向被渲染;并且
其中响应于接收对所述第二渲染工具的选择并且没有接收到对要由所述第二渲染工具添加、移除或修改的内容的选择,所述工作平面以相对于所述参考平面的第二朝向被渲染,并且
其中当所述交互点变化时,所述第一朝向和所述第二朝向被重新计算。
2.如权利要求1所述的计算机实现方法,其特征在于,所述第一渲染工具在三维环境中渲染元素,且所述元素被约束在所述工作平面。
3.如权利要求1所述的计算机实现方法,其特征在于,当用户经由所述用户输入设备接合所述工作平面的预览时,执行所述渲染工作平面。
4.如权利要求1所述的计算机实现方法,其中,所述工作平面的第一和第二朝向可以包括以下中的任何:
垂直于所述参考平面、平行于所述参考平面、倾斜平行于由显示器形成的平面。
5.一种具有包括显示器和用户界面选择设备的图形用户界面的计算机系统,在所述显示器上提供渲染界面的方法包括以下步骤:
在显示器上在三维环境内显示至少一个表面;
基于所述显示器中的所述表面的朝向,确定所述表面的观看视角;
在所述显示器上显示选择第一渲染工具和第二渲染工具的其中之一;
经由用户输入设备接收对所述第一和第二渲染工具的其中之一的选择;
经由所述用户输入设备确定与所述三维环境的用户交互位置;以及
在所述三维环境中生成工作平面的渲染,所述工作平面定义了所述三维环境中的单个平面,在所述单个平面中对图形进行添加、移除或修改,图形的添加、移除或修改被约束在所述工作平面内,
其中响应于接收对所述第一渲染工具的选择并且没有接收到对要由所述第一渲染工具添加、移除或修改的内容的选择,所述工作平面以相对于单个参考平面的第一朝向被渲染,所述单个参考平面在渲染所述工作平面的同时被渲染在固定朝向和固定位置处;
其中响应于接收对所述第二渲染工具的选择并且没有接收到对要由所述第二渲染工具添加、移除或修改的内容的选择,所述工作平面以相对于所述参考平面的第二朝向被渲染,并且
其中当所述用户交互位置变化时,所述第一朝向和所述第二朝向被重新计算。
6.如权利要求5所述的计算机系统,其特征在于,当用户接合所述第一和第二渲染工具的其中之一的功能时,确定用户交互位置。
7.如权利要求6所述的计算机系统,还包括:
确定与三维环境的附加用户交互以及所述工作平面在所述三维环境中的再次渲染,所述工作平面基于经改变的观看视角和所述附加用户交互以第三朝向和位置重新渲染。
8.如权利要求5所述的计算机系统,其特征在于,当用户接合所述第一渲染工具以便在所述三维环境中渲染元素时,生成所述工作平面的渲染。
CN201480059656.9A 2013-10-29 2014-10-27 动态工作平面3d渲染环境 Active CN105745688B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/066,397 US10445946B2 (en) 2013-10-29 2013-10-29 Dynamic workplane 3D rendering environment
US14/066,397 2013-10-29
PCT/US2014/062308 WO2015065858A1 (en) 2013-10-29 2014-10-27 Dynamic workplane 3d rendering environment

Publications (2)

Publication Number Publication Date
CN105745688A CN105745688A (zh) 2016-07-06
CN105745688B true CN105745688B (zh) 2019-07-16

Family

ID=51897446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480059656.9A Active CN105745688B (zh) 2013-10-29 2014-10-27 动态工作平面3d渲染环境

Country Status (4)

Country Link
US (1) US10445946B2 (zh)
EP (1) EP3063740A1 (zh)
CN (1) CN105745688B (zh)
WO (1) WO2015065858A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9917860B2 (en) * 2015-01-16 2018-03-13 Sri International Visually intuitive interactive network cyber defense
CN114128303B (zh) * 2019-06-28 2024-06-11 交互数字Vc控股公司 获得3d场景元素的方法和客户端设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763422A (zh) * 2010-02-23 2012-10-31 微软公司 用于无设备的增强的现实与交互的投影仪和深度相机

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061067A (en) * 1996-08-02 2000-05-09 Autodesk, Inc. Applying modifiers to objects based on the types of the objects
US6771276B1 (en) * 2000-10-27 2004-08-03 Macromedia, Inc. Two-dimensional drawing environment utilizing perspective grids
US7123263B2 (en) 2001-08-14 2006-10-17 Pulse Entertainment, Inc. Automatic 3D modeling system and method
EP1425721A1 (en) 2001-09-12 2004-06-09 Volume Interactions Pte. Ltd. Interaction with a three-dimensional computer model
US20050046645A1 (en) * 2003-07-24 2005-03-03 Breton Pierre Felix Autoscaling
US20050243085A1 (en) 2004-05-03 2005-11-03 Microsoft Corporation Model 3D construction application program interface
US20060212150A1 (en) 2005-02-18 2006-09-21 Sims William Jr Method of providing 3D models
US9111371B2 (en) 2005-10-06 2015-08-18 Autodesk, Inc. Workflow system for 3D model creation
JP4856183B2 (ja) * 2006-07-25 2012-01-18 富士通株式会社 操作性検証装置、操作性検証方法、および操作性検証プログラム
US7830377B1 (en) 2008-01-09 2010-11-09 Spaceclaim Corporation, Inc. Systems and methods for using a single tool for the creation and modification of solids and surfaces
JP5709440B2 (ja) 2010-08-31 2015-04-30 キヤノン株式会社 情報処理装置、情報処理方法
CN103890704A (zh) * 2011-10-27 2014-06-25 香港科技大学 通过多点触摸输入执行三维物体约束操作的系统和方法
US9153062B2 (en) 2012-02-29 2015-10-06 Yale University Systems and methods for sketching and imaging
US9330466B2 (en) * 2012-03-19 2016-05-03 Adobe Systems Incorporated Methods and apparatus for 3D camera positioning using a 2D vanishing point grid
JP5865856B2 (ja) * 2013-02-27 2016-02-17 京セラドキュメントソリューションズ株式会社 画像処理装置及びこれを備えた画像形成装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763422A (zh) * 2010-02-23 2012-10-31 微软公司 用于无设备的增强的现实与交互的投影仪和深度相机

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Quick building model,in Google Sketchup,using textures;Tall Bridgeguy;《Youtube》;20111016;第0:00-18:40分建模过程

Also Published As

Publication number Publication date
US10445946B2 (en) 2019-10-15
CN105745688A (zh) 2016-07-06
WO2015065858A1 (en) 2015-05-07
US20150116327A1 (en) 2015-04-30
EP3063740A1 (en) 2016-09-07

Similar Documents

Publication Publication Date Title
US11551410B2 (en) Multi-modal method for interacting with 3D models
US10657716B2 (en) Collaborative augmented reality system
JP6436628B2 (ja) 多入力インタフェースを用いて三次元環境を航行するためのシステムおよび方法
US8125481B2 (en) Lightweight three-dimensional display
US9153062B2 (en) Systems and methods for sketching and imaging
US9761045B1 (en) Dynamic and selective model clipping for enhanced augmented hypermodel visualization
US8698844B1 (en) Processing cursor movements in a graphical user interface of a multimedia application
US9787752B2 (en) Hotspot editor for a user interface
US20090240654A1 (en) File Access Via Conduit Application
US9330466B2 (en) Methods and apparatus for 3D camera positioning using a 2D vanishing point grid
CN105339987A (zh) 针对陆地、空中和/或众包可视化的流形的图像提取和基于图像的渲染
WO2017092430A1 (zh) 基于虚拟现实应用的用户界面控件实现方法和装置
JP6980802B2 (ja) 拡張現実を提供するための方法、装置及びコンピュータプログラム
CN105745688B (zh) 动态工作平面3d渲染环境
JP2001134633A (ja) 電子図面ビューア
JP5767371B1 (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
WO2014014928A2 (en) Systems and methods for three-dimensional sketching and imaging
JP2016016319A (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
JP7475625B2 (ja) 3次元空間における入力受付および入力表示方法、プログラム、および3次元空間における入力受付および入力表示装置
KR20230159281A (ko) 3차원 모델링 방법 및 장치
TWI426464B (zh) 四維資訊展示方法及裝置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant