CN103761094A - 一种平面绘图时多边形合并的方法 - Google Patents

一种平面绘图时多边形合并的方法 Download PDF

Info

Publication number
CN103761094A
CN103761094A CN201410028041.1A CN201410028041A CN103761094A CN 103761094 A CN103761094 A CN 103761094A CN 201410028041 A CN201410028041 A CN 201410028041A CN 103761094 A CN103761094 A CN 103761094A
Authority
CN
China
Prior art keywords
point
coordinate points
coordinate
rectangle
axis
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.)
Pending
Application number
CN201410028041.1A
Other languages
English (en)
Inventor
傅东吉
虞秀华
徐斌
禹克庆
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.)
Shanghai Chengming Rongxin Technology Co.,Ltd.
Shanghai Municipal Criminal Science and Technology Inst.
Original Assignee
SHANGHAI CHENGMING RONGXIN TECHNOLOGY CO LTD
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 SHANGHAI CHENGMING RONGXIN TECHNOLOGY CO LTD filed Critical SHANGHAI CHENGMING RONGXIN TECHNOLOGY CO LTD
Priority to CN201410028041.1A priority Critical patent/CN103761094A/zh
Publication of CN103761094A publication Critical patent/CN103761094A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明属于移动应用开发技术领域,提供了一种平面绘图时多边形合并的方法,包括:记录用户拖拽或者绘制矩形的位置;实时判断该矩形是否和其他绘制的矩形有重叠,是否能够合并;计算重叠矩形的交点;剔除合并后遮挡的点;统计点集合,包括原先矩形的4角点坐标和交点坐标以及遮挡点坐标;在点集合中计算出X、Y轴坐标值及其最小的点;通过最小点推算串联的第二个点,以此类推直到最后点为最小点停止;根据推算出的串联点顺序生成新的多边形对象。本发明能够在触摸屏的安卓操作环境下快速绘制出多个矩形,并且能够将多个矩形合并成多边形,敏感度高、精确度高,绘制更加快捷、方便,适用性更强。

Description

