CN109887052A - 一种二维多边形偏移方法 - Google Patents
一种二维多边形偏移方法 Download PDFInfo
- Publication number
- CN109887052A CN109887052A CN201910085158.6A CN201910085158A CN109887052A CN 109887052 A CN109887052 A CN 109887052A CN 201910085158 A CN201910085158 A CN 201910085158A CN 109887052 A CN109887052 A CN 109887052A
- Authority
- CN
- China
- Prior art keywords
- ring
- curve
- offset
- planar polygons
- polygon
- 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.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种二维多边形偏移方法,属于计算机几何图形技术领域。本发明的技术方案包括以下步骤:步骤一、判断传入参数是否合法或合理;步骤二、将多边形拆成多个环,每个环分开进行处理;步骤三、将偏移后的边两两连接;步骤四、将步骤三中得到的每一个首尾相接的环进行消自交处理,得到合法的环;步骤五、建立偏移前后二维多边形的对应关系。本发明能处理二维多边形中的曲线由各种类型曲线组成的情况,每条边对应的偏移距离可以自定义,二维多边形可以有多个环的复杂情形。二维多边形的偏移,可以运用在建筑造型中的土方基础的构造、装饰线的生成、壳加厚、后浇带造型等。
Description
技术领域
本发明属于计算机几何图形技术领域,具体涉及一种二维多边形偏移方法,特别是多个环的二维多边形并且每条边的偏移距离可以不等的偏移方法,可以运用到复杂建筑三维模型中的土方基础的生成、装饰线的生成等。
背景技术
二维多边形偏移问题是计算机图形学中的基本问题之一。二维多边形偏移就是要运用某种算法将多边形的每一条边按照指定的长度沿着边的法向进行偏移,然后再组装成新的二维多边形。
二维多边形偏移的基础是每条二维边的偏移,R Kimmel和A M Bruckstein利用偏微分方程方法可以得到消除自交的偏移曲线。
二维多边形偏移算法在很多CAD软件中存在。例如,CGAL提供了两种二维多边形偏移算法,一种是基于Minkowski和方法,并且得到的多边形在角处是圆滑的;另外一种是基于直骨架方法,只处理多边形由直线组成的情况。
Deok-SooKim基于Voronoi图给出了由圆弧和直线组成的多边形偏移相等距离的偏移算法。
由于建筑模型中有特殊的业务需求,二维多边形的每条边可以是各种曲线类型,二维多边形的每条边的偏移距离可以不相等,二维多边形可以存在多个环。而目前的已有算法都无法同时满足这些条件,本发明针对这些场景都进行了处理,使二维多边形偏移问题不再只局限于某一种场景,从而可以运用到很多建筑中的业务造型中,例如土方基础的生成、壳加厚造型、后浇带造型等。
发明内容
本发明的目的是解决建筑业务场景中一些复杂的三维造型,例如土方基础、壳加厚造型、后浇带造型等。
为实现上述发明目的,本发明提供一种二维多边形偏移方法,其步骤如下:
步骤一:判断传入参数是否合理
判断传入的二维多边形是否合法,传入的偏移距离是否合理。
步骤二:将多边形拆成多个环,每个环分开进行处理。针对一个环,将环中的每条边按照偏移数值进行偏移
根据一个环中的每条边给定的偏移距离将每条边进行偏移。
步骤三:将偏移后的相邻的边两两连接
将偏移后的边进行延长求交或者添加圆弧、直线连接,使其成为首尾相接的环。
步骤四:成环,用同样的方法处理所有的环。
将步骤三中得到的首尾相接的环进行消自交处理,得到合法的环。并且遍历每一个环,用同样的方式进行处理。
步骤五:建立偏移前后二维多边形的对应关系
将偏移前后的多边形的每条边建立一对一的对应关系。从中可以查到偏移后的多边形中的每条边是由原始多边形中的第几个环和第几条边得来的,或者是添加的新的边。
作为优选,所述二维多边形具有多个环,并且每条边的偏移距离不全相等。
作为优选,步骤一中,所述合法的判据是:二维多边形必须不自交,在容差范围内首尾相接;偏移距离合理的判据是:偏移距离数组的大小与二维多边形的边的条数相等。
作为优选,步骤二中,边的类型可以为直线、圆弧、椭圆弧、NURBS、二维螺旋线、SIN三角曲线。
作为优选,步骤三具体为:
将相邻的曲线延长,进行线线求交,根据求交结果选择不同方式连接;
如果线线求交有交点,利用交点将相邻的曲线进行连接;
如果线线求交无交点,根据相邻曲线的曲线类型选择添加圆弧或直线,具体规则如下:
1)若相邻曲线均为圆弧,根据相邻曲线中的前一段的终点、后一段的起点、两段圆弧半径的平均值构造新的圆弧段将相邻曲线连接;
2)若相邻曲线不全是圆弧,根据相邻曲线中的前一段的终点、后一段的起点构造直线段将相邻曲线连接。
作为优选,消自交处理过程如下:
步骤1、找到环中所有两两曲线相交的交点和单端曲线自交的交点;
步骤2、根据交点打断相交的曲线;
步骤3、根据交点进行搜环,得到所有的环;
步骤4、删除不合理的环,保留合理的环,得到最终偏移后的环。
作为优选,消自交处理过程中,根据多边形环与环之间的顺逆时针规则,判断是否保留。
作为优选,多边形环与环之间的顺逆时针规则具体为:
设定外环必须是逆时针或者顺时针的环,紧邻的内环若如果与外环同为逆时针或者顺时针即为无效环。
作为优选,从步骤五建立的对应关系中可以查到偏移后的多边形中的每条边是由原始多边形中的第几个环和第几条边得来的,或者是添加的新的边。
判断自交的方法是:一条曲线若自交,则在曲线上存在某个点的邻域不与直线段构成同胚;环自交分为环中的单段曲线自交、环中两段曲线相交。
本发明具有以下有益效果:
本发明能处理二维多边形中的曲线由各种类型曲线组成的情况,每条边对应的偏移距离可以自定义,二维多边形可以有多个环的复杂情形。二维多边形的偏移,可以运用在建筑造型中的土方基础的构造、装饰线的生成、壳加厚、后浇带造型等。
附图说明
图1是原始二维多边形示意图
图2是原始多边形中每条边偏移指定距离示意图
图3是偏移后的边延长两两求交连接示意图
图4是消自交过程中各段曲线首尾端点和交点示意图;
图5是偏移前后的多边形,偏移前为内圈的环,偏移后为外圈的环示意图
图6是利用二维偏移算法得到的比较复杂的土方基础示意图
图中符号说明如下:
A1……A9为环首尾相接的交点,0……10为边的序号,P是交点。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1、图2、图3、图4、图5所示,一种多个环的多边形并且每条边的偏移距离可以不等的一种偏移算法,该方法的具体实施步骤如下:
步骤一:判断传入参数是否合理
传入参数包括二维多边形、偏移距离数组;
判断传入的二维多边形是否合法,传入的偏移距离是否合理。
其中合法的二维多边形必须不自交,在容差范围内首尾相接。
偏移距离数组的大小必须与二维多边形的边的条数相等。
步骤二:将多边形拆成多个环,每个环分开进行处理。针对一个环,将每条边按照偏移数值进行偏移
根据一个环中的每条边给定的偏移距离将每条边进行偏移。
边的类型可以为直线、圆弧、椭圆弧、NURBS、二维螺旋线、SIN三角曲线。偏移后的曲线可能会产生自交,这时程序会进行消自交处理,得到非自交的曲线段。
以一个由10条边组成的一个环的多边形,偏移距离分别为{-1,-2,-3,-4,-5,-6,-7,-8,-9,-10}的偏移为例。其中,偏移距离为负表示偏移方向为曲线的法向方向,正表示偏移方向为曲线的负的法向方向。原始二维多边形如图1所示,每条边按照对应偏移距离进行偏移后的情形如图2所示。
步骤三:将偏移后的边两两连接
由步骤三得到的这组曲线是分离的曲线,接下来需要将相邻的两条边进行连接,连接方式有延长求交和添加圆弧、直线三种方式。
首选为将相邻的曲线延长,进行线线求交。
1.若线线求交有交点,利用交点将相邻的曲线进行连接;
2.若线线求交无交点,根据相邻曲线的曲线类型选择添加圆弧或直线,具体规则如下:
1)若相邻曲线均为圆弧,根据相邻曲线中的前一段的终点、后一段的起点、两段圆弧半径的平均值构造新的圆弧段将相邻曲线连接上。
2)其他情况,根据相邻曲线中的前一段的终点、后一段的起点构造直线段将相邻曲线连接上。
将图2中的相邻的线段进行首尾连接,得到的结果如图3所示,除了第5条和第6条的连接方式为添加直线,因为其延长求交无交点,其他相邻线段的连接方式为延长求交方式。
步骤四:成环,用同样的方法处理所有的环。
将步骤三中得到的二维多边形进行消自交处理,图3中,第3、4、5条线段存在自交现象,这里会找到自交点,并将自交的环进行消除。消除自交后的二维多边形如图5中的外圈的环所示。
消自交处理过程:
1.找到环中所有两两曲线相交的交点和单端曲线自交的交点。如图4中,第3条和第5条曲线相交,交点为P
2.根据交点打断相交的曲线。如图4,根据交点P将第3条曲线打断两段A4P和PA5,将第5条曲线也打断为两段A6P和PA7。
3.根据交点进行搜环,得到所有的环。例如采用现有技术中成熟的深度优先遍历算法进行搜环,在此不再赘述。如图4,得到两个环,PA5A6P和A1A2A3A4PA7A8A9A1。
4.删除不合理的环,保留合理的环,得到最终偏移后的环。根据多边形环与环之间的顺逆时针规则,判断是否保留,本领域技术人员实施时可以根据需要设定。例如,外环必须是逆时针的环,紧接着的内环不能是逆时针,若为逆时针即为无效环。
如图4,外面的环为逆时针A1A2A3A4PA7A8A9A1,里面的环也为逆时针PA5A6P,删除里面的环PA5A6P,得到最终的环A1A2A3A4PA7A8A9A1。
步骤五:建立偏移前后二维多边形的对应关系
将偏移前后的多边形的每条边建立一对一的对应关系。从中可以查到偏移后的多边形中的每条边是由原始多边形中的第几个环和第几条边得来的,或者是添加的新的边。图5中,偏移后的多边形的第0条边对应原始偏移前的多边形的第0条边,偏移后的多边形的第1条边对应原始偏移前的多边形的第1条边,偏移后的多边形的第2条边对应原始偏移前的多边形的第2条边,偏移后的多边形的第3条边对应原始偏移前的多边形的第3条边,偏移后的多边形的第4条边对应原始偏移前的多边形的第5条边,偏移后的多边形的第5条边为新添加的边,偏移后的多边形的第6条边对应原始偏移前的多边形的第6条边,偏移后的多边形的第7条边对应原始偏移前的多边形的第7条边,偏移后的多边形的第8条边对应原始偏移前的多边形的第8条边,偏移后的多边形的第9条边对应原始偏移前的多边形的第9条边。
通过以上步骤,得到了偏移后的多边形,并且得到了偏移前后的多边形的各个边的对应关系。
运用二维多边形偏移算法能够处理一些复杂的造型,如图6,建筑模型中的土方基础。在构造土方基础的过程中运用到了二维多边形偏移算法,土方的上下底面可以看成是偏移前后的多边形。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征或步骤、流程,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
Claims (10)
1.一种二维多边形偏移方法,用于根据每条边的偏移距离对二维多边形进行偏移,其特征在于:
所述方法包括以下步骤:
步骤一、判断传入参数是否合法或合理;
传入参数包括二维多边形和表示每条边偏移距离的偏移距离数组;
判断传入的二维多边形是否合法,传入的偏移距离是否合理;
步骤二、将多边形拆成多个环,每个环分开进行处理;
针对一个环,将每条边按照表示偏移距离的偏移数值进行偏移;
偏移后的曲线如果产生自交,则进行消自交处理,得到非自交的曲线段;
步骤三、将偏移后的边两两连接;
将相邻的两条边进行连接,连接方式包括延长求交、添加圆弧、添加直线三种方式;
步骤四、将步骤三中得到的每一个首尾相接的环进行消自交处理,得到合法的环;
步骤五、建立偏移前后二维多边形的对应关系;
将偏移前后的多边形的每条边建立一对一的对应关系。
2.根据权利要求1所述的方法,其特征在于:
所述二维多边形具有多个环,并且每条边的偏移距离不全相等。
3.根据权利要求1所述的方法,其特征在于:
步骤一中,所述合法的判据是:二维多边形必须不自交,在容差范围内首尾相接;
偏移距离合理的判据是:偏移距离数组的大小与二维多边形的边的条数相等。
4.根据权利要求1所述的方法,其特征在于:
步骤二中,边的类型可以为直线、圆弧、椭圆弧、NURBS、二维螺旋线、SIN三角曲线。
5.根据权利要求1所述的方法,其特征在于:
步骤三具体为:
将相邻的曲线延长,进行线线求交,根据求交结果选择不同方式连接;
如果线线求交有交点,利用交点将相邻的曲线进行连接;
如果线线求交无交点,根据相邻曲线的曲线类型选择添加圆弧或直线,具体规则如下:
1)若相邻曲线均为圆弧,根据相邻曲线中的前一段的终点、后一段的起点、两段圆弧半径的平均值构造新的圆弧段将相邻曲线连接;
2)若相邻曲线不全是圆弧,根据相邻曲线中的前一段的终点、后一段的起点构造直线段将相邻曲线连接。
6.根据权利要求1所述的方法,其特征在于:
步骤四中消自交处理过程如下:
步骤1、找到环中所有两两曲线相交的交点和单端曲线自交的交点;
步骤2、根据交点打断相交的曲线;
步骤3、根据交点进行搜环,得到所有的环;
步骤4、删除不合理的环,保留合理的环,得到最终偏移后的环。
7.根据权利要求6所述的方法,其特征在于:
消自交处理过程中,根据多边形环与环之间的顺逆时针规则,判断是否保留。
8.根据权利要求7所述的方法,其特征在于:
消自交处理过程中,多边形环与环之间的顺逆时针规则具体为:
设定外环必须是逆时针或者顺时针的环,紧邻的内环若如果与外环同为逆时针或者顺时针即为无效环。
9.根据权利要求1所述的方法,其特征在于:
从步骤五建立的对应关系中可以查到偏移后的多边形中的每条边是由原始多边形中的第几个环和第几条边得来的,或者是添加的新的边。
10.根据权利要求1所述的方法,其特征在于:
判断自交的方法是:一条曲线若自交,则在曲线上存在某个点的邻域不与直线段构成同胚;环自交分为环中的单段曲线自交、环中两段曲线相交。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910085158.6A CN109887052B (zh) | 2019-01-29 | 2019-01-29 | 一种二维多边形偏移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910085158.6A CN109887052B (zh) | 2019-01-29 | 2019-01-29 | 一种二维多边形偏移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109887052A true CN109887052A (zh) | 2019-06-14 |
CN109887052B CN109887052B (zh) | 2023-08-25 |
Family
ID=66927169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910085158.6A Active CN109887052B (zh) | 2019-01-29 | 2019-01-29 | 一种二维多边形偏移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109887052B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111173234A (zh) * | 2020-01-20 | 2020-05-19 | 广东三维家信息科技有限公司 | 踢脚线自动生成方法及装置 |
CN112560144A (zh) * | 2020-12-15 | 2021-03-26 | 杭州群核信息技术有限公司 | 一种吊顶灯带的生成方法及*** |
WO2021142978A1 (zh) * | 2020-01-19 | 2021-07-22 | 杭州群核信息技术有限公司 | 一种综合性的轮廓曲线偏置方法 |
CN113192158A (zh) * | 2021-03-09 | 2021-07-30 | 刘梦祈 | 一种基于计算机几何偏移算法的3d模型放样方法 |
CN115526956A (zh) * | 2022-09-15 | 2022-12-27 | 深圳华芯盛软件科技有限公司 | 一种图形偏移方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200664A (ja) * | 1993-12-28 | 1995-08-04 | Nec Corp | 図面の塗り潰し方法 |
KR20040027852A (ko) * | 2004-03-15 | 2004-04-01 | 이건용 | 벡터 이미지를 표현하는 폴리곤 편집에 관한 방법 |
US6816170B1 (en) * | 2002-02-22 | 2004-11-09 | Zyvex Corporation | System and method for robust and efficient resizing of simple polygons |
CN101923552A (zh) * | 2009-12-31 | 2010-12-22 | 华南师范大学 | 一种多边形矢量图层快速叠合方法 |
CN102346913A (zh) * | 2011-09-20 | 2012-02-08 | 宁波大学 | 一种图像的多边形模型的简化方法 |
CN104183016A (zh) * | 2014-09-05 | 2014-12-03 | 山东省国土测绘院 | 一种快速的2.5维建筑物模型的构建方法 |
CN104331555A (zh) * | 2014-10-31 | 2015-02-04 | 河海大学常州校区 | 一种针对带有边界的非封闭stl模型的切片处理方法 |
CN105652799A (zh) * | 2014-12-05 | 2016-06-08 | 广西大学 | 基于边等距偏移的环切轨迹生成方法 |
-
2019
- 2019-01-29 CN CN201910085158.6A patent/CN109887052B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200664A (ja) * | 1993-12-28 | 1995-08-04 | Nec Corp | 図面の塗り潰し方法 |
US6816170B1 (en) * | 2002-02-22 | 2004-11-09 | Zyvex Corporation | System and method for robust and efficient resizing of simple polygons |
KR20040027852A (ko) * | 2004-03-15 | 2004-04-01 | 이건용 | 벡터 이미지를 표현하는 폴리곤 편집에 관한 방법 |
CN101923552A (zh) * | 2009-12-31 | 2010-12-22 | 华南师范大学 | 一种多边形矢量图层快速叠合方法 |
CN102346913A (zh) * | 2011-09-20 | 2012-02-08 | 宁波大学 | 一种图像的多边形模型的简化方法 |
CN104183016A (zh) * | 2014-09-05 | 2014-12-03 | 山东省国土测绘院 | 一种快速的2.5维建筑物模型的构建方法 |
CN104331555A (zh) * | 2014-10-31 | 2015-02-04 | 河海大学常州校区 | 一种针对带有边界的非封闭stl模型的切片处理方法 |
CN105652799A (zh) * | 2014-12-05 | 2016-06-08 | 广西大学 | 基于边等距偏移的环切轨迹生成方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021142978A1 (zh) * | 2020-01-19 | 2021-07-22 | 杭州群核信息技术有限公司 | 一种综合性的轮廓曲线偏置方法 |
CN111173234A (zh) * | 2020-01-20 | 2020-05-19 | 广东三维家信息科技有限公司 | 踢脚线自动生成方法及装置 |
CN112560144A (zh) * | 2020-12-15 | 2021-03-26 | 杭州群核信息技术有限公司 | 一种吊顶灯带的生成方法及*** |
CN112560144B (zh) * | 2020-12-15 | 2023-06-13 | 杭州群核信息技术有限公司 | 一种吊顶灯带的生成方法及*** |
CN113192158A (zh) * | 2021-03-09 | 2021-07-30 | 刘梦祈 | 一种基于计算机几何偏移算法的3d模型放样方法 |
CN113192158B (zh) * | 2021-03-09 | 2022-08-02 | 江苏大学 | 一种基于计算机几何偏移算法的3d模型放样方法 |
CN115526956A (zh) * | 2022-09-15 | 2022-12-27 | 深圳华芯盛软件科技有限公司 | 一种图形偏移方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109887052B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109887052A (zh) | 一种二维多边形偏移方法 | |
Owen et al. | Q‐Morph: an indirect approach to advancing front quad meshing | |
CN109940623A (zh) | 一种应用于焊缝的机器人路径规划方法 | |
CN109191576A (zh) | 一种将建筑图纸转换为三维bim模型的图层分类方法 | |
Zheng et al. | Three-dimensional unstructured mesh generation: Part 2. Surface meshes | |
CN103632606B (zh) | 信息处理方法和装置 | |
CN109041210B (zh) | 一种无线传感器网络定位方法 | |
CN105354881B (zh) | 基于离散属性数据的网格变形优化算法 | |
US7376540B2 (en) | Analytical shell-model producing apparatus | |
CN114547716B (zh) | 一种多自由度3d打印曲面切片以及路径规划方法 | |
CN113627038A (zh) | 管网排水增强可视化方法及装置、存储介质、电子设备 | |
CN102999931A (zh) | 电子笔迹绘制方法及装置 | |
CN101546438B (zh) | 基于约束狄郎宁三角网技术的多个区域拓扑层叠置分析方法 | |
CN107610236A (zh) | 一种基于图形识别的交互方法及*** | |
CN110544284B (zh) | 一种自动规划最优布局流程图的方法 | |
Séquin | Easy-to-Understand Visualization Models of Complete Maps | |
CN108074253B (zh) | 一种基于Delaunay三角剖分的多层级矢量道路网匹配方法 | |
CN104008122A (zh) | 层次化数据的动态多级饼图展示方法 | |
CN111815778B (zh) | 基于地面模型生成导航路径的方法 | |
Guiqing et al. | 3D discrete clothoid splines | |
Wang et al. | F2-bubbles: faithful bubble set construction and flexible editing | |
US6441822B1 (en) | Drawing with circular arcs | |
CN109408675B (zh) | 一种基于可视化操作的Halin图最大切割方法及平台 | |
Schwertfeger et al. | Room detection for topological maps | |
CN110986981B (zh) | 面向多机器人路径规划的增设路径障碍方法 |
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 |