立体图形的对齐吸附方法、装置、计算机设备及存储介质与流程

文档序号:13935280
立体图形的对齐吸附方法、装置、计算机设备及存储介质与流程

本发明涉及图形编辑技术领域,尤其涉及立体图形的对齐吸附方法、装置、计算机设备及存储介质。



背景技术:

演示类软件是电子设备(如电脑、笔记本、智能平板以及智能白板等)中常见的应用软件,在演示模式下展现所编辑的文字或绘制的图形。传统的演示类软件并不能直接实现三维立体图形的绘制,但随着用户对演示类软件应用需求的不断提升,技术人员研发出既可进行二维图形绘制及呈现,又能进行三维立体图形绘制及呈现的多功能演示软件。

在上述多功能演示软件中,往往需要对所绘制的三维立体图形进行排版对齐来增强演示效果,但传统的对齐吸附方法,往往需要人为参与设置,使得对齐吸附的实现过程过于繁琐,此外,传统的对齐吸附方法仅能对同一场景中的图形进行对齐操作,而上述所绘制的三维立体图形则存在于不同三维场景中,由此传统的方法并不适用于该类多功能演示软件中立体图形的对齐吸附。



技术实现要素:

本发明实施例提供了立体图形的对齐吸附方法、装置、计算机设备及存储介质,实现了对基于独立三维场景所构建立体图形的对齐吸附控制。

第一方面,本发明实施例提供了一种立体图形的对齐吸附方法,包括:

监听画布中移动立体图形当前被拖动的事件,并获取所述移动立体图形的当前图形信息;

根据所述当前图形信息及所述画布中各静止立体图形的标准图形信息,从各所述静止立体图形中确定满足吸附判定条件的目标立体图形;

确定所述移动立体图形到所述目标立体图形的对齐吸附偏移量,并控制所述移动立体图形基于所述对齐吸附偏移量进行对齐吸附。

第二方面,本发明实施例提供了一种立体图形的对齐吸附装置,包括:

信息监听及获取模块,用于监听画布中移动立体图形当前被拖动的事件,并获取所述移动立体图形的当前图形信息;

吸附目标确定模块,用于根据所述当前图形信息及所述画布中各静止立体图形的标准图形信息,从各所述静止立体图形中确定满足吸附判定条件的目标立体图形;

对齐吸附控制模块,用于确定所述移动立体图形到所述目标立体图形的对齐吸附偏移量,并控制所述移动立体图形基于所述对齐吸附偏移量进行对齐吸附。

第三方面,本发明实施例提供了一种计算机设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面实施例提供的立体图形的对齐吸附方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面实施例提供的立体图形的对齐吸附方法。

在上述立体图形的对齐吸附方法、装置、计算机设备及存储介质中,可以监听画布中移动立体图形当前被拖动的事件,并获取该移动立体图形的当前图形信息;之后可根据当前图形信息及画布中各静止立体图形的标准图形信息,从各静止立体图形中确定满足吸附判定条件的目标立体图形;最终可确定移动立体图形到目标立体图形的对齐吸附偏移量,并控制移动立体图形基于对齐吸附偏移量进行对齐吸附。上述技术方案,能够为在演示类功能应用中基于独立三维场景绘制的立体图形自动进行对齐吸附,避免了额外的人为设置环节,简化了对齐吸附的操作过程,同时兼容了不同三维场景下绘制的立体图形简单无障碍的对齐吸附,有效提高了演示类功能应用的用户体验。

附图说明

图1为本发明实施例中提供的一种立体图形的对齐吸附方法的流程示意图;

图2为本发明实施例中提供的从静止立体图形中确定目标立体图形的一种实现方法流程示意图;

图3为本发明实施例中提供的从静止立体图形中确定目标立体图形的另一种实现方法流程示意图;

图4为本发明实施例中提供的从静止立体图形中确定目标立体图形的又一种实现方法流程示意图;

图5a提供了移动立体图形和目标立体图形基于棱线对齐吸附的一种效果图;

图5b提供了移动立体图形和目标立体图形基于棱线对齐吸附的另一种效果图;

图6a提供了移动立体图形和目标立体图形基于平面对齐吸附的一种效果图;

图6b提供了移动立体图形和目标立体图形基于平面对齐吸附的另一种效果图;

图7为本发明实施例中提供的一种立体图形的对齐吸附装置的结构框图;

图8为本发明实施例提供的一种计算机设备的硬件结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。例如,第一静止棱线和第二静止棱线的“第一”和“第二”用来区分筛选确定的两个不同的目标静止棱线,第一棱线距离和第二棱线距离中的“第一”和“第二”用来区分两个不同的棱线距离,又如,第一目标立体图形、第二目标立体图形以及第三目标立体图形中的“第一”、“第二”和“第三”仅用来区分不同的目标立体图形。

本发明实施例提供立体图形的对齐吸附方法适用于根据独立三维场景绘制的立体图形在画布上与其他独立场景绘制的立体图形进行对齐吸附操作的情况,该方法可以由立体图形的对齐吸附装置执行,其中该装置可由软件和/或硬件实现,并一般可作为演示类功能应用中的插件集成在电子设备上。