一种平面绘图时多边形合并的方法
技术领域
本发明属于移动应用开发技术领域,特别涉及一种平面绘图时多边形合并的方法。
背景技术
安卓是移动开发技术发展历程上的一个里程碑,是现代移动设备开发技术基础上的一个移动应用程序框架。
现代移动设备中智能手机和平板电脑越来越受到人们的青睐,全球的手机用户数已经超过了30亿,2013年截止第二季度按照操作***划分,安卓操作***依旧是智能手机市场的王者,占据全球智能手机市场份额近80%,现代智能手机日益流行,再加上高速手机数据和WiFi热点也越来越多,这使得市场对高级移动应用程序的需求越来越大。基于安卓***的平面绘图方法改变了目前PC设备为主的绘制平面图的方法。
早期的手工绘图,工作人员拿着几个不同粗细的墨笔,丁字尺、三角板和曲线板等工具在手里不停的更换,一旦画错重新来过,修修补补显得图面非常脏乱,有了电脑之后相继出现CAD\CORAIDRAW\Photo ship\CAXA绘图软件,这些绘图软件虽然计算精度和速度是手工绘图无法比拟的,但是只能在装有Windows操作***上绘制图形,如果对现场图纸进行绘制,要携带笔记本电脑、3G无线上网卡、测量器具等工具,绘图的数据主要依靠手工记录为主,数据的收集不便,靠人工收集数据转换后输入电脑,耗费时间多,携带设备不方便,笔记电池续航能力不足。
因此,移动应用开发技术领域急需一种能够在触摸屏的安卓操作环境下快速绘制出多个矩形,并且能够将多个矩形合并成多边形,敏感度高、精确度高的平面绘图时多边形合并的方法。
发明内容
本发明提供了一种平面绘图时多边形合并的方法,技术方案如下:
一种平面绘图时多边形合并的方法,其特征在于,包括如下步骤:
步骤一:记录用户拖拽或者绘制矩形的位置;
步骤二:实时判断该矩形是否和其他绘制的矩形有重叠,是否能够合并;
步骤三:计算重叠矩形的交点;
绘制矩形后得到矩形的四个角坐标、一条对角线长度和四条边的长度,然后根据矩形的4条边进行交点的计算,将计算出来的交点进行保存,具体步骤如下:
已知两条直线A、B,A的2点坐标为(x1,y1),(x2,y2),B的2点为(x3,y3),(x4,y4);
则A的直线方程为:y-y1=(y2-y1)(x-x1)/(x2-x1),
B的直线方程为:y-y3=(y4-y3)(x-x3)/(x4-x3);
将A、B的直线方程联立,解出交点坐标的横坐标、纵坐标分别为:
x=[(x2-x1)×(x3-x4)×(y3-y1)-x3×(x2-x1)×(y3-y4)+x1×(y2-y1)×(x3-x4)]/[(y2-y1)×(x3-x4)-(x2-x1)×(y3-y4)];
y=[(y2-y1)×(y3-y4)×(x3-x1)-y3×(y2-y1)×(x3-x4)+y1×(x2-x1)×(y3-y4)]/[(y2-y1)×(y3-y4)-(y2-y1)×(x3-x4)];
步骤四:剔除合并后遮挡的点;
步骤五:统计点集合,包括原先矩形的4角点坐标和交点坐标以及遮挡点坐标;
步骤六:在点集合中计算出X、Y轴坐标值及其最小的点;
步骤七:通过最小点推算串联的第二个点,以此类推直到最后点为最小点停止;
步骤八:根据推算出的串联点顺序生成新的多边形对象。
如上所述的一种平面绘图时多边形合并的方法,其中,步骤六是通过常用的冒泡算法嵌套,先求出最小X坐标,再计算出X最小情况下Y最小时的坐标点。
如上所述的一种平面绘图时多边形合并的方法,其中,步骤七是步骤七是通过基础点的坐标X轴不变,Y轴数值递减,实时判断集合中是否有重合点,如果存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至Y轴递减为0时还未找到重合点时,继续下一步;进一步地,通过基础点的坐标Y轴不变,X轴数值递增,实时判断集合中是否有重合点,如果存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至X轴递增到最大X时还未找到重合点,继续下一步;进一步地,通过基础点的坐标X轴不变,Y轴数值递增,实时判断集合中是否有重合点,存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至Y轴递增到最大Y时还未找到重合点,继续下一步;通过基础点的坐标Y轴不变,X轴数值递减,实时判断集合中是否有重合点,存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至X轴递增到最大X时还未找到重合点,与最小点闭合。
本发明的有益效果是能够在触摸屏的安卓操作环境下快速绘制出多个矩形,并且能够将多个矩形合并成多边形,敏感度高、精确度高,克服了只能在PC机上的windows环境下绘图的限制,绘制更加快捷、方便,适用性更强。
附图说明
下面结合附图和具体实施方式来详细说明本发明:
图1是本发明一种平面绘图时多边形合并的方法的结构示意图。
图2是本发明的步骤七中的推算顺序示意图。
图3是本发明矩形合并后新形成的多边形。
具体实施方式
为了使本发明技术实现的措施、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本发明提供了一种平面绘图时多边形合并的方法,包括:
步骤一:记录用户拖拽或者绘制矩形的位置,获取路径如下:
public boolean onTouchEvent(MotionEvent event);
if(event.getAction()==MotionEvent.ACTION_DOWN);
if(event.getAction()==MotionEvent.ACTION_MOVE);
if(event.getAction()==MotionEvent.ACTION_UP);
步骤二:实时判断该矩形是否和其他绘制的矩形有重叠,是否能够合并;
图1是本发明一种平面绘图时多边形合并的方法的结构示意图,已知两个矩形的四角坐标,利用坐标点判断矩形是否重叠,若矩形的其中一个角满足以下条件之一就视为两个矩形重叠,可以进行合并:
(1)Rect.Left.x≤Rect1.Angle1.x≥Rect.Right.x;
Rect.Top.y≤Rect1.Angle1.y≥Rect.Bottom.y;
(2)Rect.Left.x≤Rect1.Angle2.x≥Rect.Right.x;
Rect.Top.y≤Rect1.Angle2.y≥Rect.Bottom.y;
(3)Rect.Left.x≤Rect1.Angle3.x≥Rect.Right.x;
Rect.Top.y≤Rect1.Angle3.y≥Rect.Bottom.y;
(4)Rect.Left.x≤Rect1.Angle4.x≥Rect.Right.x;
Rect.Top.y≤Rect1.Angle4.y≥Rect.Bottom.y;
其中,Rect.Left.x为矩形的x最小坐标,Rect.Right.x为矩形的x最大坐标,Rect.Top.y为矩形的y最大坐标,Rect.Bottom.y为矩形的y最小坐标,Rect1.Angle1.x为图1中矩形重叠区域内的直角1的x的最小坐标,Rect1.Angle2.x为图1中矩形重叠区域内的直角2的x的最大坐标,Rect1.Angle3.x为图1中矩形重叠区域内的重叠点3的x的最小坐标,Rect1.Angle4.x为图1中矩形重叠区域内的重叠点4的x的最大坐标,Rect1.Angle1.y为图1中矩形重叠区域内的直角1的y的最大坐标,Rect1.Angle2.x为图1中矩形重叠区域内的直角2的y的最小坐标,Rect1.Angle3.x为图1中矩形重叠区域内的重叠点3的y的最小坐标,Rect1.Angle4.x为图1中矩形重叠区域内的重叠点4的y的最大坐标;
步骤三:计算重叠矩形的交点;
绘制矩形后得到矩形的四个角坐标、一条对角线长度和四条边的长度,然后根据矩形的4条边进行交点的计算,将计算出来的交点进行保存,具体步骤如下:
已知两条直线A、B,A的2点坐标为(x1,y1),(x2,y2),B的两点为(x3,y3),(x4,y4);
则A的直线方程为:y-y1=(y2-y1)(x-x1)/(x2-x1),
B的直线方程为:y-y3=(y4-y3)(x-x3)/(x4-x3);
将A、B的直线方程联立,解出交点坐标的横坐标、纵坐标分别为:
x=[(x2-x1)×(x3-x4)×(y3-y1)-x3×(x2-x1)×(y3-y4)+x1×(y2-y1)×(x3-x4)]/[(y2-y1)×(x3-x4)-(x2-x1)×(y3-y4)];
y=[(y2-y1)×(y3-y4)×(x3-x1)-y3×(y2-y1)×(x3-x4)+y1×(x2-x1)×(y3-y4)]/[(y2-y1)×(y3-y4)-(y2-y1)×(x3-x4)];
步骤四:剔除合并后遮挡的点,即为图中中的点1和2;
步骤五:统计点集合,包括原先矩形的4角点坐标和交点坐标以及遮挡点坐标;
步骤六:在点集合中计算出X、Y轴坐标值及其最小的点;
步骤七:通过最小点推算串联的第二个点,以此类推直到最后点为最小点停止;
图2是步骤七中的推算顺序示意图,首先,进行5,通过基础点的坐标X轴不变,Y轴数值递减,实时判断集合中是否有重合点,如果存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至Y轴递减为0时还未找到重合点时,继续进行6;
进一步地,通过基础点的坐标Y轴不变,X轴数值递增,实时判断集合中是否有重合点,如果存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点。依次求出多个坐标点,直至X轴递增到最大X时还未找到重合点,继续进行7;
进一步地,通过基础点的坐标X轴不变,Y轴数值递增,实时判断集合中是否有重合点,存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至Y轴递增到最大Y时还未找到重合点,继续进行8;
进一步地,通过基础点的坐标Y轴不变,X轴数值递减,实时判断集合中是否有重合点,存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至X轴递增到最大X时还未找到重合点,与最小点闭合;
步骤八:根据推算出的串联点顺序生成新的多边形对象,如图3所示。
在本发明的另一实施例中,步骤六是通过常用的冒泡算法嵌套,先求出最小X坐标,再计算出X最小情况下Y最小时的坐标点。
本发明的有益效果是能够在触摸屏的安卓操作环境下快速绘制出多个矩形,并且能够将多个矩形合并成多边形,敏感度高、精确度高,克服了只能在PC机上的windows环境下绘图的限制,绘制更加快捷、方便,适用性更强。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。

