CN109544702B - 三维变换处理方法、装置、电子设备及存储介质 - Google Patents
三维变换处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109544702B CN109544702B CN201811396420.0A CN201811396420A CN109544702B CN 109544702 B CN109544702 B CN 109544702B CN 201811396420 A CN201811396420 A CN 201811396420A CN 109544702 B CN109544702 B CN 109544702B
- Authority
- CN
- China
- Prior art keywords
- operation point
- space vector
- rotation angle
- coordinate system
- 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
Links
Images
Classifications
-
- 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
Abstract
本公开提供一种三维变换处理方法、装置、电子设备及存储介质,涉及三维变换处理技术领域。本公开所提供的三维变换处理方法、装置、电子设备及存储介质,在三维场景下,物体的旋转过程中,获取控制物体旋转的第一操作点的位置坐标以及第二操作点的位置坐标,通过第一操作点、第二操作点以及预设位置点的位置坐标,构建第一空间向量和第二空间向量,并根据第一空间向量和第二空间向量得到物体的旋转角以及根据旋转角计算得到物体在世界坐标系中第二位置,进而降低编辑成本,同时直接获取旋转角度的大小,使旋转角度用直观的方式表达出来,减少人为操作的工作量。
Description
技术领域
本公开涉及三维变换处理技术领域,具体而言,涉及一种三维变换处理方法、装置、电子设备及存储介质。
背景技术
三维旋转功能是三维图型编辑器常用的功能,目前,一般图形编辑器都是通过获取鼠标在屏幕中水平或垂直方向上的位置偏移量或者通过获取鼠标拖动具体物体的偏移量来表示旋转变换的角度大小,从而构造出一个新的旋转矩阵,其编辑成本高,旋转角度不直观,无法直接获取旋转角度的大小。
发明内容
有鉴于此,本公开提供一种三维变换处理方法、装置、电子设备及存储介质。
本公开提供的一种三维变换处理方法,应用于电子设备,所述方法包括:
基于物体在世界坐标系中的第一位置,构建三维坐标系。
获取所述三维坐标系中所选定的第一平面。
基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标。
根据预设位置点和所述第一操作点构建第一空间向量以及根据所述预设位置点与所述第二操作点构建第二空间向量。
根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角。
根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置。
进一步的,在基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标之前,所述方法还包括:
基于所述第一平面,构建参考平面,在所述参考平面上记录所述第一操作点的运动信息,以获取所述第一操作点的位置坐标、所述第一操作点的运动信息以及所述第二操作点的位置坐标。
进一步的,根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角的步骤包括:
根据所述第一空间向量与第二空间向量的内积求得所述旋转角的角度。
根据所述第一空间向量与第二空间向量的外积求得所述旋转角的方向。
进一步的,所述电子设备预存有物体原有的四元数,根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置的步骤包括:
根据所述旋转角构建新的四元数。
基于原有的四元数,对所述新的四元数进行三维变换计算得到所述物体在所述世界坐标系中的第二位置。
本公开提供一种三维变换处理装置,应用于电子设备,所述三维变换处理装置包括处理模块、执行模块以及计算模块。
所述处理模块用于基于物体在世界坐标系中的第一位置,构建三维坐标系并获取所述三维坐标系中所选定的第一平面。
所述执行模块用于基于所述第一平面,所述执行模块还用于检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,并以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标。
所述处理模块还用于根据预设位置点与所述第一操作点构建第一空间向量以及根据所述预设位置点与所述第二操作点构建第二空间向量。
所述计算模块用于根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角并根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置。
进一步的,所述执行模块用于基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,并以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标之前,所述处理模块还用于根据所述世界坐标系,构建参考平面,在所述参考平面上记录所述第一操作点的运动信息,以获取所述第一操作点的位置坐标、所述第一操作点的运动信息以及所述第二操作点的位置坐标。
进一步的,所述计算模块用于根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角包括:
所述计算模块用于根据所述第一空间向量与第二空间向量的内积求得所述旋转角的角度以及根据所述第一空间向量与第二空间向量的外积求得所述旋转角的方向。
进一步的,所述电子设备预存有物体原有的四元数,所述计算模块用于根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置包括:
所述计算模块用于根据所述旋转角构建新的四元数,并基于原有的四元数,对所述新的四元数进行三维变换计算,以得到所述物体在所述世界坐标系中的第二位置。
本公开提供一种电子设备,包括存储器、处理器及上述的三维变换处理装置,所述三维变换处理装置位于所述存储器并包括一个或多个由所述处理器执行的软件功能模块。
本公开提供一种存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述的三维变换处理方法中的步骤。
本公开提供的三维变换处理方法、装置、电子设备及存储介质,基于物体在世界坐标系的第一位置,构建三维坐标系,并基于三维坐标系,选定第一平面,在选定第一平面后,控制物体运动;在物体运动的过程中,检测控制物体运动的第一操作点,获取第一操作点的位置坐标以及第一操作点的运动信息,以第一操作点停止运动的位置为第二操作点,并获取第二操作点的位置坐标;继而根据预设位置点与第一操作点构建第一空间向量以及根据预设位置点与第二操作点构建第二空间向量;在得到第一空间向量及第二空间向量后,根据第一空间向量与第二空间向量计算得到物体运动的旋转角以及根据旋转角计算得到物体在世界坐标系中第二位置,进而降低编辑成本,同时直接获取旋转角度的大小,使旋转角度用直观的方式表达出来,减少人为操作的工作量。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开所提供的电子设备的方框示意图。
图2为本公开所提供的三维变换处理装置的方框示意图。
图3为本公开所提供的三维变换处理方法的一种流程示意图。
图4为本公开所提供的三维变换处理方法的另一种流程示意图。
图5为本公开所提供的三维变换处理方法的又一种流程示意图。
图标:100-电子设备;10-三维变换处理装置;11-处理模块;12-执行模块;13-计算模块;20-存储器;30-处理器;40-通信单元。
具体实施方式
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
三维旋转功能是三维图型编辑器常用的功能,图形编辑器一般通过鼠标获取在屏幕中水平或垂直方向上的位置偏移量或者通过获取鼠标拖动具体物体的偏移量来表示旋转变换的角度大小,从而构造出一个新的旋转矩阵。
其中,通过获取鼠标在自定义二维坐标系下的偏移量,即屏幕中水平或垂直方向上的位置偏移量来表示旋转角,操作复杂且旋转角度表示不直观,无法直接获取旋转角度的大小。
通过获取鼠标拖动具体物体的偏移量来表示旋转变换的角度大小,操作复杂且编辑成本高。
基于上述研究,本公开提供一种三维变换处理方法、装置、电子设备及存储介质。
请结合参阅图1,本公开所提供的三维变换处理方法应用于电子设备100,由所述电子设备100执行本公开所提供的三维变换处理方法。在本公开中,所述电子设备100可以是,但不限于,个人电脑(Personal Computer,PC)、笔记本电脑、个人数字助理(PersonalDigital Assistant,PDA)或服务器等具有三维图型编辑处理能力的电子设备100。
所述电子设备100包括图2所示的三维变换处理装置10、存储器20、处理器30以及通信单元40;所述存储器20、处理器30以及通信单元40各个元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互直接可通过一条或多条通讯总线或信号线实现电性连接。所述三维变换处理装置10包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器20中的软件功能模块,所述处理器30通过运行存储在存储器20内的软件程序以及模块,从而执行各种功能应用以及数据处理。
所述存储器20可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
所述处理器30可以是一种集成电路芯片,具有信号的处理能力。所述处理器40可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等。
所述通信单元40用于通过网络建立所述电子设备100与其他外部设备之间的通信连接,并通过所述网络进行数据传输。
请结合参阅图3,图3为本公开所提供的三维变换处理方法的流程示意图。下面对图3所示的三维变换处理方法的具体流程进行详细阐述。
步骤S10:基于物体在世界坐标系中的第一位置,构建三维坐标系。
其中,在三维场景中,对物体进行三维变换编辑处理时,所述物体在世界坐标系中有一个初始位置,该位置即为所述物体在世界坐标系中的第一位置,基于所述物体在世界坐标系中的第一位置,构建三维坐标系,所述三维坐标系的原点可以根据所述物体在世界坐标系中的位置而设定,也可以根据世界坐标系的原点而设定,即以世界坐标系的原点作为所述三维坐标系的原点。所述三维坐标系的原点根据具体情况而设定,可选的,为了方便计算以及降低编辑成本,本公开以世界坐标系的原点作为所述三维坐标系的原点。
步骤S20:获取所述三维坐标系中所选定的第一平面。
其中,在所述三维坐标系构建完成后,获取选定所述三维坐标系的第一平面,其中,所述第一平面可以为所述三维坐标系的任意一个平面,例如,所述第一平面可以为所述三维坐标系的xoy面,或者可以为所述三维坐标系的xoz面,再或者可以为所述三维坐标系的yoz面。选定所述三维坐标系的第一平面的方式有多种,例如鼠标选定、控制棒选定、人手交互或键盘选定等,可选地,本公开选定所述三维坐标系的第一平面的方式采用鼠标选定。
步骤S30:基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标。
其中,在选定所述三维坐标系的第一平面后,以使所述物体以所述第一平面为基准,进行运动,其中,所述运动包括使所述物体围绕垂直于所述第一平面的轴进行旋转或者使所述物体在所述第一平面上运动。可选的,在本公开中,在选定所述三维坐标系的第一平面后,以使所述物体围绕垂直于所述第一平面的轴进行旋转,例如,如果选定所述三维坐标系的xoy面作为第一平面,则以垂直于所述三维坐标系的xoy面的轴为旋转轴,控制所述物体进行旋转,如果选定所述三维坐标系的xoz面作为第一平面,则以垂直于所述三维坐标系的xoz面的轴为旋转轴,控制所述物体进行旋转。
进一步的,所述第一操作点为鼠标点击选定所述第一平面的选定点,通过控制鼠标使所述第一操作点进行移动,以使所述物体围绕垂直于所述第一平面的轴进行旋转。
在选定所述第一平面后,检测所述第一操作点,即检测鼠标点击选定所述第一平面的选定点,并获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,并以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标。其中,所述第一操作点停止运动,则所述物体不再进行旋转。
步骤S40:根据预设位置点与所述第一操作点构建第一空间向量以及根据所述预设位置点与所述第二操作点构建第二空间向量。
其中,所述预设位置点可以为三维场景中摄像机的位置点,也可以根据具体情况设定。可选的,本公开所述预设位置点为三维场景中摄像机的位置点。在获取所述第一操作点及所述第二操作点的位置坐标后,将所述预设位置点作为所述第一空间向量及所述第二空间向量的起点,其中所述预设位置点与所述第一操作点构建第一空间向量,以及所述预设位置点与所述第二操作点构建第二空间向量。
步骤S50:根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角。
其中,在得到所述第一空间向量及所述第二空间向量后,根据所述第一空间向量与第二空间向量计算得到所述物体运动的旋转角。
步骤S60:根据旋转角计算得到所述物体在所述世界坐标系中的第二位置。
其中,在得到所述物体运动的旋转角后,可以根据所述旋转角计算得到所述物体在所述世界坐标系中的旋转后的位置,即所述物体在所述世界坐标系中的第二位置。
进一步的,为了使计算更为精确,在基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标之前,所述方法还包括以下步骤。
基于所述第一平面,构建参考平面,在所述参考平面上记录所述第一操作点的运动信息,以获取所述第一操作点的位置坐标、所述第一操作点的运动信息以及所述第二操作点的位置坐标。
其中,在获取所述第一平面后,即确定所述物体的旋转轴后,根据确定的旋转轴,构建参考平面,以参考平面作为相对位置参考面,记录所述第一操作点的运动信息,进而使获取的所述第一操作点的位置坐标、所述第一操作点的运动信息以及所述第二操作点的位置坐标更为精确,提高了计算的精确度。
进一步的,请结合参阅图4,根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角的步骤包括步骤S51至步骤S52。
步骤S51:根据所述第一空间向量与第二空间向量的内积求得所述旋转角的角度。
其中,在得到所述第一空间向量与所述第二空间向量后,通过向量的内积运算可以得到所述物体旋转的旋转角度。
步骤S52:根据所述第一空间向量与第二空间向量的外积求得所述旋转角的方向。
其中,在得到所述第一空间向量与所述第二空间向量后,通过向量的外积运算可以得到所述物体的旋转角的方向。
进一步的,请结合参阅图5,所述电子设备100预存有物体原有的四元数,根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置的步骤包括步骤S61至步骤S62。
步骤S61:根据所述旋转角构建新的四元数。
其中,在得到所述旋转角后,根据所述旋转角构建旋转矩阵,由所述旋转矩阵构建新的四元数。例如,所述旋转角为θ,旋转轴A(a,b,c)过原点,则根据所述旋转角构建的旋转矩阵为进而可通过所述旋转矩阵构建一个新的四元数。
步骤S62:基于原有的四元数,对所述新的四元数进行三维变换计算得到所述物体在所述世界坐标系中的第二位置。
其中,所述电子设备100存储有基于所述物体的第一位置和初始状态的状态矩阵,进而可根据所述状态矩阵得到所述物体原有的四元数,将所述新的四元数和所述原有的四元数进行相乘,取三维变换,则可得到所述物体在所述世界坐标系中的第二位置。
本公开提供的三维变换处理方法,在三维场景下,物体的旋转过程中,获取控制物体旋转的第一操作点的位置坐标以及第二操作点的位置坐标,通过第一操作点、第二操作点以及预设位置点的位置坐标,构建第一空间向量和第二空间向量,并根据第一空间向量和第二空间向量得到物体的旋转角以及根据旋转角计算得到物体在世界坐标系中第二位置,进而降低编辑成本,同时直接获取旋转角度的大小,使旋转角度用直观的方式表达出来,减少人为操作的工作量。
请返回结合参阅图2,本公开提供一种三维变换处理装置10,应用于电子设备100,所述三维变换处理装置10包括处理模块11、执行模块12以及计算模块13.
所述处理模块11用于基于物体在世界坐标系中的第一位置,构建三维坐标系并获取所述三维坐标系中所选定的第一平面。
所述执行模块12用于基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,并以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标。
所述处理模块11还用于根据预设位置点与所述第一操作点构建第一空间向量以及根据所述预设位置点与所述第二操作点构建第二空间向量。
所述计算模块13用于根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角并根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置。
进一步的,在所述执行模块12用于基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标之前,所述处理模块11用于基于所述第一平面,构建参考平面,在所述参考平面上记录所述第一操作点的运动信息,以获取所述第一操作点的位置坐标、所述第一操作点的运动信息以及所述第二操作点的位置坐标。
进一步的,所述计算模块13用于根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角包括:
所述计算模块13用于根据所述第一空间向量与第二空间向量的内积求得所述旋转角的角度以及根据所述第一空间向量与第二空间向量的外积求得所述旋转角的方向。
进一步的,所述电子设备100预存有物体原有的四元数,所述计算模块13用于根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置包括:
所述计算模块13用于根据所述旋转角构建新的四元数,并基于原有的四元数,对所述新的四元数进行三维变换计算,以得到所述物体在所述世界坐标系中的第二位置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的三维变换处理装置10的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本公开提供一种电子设备100,所述电子设备100包括存储器20、处理器30及上述中的三维变换处理装置10,所述三维变换处理装置10位于所述存储器20并包括一个或多个由所述处理器30执行的软件功能模块。
本公开提供的一种电子设备100,由于包括上述三维变换处理装置10,因此,该电子设备100具有与上述三维变换处理装置10相同的技术特征,在此不再一一赘述,请参考对上述三维变换处理装置10的解释说明。
本公开提供一种存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述的三维变换处理方法中的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储介质的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
作为另一种可选的具体实施方式,在本公开所述提供的三维变换处理方法、装置、电子设备100及存储介质,也可以根据所述物体的局部坐标系构建三维坐标系,同理的,所述三维坐标系的坐标原点可以根据所述物体的局部坐标系的原点而设定。同时,所述第一操作点的位置坐标以及所述第二操作点的位置坐标可以以所述局部坐标系来定位。所述局部坐标系和所述世界坐标系的选择不限,根据具体情况而设定,在选择所述世界坐标系后,所述物体的运动都是在所述世界坐标系下完成的,在选择所述局部坐标系后,所述物体的运动都是在所述局部坐标系下完成的。
其中,所述物体的局部坐标系是以所述物体的中心为坐标原点的坐标系,当所述物体进行旋转或平移等操作时,所述物体的局部坐标系也会执行相应的旋转或平移操作。
综上所述,本公开所提供的三维变换处理方法、装置、电子设备及存储介质,基于物体在世界坐标系的第一位置,构建三维坐标系,并基于三维坐标系,选定第一平面,在选定第一平面后,控制物体运动;在物体运动的过程中,检测控制物体运动的第一操作点,获取第一操作点的位置坐标以及第一操作点的运动信息,以第一操作点停止运动的位置为第二操作点,并获取第二操作点的位置坐标;继而根据预设位置点与第一操作点构建第一空间向量以及根据预设位置点与第二操作点构建第二空间向量;在得到第一空间向量及第二空间向量后,根据第一空间向量与第二空间向量计算得到物体运动的旋转角以及根据旋转角计算得到物体在世界坐标系中第二位置,进而降低编辑成本,同时直接获取旋转角度的大小,使旋转角度用直观的方式表达出来,减少人为操作的工作量;除此之外,本公开所提供的三维变换处理方法、装置、电子设备及存储介质通过构建参考面,以记录操作点的运动信息,进而,提高了计算的精确度。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
以上所述仅为本公开的可选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种三维变换处理方法,其特征在于,应用于电子设备,所述方法包括:
基于物体在世界坐标系中的第一位置,构建三维坐标系;
获取所述三维坐标系中所选定的第一平面;
基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标;所述物体运动包括使所述物体围绕垂直于所述第一平面的轴进行旋转或者使所述物体在所述第一平面上运动;所述第一操作点为所述第一平面的选定点;
根据预设位置点与所述第一操作点构建第一空间向量以及根据所述预设位置点与所述第二操作点构建第二空间向量;
根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角;
根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置。
2.根据权利要求1所述的三维变换处理方法,其特征在于,在基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标之前,所述方法还包括:
基于所述第一平面,构建参考平面,在所述参考平面上记录所述第一操作点的运动信息,以获取所述第一操作点的位置坐标、所述第一操作点的运动信息以及所述第二操作点的位置坐标。
3.根据权利要求1所述的三维变换处理方法,其特征在于,根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角的步骤包括:
根据所述第一空间向量与第二空间向量的内积求得所述旋转角的角度;
根据所述第一空间向量与第二空间向量的外积求得所述旋转角的方向。
4.根据权利要求1所述的三维变换处理方法,其特征在于,所述电子设备预存有物体原有的四元数,根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置的步骤包括:
根据所述旋转角构建新的四元数;
基于原有的四元数,对所述新的四元数进行三维变换计算得到所述物体在所述世界坐标系中的第二位置。
5.一种三维变换处理装置,其特征在于,应用于电子设备,所述三维变换处理装置包括处理模块、执行模块以及计算模块;
所述处理模块用于基于物体在世界坐标系中的第一位置,构建三维坐标系并获取所述三维坐标系中所选定的第一平面;
所述执行模块用于基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,并以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标;所述物体运动包括使所述物体围绕垂直于所述第一平面的轴进行旋转或者使所述物体在所述第一平面上运动;所述第一操作点为所述第一平面的选定点;
所述处理模块还用于根据预设位置点与所述第一操作点构建第一空间向量以及根据所述预设位置点与所述第二操作点构建第二空间向量;
所述计算模块用于根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角并根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置。
6.根据权利要求5所述的三维变换处理装置,其特征在于,在所述执行模块用于基于所述第一平面,检测控制所述物体运动的第一操作点,获取所述第一操作点的位置坐标以及所述第一操作点的运动信息,以所述第一操作点停止运动的位置为第二操作点,获取所述第二操作点的位置坐标之前,所述处理模块用于基于所述第一平面,构建参考平面,在所述参考平面上记录所述第一操作点的运动信息,以获取所述第一操作点的位置坐标、所述第一操作点的运动信息以及所述第二操作点的位置坐标。
7.根据权利要求5所述的三维变换处理装置,其特征在于,所述计算模块用于根据所述第一空间向量与第二空间向量计算所述物体运动的旋转角包括:
所述计算模块用于根据所述第一空间向量与第二空间向量的内积求得所述旋转角的角度以及根据所述第一空间向量与第二空间向量的外积求得所述旋转角的方向。
8.根据权利要求5所述的三维变换处理装置,其特征在于,所述电子设备预存有物体原有的四元数,所述计算模块用于根据所述旋转角计算得到所述物体在所述世界坐标系中的第二位置包括:
所述计算模块用于根据所述旋转角构建新的四元数,并基于原有的四元数,对所述新的四元数进行三维变换计算,以得到所述物体在所述世界坐标系中的第二位置。
9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器及上述权利要求5-8中任一项所述的三维变换处理装置,所述三维变换处理装置位于所述存储器并包括一个或多个由所述处理器执行的软件功能模块。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在执行时实现上述权利要求1-4中任一项所述的三维变换处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811396420.0A CN109544702B (zh) | 2018-11-21 | 2018-11-21 | 三维变换处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811396420.0A CN109544702B (zh) | 2018-11-21 | 2018-11-21 | 三维变换处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109544702A CN109544702A (zh) | 2019-03-29 |
CN109544702B true CN109544702B (zh) | 2023-05-02 |
Family
ID=65849282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811396420.0A Active CN109544702B (zh) | 2018-11-21 | 2018-11-21 | 三维变换处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109544702B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113311422A (zh) * | 2020-02-27 | 2021-08-27 | 富士通株式会社 | 坐标转换方法、装置和数据处理设备 |
CN111784795A (zh) * | 2020-06-01 | 2020-10-16 | 北京像素软件科技股份有限公司 | 线段走样的处理方法、装置、电子设备及存储介质 |
CN112686948A (zh) * | 2020-12-25 | 2021-04-20 | 北京像素软件科技股份有限公司 | 编辑器操作方法、装置和电子设备 |
CN114241095B (zh) * | 2021-12-10 | 2022-05-31 | 山东捷瑞数字科技股份有限公司 | 基于Maya软件的曲轴动画模型绑定方法及装置、设备 |
CN115439625B (zh) * | 2022-11-08 | 2023-02-03 | 成都云中楼阁科技有限公司 | 建筑草图辅助绘制方法、装置、存储介质及绘制设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004094909A (ja) * | 2002-07-10 | 2004-03-25 | Sony Corp | 情報入力装置、情報入力方法、端末装置およびそのコンテンツ取得方法 |
CN103247072A (zh) * | 2013-04-15 | 2013-08-14 | 青岛海信宽带多媒体技术有限公司 | 基于安卓系统实现三维旋转界面的方法及装置 |
CN107329671A (zh) * | 2017-07-05 | 2017-11-07 | 北京京东尚科信息技术有限公司 | 模型显示方法和装置 |
CN108346165A (zh) * | 2018-01-30 | 2018-07-31 | 深圳市易尚展示股份有限公司 | 机器人与三维传感组件联合标定方法与装置 |
CN108628808A (zh) * | 2018-04-04 | 2018-10-09 | 华南农业大学 | 相机采样点的坐标转换方法 |
-
2018
- 2018-11-21 CN CN201811396420.0A patent/CN109544702B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004094909A (ja) * | 2002-07-10 | 2004-03-25 | Sony Corp | 情報入力装置、情報入力方法、端末装置およびそのコンテンツ取得方法 |
CN103247072A (zh) * | 2013-04-15 | 2013-08-14 | 青岛海信宽带多媒体技术有限公司 | 基于安卓系统实现三维旋转界面的方法及装置 |
CN107329671A (zh) * | 2017-07-05 | 2017-11-07 | 北京京东尚科信息技术有限公司 | 模型显示方法和装置 |
CN108346165A (zh) * | 2018-01-30 | 2018-07-31 | 深圳市易尚展示股份有限公司 | 机器人与三维传感组件联合标定方法与装置 |
CN108628808A (zh) * | 2018-04-04 | 2018-10-09 | 华南农业大学 | 相机采样点的坐标转换方法 |
Non-Patent Citations (1)
Title |
---|
参数曲线空间位置变换的实四元数方法;李亚萍 等;《工程图学学报》;20070228;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109544702A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109544702B (zh) | 三维变换处理方法、装置、电子设备及存储介质 | |
US8581901B2 (en) | Methods and apparatus for interactive rotation of 3D objects using multitouch gestures | |
US20070120846A1 (en) | Three-dimensional motion graphic user interface and apparatus and method for providing three-dimensional motion graphic user interface | |
CN108761994B (zh) | 摄像头模组和虚拟现实设备的组装的检测方法及装置 | |
JP6048898B2 (ja) | 情報表示装置、情報表示方法および情報表示プログラム | |
CN102163127A (zh) | 触敏显示器上的手势 | |
US10839613B2 (en) | Fast manipulation of objects in a three-dimensional scene | |
WO2013031134A1 (en) | Information processing apparatus, information processing method, and program | |
US20110199517A1 (en) | Method of showing video on a touch-sensitive display | |
US11567571B2 (en) | Remote control of a device via a virtual interface | |
US20190196699A1 (en) | Gesture-Based Manipulator For Rotation | |
US20160328491A1 (en) | Precise object manipulation system and method | |
US20200226833A1 (en) | A method and system for providing a user interface for a 3d environment | |
JP6796506B2 (ja) | 入力システム | |
CN112685279B (zh) | 脚本录制方法、装置、终端设备 | |
US11232237B2 (en) | System and method for perception-based selection of features in a geometric model of a part | |
CN108646932B (zh) | 一种用于电子设备的振动检测方法、装置及电子设备 | |
EP3295291B1 (en) | Drawing object inferring system and method | |
JP6526856B2 (ja) | 3dモデル切断方法及び電子装置 | |
US10324621B2 (en) | Facilitating analysis of use interface gesture patterns | |
CN109388464B (zh) | 元素控制方法及装置 | |
KR102221071B1 (ko) | 3-차원 공간에서 사운드 이미지들의 위치를 결정하고 사운드 이미지들을 제어하기 위한 방법들 및 시스템들 | |
CN108563335B (zh) | 虚拟现实交互方法、装置、存储介质及电子设备 | |
JP2014522541A (ja) | ムーブイット:再構成可能な物理的コンピューティングのための監視、操作、視覚化、編集統合ツールキット | |
JP6985158B2 (ja) | 画像測定機およびプログラム |
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 |