图1为本发明实施例中提供的一种立体图形的对齐吸附方法的流程示意图,如图1所示,立体图形的对齐吸附方法可以包括以下步骤:

S101、监听画布中移动立体图形当前被拖动的事件,并获取移动立体图形的当前图形信息。

在本发明具体实施例中,画布具体可理解为演示类功能应用中进行图形绘制编辑时的绘制编辑界面,在该画布中,用户可以直接进行二维图形绘制,也可进行三维的立体图形绘制,且进行立体图形绘制时,每个立体图形存在独立的三维场景,由此最终显示在画布中的立体图形为经三维场景中的相机投影后为二维投影图形。

可以理解的是,绘制在画布中的立体图形,用户通过触摸选中或鼠标按压选中立体图形后,可在画布中对立体图形进行随意拖动。本实施例可以对用户当前的拖动操作进行监听,并将用户所拖动的立体图形确定为移动立体图形,本实施例中可认为该移动立体图形为待进行对齐吸附操作的立体图形。

需要说明的是,对于画布中的立体图形,在其绘制之前,相应的三维场景可首先获取由用户反馈对应于待绘制立体图形的几何形态的参数信息,由此基于获取的参数信息实现立体图形的绘制。如长方体的绘制,三维场景可通过用户反馈的对应于长方体几何形态的参数信息(用户期望的长、宽以及高的具体值),就能自动生成一个对应于上述参数信息的长方体,此时,可认为三维场景空间坐标系下长方体各顶点的坐标值均为已知信息。本实施例基于立体图形各顶点在三维场景空间坐标系下的坐标信息,可以确定立体图形的标准图形信息,该标准图形信息相当于立体图形的初始图形信息,当立体图形被拖动时,立体图形(移动立体图形)相当于在画布中产生了偏移量,通过监听移动立体图形被拖动时对应的偏移量,结合移动立体图形初始的标准图形信息,就可获取移动立体图形在拖动过程中的当前图形信息。

具体地,标准图形信息可理解为能够表示立体图形当前所具备各棱线的棱线显示状态及各平面的平面显示状态的信息。当前图形信息主要是对于移动立体图形而言的,可理解为在标准图形信息的基础上结合移动立体图形当前拖动的偏移量获取的能够表示移动立体图形中各棱线当前棱线显示状态及各平面当前平面显示状态的信息。

S102、根据当前图形信息及所述画布中各静止立体图形的标准图形信息,从各静止立体图形中确定满足吸附判定条件的目标立体图形。

可以理解的是,本实施例相当于在对立体图形进行对齐吸附操作前,首先对画布中存在的立体图形进行标识,即,可将当前时刻用户触摸触发或鼠标按压触发选中的立体图形标识为移动立体图形;同时,也可将画布中除移动立体图形外的其他所有或部分立体图形标识为静止立体图形,本实施例对其静止立体图形的标识可以是直接将画布中除移动立体图形外的其他所有立体图形均标识为静止立体图形,也可以在画布中选中一个区域,将位于该区域的立体图形标识为静止立体图形,其中,画布中至少需要包含一个静止立体图形。

由此,在本发明具体实施例中,具体获取了移动立体图形拖动中实时变化的当前图形信息,而静止立体图形主要获取了保持不变的标准图形信息。本发明具体实施例中,所述当前图形信息包括:所述移动立体图形中各移动棱线的当前棱线信息及各移动平面的当前平面信息;所述标准图形信息包括:对应静止立体图形中各静止棱线的标准棱线信息及各静止平面的标准平面信息。本实施例中上述当前棱线信息、当前平面信息、各标准棱线信息及各标准平面信息为本步骤目标立体图形的确定提供了数据基础。

具体地,移动立体图形中各移动棱线的当前棱线信息包括:移动棱线两端点在画布中的当前投影坐标值、移动棱线的当前方向。其中,移动棱线的两端点在画布中的当前投影坐标,可分别记为移动棱线起点坐标M-Start和移动棱线终点坐标M-End,上述两坐标可根据移动棱线两端点在三维空间中已知的当前空间坐标通过转换矩阵的转换获得;移动棱线的当前方向具体包括了移动棱线在三维空间中的当前空间方向和在画布中的当前投影方向,本实施例根据M-Start和M-End,可直接计算出移动棱线在画布中的当前投影方向,也可根据移动棱线两端点的当前空间坐标,计算出移动棱线在三维空间中的当前空间方向。可以理解的是,本实施例中移动棱线拖动过程中两端点的当前空间坐标仍相当于初始的标准空间坐标,可认为在对移动棱线拖拽过程中主要是移动立体图形在画布上发生了拖动偏移,其空间坐标相对于立体图形并未发生变化。可认为在对移动棱线拖动过程中主要是移动立体图形在其对应的二维图元上发生了拖动偏移。

