CN105787926B - 一种图形自动对齐的方法及装置 - Google Patents
一种图形自动对齐的方法及装置 Download PDFInfo
- Publication number
- CN105787926B CN105787926B CN201610081123.1A CN201610081123A CN105787926B CN 105787926 B CN105787926 B CN 105787926B CN 201610081123 A CN201610081123 A CN 201610081123A CN 105787926 B CN105787926 B CN 105787926B
- Authority
- CN
- China
- Prior art keywords
- graph
- moving
- selection target
- polygon
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000001179 sorption measurement Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 description 64
- 238000010586 diagram Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种图形自动对齐的方法及装置,包括:确定移动图形与待与移动图形对齐的初次选择目标图形,其中,移动图形和初次选择目标图形为凸多边形;根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形;根据外紧邻多边形和内紧邻多边形确定目标对齐边;根据目标对齐边确定候选对齐点;根据候选对齐点的权重值确定目标对齐点。本发明提供的图形自动对齐的方法及装置通过对目标图形与移动图形对齐时,移动图形围绕目标图形移动,对移动图形的原点的轨迹建模,从而实现图形移动时自动对齐至目标图形,有效地提升了用户体验度。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种图形自动对齐的方法及装置。
背景技术
在家装设计过程中,经常需要家具进行紧密对齐放置,本发明的发明人在实施本发明的过程中发现,目前的平面设计软件没有提供紧密对齐放置的功能,设计师想要完成紧密对齐通常是将模型移动到近似的位置,但是仅是看起来是紧靠一起的,如需严格的对齐就需要根据模型的形状和位置进行手动计算,该过程复杂并且一旦有位置移动的话就需要重新计算。
发明内容
本发明的目的是提供了一种通过建模实现图形移动时能够自动对齐至目标图形的方法及装置。
根据本发明的一个实施例,提供了一种图形自动对齐的方法,包括:
确定移动图形与待与移动图形对齐的初次选择目标图形,其中移动图形和初次选择目标图形为凸多边形;
根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形;
根据外紧邻多边形和内紧邻多边形确定目标对齐边;
根据目标对齐边确定候选对齐点;
根据候选对齐点的权重值确定目标对齐点。
其中,当移动图形与初次选择目标图形紧邻且没有重合区域,则移动图形与初次选择目标图形为外紧邻,移动图形围绕初次选择目标图形移动时,移动图形的原点的轨迹形成外紧邻多边形;当移动图形与初次选择目标图形紧邻且有重合区域,则移动图形与初次选择目标图形为内紧邻,移动图形围绕初次选择目标图形移动时,移动图形的原点的轨迹形成内紧邻多边形。
可选地,根据候选对齐点的权重值确定目标对齐点包括:
将候选对齐点中具备最大权重值的对齐点确定为目标对齐点;
当至少两个候选对齐点具备最大权重值时,将至少两个候选对齐点中与移动图形的原点距离最小的候选对齐点确定为目标对齐点。
可选地,在根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形之前,该方法还包括:
确定出至少一个初次选择目标图形中的至少一个二次选择目标图形,其中,二次选择目标图形为初次选择目标图形中初次选择目标图形的原点与移动图形的原点的距离小于或等于第一阈值的图形,
其中,第一阈值为初次选择目标图形的以初次选择目标图形原点为圆心最小包围圆半径、移动图形的以移动图形原点为圆心最小包围圆半径和2倍的吸附阀值之和,
其中,根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形,包括:根据二次选择目标图形确定二次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形。
可选地,根据二次选择目标图形确定二次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形,包括:
如果移动图形的顶点与二次选择目标图形的边发生外紧邻,则确定移动图形围绕二次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的外紧邻多边形;以及
当移动图形的边与二次选择目标图形的顶点发生外紧邻时,确定移动图形围绕二次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的外紧邻多边形。
可选地,根据二次选择目标图形确定二次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形,包括:
如果移动图形的顶点与二次选择目标图形的边发生内紧邻,则确定移动图形围绕二次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的内紧邻多边形;以及
当移动图形的边与二次选择目标图形的顶点发生内紧邻时,确定移动图形围绕二次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的内紧邻多边形。
根据本发明的一个实施例提供了一种图形自动对齐的装置,该装置包括:
第一选择单元,确定移动图形与待与移动图形对齐的初次选择目标图形,其中移动图形和初次选择目标图形为凸多边形;
处理单元,根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形;
第一确定单元,根据外紧邻多边形和内紧邻多边形确定目标对齐边;
第二确定单元,根据目标对齐边确定候选对齐点;
第三确定单元,根据候选对齐点的权重值确定目标对齐点。
其中,当移动图形与初次选择目标图形紧邻且没有重合区域,则移动图形与初次选择目标图形为外紧邻,移动图形围绕初次选择目标图形移动时,移动图形的原点的轨迹形成外紧邻多边形;当移动图形与初次选择目标图形紧邻且有重合区域,则移动图形与初次选择目标图形为内紧邻,移动图形围绕初次选择目标图形移动时,移动图形的原点的轨迹形成内紧邻多边形。
可选地,第三确定单元还将候选对齐点中具备最大权重值的对齐点确定为目标对齐点;以及当至少两个候选对齐点具备最大权重值时,将至少两个候选对齐点中与移动图形的原点距离最小的候选对齐点确定为目标对齐点。
可选地,该装置还包括:
第二选择单元,确定出至少一个初次选择目标图形中的至少一个二次选择目标图形,其中,二次选择目标图形为初次选择目标图形中初次选择目标图形的原点与移动图形的原点的距离小于或等于第一阈值的图形,
其中,第一阈值为初次选择目标图形的以初次选择目标图形原点为圆心最小包围圆半径、移动图形的以移动图形原点为圆心最小包围圆半径和2倍的吸附阀值之和。
处理单元还根据二次选择目标图形确定二次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形。
可选地,处理单元还用于如果移动图形的顶点与二次选择目标图形的边发生外紧邻,则确定移动图形围绕二次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的外紧邻多边形;以及,当移动图形的边与二次选择目标图形的顶点发生外紧邻时,确定移动图形围绕二次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的外紧邻多边形。
可选地,处理单元还用于如果移动图形的顶点与二次选择目标图形的边发生内紧邻,则确定移动图形围绕二次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的内紧邻多边形;以及,当移动图形的边与二次选择目标图形的顶点发生内紧邻时,确定移动图形围绕二次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的内紧邻多边形。
本发明的一个实施例提供的图形自动对齐的方法及装置通过对目标图形与移动图形对齐时,移动图形围绕目标图形移动,对移动图形的原点的轨迹建模,从而实现图形移动时自动对齐至目标图形,有效地提升了用户体验度。
附图说明
图1为本发明实施例中一种线段与多边形外紧邻的位置关系示意图;
图2为本发明实施例中一种多边形与多边形外紧邻的位置关系示意图;
图3为本发明实施例中一种多边形与多边形内紧邻的位置关系示意图;
图4为本发明一个实施例提供的一种图形自动对齐的方法的流程图;
图5为本发明一个实施例提供的一种图形自动对齐的方法的流程图;
图6为本发明一个实施例提供的一种图形自动对齐的装置的示意性结构框图;
图7为本发明一个实施例提供的一种图形自动对齐的装置的示意性结构框图。
具体实施方式
为使本发明实施例的技术方案以及优点表达的更清楚,下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
为了更加方便描述本发明的技术方案,本发明实施例中出现的术语的定义如下。
两个多边形“紧邻”是指:如果多边形p上有一条边e与多边形q紧邻,则称多边形p与多边形q紧邻。多边形之间的紧邻关系是相互的,多边形p与多边形q紧邻的同时多边形q与多边形p紧邻。
例如,如图1所示,“多边形p的边e与多边形q紧邻”为多边形q在多边形p的边e的一方,并且多边形q与多边形p的边e相交于多边形q的一个顶点或者多边形q的一条边与多边形p的边e部分或全部重合。
两个多边形“紧邻”包括两个多边形“外紧邻”和两个多边形“内紧邻”。
例如,如图2所示,多边形p与多边形q“外紧邻”,其中多边形p与多边形q紧邻且多边形p与多边形q没有重合区域。
如图3所示,多边形p与多边形q“内紧邻”,其中多边形p与多边形q紧邻且多边形p与多边形q有重合区域。
多边形p的“原点”按照以下方式确定:多边形p的“原点”为多边形p平面上的任意一点a(x,y),且以此点a(x,y)为坐标系原点构建坐标系从而表示多边形p上各边点的位置。即多边形p的原点为描述图像上各边点位置的坐标系原点。
为了使多边形p与多边形q对齐,给多边形p的原点a(x,y)设置偏移向量(offset);吸附阈值(Threshold)限定偏移向量的长度,即offset的向量长度≤Threshold。
“吸附区域(AdorbArea)”为以多边形p偏移前的原点为圆心、以吸附阈值为半径的圆。
“目标对齐边(validEdge)”为紧邻多边形与吸附区域有交集的边。
“候选对齐点(validPoint)”为在目标对齐边上且在吸附区域内或者吸附区域边上的点。例如,当多边形p的原点在候选对齐点上可以使多边形p与对应的多边形q对齐。
多边形p的目标对齐点由候选对齐点中确定。例如,将候选对齐点中具备最大权重值的对齐点确定为目标对齐点;以及当至少两个所述候选对齐点具备所述最大权重值时,将至少两个所述候选对齐点中与所述移动图形的原点距离最小的候选对齐点确定为目标对齐点。
候选对齐点可以有多个,当候选对齐点有多个的情况下,则选取与多边形p的原点a的距离小的点。可选地,当候选对齐点有多个的情况下考虑以下四种候选对齐点,且从该四种候选对齐点中确定出目标对齐点。
(1)边的投影候选对齐点(validPoint projection,vpp)为多边形p的原点a在目标对齐边上的投影点且满足在吸附区域内或者吸附区域边上。边的投影候选对齐点的权重值为1。边的投影候选对齐点为目标对齐边到p的原点a距离最小的点。
(2)边与吸附区域交点候选对齐点(validPoint intersection AdorbArea,vpia)为目标对齐边与吸附区域的交点。边与吸附区域交点候选对齐点的权重值为1。
(3)边中点候选对齐点(validPointmiddle,vpm)为有效边的中点且在吸附区域内部或者吸附区域边上。边中点候选对齐点的权重为2。当多边形p的原点a在边中点候选对齐点上,多边形p的顶点会与多边形q的边中点吸附,或者多边形q的顶点与多边形p边上的中点吸附。
(4)目标对齐边之间的交点候选对齐点(validPoint intersection edge,vpie)为目标对齐边之间的交点,且满足在吸附区域内或者吸附区域边上。目标对齐边之间的交点候选对齐点的权重值为3。目标对齐边之间的交点候选对齐点为紧邻多边形的顶点或者两个紧邻多边形的交点。当多边形p的原点a移动到目标对齐边之间的交点候选对齐点上多边形p会发生顶点与顶点对齐或者多边形p与多个多边形同时对齐。
图4为本发明一个实施例提供的一种图形自动对齐的方法的流程图,如图4所示,在步骤110中,确定移动图形与待与移动图形对齐的初次选择目标图形,其中移动图形和初次选择目标图形为凸多边形。
在步骤130中,根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形。
当移动图形与初次选择目标图形紧邻且没有重合区域,则移动图形与初次选择目标图形为外紧邻,移动图形围绕初次选择目标图形移动时,移动图形的原点的轨迹形成外紧邻多边形。
当移动图形与初次选择目标图形紧邻且有重合区域,则移动图形与初次选择目标图形为内紧邻,移动图形围绕初次选择目标图形移动时,移动图形的原点的轨迹形成内紧邻多边形。
在步骤150中,根据外紧邻多边形和内紧邻多边形确定目标对齐边。
在步骤170中,根据目标对齐边确定候选对齐点。
在步骤190,根据候选对齐点的权重值确定目标对齐点。
可选地,在步骤190,根据候选对齐点的权重值确定目标对齐点可包括:将候选对齐点中具备最大权重值的对齐点确定为目标对齐点;以及,当至少两个候选对齐点具备最大权重值时,将至少两个候选对齐点中与移动图形的原点距离最小的候选对齐点确定为目标对齐点。
可选地,在步骤130,根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形可包括:如果移动图形的顶点与初次选择目标图形的边发生外紧邻,则确定移动图形围绕初次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的外紧邻多边形;以及,当移动图形的边与初次选择目标图形的顶点发生外紧邻时,确定移动图形围绕初次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的外紧邻多边形。
例如,以移动图形T、目标图形M做为示例,TStartIndex表示移动图形T的起始检测序号,MStartIndex表示目标图形M的起始检测序号,TCheckIndex表示移动图形T参加检测的序号。若移动图形T为主检测多边形,则TCheckIndex表示移动图形T的第TCheckIndex条边参与检测,否则表示移动图形T的第TCheckIndex个顶点参与检测。MCheckIndex表示目标图形M参加检测的序号,若移动图形T为主检测多边形的话,MCheckIndex表示目标图形M的第MCheckIndex条边参与检测,否则表示目标图形M的第MCheckIndex个顶点参与检测。OutPolygon表示输出结果。
在步骤130中确定初次选择目标图形与移动图形对齐时的外紧邻多边形的过程如下。
在步骤131中,计算出移动图形T与目标图形M的第0条边M(0)Q(1)外接紧邻时移动图形T的顶点序号TStartIndex。MStartIndex值为0,从移动图形T的第0个顶点起,遍历移动图形T的顶点,若移动图形T与目标图形M外紧邻,且紧邻位置发生在移动图形T的顶点与目标图形M的边的交点,则TStartIndex为其顶点序号。
在步骤132中,设置目标图形M为主检测多边形,MCheckIndex的值设为MStartIndex,TCheckIndex的值设为TStartIndex。
在步骤133中,循环检测主检测多边形,若目标图形M为主检测多边形,则执行步骤134;若移动图形T为主检测多边形,则执行步骤135;当(MCheckIndex==MStartIndex)And(TCheckIndex==TStartIndex)时退出循环体,执行步骤136。
在步骤134中,判断的第MCheckIndex边是否可以与的第TCheckIndex顶点发生外紧邻;若可以,则将此时移动图形T的原点在场景中的位置添加到OutPolygon作为一个顶点,MCheckIndex为目标图形M按照顺时针的下一个顶点,将移动图形T设置为主检测多边形。
在步骤135中,判断移动图形T的第TCheckIndex边是否可以与目标图形M的第MCheckIndex顶点发生外紧邻;若可以,则将此时的原点在场景中的位置添加到OutPolygon作为一个顶点,TCheckIndex为移动图形T按照顺时针的下一个顶点,将目标图形M设置主检测多边形。
在步骤136中,OutPolygon即为移动图形T相对于目标图形M的外接紧邻多边形。
可选地,在步骤130,根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形可包括:
如果移动图形的顶点与初次选择目标图形的边发生内紧邻,则确定移动图形围绕初次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的内紧邻多边形;以及
当移动图形的边与初次选择目标图形的顶点发生内紧邻时,确定移动图形围绕初次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的内紧邻多边形。
例如,以移动图形T、目标图形M做为示例,TStartIndex表示移动图形T的起始检测序号,MStartIndex表示目标图形M的起始检测序号,TCheckIndex表示移动图形T参加检测的序号。若移动图形T为主检测多边形,则TCheckIndex表示移动图形T的第TCheckIndex条边参与检测,否则表示移动图形T的第TCheckIndex个顶点参与检测。MCheckIndex表示目标图形M参加检测的序号,若移动图形T为主检测多边形的话,MCheckIndex表示目标图形M的第MCheckIndex条边参与检测,否则表示目标图形M的第MCheckIndex个顶点参与检测。innerPolygon表示输出结果。
在步骤130中确定初次选择目标图形与移动图形对齐时的内紧邻多边形的过程如下。
在步骤131’中,计算出移动图形T与目标图形M的第0条边M(0)Q(1)内接紧邻时移动图形T的顶点序号TStartIndex。MStartIndex值为0,从移动图形T的第0个顶点起,遍历移动图形T的顶点,若移动图形T与目标图形M内紧邻,且紧邻位置发生在移动图形T的顶点与目标图形M的边的交点,则TStartIndex为其顶点序号。
在步骤132’中,设置目标图形M为主检测多边形,MCheckIndex的值设为MStartIndex,TCheckIndex的值设为TStartIndex。
在步骤133’中,循环检测主检测多边形,若目标图形M为主检测多边形,则执行步骤134’;若移动图形T为主检测多边形,则执行步骤135’;当(MCheckIndex==MStartIndex)And(TCheckIndex==TStartIndex)时退出循环体,执行步骤136’。
在步骤134’中,判断的第MCheckIndex边是否可以与的第TCheckIndex顶点发生内紧邻;若可以,则将此时移动图形T的原点在场景中的位置添加到InnerPolygon作为一个顶点,MCheckIndex为目标图形M按照顺时针的下一个顶点,并将移动图形T设置为主检测多边形。
在步骤135’中,判断移动图形T的第TCheckIndex边是否可以与目标图形M的第MCheckIndex顶点发生内紧邻;若可以,则将此时的原点在场景中的位置添加到InnerPolygon作为一个顶点,TCheckIndex为移动图形T按照顺时针的下一个顶点,并将目标图形M设置主检测多边形。
在步骤136’中,InnerPolygon即为移动图形T相对于目标图形M的内接紧邻多边形。
本实施例提供的图形自动对齐的方法通过对目标图形与移动图形对齐时,移动图形围绕目标图形移动,对移动图形的原点的轨迹建模,从而实现图形移动时自动对齐至目标图形,有效地提升了用户体验度。
图5为本发明一个实施例提供的一种图形自动对齐的方法的流程图,如图5所示,该方法除上述实施例所包括的步骤之外,在步骤130,根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形之前,该方法还包括:
步骤120,确定出至少一个初次选择目标图形中的至少一个二次选择目标图形,其中,二次选择目标图形为初次选择目标图形中初次选择目标图形的原点与移动图形的原点的距离小于或等于第一阈值的图形,其中第一阈值为初次选择目标图形的以初次选择目标图形原点为圆心最小包围圆半径、移动图形的以移动图形原点为圆心最小包围圆半径和2倍的吸附阀值之和,
其中,在步骤130,根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形,包括:
根据二次选择目标图形确定二次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形。
本实施例提供的图形自动对齐的方法通过对目标图形与移动图形对齐时,移动图形围绕目标图形移动,对移动图形的原点的轨迹建模,从而实现图形移动时自动对齐至目标图形,有效地提升了用户体验度。
图6为本发明一个实施例提供的一种图形自动对齐的装置的示意性结构框图,如图6所示,该装置包括:
第一选择单元10确定移动图形与待与移动图形对齐的初次选择目标图形,其中移动图形和初次选择目标图形为凸多边形。
处理单元30根据初次选择目标图形确定初次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形。其中,
当移动图形与初次选择目标图形紧邻且没有重合区域,则移动图形与初次选择目标图形为外紧邻,移动图形围绕初次选择目标图形移动时,移动图形的原点的轨迹形成外紧邻多边形;
当移动图形与初次选择目标图形紧邻且有重合区域,则移动图形与初次选择目标图形为内紧邻,移动图形围绕初次选择目标图形移动时,移动图形的原点的轨迹形成内紧邻多边形。
第一确定单元50根据外紧邻多边形和内紧邻多边形确定目标对齐边。
第二确定单元70根据目标对齐边确定候选对齐点。
第三确定单元90根据候选对齐点的权重值确定目标对齐点。
可选地,第三确定单元90还将候选对齐点中具备最大权重值的对齐点确定为目标对齐点;以及当至少两个候选对齐点具备最大权重值时,将至少两个候选对齐点中与移动图形的原点距离最小的候选对齐点确定为目标对齐点。
可选地,处理单元30还用于如果移动图形的顶点与初次选择目标图形的边发生外紧邻,则确定移动图形围绕初次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的外紧邻多边形;以及当移动图形的边与初次选择目标图形的顶点发生外紧邻时,确定移动图形围绕初次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的外紧邻多边形。
例如,以移动图形T、目标图形M做为示例,TStartIndex表示移动图形T的起始检测序号,MStartIndex表示目标图形M的起始检测序号,TCheckIndex表示移动图形T参加检测的序号。若移动图形T为主检测多边形,则TCheckIndex表示移动图形T的第TCheckIndex条边参与检测,否则表示移动图形T的第TCheckIndex个顶点参与检测。MCheckIndex表示目标图形M参加检测的序号,若移动图形T为主检测多边形的话,MCheckIndex表示目标图形M的第MCheckIndex条边参与检测,否则表示目标图形M的第MCheckIndex个顶点参与检测。OutPolygon表示输出结果。
在步骤130中确定初次选择目标图形与移动图形对齐时的外紧邻多边形的过程如下。
在步骤131中,计算出移动图形T与目标图形M的第0条边M(0)Q(1)外接紧邻时移动图形T的顶点序号TStartIndex。MStartIndex值为0,从移动图形T的第0个顶点起,遍历移动图形T的顶点,若移动图形T与目标图形M外紧邻,且紧邻位置发生在移动图形T的顶点与目标图形M的边的交点,则TStartIndex为其顶点序号。
在步骤132中,设置目标图形M为主检测多边形,MCheckIndex的值设为MStartIndex,TCheckIndex的值设为TStartIndex。
在步骤133中,循环检测主检测多边形,若目标图形M为主检测多边形,则执行步骤134;若移动图形T为主检测多边形,则执行步骤135;当(MCheckIndex==MStartIndex)And(TCheckIndex==TStartIndex)时退出循环体,执行步骤136。
在步骤134中,判断的第MCheckIndex边是否可以与的第TCheckIndex顶点发生外紧邻;若可以,则将此时移动图形T的原点在场景中的位置添加到OutPolygon作为一个顶点,MCheckIndex为目标图形M按照顺时针的下一个顶点,将移动图形T设置为主检测多边形。
在步骤135中,判断移动图形T的第TCheckIndex边是否可以与目标图形M的第MCheckIndex顶点发生外紧邻;若可以,则将此时的原点在场景中的位置添加到OutPolygon作为一个顶点,TCheckIndex为移动图形T按照顺时针的下一个顶点,将目标图形M设置主检测多边形。
在步骤136中,OutPolygon即为移动图形T相对于目标图形M的外接紧邻多边形。
可选地,处理单元30还用于如果移动图形的顶点与初次选择目标图形的边发生内紧邻,则确定移动图形围绕初次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的内紧邻多边形;以及当移动图形的边与初次选择目标图形的顶点发生内紧邻时,确定移动图形围绕初次选择目标图形移动时移动图形的原点的轨迹,从而确定移动图形的原点轨迹所形成的内紧邻多边形。
例如,以移动图形T、目标图形M做为示例,TStartIndex表示移动图形T的起始检测序号,MStartIndex表示目标图形M的起始检测序号,TCheckIndex表示移动图形T参加检测的序号。若移动图形T为主检测多边形,则TCheckIndex表示移动图形T的第TCheckIndex条边参与检测,否则表示移动图形T的第TCheckIndex个顶点参与检测。MCheckIndex表示目标图形M参加检测的序号,若移动图形T为主检测多边形的话,MCheckIndex表示目标图形M的第MCheckIndex条边参与检测,否则表示目标图形M的第MCheckIndex个顶点参与检测。innerPolygon表示输出结果。
在步骤130中确定初次选择目标图形与移动图形对齐时的内紧邻多边形的过程如下。
在步骤131’中,计算出移动图形T与目标图形M的第0条边M(0)Q(1)内接紧邻时移动图形T的顶点序号TStartIndex。MStartIndex值为0,从移动图形T的第0个顶点起,遍历移动图形T的顶点,若移动图形T与目标图形M内紧邻,且紧邻位置发生在移动图形T的顶点与目标图形M的边的交点,则TStartIndex为其顶点序号。
在步骤132’中,设置目标图形M为主检测多边形,MCheckIndex的值设为MStartIndex,TCheckIndex的值设为TStartIndex。
在步骤133’中,循环检测主检测多边形,若目标图形M为主检测多边形,则执行步骤134’;若移动图形T为主检测多边形,则执行步骤135’;当(MCheckIndex==MStartIndex)And(TCheckIndex==TStartIndex)时退出循环体,执行步骤136’。
在步骤134’中,判断的第MCheckIndex边是否可以与的第TCheckIndex顶点发生内紧邻;若可以,则将此时移动图形T的原点在场景中的位置添加到InnerPolygon作为一个顶点,MCheckIndex为目标图形M按照顺时针的下一个顶点,并将移动图形T设置为主检测多边形。
在步骤135’中,判断移动图形T的第TCheckIndex边是否可以与目标图形M的第MCheckIndex顶点发生内紧邻;若可以,则将此时的原点在场景中的位置添加到InnerPolygon作为一个顶点,TCheckIndex为移动图形T按照顺时针的下一个顶点,并将目标图形M设置主检测多边形。
在步骤136’中,InnerPolygon即为移动图形T相对于目标图形M的内接紧邻多边形。
本实施例提供的图形自动对齐的装置通过对目标图形与移动图形对齐时,移动图形围绕目标图形移动,对移动图形的原点的轨迹建模,从而实现图形移动时自动对齐至目标图形,有效地提升了用户体验度。
图7为本发明一个实施例提供的另一种图形自动对齐的装置的示意性结构框图,如图7所示,该装置除了图6描述的图形自动对齐的装置包括的部件之外还包括第二选择单元20。
第二选择单元20确定出至少一个初次选择目标图形中的至少一个二次选择目标图形。二次选择目标图形为初次选择目标图形中初次选择目标图形的原点与移动图形的原点的距离小于或等于第一阈值的图形。第一阈值为初次选择目标图形的以初次选择目标图形原点为圆心最小包围圆半径、移动图形的以初次选择目标图形原点为圆心最小包围圆半径和2倍的吸附阈值之和。
图7所示的图形自动对齐的装置中,处理单元30还根据二次选择目标图形,确定二次选择目标图形与移动图形对齐时的外紧邻多边形和内紧邻多边形。
本实施例提供的图形自动对齐的装置通过对目标图形与移动图形对齐时,移动图形围绕目标图形移动,对移动图形的原点的轨迹建模,从而实现图形移动时自动对齐至目标图形,有效地提升了用户体验度。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种图形自动对齐的方法,其特征在于,包括:
确定移动图形与待与所述移动图形对齐的初次选择目标图形,其中所述移动图形和所述初次选择目标图形为凸多边形;
根据初次选择目标图形确定所述初次选择目标图形与所述移动图形对齐时的外紧邻多边形和内紧邻多边形,其中,
当所述移动图形与所述初次选择目标图形紧邻且没有重合区域,则所述移动图形与所述初次选择目标图形为外紧邻,所述移动图形围绕所述初次选择目标图形移动时,所述移动图形的原点的轨迹形成所述外紧邻多边形,
当所述移动图形与所述初次选择目标图形紧邻且有重合区域,则所述移动图形与所述初次选择目标图形为内紧邻,所述移动图形围绕所述初次选择目标图形移动时,所述移动图形的所述原点的轨迹形成所述内紧邻多边形;
根据所述外紧邻多边形和所述内紧邻多边形确定目标对齐边;
根据所述目标对齐边确定候选对齐点;
根据所述候选对齐点的权重值确定目标对齐点。
2.根据权利要求1所述的方法,其特征在于,其中,所述根据所述候选对齐点的权重值确定目标对齐点,包括:
将所述候选对齐点中具备最大权重值的对齐点确定为所述目标对齐点;
当至少两个所述候选对齐点具备所述最大权重值时,将至少两个所述候选对齐点中与所述移动图形的原点距离最小的候选对齐点确定为目标对齐点。
3.根据权利要求1或2所述方法,其特征在于,其中,在所述根据初次选择目标图形确定所述初次选择目标图形与所述移动图形对齐时的外紧邻多边形和内紧邻多边形之前,所述方法还包括:
确定出至少一个所述初次选择目标图形中的至少一个二次选择目标图形,其中,所述二次选择目标图形为所述初次选择目标图形中所述初次选择目标图形的原点与所述移动图形的原点的距离小于或等于第一阈值的图形,其中所述第一阈值为所述初次选择目标图形的以所述初次选择目标图形原点为圆心最小包围圆半径、所述移动图形的以所述移动图形原点为圆心最小包围圆半径和2倍的吸附阀值之和,
其中,所述根据初次选择目标图形确定所述初次选择目标图形与所述移动图形对齐时的外紧邻多边形和内紧邻多边形,包括:
根据所述二次选择目标图形确定所述二次选择目标图形与所述移动图形对齐时的外紧邻多边形和内紧邻多边形。
4.根据权利要求3所述方法,其特征在于,其中,所述根据所述二次选择目标图形确定所述二次选择目标图形与所述移动图形对齐时的外紧邻多边形和内紧邻多边形,包括:
如果所述移动图形的顶点与所述二次选择目标图形的边发生外紧邻,则确定所述移动图形围绕所述二次选择目标图形移动时所述移动图形的原点的轨迹,从而确定所述移动图形的原点轨迹所形成的所述外紧邻多边形;以及
当所述移动图形的边与所述二次选择目标图形的顶点发生外紧邻时,确定所述移动图形围绕所述二次选择目标图形移动时所述移动图形的原点的轨迹,从而确定所述移动图形的原点轨迹所形成的外紧邻多边形。
5.根据权利要求3所述方法,其特征在于,其中,所述根据所述二次选择目标图形确定所述二次选择目标图形与所述移动图形对齐时的外紧邻多边形和内紧邻多边形,包括:
如果所述移动图形的顶点与所述二次选择目标图形的边发生内紧邻,则确定所述移动图形围绕所述二次选择目标图形移动时所述移动图形的原点的轨迹,从而确定所述移动图形的原点轨迹所形成的所述内紧邻多边形;以及
当所述移动图形的边与所述二次选择目标图形的顶点发生内紧邻时,确定所述移动图形围绕所述二次选择目标图形移动时所述移动图形的原点的轨迹,从而确定所述移动图形的原点轨迹所形成的内紧邻多边形。
6.一种图形自动对齐的装置,其特征在于,包括:
第一选择单元,确定移动图形与待与所述移动图形对齐的初次选择目标图形,其中所述移动图形和所述初次选择目标图形为凸多边形;
处理单元,根据初次选择目标图形确定所述初次选择目标图形与所述移动图形对齐时的外紧邻多边形和内紧邻多边形,其中,
当所述移动图形与所述初次选择目标图形紧邻且没有重合区域,则所述移动图形与所述初次选择目标图形为外紧邻,所述移动图形围绕所述初次选择目标图形移动时,所述移动图形的原点的轨迹形成所述外紧邻多边形,
当所述移动图形与所述初次选择目标图形紧邻且有重合区域,则所述移动图形与所述初次选择目标图形为内紧邻,所述移动图形围绕所述初次选择目标图形移动时,所述移动图形的所述原点的轨迹形成所述内紧邻多边形;
第一确定单元,根据所述外紧邻多边形和所述内紧邻多边形确定目标对齐边;
第二确定单元,根据所述目标对齐边确定候选对齐点;
第三确定单元,根据所述候选对齐点的权重值确定目标对齐点。
7.根据权利要求6所述的装置,其特征在于,其中,
所述第三确定单元,还将所述候选对齐点中具备最大权重值的对齐点确定为所述目标对齐点;以及
当至少两个所述候选对齐点具备所述最大权重值时,将至少两个所述候选对齐点中与所述移动图形的原点距离最小的候选对齐点确定为目标对齐点。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
第二选择单元,确定出至少一个所述初次选择目标图形中的至少一个二次选择目标图形,其中,所述二次选择目标图形为所述初次选择目标图形中所述初次选择目标图形的原点与所述移动图形的原点的距离小于或等于第一阈值的图形,
其中所述第一阈值为所述初次选择目标图形的以所述初次选择目标图形原点为圆心最小包围圆半径、所述移动图形的以所述移动图形原点为圆心最小包围圆半径和2倍的吸附阀值之和,
所述处理单元还根据二次选择目标图形确定所述二次选择目标图形与所述移动图形对齐时的外紧邻多边形和内紧邻多边形。
9.根据权利要求8所述的装置,其特征在于,其中,
所述处理单元,还用于如果所述移动图形的顶点与所述二次选择目标图形的边发生外紧邻,则确定所述移动图形围绕所述二次选择目标图形移动时所述移动图形的原点的轨迹,从而确定所述移动图形的原点轨迹所形成的所述外紧邻多边形;以及
当所述移动图形的边与所述二次选择目标图形的顶点发生外紧邻时,确定所述移动图形围绕所述二次选择目标图形移动时所述移动图形的原点的轨迹,从而确定所述移动图形的原点轨迹所形成的外紧邻多边形。
10.根据权利要求8所述的装置,其特征在于,其中,
所述处理单元,还用于如果所述移动图形的顶点与所述二次选择目标图形的边发生内紧邻,则确定所述移动图形围绕所述二次选择目标图形移动时所述移动图形的原点的轨迹,从而确定所述移动图形的原点轨迹所形成的所述内紧邻多边形;以及
当所述移动图形的边与所述二次选择目标图形的顶点发生内紧邻时,确定所述移动图形围绕所述二次选择目标图形移动时所述移动图形的原点的轨迹,从而确定所述移动图形的原点轨迹所形成的内紧邻多边形。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610081123.1A CN105787926B (zh) | 2016-02-04 | 2016-02-04 | 一种图形自动对齐的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610081123.1A CN105787926B (zh) | 2016-02-04 | 2016-02-04 | 一种图形自动对齐的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105787926A CN105787926A (zh) | 2016-07-20 |
CN105787926B true CN105787926B (zh) | 2018-07-27 |
Family
ID=56402574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610081123.1A Active CN105787926B (zh) | 2016-02-04 | 2016-02-04 | 一种图形自动对齐的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105787926B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109979020B (zh) * | 2019-04-04 | 2020-12-22 | 广州视源电子科技股份有限公司 | 一种线段吸附方法、装置、设备及存储介质 |
CN115146576B (zh) * | 2022-09-01 | 2022-12-06 | 合肥本源量子计算科技有限责任公司 | 版图图形的编辑方法、系统、存储介质及装置 |
CN115146577B (zh) * | 2022-09-06 | 2022-12-06 | 合肥本源量子计算科技有限责任公司 | 集成电路版图图形的点对齐方法、系统、介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065227A (zh) * | 2009-11-17 | 2011-05-18 | 新奥特(北京)视频技术有限公司 | 一种图形图像处理中对象水平和竖直对齐的方法和装置 |
CN102063698A (zh) * | 2009-11-17 | 2011-05-18 | 新奥特(北京)视频技术有限公司 | 一种图形图像处理中对象斜对齐的方法和装置 |
CN104239005A (zh) * | 2013-06-09 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 图形对齐方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5470607B2 (ja) * | 2010-09-29 | 2014-04-16 | 株式会社日立製作所 | 計算機システム、及び画像/図表を位置合わせする方法 |
-
2016
- 2016-02-04 CN CN201610081123.1A patent/CN105787926B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065227A (zh) * | 2009-11-17 | 2011-05-18 | 新奥特(北京)视频技术有限公司 | 一种图形图像处理中对象水平和竖直对齐的方法和装置 |
CN102063698A (zh) * | 2009-11-17 | 2011-05-18 | 新奥特(北京)视频技术有限公司 | 一种图形图像处理中对象斜对齐的方法和装置 |
CN104239005A (zh) * | 2013-06-09 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 图形对齐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105787926A (zh) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108303972B (zh) | 移动机器人的交互方法及装置 | |
CN107690605B (zh) | 一种航线编辑方法、装置及控制设备 | |
CN107898393B (zh) | 用于清洁机器人的区块调整方法、装置及机器人 | |
CN105787926B (zh) | 一种图形自动对齐的方法及装置 | |
CN105652876A (zh) | 基于数组地图的移动机器人室内路径规划方法 | |
CN105511485B (zh) | 用于自移动机器人栅格地图的创建方法 | |
US8928652B2 (en) | Sketched overdrawn lines for editing spline-based three-dimensional curves | |
CN111515953A (zh) | 路径规划方法、装置及电子设备 | |
ElHalawany et al. | Modified a* algorithm for safer mobile robot navigation | |
CN110721470B (zh) | 虚拟对象移动行为的控制方法、装置及电子设备 | |
JP2020525959A (ja) | 対象物の外接枠を決定するための方法、装置、媒体及び機器 | |
KR101853059B1 (ko) | 가상 모델 제어 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 | |
US20210200232A1 (en) | Method of generating scan path of autonomous mobile robot and computing device | |
Kowalczyk et al. | Set-point control of mobile robot with obstacle detection and avoidance using navigation function-experimental verification | |
Nakazawa et al. | Movement control of accompanying robot based on artificial potential field adapted to dynamic environments | |
CN103926611A (zh) | 一种实时室内定位数据优化方法 | |
US20240255956A1 (en) | Information processing device, information processing system, information processing method, and program | |
WO2022166397A1 (zh) | 目标对象的躲避方法及装置、存储介质、电子装置 | |
Pecka et al. | Safe exploration for reinforcement learning in real unstructured environments | |
CN113885531A (zh) | 用于移动机器人的方法、移动机器人、电路、介质和程序 | |
Qin et al. | Dynamic Detection of Topological Information from Grid‐Based Generalized Voronoi Diagrams | |
Cunha et al. | CAMBADA’2015: Team Description Paper | |
Vatcha et al. | Practical motion planning in unknown and unpredictable environments | |
CN105773641A (zh) | 手指指向器 | |
Karova et al. | Path planning algorithm for mobile robot |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221216 Address after: Room 229, No. 671, Gangqian Road, Huangpu District, Guangzhou, Guangdong 510000 (office only) Patentee after: Guangdong Guoban Technology Co.,Ltd. Address before: No. 199, Lane 589, Julian Road, Baoshan District, Shanghai, 201906 Patentee before: SHANGHAI AIFUWO CLOUD TECHNOLOGY Co.,Ltd. |