Claims (3)

1.一种平面绘图时多边形合并的方法,其特征在于,包括如下步骤:
步骤一:记录用户拖拽或者绘制矩形的位置;
步骤二:实时判断该矩形是否和其他绘制的矩形有重叠,是否能够合并;
步骤三:计算重叠矩形的交点;
绘制矩形后得到矩形的四个角坐标、一条对角线长度和四条边的长度,然后根据矩形的4条边进行交点的计算,将计算出来的交点进行保存,具体步骤如下:
已知两条直线A、B,A的2点坐标为(x1,y1),(x2,y2),B的2点为(x3,y3),(x4,y4);
则A的直线方程为:y-y1=(y2-y1)(x-x1)/(x2-x1),
B的直线方程为:y-y3=(y4-y3)(x-x3)/(x4-x3);
将A、B的直线方程联立,解出交点坐标的横坐标、纵坐标分别为:
x=[(x2-x1)×(x3-x4)×(y3-y1)-x3×(x2-x1)×(y3-y4)+x1×(y2-y1)×(x3-x4)]/[(y2-y1)×(x3-x4)-(x2-x1)×(y3-y4)];
y=[(y2-y1)×(y3-y4)×(x3-x1)-y3×(y2-y1)×(x3-x4)+y1×(x2-x1)×(y3-y4)]/[(y2-y1)×(y3-y4)-(y2-y1)×(x3-x4)];
步骤四:剔除合并后遮挡的点;
步骤五:统计点集合,包括原先矩形的4角点坐标和交点坐标以及遮挡点坐标;
步骤六:在点集合中计算出X、Y轴坐标值及其最小的点;
步骤七:通过最小点推算串联的第二个点,以此类推直到最后点为最小点停止;
步骤八:根据推算出的串联点顺序生成新的多边形对象。
2.根据权利要求1所述的一种平面绘图时多边形合并的方法,其特征在于,该步骤六是通过常用的冒泡算法嵌套,先求出最小X坐标,再计算出X最小情况下Y最小时的坐标点。
3.根据权利要求1所述的一种平面绘图时多边形合并的方法,其特征在于,该步骤七是通过基础点的坐标X轴不变,Y轴数值递减,实时判断集合中是否有重合点,如果存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至Y轴递减为0时还未找到重合点时,继续下一步;进一步地,通过基础点的坐标Y轴不变,X轴数值递增,实时判断集合中是否有重合点,如果存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至X轴递增到最大X时还未找到重合点,继续下一步;进一步地,通过基础点的坐标X轴不变,Y轴数值递增,实时判断集合中是否有重合点,存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至Y轴递增到最大Y时还未找到重合点,继续下一步;通过基础点的坐标Y轴不变,X轴数值递减,实时判断集合中是否有重合点,存在重合点时保存该坐标点,同时从集合中剔除该坐标点,再计算该坐标点的下一个坐标点,依次求出多个坐标点,直至X轴递增到最大X时还未找到重合点,与最小点闭合。
CN201410028041.1A 2014-01-22 2014-01-22 一种平面绘图时多边形合并的方法 Pending CN103761094A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410028041.1A CN103761094A (zh) 2014-01-22 2014-01-22 一种平面绘图时多边形合并的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410028041.1A CN103761094A (zh) 2014-01-22 2014-01-22 一种平面绘图时多边形合并的方法