具体地,移动立体图形中各移动平面的当前平面信息包括:构成移动平面的顶点在三维空间的当前空间坐标值及在画布中的当前投影坐标值、移动平面在三维空间的当前空间法向量及在画布中的当前投影法向量。示例性地,如长方体中一个表面由四个顶点构成,圆柱体中的底面由圆周上的许多顶点构成(由分段数决定顶点数量)。其中,构成移动平面的各顶点的当前空间坐标值同样相当于初始的标准空间坐标,同时通过三维空间到画布转换的转换矩阵,也可以获取移动平面各顶点在画布中的当前投影坐标值。此外,在已知各顶点当前空间坐标值的前提下,可通过向量叉积公式计算出移动平面的当前空间法向量,且通过三维空间到画布转换的转换矩阵,也可获得移动平面的当前空间法向量对应的当前投影法向量。

具体地,任一静止立体图形中各静止棱线的标准棱线信息包括:静止棱线两端点在画布中的标准投影坐标值、静止棱线的标准方向。其中,静止棱线的两端点在画布中的标准投影坐标,可分别记为静止棱线起点坐标S-Start和静止棱线终点坐标S-End,上述两坐标可根据静止棱线两端点在三维空间中已知的标准空间坐标通过转换矩阵转换获得;静止棱线的标准方向同样包括了静止棱线的三维空间中的标准空间方向和在画布中的标准投影方向,本实施例根据S-Start和S-End,可直接计算出静止棱线在画布中的标准投影方向,也可以根据静止棱线两端点的标准空间坐标,计算出静止棱线在三维空间中的标准空间方向。可以理解的是,如果静止立体图形绘制后没有发生过拖动或旋转操作,则静止棱线中两端点的标准空间坐标相当于绘制时的初始空间坐标,如果静止立体图形绘制后发生过变动,则可认为其标准空间坐标为最终变动后确定的空间坐标。

具体地,任一静止立体图形中各静止平面的标准平面信息包括:构成静止平面的顶点在三维空间的标准空间坐标值及在画布中的标准投影坐标值、静止平面在三维空间的标准空间法向量及在画布中的标准投影法向量。其标准空间法向量也可在已知静止平面中各顶点的标准空间坐标值后通过向量叉积公式计算获得,且通过三维空间到画布转换的转换矩阵,也可获得静止平面的标准投影法向量。

本发明具体实施例中的吸附判定条件具体可根据移动棱线的当前方向及静止棱线的标准方向,以及移动棱线与静止棱线的棱线间隔距离来设定;也可根据移动平面的当前空间法向量及当前投影法向量及静止平面的标准空间法向量及标准投影法向量,以及移动平面与静止平面的平面间隔距离来设定。由此本步骤基于设定的吸附判定条件,可在多个静止立体图形中确定符合要求的目标立体图形。

图2为本发明实施例中提供的从静止立体图形中确定目标立体图形的一种实现方法流程示意图。如图2所示,根据当前图形信息及各静止立体图形的标准图形信息,从静止立体图形中确定目标立体图形可以包括以下步骤:

S201、根据当前图形信息中各移动棱线的当前棱线信息及各静止立体图形的标准图形信息中各静止棱线的标准棱线信息,确定各移动棱线对应的第一静止棱线。

具体地,各移动棱线与基于本步骤确定的第一静止棱线之间具备如下关系,即:各所述移动棱线与对应的第一静止棱线相平行且棱线间距离最短。由此,本步骤需要根据各移动棱线的当前棱线信息,以及各静止立体图形的标准图形信息中各静止棱线的标准棱线信息,为各移动棱线确定满足上述关系的第一静止棱线。

本步骤的具体实现可表述为:对移动立体图形中的所有移动棱线执行下述操作:1)遍历所有静止立体图形中的静止棱线,获得各静止棱线标准棱线信息中的标准方向,结合移动棱线当前棱线信息中的当前方向,确定与移动棱线相平行的静止棱线(具体判定静止棱线的标准方向是否与移动棱线的当前方向呈0°或180°,若是,则表明二者平行,其中,上述标准方向及当前方向均包括了投影方向及空间方向两种方向),并将与移动棱线平行的静止棱线作为候选静止棱线添加到移动棱线对应的静止棱线集中;2)遍历静止棱线集中各候选静止棱线标准棱线信息中的S-Start和S-End,结合移动棱线当前棱线信息中的M-Start和M-End,计算移动棱线与各候选静止棱线的棱线间隔距离,并确定最小棱线间隔距离对应的候选静止棱线,以将该候选静止棱线确定为移动棱线对应的第一静止棱线,其中,可分别计算S-Start到M-Start、S-Start到M-End、S-End到M-Start、S-End到M-End以及S-Center(S-Start和S-End的中点坐标)到M-Center(M-Start和M-End的中点坐标)的距离值,并选取5个距离值中的最小值作为移动棱线与候选静止棱线的棱线间隔距离。

S202、将各移动棱线与所对应第一静止棱线的棱线间隔距离确定为各移动棱线的第一棱线距离,确定各第一棱线距离中的最小第一棱线距离。

本步骤可以将移动立体图形中各移动棱线与所对应第一静止棱线的棱线间隔距离确定为各移动棱线的第一棱线距离,并从中确定出最小第一棱线距离。

S203、如果最小第一棱线距离小于预设吸附阈值,则将对应于最小第一棱线距离的第一静止棱线所在的静止立体图形确定为第一目标立体图形。

本步骤可以将最小第一棱线距离与预先设定的用于对齐吸附判定的预设吸附阈值进行比对,若最小第一棱线距离小于预设吸附阈值,即可认为与最小第一棱线距离对应的移动棱线及第一静止棱线间的棱线间隔距离已经符合了自动对齐吸附的条件,由此可将对应于最小第一棱线距离的第一静止棱线所在的静止立体图形确定为目标立体图形(具体记为第一目标立体图形)。

需要说明的是,基于本实施例上述图2提供的方法,其确定的最小第一棱线距离可能存在多个移动棱线及第一静止棱线的待吸附对,如,多条移动棱线共用一个端点,且相应的多条第一静止棱线共用另一个端点,而最小棱线间隔距离有时基于这两个端点确定时,就会存在上述情况,但该种情况下,多条第一静止棱线往往处于同一个静止立体图形,由此仍只会确定出一个第一目标立体图形。

可以理解的是,上述图2提供的目标立体图形确定的实现方法,相当于主要依据当前图形信息中的当前棱线信息及各标准图形信息中的标准棱线信息进行了吸附判定条件的设定,并基于所设定吸附判定条件确定出满足要求的目标立体图形,本实施例记作第一目标立体图形。

本发明具体实施例还可以依据当前图形信息中的当前平面信息及各标准图形信息中的标准平面信息进行吸附判定条件的设定,由此,可通过将移动立体图形中各移动平面与各静止立体图形中各静止平面的信息匹配,确定满足要求的目标立体图形。下述图3给出了其具体实现步骤。

图3为本发明实施例中提供的从静止立体图形中确定目标立体图形的另一种实现方法流程示意图。如图3所示,根据当前图形信息及各静止立体图形的标准图形信息,从静止立体图形中确定目标立体图形还可以基于以下步骤实现:

S301、根据当前图形信息中各移动平面的当前平面信息及各静止立体图形的标准图形信息中各静止平面的标准平面信息,确定各移动平面对应的第一静止平面。

具体地,各移动平面与基于本步骤确定的第一静止平面之间具备如下关系,即:各所述移动平面的法向量与所对应第一静止平面的法向量平行且平面间距离最短,其中,移动平面的法向量包括:当前空间法向量和当前投影法向量;第一静止平面的法向量包括:标准空间法向量和标准投影法向量。由此,本步骤需要根据各移动平面的当前平面信息,以及各静止立体图形的标准图形信息中各静止平面的标准平面信息,为各移动平面确定满足上述关系的第一静止平面。

本步骤的具体实现可表述为:对移动立体图形中所有移动平面执行下述操作:1)遍历所有静止立体图形中的静止平面,获得各静止平面标准平面信息中的标准空间法向量和标准投影法向量,结合移动平面当前平面信息中的当前空间法向量和当前投影法向量,确定与移动平面平行的静止平面(具体判定静止平面的标准空间法向量是否与当前空间法向量呈0°或180°,同时判定静止平面的标准投影法向量是否与当前投影法向量呈0°或180°,若上述两个条件同时满足,则表明二者平行),并将与移动平面平行的静止平面作为候选静止平面添加到移动平面对应的静止平面集中;2)遍历静止平面集合中各候选静止平面标准平面信息中所有顶点的标准投影坐标,确定出各候选静止平面在画布中的几何中心点的坐标值,结合移动平面在画布中的几何中心点的坐标值(基于其当前平面信息中所有顶点的当前投影坐标确定),计算移动平面与各候选静止平面的平面间隔距离,并确定最小平面间隔距离对应的候选静止平面,已将该候选静止平面确定为移动平面对应的第一静止平面。

S302、将各移动平面与所对应第一静止平面的平面间距离确定为各移动平面的第一平面距离,确定各第一平面距离中的最小第一平面距离。

本步骤可以将移动立体图形中各移动平面与所对应第一静止平面的平面间隔距离确定为各移动平面的第一平面距离,并从中确定出最小第一平面距离。

S303、如果最小第一平面距离小于预设吸附阈值,则将对应于最小第一平面距离的第一静止平面所在的静止立体图形确定为第二目标立体图形。

本步骤可以将最小平面距离与预先设定的用于对齐吸附判定的预设吸附阈值(可认为该预设吸附阈值与上述图2所提供实现方法中的预设吸附阈值为同一个对齐吸附判定值)进行比对,若最小第一平面距离小于预设吸附阈值,即可认为与最小第一平面距离对应的移动平面及第一静止平面间的平面间隔距离已经符合了自动对齐吸附的条件,由此可将对应于最小第一平面距离的第一静止平面所在的静止立体图形确定为目标立体图形(具体记为第二目标立体图形)。