Publications (1)

Publication Number Publication Date
CN103761094A true CN103761094A (zh) 2014-04-30

Family

ID=50528338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410028041.1A Pending CN103761094A (zh) 2014-01-22 2014-01-22 一种平面绘图时多边形合并的方法

Country Status (1)

Country Link
CN (1) CN103761094A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279796A (zh) * 2015-10-10 2016-01-27 苏州工业园区凌志软件股份有限公司 一种3d柱状图的绘制方法及装置
CN109192054A (zh) * 2018-07-27 2019-01-11 阿里巴巴集团控股有限公司 一种地图区域合并的数据处理方法及装置
US10417814B2 (en) 2017-08-04 2019-09-17 Nxp Usa, Inc. Method and apparatus for blending layers within a graphics display component
US10593103B2 (en) 2017-08-04 2020-03-17 Nxp Usa, Inc. Method and apparatus for managing graphics layers within a data processing system
CN112507405A (zh) * 2020-11-06 2021-03-16 杭州爱科科技股份有限公司 一种印花材料阵列矩形切割路径变形处理的快速切割方法
CN113129406A (zh) * 2019-12-31 2021-07-16 菜鸟智能物流控股有限公司 一种数据处理方法、装置及电子设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279796A (zh) * 2015-10-10 2016-01-27 苏州工业园区凌志软件股份有限公司 一种3d柱状图的绘制方法及装置
US10417814B2 (en) 2017-08-04 2019-09-17 Nxp Usa, Inc. Method and apparatus for blending layers within a graphics display component
US10593103B2 (en) 2017-08-04 2020-03-17 Nxp Usa, Inc. Method and apparatus for managing graphics layers within a data processing system
CN109192054A (zh) * 2018-07-27 2019-01-11 阿里巴巴集团控股有限公司 一种地图区域合并的数据处理方法及装置
CN113129406A (zh) * 2019-12-31 2021-07-16 菜鸟智能物流控股有限公司 一种数据处理方法、装置及电子设备
CN113129406B (zh) * 2019-12-31 2024-03-22 菜鸟智能物流控股有限公司 一种数据处理方法、装置及电子设备
CN112507405A (zh) * 2020-11-06 2021-03-16 杭州爱科科技股份有限公司 一种印花材料阵列矩形切割路径变形处理的快速切割方法
CN112507405B (zh) * 2020-11-06 2024-05-24 杭州爱科科技股份有限公司 一种印花材料阵列矩形切割路径变形处理的快速切割方法