可以理解的是,上述图2及图3中提供的目标立体图形确定的实现方法,分别从棱线信息及平面信息角度独立确定了目标立体图形,可认为上述图2与图3提供的实现方法应当为并列关系。但在实际应用中,立体图形的棱线信息和平面信息往往是同时存在的,可能在进行立体图形间棱线信息比对的同时,也在进行平面信息的比对,由此本发明具体实施例还需要考虑同时对棱线信息和平面信息进行判定时确定目标立体图形的实现方法。

具体地,图4为本发明实施例中提供的从静止立体图形中确定目标立体图形的又一种实现方法流程示意图。该实现方法主要站在同时考虑立体图形棱线信息和平面信息的角度进行目标立体图形的确定。如图4所示,根据当前图形信息及各静止立体图形的标准图形信息,从静止立体图形中确定目标立体图形也可以基于以下步骤实现:

S401、根据当前图形信息及各静止立体图形的标准图形信息,从各静止立体图形中确定移动立体图形中各移动棱线对应的第二静止棱线,以及各移动平面对应的第二静止平面。

具体地,基于本步骤的操作,可以为移动立体图形中各移动棱线确定对应的第二静止棱线,还能为各移动平面确定对应的第二静止平面,且基于本步骤的操作,可使移动棱线与相应第二静止棱线间满足如下关系,即:各所述移动棱线与对应的第二静止棱线相平行且棱线间距离最短;还可使移动平面与相应第二静止平面间满足如下关系,即:各所述移动平面的法向量与所对应第二静止平面的法向量平行且平面间距离最短。

可以理解的是,本步骤为各移动棱线确定第二静止棱线的操作与上述S201中为各移动棱线确定第一静止棱线的操作相同;此外,为各移动平面确定第二静止平面的操作与上述S301中为各移动平面确定第一静止平面的操作相同,因此,本步骤不再具体详述。

S402、将各移动棱线与所对应第二静止棱线的棱线间隔距离确定为各移动棱线的第二棱线距离,并将各移动平面与所对应第二静止平面的平面间距离确定为各移动平面的第二平面距离。

S403、确定各第二棱线距离中的最小第二棱线距离以及各第二平面距离中的最小第二平面距离。

在本发明具体实施例中,上述S402和S403具体确定了可用于进行对齐吸附判定的最小第二棱线距离和最小第二平面距离。确定上述两个属性值后,需要首先对上述两个属性值的大小进行比对,以确定采用哪个属性值与预设吸附阈值(等同于图2及图3所提供实现方法中的预设吸附阈值)相比对。

S404、如果最小第二棱线距离小于最小第二平面距离,且小于预设吸附阈值,则将对应于最小第二棱线距离的第二静止棱线所在的静止立体图形确定为第三目标立体图形。

具体地,当确定最小第二棱线距离小于最小第二平面距离时,可以进一步将最小第二棱线距离与预设吸附阈值进行比对,若最小第二棱线距离小于预设吸附阈值,可认为与最小第二棱线距离对应的移动棱线及第二静止棱线间的棱线间隔距离符合了自动对齐吸附的条件,由此可将对应于最小第二棱线距离的第二静止棱线所在的静止立体图形确定为目标立体图形(具体记为第三目标立体图形)。

可以理解的是,本步骤中的最小第二棱线距离也可能存在多个移动棱线及第二静止棱线的待吸附对,但上述多个第二静止棱线只会存在与一个静止立体图形中,因此仍只会确定出一个目标立体图形。

S405、如果最小第二平面距离小于最小第二棱线距离,且小于预设吸附阈值,则将对应于最小第二平面距离的第二静止平面所在的静止立体图形确定为第三目标立体图形。

具体地,当确定最小第二平面距离小于最小第二棱线距离时,可进一步将最小第二平面距离与预设吸附阈值进行比对,并在最小第二平面距离小于预设吸附阈值时,认为与最小第二平面距离对应的移动平面及第二静止平面的平面间隔距离符合了自动对齐吸附的条件,由此可将对应于最小第二平面距离的第二静止平面所在的静止立体图形确定为目标立体图形(具体记为第三目标立体图形)。

需要说明的是,上述S101和S102可以重复循环进行,具体地,基于上述图2、图3以及图4中任一提供的目标立体图形确定的实现方法,在移动立体图形进行了当前的拖动获取到当前图形信息的前提下,若通过该当前图形信息和各静止立体图形的标准图形信息,可以确定符合吸附判定条件的目标立体图形,则相当于用户对移动立体图形的拖动已经达到了自动对齐吸附的条件,之后可进行S103的操作;如果基于当前拖动状态下的当前图形信息,无法确定出满足要求的目标立体图形,则可认为用户对移动立体图形的拖动还未达到自动对齐吸附条件,则需要用户进一步拖动该移动立体图形或改变该移动立体图形的显示状态,由此可返回S101的操作重新获取更新后的当前图形信息,并再次基于S102确定目标立体图形。

S103、确定所述移动立体图形到所述目标立体图形的对齐吸附偏移量,并控制所述移动立体图形基于所述对齐吸附偏移量进行对齐吸附。

在本发明具体实施例中,基于上述S102确定出符合吸附判定条件的目标立体图形后,相当于画布中已经存在了移动立体图形可自动对齐吸附的静止立体图形(所确定的目标立体图形),由此可确定移动立体图形到所述目标立体图形的对齐吸附偏移量,控制移动立体图形自动移动该对齐吸附偏移量的距离,从而实现与目标立体图形的自动对齐吸附。

需要说明的是,该对齐吸附偏移量可以根据目标立体图形确定时所依据的距离信息确定,该距离信息可以是移动棱线与静止棱线的最小棱线间隔距离;也可以是移动平面与静止平面的最小平面间隔距离。

在本发明具体实施例中,上述目标立体图形的确定基于图2提供的操作步骤实现时,该S103具体可基于下述方式实现,即:确定所述最小第一棱线距离为所述移动立体图形到所述第一目标立体图形的对齐吸附偏移量;控制所述移动立体图形沿所述最小第一棱线距离偏移,以使所述移动立体图形与所述第一目标立体图形基于棱线对齐吸附。

具体地,该种情况下,可以确定最小第一棱线距离所对应移动棱线及第一静止棱线之间的棱线间隔距离满足了自动对齐吸附条件,此时,相当于移动立体图形与目标立体图形仅相差了最小第一棱线距离的偏移量,由此可将最小第一棱线距离确定为对齐吸附偏移量,并控制移动立体图形中各元素进行最小第一棱线距离的偏移,使得移动立体图形与目标立体图形基于棱线对齐吸附。

示例性地,图5a提供了移动立体图形和目标立体图形基于棱线对齐吸附的一种效果图。如图5a所示,可认为移动立体图形51中的一条移动棱线与目标立体图形52中的一条静止棱线基于棱线中心点O(O`)确定了小于预设吸附阈值的最小棱线间隔距离,并实现了移动立体图形51和目标立体图形52沿棱线中心点O(O`)的对齐吸附。

此外,图5b提供了移动立体图形和目标立体图形基于棱线对齐吸附的另一种效果图。如图5b所示,可认为移动立体图形53中的移动棱线AB与目标立体图形54中的静止棱线A`B`基于端点A(A`)确定了小于预设吸附阈值的最小棱线间隔距离,且可以发现,与该最小棱线间隔距离对应的还有移动棱线AC和静止棱线A`C`,以及移动棱线AD和静止棱线A`D`,由此,可认为移动立体图形53和目标立体图形54沿棱线端点A(A`)对齐吸附。

同时,在本发明具体实施例中,上述目标立体图形的确定基于图3提供的操作步骤实现时,该S103具体可基于下述方式实现,即:确定所述最小第一平面距离为所述移动立体图形到所述第二目标立体图形的对齐吸附偏移量;控制所述移动立体图形沿所述最小第一平面距离偏移,以使所述移动立体图形与所述第二目标立体图形基于平面对齐吸附。

具体地,在该种情况下,可以确定最小第一平面距离所对应移动平面与第一静止平面之间的平面间隔距离满足了自动对齐吸附条件,此时,相当于移动立体图形与目标立体图形仅相差了最小第一平面距离的偏移量,由此可将最小第一平面距离确定为对齐吸附偏移量,并控制移动立体图形进行最小第一平面距离的偏移,使得移动立体图形与目标立体图形基于平面对齐吸附。

示例性地,图6a提供了移动立体图形和目标立体图形基于平面对齐吸附的一种效果图。如图6a所示,可认为移动立体图形61和目标立体图形62的几何形态均为长方体,二者分别基于其中的一个长方形平面沿长方形平面的几何中心点X(X`)确定小于预设吸附阈值的最小平面间隔距离,并实现了移动立体图形61和目标立体图形62基于长方形平面几何中心点X(X`)的对齐吸附。

此外,图6b提供了移动立体图形和目标立体图形基于平面对齐吸附的另一种效果图。如图6b所示,可认为移动立体图形63和目标立体图形64的几何形态均为圆柱体,二者分别基于其中的一个圆形平面沿圆形平面的几何中心点Y(Y`)确定小于预设吸附阈值的最小平面间隔距离,并实现了移动立体图形63和目标立体图形64基于圆形平面几何中心点Y(Y`)的对齐吸附。

在本发明具体实施例中,上述目标立体图形的确定基于图4提供的操作步骤实现时,该S103具体可基于下述方式实现,即:如果所述第三目标立体图形基于所述最小第二棱线距离确定,则将所述最小第二棱线距离确定为所述移动立体图形到所述第三目标立体图形的对齐吸附偏移量,并控制所述移动立体图形沿所述最小第二棱线距离偏移,以使所述移动立体图形与所述第三目标立体图形基于棱线对齐吸附;

如果所述第三目标立体图形基于所述最小第二平面距离确定,则将所述最小第二平面距离确定为所述移动立体图形到所述第二目标立体图形的对齐吸附偏移量,并控制所述移动立体图形沿所述最小第二平面距离偏移,以使所述移动立体图形与所述第三目标立体图形基于平面对齐吸附。