Similar Documents

Publication Publication Date Title
CN103761094A (zh) 一种平面绘图时多边形合并的方法
CN107077197B (zh) 3d可视化图
US20150277746A1 (en) Touch control method and device for electronic map
CN103616972B (zh) 触控屏控制方法及终端设备
CN109192054A (zh) 一种地图区域合并的数据处理方法及装置
CN105302407A (zh) 一种应用程序图标显示方法及装置
US10185442B2 (en) Method for controlling display of touchscreen, and mobile device
CN106527915A (zh) 一种信息处理方法及电子设备
CN110909596B (zh) 侧脸识别方法、装置、设备以及存储介质
CN103885685A (zh) 页面处理方法和装置
CN103092437A (zh) 一种基于图像处理技术的便捷式触控交互***
CN104317539A (zh) 一种信息处理方法及电子设备
CN105091847A (zh) 一种测量距离的方法及电子设备
TW201525849A (zh) 多邊形手勢偵測及互動方法、裝置及電腦程式產品
CN114661394B (zh) 界面显示的控制方法、装置、存储介质、处理器
CN103197761A (zh) 手势识别方法及装置
CN103177245B (zh) 手势识别方法及装置
US11899918B2 (en) Method, apparatus, electronic device and storage medium for invoking touch screen magnifier
US11393383B2 (en) Display control device, display control method, and display control program
WO2018072724A1 (zh) 一种图形显示方法及装置
CN108846901A (zh) 模型导入方法及装置
CN108521497A (zh) 一种终端控制方法、控制装置、终端及可读存储介质
KR101422447B1 (ko) 압력 모델링을 통한 전자책 페이지 전환 방법 및 그 장치
KR20130085094A (ko) 유저 인터페이스 장치 및 유저 인터페이스 제공 방법
CN106153038A (zh) 一种建立地磁指纹地图的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: SHANGHAI MUNICIPAL CRIMINAL SCIENCE AND TECHNOLOGY

Effective date: 20140519

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140519

Address after: 201204 Shanghai city Pudong New Area in 289 Lane Road, Room 202 No. 4

Applicant after: Shanghai Chengming Rongxin Technology Co.,Ltd.

Applicant after: Shanghai Municipal Criminal Science and Technology Inst.

Address before: 201204 Shanghai city Pudong New Area in 289 Lane Road, Room 202 No. 4

Applicant before: Shanghai Chengming Rongxin Technology Co.,Ltd.

WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140430

WD01 Invention patent application deemed withdrawn after publication