具体地,该种情况下,可以首先确定由哪个属性值(最小第二棱线距离或最小第二平面距离)确定了目标立体图形,然后将确定目标立体图形的属性值确定为对齐吸附偏移量,并控制移动立体图形基于所确定属性值的对齐形式与目标立体图形进行对齐吸附。其中,基于该种情况的对齐吸附,可出现如图5a或图5b所示的对齐吸附效果,也可能出现如图6a或图6b所示的对齐吸附效果。

需要说明的是,在本发明具体实施例中,基于图1提供的操作步骤实现立体图形的对齐吸附后,还优化增加了下述步骤的操作,即:确定所述移动立体图形与所述目标立体图形对齐吸附的对齐吸附区域,并突出显示所述对齐吸附区域。由此通过执行该步骤来突出显示画布中进行对齐吸附操作的立体图形的对齐吸附区域,从而时立体图形的对齐吸附区域更加直观的显示在画布中。

具体地,执行本步骤操作时,可以根据上述S103中移动立体图形与目标立体图形的对齐吸附方式(棱线对齐吸附或平面对齐吸附)确定应该具有的对齐吸附区域,如,棱线对齐吸附下的对齐吸附区域可看作所吸附的两立体图形中的棱线,而具备吸附关系的棱线可根据确定对齐吸附偏移量的最小棱线间隔距离确定,在已知最小棱线间隔距离的前提下,可确定所吸附的棱线具体是移动立体图形中的哪条移动棱线以及具体是目标立体图形中的哪条静止棱线,由此在上述确定的移动棱线及静止棱线上再次绘制并覆盖一条其他颜色的棱线进行对齐吸附的突出显示。

此外,在平面对齐吸附下,其对齐吸附区域可看作所吸附两立体图形中的平面,而具备吸附关系的平面也可根据确定对齐吸附偏移量的最小平面间隔距离确定,在已知最小平面间隔距离的前提下,可确定所吸附的平面具体是移动立体图形中的哪个移动平面以及具体是目标立体图形中的哪个静止平面,由此在上述确定的移动平面及静止平面上再次绘制并覆盖一个其他颜色的平面进行对齐吸附的突出显示。

本发明具体实施例提出的立体图形的对齐吸附方法,可以监听画布中移动立体图形当前被拖动的事件,并获取该移动立体图形的当前图形信息;之后可根据当前图形信息及画布中各静止立体图形的标准图形信息,从各经立体图形中确定满足吸附判定条件的目标立体图形;最终可确定移动立体图形到目标立体图形的对齐吸附偏移量,并控制移动立体图形基于对齐吸附偏移量进行对齐吸附。上述技术方案,能够为在演示类功能应用中基于独立三维场景绘制的立体图形自动进行对齐吸附,避免了额外的人为设置环节,简化了对齐吸附的操作过程,同时兼容了不同三维场景下绘制的立体图形简单无障碍的对齐吸附,有效提高了演示类功能应用的用户体验。

图7为本发明实施例中提供的一种立体图形的对齐吸附装置的结构框图。该装置适用于根据独立三维场景绘制的立体图形在画布上与其他独立场景绘制的立体图形进行对齐吸附操作的情况。该装置可由软件和/或硬件实现,并一般可作为演示类功能应用中的插件集成在计算机设备。如图7所示,该装置包括:信息监听及获取模块71、吸附目标确定模块72以及对齐吸附控制模块73。

其中,信息监听及获取模块71,用于监听画布中移动立体图形当前被拖动的事件,并获取所述移动立体图形的当前图形信息;

吸附目标确定模块72,用于根据所述当前图形信息及所述画布中各静止立体图形的标准图形信息,从各所述静止立体图形中确定满足吸附判定条件的目标立体图形;

对齐吸附控制模块73,用于确定所述移动立体图形到所述目标立体图形的对齐吸附偏移量,并控制所述移动立体图形基于所述对齐吸附偏移量进行对齐吸附。

本发明具体实施例提供的立体图形的对齐吸附装置,可以通过信息监听及获取模块监听画布中移动立体图形当前被拖动的事件,并获取所述移动立体图形的当前图形信息,通过吸附目标确定模块根据所述当前图形信息及所述画布中各静止立体图形的标准图形信息,从各所述静止立体图形中确定满足吸附判定条件的目标立体图形,以及通过对齐吸附控制模块确定所述移动立体图形到所述目标立体图形的对齐吸附偏移量,并控制所述移动立体图形基于所述对齐吸附偏移量进行对齐吸附。基于该装置,能够为在演示类功能应用中基于独立三维场景绘制的立体图形自动进行对齐吸附,避免了额外的人为设置环节,简化了对齐吸附的操作过程,同时兼容了不同三维场景下绘制的立体图形简单无障碍的对齐吸附,有效提高了演示类功能应用的用户体验。

进一步地,所述当前图形信息包括:所述移动立体图形中各移动棱线的当前棱线信息及各移动平面的当前平面信息;所述标准图形信息包括:对应静止立体图形中各静止棱线的标准棱线信息及各静止平面的标准平面信息。

进一步地,吸附目标确定模块72,具体可用于:

根据所述当前图形信息中各移动棱线的当前棱线信息及各所述静止立体图形的标准图形信息中各静止棱线的标准棱线信息,确定各所述移动棱线对应的第一静止棱线,其中,各所述移动棱线与对应的第一静止棱线相平行且棱线间距离最短。

在上述优化的基础上,对齐吸附控制模块73,具体用于:

确定所述最小第一棱线距离为所述移动立体图形到所述第一目标立体图形的对齐吸附偏移量;控制所述移动立体图形沿所述最小第一棱线距离偏移,以使所述移动立体图形与所述第一目标立体图形基于棱线对齐吸附。

进一步地,吸附目标确定模块72,具体还可用于:

根据所述当前图形信息中各移动平面的当前平面信息及各所述静止立体图形的标准图形信息中各静止平面的标准平面信息,确定各所述移动平面对应的第一静止平面,其中,各所述移动平面的法向量与所对应第一静止平面的法向量平行且平面间距离最短;将各所述移动平面与所对应第一静止平面的平面间距离确定为各所述移动平面的第一平面距离,确定各所述第一平面距离中的最小第一平面距离;如果所述最小第一平面距离小于预设吸附阈值,则将对应于所述最小第一平面距离的第一静止平面所在的静止立体图形确定为第二目标立体图形。

在上述优化的基础上,对齐吸附控制模块73,具体还可用于:

确定所述最小第一平面距离为所述移动立体图形到所述第二目标立体图形的对齐吸附偏移量;控制所述移动立体图形沿所述最小第一平面距离偏移,以使所述移动立体图形与所述第二目标立体图形基于平面对齐吸附。

进一步地,吸附目标确定模块72,具体也可用于:

根据所述当前图形信息及各所述静止立体图形的标准图形信息,从各所述静止立体图形中确定所述移动立体图形中各移动棱线对应的第二静止棱线,以及各移动平面对应的第二静止平面,其中,各所述移动棱线与对应的第二静止棱线相平行且棱线间距离最短;各所述移动平面的法向量与所对应第二静止平面的法向量平行且平面间距离最短;将各所述移动棱线与所对应第二静止棱线的棱线间隔距离确定为各所述移动棱线的第二棱线距离,并将各所述移动平面与所对应第二静止平面的平面间距离确定为各所述移动平面的第二平面距离;确定各所述第二棱线距离中的最小第二棱线距离以及各所述第二平面距离中的最小第二平面距离;如果所述最小第二棱线距离小于所述最小第二平面距离,且小于预设吸附阈值,则将对应于所述最小第二棱线距离的第二静止棱线所在的静止立体图形确定为第三目标立体图形;如果所述最小第二平面距离小于所述最小第二棱线距离,且小于所述预设吸附阈值,则将对应于所述最小第二平面距离的第二静止平面所在的静止立体图形确定为第三目标立体图形。

在上述优化的基础上,对齐吸附控制模块73,具体也可用于:

如果所述第三目标立体图形基于所述最小第二棱线距离确定,则将所述最小第二棱线距离确定为所述移动立体图形到所述第三目标立体图形的对齐吸附偏移量,并控制所述移动立体图形沿所述最小第二棱线距离偏移,以使所述移动立体图形与所述第三目标立体图形基于棱线对齐吸附;如果所述第三目标立体图形基于所述最小第二平面距离确定,则将所述最小第二平面距离确定为所述移动立体图形到所述第二目标立体图形的对齐吸附偏移量,并控制所述移动立体图形沿所述最小第二平面距离偏移,以使所述移动立体图形与所述第三目标立体图形基于平面对齐吸附。

在上述优化的基础上,本发明实施例提供的立体图形的对齐吸附装置中还优化包括了:吸附区域突显模块74,用于确定所述移动立体图形与所述目标立体图形对齐吸附的对齐吸附区域,并突出显示所述对齐吸附区域。

本发明实施例还提供了一种计算机设备。图8为本发明实施例提供的一种计算机设备的硬件结构示意图。如图8所示,该计算机设备,包括:处理器81和存储装置82。该计算机设备中的处理器可以是一个或多个,图8中以一个处理器81为例,所述计算机设备中的处理器81和存储装置82可以通过总线或其他方式连接,图8中以通过总线连接为例。

该计算机设备中的存储装置82作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例提供立体图形的对齐吸附方法对应的程序指令/模块(例如,附图7所示的立体图形的对齐吸附装置中的模块,包括:信息监听及获取模块71、吸附目标确定模块72以及对齐吸附控制模块73,还包括:吸附区域突显模块74);处理器81通过运行存储在存储装置82中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例中立体图形的对齐吸附方法。

存储装置82可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储装置82可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置82可进一步包括相对于处理器81远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

并且,当上述计算机设备所包括一个或者多个程序被所述一个或者多个处理器81执行时,程序执行本发明实施例提供的立体图形的对齐吸附方法。

此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的立体图形的对齐吸附方法。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1